From 3fe08097967a4adfa8b523869339a706af649f64 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 30 Aug 2017 13:39:54 +0200 Subject: Set the CROSS_COMPILE variable in Android mkspecs All cross-target makespecs should set this variable. Change-Id: I176fa79e639b09c4c1134b66635c66d6e351d805 Reviewed-by: BogDan Vatra --- mkspecs/android-g++/qmake.conf | 4 ++-- mkspecs/common/android-base-head.conf | 1 + mkspecs/common/android-base-tail.conf | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 5e8a97c9d7..21afc52f2c 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -9,8 +9,8 @@ include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/android-base-head.conf) -QMAKE_CC = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-gcc -QMAKE_CXX = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-g++ +QMAKE_CC = $${CROSS_COMPILE}gcc +QMAKE_CXX = $${CROSS_COMPILE}g++ QMAKE_LINK = $$QMAKE_CXX ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH diff --git a/mkspecs/common/android-base-head.conf b/mkspecs/common/android-base-head.conf index 90cc71247a..9be6111915 100644 --- a/mkspecs/common/android-base-head.conf +++ b/mkspecs/common/android-base-head.conf @@ -74,3 +74,4 @@ ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \ QMAKE_ANDROID_PLATFORM_LIBDIR = $${QMAKE_ANDROID_PLATFORM_LIBDIR}64 +CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX- diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf index 3472dfdf77..160caf011f 100644 --- a/mkspecs/common/android-base-tail.conf +++ b/mkspecs/common/android-base-tail.conf @@ -57,14 +57,14 @@ QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden # modifications to linux.conf -QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ar cqs -QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-objcopy -QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-nm -P +QMAKE_AR = $${CROSS_COMPILE}ar cqs +QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy +QMAKE_NM = $${CROSS_COMPILE}nm -P QMAKE_STRIP = -#$$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-strip +#$${CROSS_COMPILE}strip -QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ranlib +QMAKE_RANLIB = $${CROSS_COMPILE}ranlib QMAKE_INCDIR_POST = QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR -- cgit v1.2.3 From 82ed3b8ca5ab5c47efde39083fe0ad12bdcafa7f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 7 Sep 2017 10:48:45 +0300 Subject: Android: Use unified headers if available Fix compile with ndkr16+ Change-Id: I52a52b787e88c8fd74f86d98dcd3c9d44fcf56a9 Reviewed-by: Jake Petroules --- mkspecs/android-g++/qmake.conf | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 21afc52f2c..c8145ae66b 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -17,8 +17,12 @@ ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_ ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so ANDROID_CXX_STL_LIBS = -lgnustl_shared -lgcc -QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \ - -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \ +exists($$NDK_ROOT/sysroot/usr/include): \ + QMAKE_CFLAGS += --sysroot=$$NDK_ROOT/sysroot \ + -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX +else: QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH + +QMAKE_CFLAGS += -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \ -isystem $$ANDROID_SOURCES_CXX_STL_LIBDIR/include equals(ANDROID_TARGET_ARCH, armeabi)|equals(ANDROID_TARGET_ARCH, armeabi-v7a): \ -- cgit v1.2.3 From 342609b542a4c9c50f40b5843e0622ca3f401da0 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 14 Sep 2017 12:52:46 +0200 Subject: Fix quoting of mocinclude.opt for paths containing spaces If MOC_INCLUDEPATH exceeds a certain limit, its content is written into a file named mocinclude.opt, which is then passed to moc as a response file. That moc parameter was not properly quoted, and the moc call failed for paths containing spaces. Task-number: QTBUG-63197 Change-Id: Ib0542d80ce1bab239e0e6b6e24fadd11007b1846 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/moc.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf index 955933d874..4f2080ee6f 100644 --- a/mkspecs/features/moc.prf +++ b/mkspecs/features/moc.prf @@ -45,7 +45,7 @@ if(gcc|intel_icl|msvc):!rim_qcc:!uikit:!no_moc_predefs:if(!macos|count(QMAKE_APP defineReplace(mocCmdBase) { !isEmpty(WIN_INCLUDETEMP) { - incvar = @$$WIN_INCLUDETEMP + incvar = @$$shell_quote($$WIN_INCLUDETEMP) } else { incvar = for (inc, MOC_INCLUDEPATH): \ -- cgit v1.2.3 From 2d7b1430850e7bf522dd241a42f03cb4d9cd2eef Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 14 Sep 2017 13:25:27 +0200 Subject: Fix conditions in some QMAKE_COMPILER_DEFINES assignments We obviously should check the variable we're about to get the data from. Amends 1216f596bdb. Change-Id: Ibe87138b9c9aa99837b4fbf3769cd26ca1aaacb9 Reviewed-by: Oswald Buddenhagen Reviewed-by: Jake Petroules --- mkspecs/features/toolchain.prf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 21c18c7f7b..35175f1744 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -232,17 +232,17 @@ QMAKE_COMPILER_DEFINES += __cplusplus=$$QT_COMPILER_STDCXX QMAKE_COMPILER_DEFINES += __INTEL_COMPILER=$$QMAKE_ICC_VER __INTEL_COMPILER_UPDATE=$$QMAKE_ICC_UPDATE_VER !isEmpty(QMAKE_APPLE_CC): \ QMAKE_COMPILER_DEFINES += __APPLE_CC__=$$QMAKE_APPLE_CC -!isEmpty(QT_APPLE_CLANG_MAJOR_VERSION): \ +!isEmpty(QMAKE_APPLE_CLANG_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += __clang__ \ __clang_major__=$$QMAKE_APPLE_CLANG_MAJOR_VERSION \ __clang_minor__=$$QMAKE_APPLE_CLANG_MINOR_VERSION \ __clang_patchlevel__=$$QMAKE_APPLE_CLANG_PATCH_VERSION -!isEmpty(QT_CLANG_MAJOR_VERSION): \ +!isEmpty(QMAKE_CLANG_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += __clang__ \ __clang_major__=$$QMAKE_CLANG_MAJOR_VERSION \ __clang_minor__=$$QMAKE_CLANG_MINOR_VERSION \ __clang_patchlevel__=$$QMAKE_CLANG_PATCH_VERSION -!isEmpty(QT_GCC_MAJOR_VERSION): \ +!isEmpty(QMAKE_GCC_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += \ __GNUC__=$$QMAKE_GCC_MAJOR_VERSION \ __GNUC_MINOR__=$$QMAKE_GCC_MINOR_VERSION \ -- cgit v1.2.3 From 4e30001e5f6cd5e2127d4b1e7ef0f3b54c70e163 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 1 Apr 2017 21:30:13 -0700 Subject: Mark Clang 5.0 as warning-free Change-Id: I27b55fdf514247549455fffd14b17a4ae1d8ff2d Reviewed-by: Jake Petroules --- mkspecs/features/qt_common.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index e66c24b027..fb96d1b6a0 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -75,10 +75,10 @@ warnings_are_errors:warning_clean { # compiler. clang { # Apple clang 4.0-4.2,5.0-5.1,6.0-6.4,7.0-7.3 - # Regular clang 3.3-3.9, 4.0 + # Regular clang 3.x-5.0 apple_ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION} reg_ver = $${QT_CLANG_MAJOR_VERSION}.$${QT_CLANG_MINOR_VERSION} - contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "3\\.[3-9]|4\\.0") { + contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "[34]\\.|5\\.0") { QMAKE_CXXFLAGS_WARN_ON += -Werror -Wno-error=\\$${LITERAL_HASH}warnings -Wno-error=deprecated-declarations $$WERROR } } else:intel_icc:linux { -- cgit v1.2.3