From 46a2b44b2b7f50ced7f2c0731cc6224478d960c7 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Oct 2018 14:41:41 +0200 Subject: [PATCH] qmake: fix QMAKE_DEFAULT_LIBDIRS detection on android amazingly enough, android has different sysroots for the compiler (shared includes full of #ifdefs) and the linker (per-platform libraries). this patch supports only clang for non-darwin, which notably covers all supported android ndks. with this fixed, we also remove the hard-coded setting of QMAKE_DEFAULT_*DIRS from the specs. amends 353fb118c. Change-Id: Ie0513de0f7123d7f5b8ca1ffcc72c017cddd126c Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- mkspecs/common/android-base-tail.conf | 3 --- mkspecs/features/toolchain.prf | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf index 57f009f78f2..f403ef93309 100644 --- a/mkspecs/common/android-base-tail.conf +++ b/mkspecs/common/android-base-tail.conf @@ -87,6 +87,3 @@ QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 !exists($$NDK_ROOT): error("You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.") load(qt_config) - -QMAKE_DEFAULT_LIBDIRS = $$QMAKE_LIBDIR -QMAKE_DEFAULT_INCDIRS = $$QMAKE_INCDIR diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 4ecfb8d8896..6039c52bd08 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -128,8 +128,8 @@ isEmpty($${target_prefix}.INCDIRS) { # paths, so it can't just be used in place of the above code). # What's more, -print-search-dirs can't be used on clang on Apple because it # won't print all the library paths (only the clang-internal ones). - output = $$system("$$cmd_prefix $$QMAKE_CXX -print-search-dirs", lines, ec) - !equals(ec, 0): qtCompilerErrror($$QMAKE_CXX, $$output) + output = $$system("$$cmd_prefix $$QMAKE_LINK $$QMAKE_LFLAGS -print-search-dirs", lines, ec) + !equals(ec, 0): qtCompilerErrror($$QMAKE_LINK, $$output) for (line, output) { contains(line, "^libraries: .*") {