summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/android/android.prf
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2021-12-02 13:05:13 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2021-12-02 20:29:58 +0100
commitebac49dd45ca75b1592122df5935017d4592c89d (patch)
tree41a9474dc83bf239350f215ae853e2db43fb135a /mkspecs/features/android/android.prf
parenta6744bc9f9d0a1bcdaa6769ddb39a18dfad5f5c3 (diff)
android:qmake: Fix static libraries to include the QT_ARCH suffix
When building a shared library (with qmake) in a user project targeting Android, the library gets a QT_ARCH suffix added to its name. This suffix is not added when building a static library (CONFIG += staticlib). In the context of a multi-abi android qmake build, all the arch specific static libraries would have the same name and would override each other. This happens with Qt 5.15 and it would also happen in Qt 6, but we don't support multi-abi qmake builds in Qt 6 so far. When the original fix to include the arch suffix for shared libraries was done in Qt 5, d463a63bb94d3f5c9530790541d9706490e44b3a it was likely an oversight that it was not applied to static libraries as well. The !static part of the condition was added in 72d4f0750baae1bb296341bde166f020d29c7faa . The change only handled installation responsibilities, not naming of libraries. Fix static libraries to include the arch suffix, but only in Qt 6. It's too late to fix it in Qt 5, there might be projects that rely on there not being a suffix in static library names. Adding the suffix would suddenly cause linking errors. Amends d463a63bb94d3f5c9530790541d9706490e44b3a [ChangeLog][Android][qmake] Static libraries targeting Android will now include an arch suffix when built using qmake. Fixes: QTBUG-83165 Change-Id: I6f68dcb74cec30b4c8f0bc5a819d89843e9d695e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'mkspecs/features/android/android.prf')
-rw-r--r--mkspecs/features/android/android.prf8
1 files changed, 5 insertions, 3 deletions
diff --git a/mkspecs/features/android/android.prf b/mkspecs/features/android/android.prf
index 7f7fec85f7..87fdd763e4 100644
--- a/mkspecs/features/android/android.prf
+++ b/mkspecs/features/android/android.prf
@@ -42,11 +42,13 @@ build_pass|if(single_android_abi:!single_arch) {
INSTALLS *= target
}
}
- } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
+ } else: contains(TEMPLATE, "lib"):!QTDIR_build:android_install {
tmpvar = $$str_member($$TARGET, -$$str_size($${QT_ARCH}), -1)
!equals(tmpvar, $${QT_ARCH}): TARGET = $${TARGET}_$${QT_ARCH}
- target.path = /libs/$$ANDROID_TARGET_ARCH/
- INSTALLS *= target
+ !static {
+ target.path = /libs/$$ANDROID_TARGET_ARCH/
+ INSTALLS *= target
+ }
}
} else {
android-build-distclean.commands = \