From 9b14950ff600a4ce5a8698b67ab38907c50417f1 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 9 Jul 2019 10:34:31 +0300 Subject: Android: Update clang mkspecs Follow Google's BuildSystemMaintainers doc to simplify (a lot) the clang support It is needed to support future NDK releases painlessly. Also remove old workarounds. [ChangeLog][Android] Android depends on NDK r20+ Change-Id: Ib4c07fc71e0f5a264d804b0b3baa18ff79d07630 Reviewed-by: Eskil Abrahamsen Blomfeldt --- mkspecs/android-g++/qmake.conf | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mkspecs/android-g++/qmake.conf') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 0cb3558f96..451e12bc75 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -12,6 +12,7 @@ include(../common/android-base-head.conf) QMAKE_CC = $${CROSS_COMPILE}gcc QMAKE_CXX = $${CROSS_COMPILE}g++ QMAKE_LINK = $$QMAKE_CXX +QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "") ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so @@ -32,4 +33,8 @@ else: \ LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -print-libgcc-file-name") ANDROID_SOURCES_CXX_STL_LIBDIR += $$dirname(LIBGCC_PATH_FULL) +QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR +QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH +equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64 + include(../common/android-base-tail.conf) -- cgit v1.2.3 From 5bb178c479a247720fbc3fbb7f06a32b725193ac Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 1 Aug 2019 08:56:59 +0300 Subject: Say hello to Android multi arch build in one go Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt --- mkspecs/android-g++/qmake.conf | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 mkspecs/android-g++/qmake.conf (limited to 'mkspecs/android-g++/qmake.conf') diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf deleted file mode 100644 index 451e12bc75..0000000000 --- a/mkspecs/android-g++/qmake.conf +++ /dev/null @@ -1,40 +0,0 @@ -# qmake configuration for building with android-g++ -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = android -QMAKE_COMPILER = gcc - -CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings - -include(../common/linux.conf) -include(../common/gcc-base-unix.conf) -include(../common/android-base-head.conf) - -QMAKE_CC = $${CROSS_COMPILE}gcc -QMAKE_CXX = $${CROSS_COMPILE}g++ -QMAKE_LINK = $$QMAKE_CXX -QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "") - -ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH -ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so -ANDROID_CXX_STL_LIBS = -lgnustl_shared -lgcc -ANDROID_USE_LLVM = false - -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): \ - LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -mthumb-interwork -print-libgcc-file-name") -else: \ - LIBGCC_PATH_FULL = $$system("$$QMAKE_CXX -print-libgcc-file-name") -ANDROID_SOURCES_CXX_STL_LIBDIR += $$dirname(LIBGCC_PATH_FULL) - -QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR -QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH -equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64 - -include(../common/android-base-tail.conf) -- cgit v1.2.3