summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/android/android.prf
Commit message (Collapse)AuthorAgeFilesLines
* android:qmake: Fix static libraries to include the QT_ARCH suffixAlexandru Croitor2021-12-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Android: use shell path format when running qmake install stepAssam Boudjelthia2020-10-061-1/+1
| | | | | | | | | | On Windows shell, using unix path format might not work, since the shell expects backslash paths only. Pick-to: 5.15 Task-number: QTBUG-87066 Change-Id: I51741b475c1ede11336df63ee1c6092c792c16ef Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: Fix building apps when Qt is configured with one ABIAlexandru Croitor2020-08-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | When configuring with Qt only with one ABI, certain code paths were not triggered, which led to a few issues: - The deployment json file generated by androiddeployqt listed no architectures. - The compiled shared library did not have a lib prefix and arch suffix, which androiddeployqt during the deployment / make apk step. To fix the architectures missing in the json file, ANDROID_ABIS needs to be set in android/resolve_config.prf also in the single abi case. To get the correct file names, android.prf needs to apply the prefixes and suffixes not only in the build_pass case (multi-abi) but also in the single abi case (except for config.tests). The application-binary entry in the json file needs to be without the extra prefixes and suffixes though, so make a copy of the TARGET value to be used in the json file, before the name manipulations are applied. Pick-to: 5.15 Task-number: QTBUG-85399 Change-Id: Idde92ab7fe883636ccc65a87b91c8a3fc72eefbb Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Use the values rather than the variables with str_memberAndy Shaw2020-01-181-1/+1
| | | | | | | | | | This amends ce04fa345dbe52a022b592dde3ff49514c66b4c2 to correctly get the information out of the variables when using str_member and str_size, as it wants a string rather than a variable for these. Fixes: QTBUG-80582 Change-Id: I8e18e05c605ba1596a7ed7a013f5c6677ab76891 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: make sure we don't add _$${QT_ARCH} twiceBogDan Vatra2020-01-091-1/+2
| | | | | | Fixes: QTBUG-80582 Change-Id: I2b3790bb18754e146db611d61c48a3b7a532575c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Always add the extra Android apk and aab targetsAndy Shaw2020-01-021-2/+1
| | | | | | | | | | The extra targets should be added to the project regardless so that qmake can handle it appropriately. This enables make apk to work correctly then from a SUBDIRS project. Fixes: QTBUG-80351 Change-Id: If5903e0d2f543babfdb4ebbb13502e32ab97c6fc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Set proper TARGET name for libsBogDan Vatra2019-11-291-0/+1
| | | | | | | | | When doing a multi ABI build in one go, if the TARGET is the same, we'll endup with only one library which is not okay. Task-number: QTBUG-80351 Change-Id: I0c5ff24480446d671e59dbd5a045f9889dff39e9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Add aab targetBogDan Vatra2019-09-021-3/+15
| | | | | | | | Move aab, apk, apk_install_target to !build_pass, otherwise these targets will be executed for each android abi. Change-Id: I18f6c8946f503f2c08338f24758bf9059987fe0f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-10/+15
| | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Say hello to $ make apkBogDan Vatra2019-06-061-0/+18
| | | | | | | | | | | | | Now creating an .apk it's easier than ever. "$ make apk" is all you need to run to create an apk for your application. [ChangeLog][Android] Introduce "make apk" target, an easy way to create an apk. Change-Id: I12565e7ed32beb42da40d8ce42a52339038be950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Revert "don't overwrite pre-existing INSTALL for target"Christian Strømme2017-06-271-4/+1
| | | | | | | | | | | | This reverts commit c0e94dd0933c549f35d05318cdcd97572c61fabf, as it introduced a regression for applications that sets an installation target (on Android), which a lot of our examples do. The installation target for Android applications/libraries needs to be within in the application bundle's directory tree, or it won't work. Task-number: QTBUG-61635 Change-Id: I8c919ef3888d7679b0f9659796f5e590bc1faa57 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* don't auto-create install targets for static libsOswald Buddenhagen2017-06-171-1/+1
| | | | | | | | | these are not meant to be deployed, so the install hack should skip them. Task-number: QTBUG-42830 Change-Id: I870499dca2cfea87bf0048f019d651ce9cc5d788 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* don't overwrite pre-existing INSTALL for targetOswald Buddenhagen2017-06-171-1/+4
| | | | | | | | | | | | while it's mildly insane that we auto-generate install targets to start with, we can at least refrain from doing so if there is one already. as it happens, this removes the need for excluding the qt build explicitly. Task-number: QTBUG-38452 Change-Id: I74d5df447fba525fa79896c9be2c71d82bc2c6ce Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fixed recently added "excess colon in front of brace" qmake warningOliver Wolff2016-01-061-1/+1
| | | | | Change-Id: I3a650bb4e27cad00f639e6445c36fa8b69edb5b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Android: Fix compiling targets with space in nameEskil Abrahamsen Blomfeldt2014-07-081-1/+1
| | | | | | | | | | | We have to escape the target name to avoid compilation errors. This fixes the compilation failure in the qprocess autotest. [ChangeLog][Android] Added support for building libraries with spaces in name. Change-Id: Ib98ba261fb3a4cc1e835d0cd2f93aac6855a7c21 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* REG: Fix make install on library projects on AndroidEskil Abrahamsen Blomfeldt2014-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of 39e04b022227c52c9e6aac1942919f68247e1394. The original change moved the special make install target path logic into the logic for the app template to make it possible to remove the condition that excluded builds inside the Qt directory. This was to make it possible to build examples in the Qt directory for Android without moving them. However, this broke user library projects, specifically when they were part of a subdirs project and should have been automatically installed into the Android package. This patch brings back the logic but only enables it for library projects, meaning that the only examples inside Qt which cannot be built correctly are library projects (which didn't work anyway). [ChangeLog][Android] Fixed regression in "make install" on library projects on Android so they can be used inside subdirs projects again. Task-number: QTBUG-34781 Change-Id: Iabf53ed68845b2ddd4ae66656e1372c96185660e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* move android-specific feature files to android/Oswald Buddenhagen2013-10-031-0/+11
Change-Id: I1f2b345b1dfad544d53dbf7e17b12c75a2cc7668 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>