summaryrefslogtreecommitdiff
path: root/mkspecs/features/qt_find_clang.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/qt_find_clang.prf')
-rw-r--r--mkspecs/features/qt_find_clang.prf16
1 files changed, 13 insertions, 3 deletions
diff --git a/mkspecs/features/qt_find_clang.prf b/mkspecs/features/qt_find_clang.prf
index d584d136e..1c2fa4ffa 100644
--- a/mkspecs/features/qt_find_clang.prf
+++ b/mkspecs/features/qt_find_clang.prf
@@ -43,8 +43,18 @@ isEmpty(QDOC_USE_STATIC_LIBCLANG): QDOC_USE_STATIC_LIBCLANG = $$(QDOC_USE_STATIC
cache(QDOC_USE_STATIC_LIBCLANG)
for(_, $$list(_)) { # just a way to break easily
- mingw:isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MINGW)
- msvc:isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MSVC)
+ equals(QMAKE_HOST.os, Windows) {
+ # on Windows we have only two host compilers, MSVC or mingw. The former we never
+ # use for cross-compilation where it isn't also the target compiler. The latter
+ # is not detectable as this .prf file is evaluated against the target configuration
+ # and therefore checking for "mingw" won't work when the target compiler is clang (Android)
+ # or qcc (QNX).
+ msvc {
+ isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MSVC)
+ } else {
+ isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MINGW)
+ }
+ }
isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR)
LLVM_INSTALL_DIR = $$clean_path($$LLVM_INSTALL_DIR)
contains(QMAKE_HOST.arch, x86_64): \
@@ -292,7 +302,7 @@ for(_, $$list(_)) { # just a way to break easily
-lLLVMXRay
!equals(QMAKE_HOST.os, Darwin): CLANG_LIBS+=-Wl,--end-group
CLANG_LIBS += -lz
- mingw: CLANG_LIBS += -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion
+ equals(QMAKE_HOST.os, Windows): CLANG_LIBS += -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion
else: CLANG_LIBS += -ldl
equals(QMAKE_HOST.os, Darwin): CLANG_LIBS += -lcurses -lm -lxml2
}