--- a/src/qdoc/configure.pri	2020-10-22 20:11:38.000000000 +0300
+++ b/src/qdoc/configure.pri	2020-12-17 11:56:43.613359500 +0300
@@ -104,16 +104,171 @@
     }
 
     # note: llvm_config only exits on unix
-    llvm_config = $$clangInstallDir/bin/llvm-config
+    win32 {
+        llvm_config = $$clangInstallDir/bin/llvm-config.exe
+    } else {
+        llvm_config = $$clangInstallDir/bin/llvm-config
+    }
     exists($$llvm_config) {
-        CLANG_LIBDIR = $$system("$$llvm_config --libdir 2>/dev/null")
-        CLANG_INCLUDEPATH = $$system("$$llvm_config --includedir 2>/dev/null")
-        output = $$system("$$llvm_config --version 2>/dev/null")
+        CLANG_LIBDIR = $$system("$$llvm_config --libdir")
+        CLANG_INCLUDEPATH = $$system("$$llvm_config --includedir")
+        output = $$system("$$llvm_config --version")
         CLANG_VERSION = $$extractVersion($$output)
+        LLVM_COMPONENTS = $$system("$$llvm_config --libs")
+        LLVM_SYSTEM_LIBS = $$system("$$llvm_config --system-libs")
     } else {
         CLANG_LIBDIR = $$clangInstallDir/lib
         CLANG_INCLUDEPATH = $$clangInstallDir/include
         CLANG_VERSION = $$findLLVMVersionFromLibDir($$CLANG_LIBDIR)
+        LLVM_COMPONENTS =  -lLLVMAArch64AsmParser \
+                           -lLLVMAArch64CodeGen \
+                           -lLLVMAArch64Desc \
+                           -lLLVMAArch64Disassembler \
+                           -lLLVMAArch64Info \
+                           -lLLVMAArch64Utils \
+                           -lLLVMAggressiveInstCombine \
+                           -lLLVMAMDGPUAsmParser \
+                           -lLLVMAMDGPUCodeGen \
+                           -lLLVMAMDGPUDesc \
+                           -lLLVMAMDGPUDisassembler \
+                           -lLLVMAMDGPUInfo \
+                           -lLLVMAMDGPUUtils \
+                           -lLLVMAnalysis \
+                           -lLLVMARMAsmParser \
+                           -lLLVMARMCodeGen \
+                           -lLLVMARMDesc \
+                           -lLLVMARMDisassembler \
+                           -lLLVMARMInfo \
+                           -lLLVMARMUtils \
+                           -lLLVMAsmParser \
+                           -lLLVMAsmPrinter \
+                           -lLLVMAVRAsmParser \
+                           -lLLVMAVRCodeGen \
+                           -lLLVMAVRDesc \
+                           -lLLVMAVRDisassembler \
+                           -lLLVMAVRInfo \
+                           -lLLVMBinaryFormat \
+                           -lLLVMBitReader \
+                           -lLLVMBitstreamReader \
+                           -lLLVMBitWriter \
+                           -lLLVMBPFAsmParser \
+                           -lLLVMBPFCodeGen \
+                           -lLLVMBPFDesc \
+                           -lLLVMBPFDisassembler \
+                           -lLLVMBPFInfo \
+                           -lLLVMCFGuard \
+                           -lLLVMCodeGen \
+                           -lLLVMCore \
+                           -lLLVMCoroutines \
+                           -lLLVMCoverage \
+                           -lLLVMDebugInfoCodeView \
+                           -lLLVMDebugInfoDWARF \
+                           -lLLVMDebugInfoGSYM \
+                           -lLLVMDebugInfoMSF \
+                           -lLLVMDebugInfoPDB \
+                           -lLLVMDemangle \
+                           -lLLVMDlltoolDriver \
+                           -lLLVMExecutionEngine \
+                           -lLLVMExtensions \
+                           -lLLVMFrontendOpenACC \
+                           -lLLVMFrontendOpenMP \
+                           -lLLVMFuzzMutate \
+                           -lLLVMGlobalISel \
+                           -lLLVMHexagonAsmParser \
+                           -lLLVMHexagonCodeGen \
+                           -lLLVMHexagonDesc \
+                           -lLLVMHexagonDisassembler \
+                           -lLLVMHexagonInfo \
+                           -lLLVMInstCombine \
+                           -lLLVMInstrumentation \
+                           -lLLVMInterpreter \
+                           -lLLVMipo \
+                           -lLLVMIRReader \
+                           -lLLVMJITLink \
+                           -lLLVMLanaiAsmParser \
+                           -lLLVMLanaiCodeGen \
+                           -lLLVMLanaiDesc \
+                           -lLLVMLanaiDisassembler \
+                           -lLLVMLanaiInfo \
+                           -lLLVMLibDriver \
+                           -lLLVMLineEditor \
+                           -lLLVMLinker \
+                           -lLLVMLTO \
+                           -lLLVMMC \
+                           -lLLVMMCDisassembler \
+                           -lLLVMMCJIT \
+                           -lLLVMMCParser \
+                           -lLLVMMipsAsmParser \
+                           -lLLVMMipsCodeGen \
+                           -lLLVMMipsDesc \
+                           -lLLVMMipsDisassembler \
+                           -lLLVMMipsInfo \
+                           -lLLVMMIRParser \
+                           -lLLVMMSP430AsmParser \
+                           -lLLVMMSP430CodeGen \
+                           -lLLVMMSP430Desc \
+                           -lLLVMMSP430Disassembler \
+                           -lLLVMMSP430Info \
+                           -lLLVMNVPTXAsmParser \
+                           -lLLVMNVPTXCodeGen \
+                           -lLLVMNVPTXDesc \
+                           -lLLVMNVPTXInfo \
+                           -lLLVMObjCARCOpts \
+                           -lLLVMObject \
+                           -lLLVMObjectYAML \
+                           -lLLVMOption \
+                           -lLLVMOrcError \
+                           -lLLVMOrcJIT \
+                           -lLLVMPasses \
+                           -lLLVMPowerPCAsmParser \
+                           -lLLVMPowerPCCodeGen \
+                           -lLLVMPowerPCDesc \
+                           -lLLVMPowerPCDisassembler \
+                           -lLLVMPowerPCInfo \
+                           -lLLVMProfileData \
+                           -lLLVMRemarks \
+                           -lLLVMRISCVAsmParser \
+                           -lLLVMRISCVCodeGen \
+                           -lLLVMRISCVDesc \
+                           -lLLVMRISCVDisassembler \
+                           -lLLVMRISCVInfo \
+                           -lLLVMRISCVUtils \
+                           -lLLVMRuntimeDyld \
+                           -lLLVMScalarOpts \
+                           -lLLVMSelectionDAG \
+                           -lLLVMSparcAsmParser \
+                           -lLLVMSparcCodeGen \
+                           -lLLVMSparcDesc \
+                           -lLLVMSparcDisassembler \
+                           -lLLVMSparcInfo \
+                           -lLLVMSupport \
+                           -lLLVMSymbolize \
+                           -lLLVMSystemZAsmParser \
+                           -lLLVMSystemZCodeGen \
+                           -lLLVMSystemZDesc \
+                           -lLLVMSystemZDisassembler \
+                           -lLLVMSystemZInfo \
+                           -lLLVMTableGen \
+                           -lLLVMTarget \
+                           -lLLVMTextAPI \
+                           -lLLVMTransformUtils \
+                           -lLLVMVectorize \
+                           -lLLVMWebAssemblyAsmParser \
+                           -lLLVMWebAssemblyAsmCodegen \
+                           -lLLVMWebAssemblyAsmDesc \
+                           -lLLVMWebAssemblyAsmDisassembler \
+                           -lLLVMWebAssemblyAsmInfo \
+                           -lLLVMWindowsManifest \
+                           -lLLVMX86AsmParser \
+                           -lLLVMX86CodeGen \
+                           -lLLVMX86Desc \
+                           -lLLVMX86Disassembler \
+                           -lLLVMX86Info \
+                           -lLLVMXCoreCodeGen \
+                           -lLLVMXCoreDesc \
+                           -lLLVMXCoreDisassembler \
+                           -lLLVMXCoreInfo \
+                           -lLLVMXRay
     }
     isEmpty(CLANG_VERSION) {
         !isEmpty(LLVM_INSTALL_DIR): \
@@ -134,7 +289,7 @@
 
     isEmpty(QDOC_USE_STATIC_LIBCLANG) {
         equals(QMAKE_HOST.os, Windows): \
-            CLANG_LIBS += -llibclang -ladvapi32 -lshell32
+            CLANG_LIBS += -lclang -ladvapi32 -lshell32
         else: \
             CLANG_LIBS += -lclang
     } else {
@@ -153,6 +308,8 @@
                 -lclangBasic \
                 -lclangCodeGen \
                 -lclangCrossTU \
+                -lclangDependencyScanning \
+                -lclangDirectoryWatcher \
                 -lclangDriver \
                 -lclangDynamicASTMatchers \
                 -lclangEdit \
@@ -160,6 +317,7 @@
                 -lclangFrontend \
                 -lclangFrontendTool \
                 -lclangHandleCXX \
+                -lclangHandleLLVM \
                 -lclangIndex \
                 -lclangLex \
                 -lclangParse \
@@ -170,9 +328,14 @@
                 -lclangStaticAnalyzerCheckers \
                 -lclangStaticAnalyzerCore \
                 -lclangStaticAnalyzerFrontend \
+                -lclangTesting \
                 -lclangTooling \
                 -lclangToolingASTDiff \
-                -lclangToolingCore
+                -lclangToolingCore \
+                -lclangToolingRefactoring \
+                -lclangToolingSyntax \
+                -lclangTransformer \
+                $${LLVM_COMPONENTS}
 
         versionIsAtLeast($$CLANG_VERSION, "10.0.0") {
             equals(QMAKE_HOST.os, Windows): \
@@ -227,7 +390,7 @@
         CLANG_LIBS += $$split(LLVM_LIBS_STRING, " ")
 
         !equals(QMAKE_HOST.os, Darwin):!msvc: CLANG_LIBS+=-Wl,--end-group
-        equals(QMAKE_HOST.os, Windows): CLANG_LIBS += -lversion
+        equals(QMAKE_HOST.os, Windows): CLANG_LIBS += -lz3 -lgomp -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion
     }
 
     !versionIsAtLeast($$CLANG_VERSION, "3.9.0") {
