summaryrefslogtreecommitdiffstats
path: root/mkspecs/android-clang/qmake.conf
blob: fae2c8ebd96e155451ada3712d517b28ab3268a1 (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
43
44
45
46
47
48
# 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++

equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
    QMAKE_CFLAGS += -target armv7-none-linux-androideabi
else: equals(ANDROID_TARGET_ARCH, armeabi): \
    QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
    QMAKE_CFLAGS += -target aarch64-none-linux-android
else: equals(ANDROID_TARGET_ARCH, x86): \
    QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
else: equals(ANDROID_TARGET_ARCH, x86_64): \
    QMAKE_CFLAGS += -target x86_64-none-linux-android
else: equals(ANDROID_TARGET_ARCH, mips): \
    QMAKE_CFLAGS += -target mipsel-none-linux-android
else: equals(ANDROID_TARGET_ARCH, mips64): \
    QMAKE_CFLAGS += -target mips64el-none-linux-android

QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH
QMAKE_LINK    = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a
QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
                -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
                -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
                -isystem $$NDK_ROOT/sources/android/support/include \
                -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include

ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH

ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
ANDROID_CXX_STL_LIBS = -lc++

QMAKE_ARM_CFLAGS_RELEASE                   = -Oz
QMAKE_ARM_CFLAGS_RELEASE_WITH_DEBUGINFO    = -g -Oz

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