summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/android/resolve_config.prf
blob: 5f0c166f8424789c115f5b51246b3ea3aee7698e (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
load(resolve_config)

!equals(TEMPLATE, aux):!host_build:!single_arch:!java:!single_android_abi:android {
    isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS

    ALL_ABIS = $$join(ANDROID_ABIS, _and_)
    CONFIG += $$ALL_ABIS build_all
    addExclusiveBuildsProper($$ALL_ABIS, $$ANDROID_ABIS)
    unset(ALL_ABIS)
    CONFIG += multi_android_abi
}

# single_arch is set qtConfTest_compile and is a marker that a config test is being built, and
# thus all Android ABI file name modifications should be avoided (prefix / suffix of
# the built binary).
# single_android_abi means ANDROID_ABI only has one value
# multi_android_abi means ANDROID_ABI has more than one value (Qt configured with 2+ arches)
#
# Assign $$ALL_ANDROID_ABIS to ANDROID_ABIS only if ANDROID_ABIS was not provided by the user
# on the qmake command line and Qt was not configured with 2+ arches.
#
# Note that in config.tests, ANDROID_ABIS ends up being empty (due to !single_arch check) regardless
# of how many ABIs Qt is configured with, which in turns causes the 'architectures' field in
# in android-arch-deployment-settings.json be empty.
!equals(TEMPLATE, aux):!host_build:!single_arch:!java:!multi_android_abi:android:isEmpty(ANDROID_ABIS) {
    # Needed for the generated deployment-settings.json not to have an empty list
    # of architectures.
    ANDROID_ABIS = $$ALL_ANDROID_ABIS
}