summaryrefslogtreecommitdiffstats
path: root/mkspecs/android-clang/qmake.conf
blob: 84ad884710aa13aa48043d095c4c643c0feee3dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# qmake configuration for building with android-clang
MAKEFILE_GENERATOR      = UNIX
QMAKE_PLATFORM          = android
QMAKE_COMPILER          = gcc clang llvm

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/clang.conf)
include(../common/android-base-head.conf)

NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST
QMAKE_CC      = $$NDK_LLVM_PATH/bin/clang
QMAKE_CXX     = $$NDK_LLVM_PATH/bin/clang++

# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md

equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
    QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
    QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
else: equals(ANDROID_TARGET_ARCH, x86): \
    QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
else: equals(ANDROID_TARGET_ARCH, x86_64): \
    QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")

QMAKE_CFLAGS += -fno-limit-debug-info

QMAKE_LINK    = $$QMAKE_CXX $$QMAKE_CFLAGS

ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/$$NDK_TOOLS_PREFIX/libc++_shared.so

ANDROID_USE_LLVM = true

QMAKE_CFLAGS_OPTIMIZE_SIZE  = -Oz
QMAKE_LIBDIR_POST           =
QMAKE_LFLAGS                =
QMAKE_LIBS_PRIVATE          =
ANDROID_CXX_STL_LIBS        =

include(../common/android-base-tail.conf)