From 091fd77e433ab9335d77b9d60356dd81729e2e2e Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Fri, 30 Aug 2019 12:37:54 -0700 Subject: [PATCH] Better build files for android bitness including #define tagging --- QGCCommon.pri | 12 +++++++++--- QGCExternalLibs.pri | 8 +++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/QGCCommon.pri b/QGCCommon.pri index 672eedd3a..0b8ba4323 100644 --- a/QGCCommon.pri +++ b/QGCCommon.pri @@ -46,12 +46,18 @@ linux { QMAKE_CFLAGS += -Wno-unused-command-line-argument QMAKE_LINK += -nostdlib++ # Hack fix?: https://forum.qt.io/topic/103713/error-cannot-find-lc-qt-5-12-android target.path = $$DESTDIR - equals(ANDROID_TARGET_ARCH, x86) { + equals(ANDROID_TARGET_ARCH, armeabi-v7a) { + DEFINES += __androidArm32__ + message("Android Arm 32 bit build") + } else:equals(ANDROID_TARGET_ARCH, arm64-v8a) { + DEFINES += __androidArm64__ + message("Android Arm 64 bit build") + } else:equals(ANDROID_TARGET_ARCH, x86) { CONFIG += Androidx86Build DEFINES += __androidx86__ - message("Android x86 build") - } else { message("Android Arm build") + } else { + error("Unsupported Android architecture: $${ANDROID_TARGET_ARCH}") } } else { error("Unsuported Linux toolchain, only GCC 32- or 64-bit is supported") diff --git a/QGCExternalLibs.pri b/QGCExternalLibs.pri index 73356292f..cef4da3d2 100644 --- a/QGCExternalLibs.pri +++ b/QGCExternalLibs.pri @@ -136,14 +136,16 @@ MacBuild { # Include Android OpenSSL libs in order to make Qt OpenSSL support work AndroidBuild { - contains(QT_ARCH, arm) { + equals(ANDROID_TARGET_ARCH, armeabi-v7a) { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/OpenSSL/Android/arch-armeabi-v7a/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/OpenSSL/Android/arch-armeabi-v7a/lib/libssl.so - } else:contains(QT_ARCH, arm64) { + } else:equals(ANDROID_TARGET_ARCH, arm64-v8a) { # Haven't figured out how to get 64 bit arm OpenSLL yet. This means things like terrain queries will not qork. - } else { + } else:equals(ANDROID_TARGET_ARCH, x86) { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/OpenSSL/Android/arch-x86/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/OpenSSL/Android/arch-x86/lib/libssl.so + } else { + error("Unsupported Android architecture: $${ANDROID_TARGET_ARCH}") } } -- 2.22.0