diff options
author | fanquake <fanquake@gmail.com> | 2021-12-08 09:18:57 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2021-12-08 09:29:39 +0800 |
commit | 0d101050efbd56d5a751f187c727b0f3d095057f (patch) | |
tree | 631019a052317b2482d42ec4f893ad0f17d05d99 | |
parent | 63c63b5533e8d1c682aae3ae6d35b76836ab8341 (diff) | |
parent | ac9e4bc1e27374671ff1ebd96b939793f784ccb2 (diff) |
Merge bitcoin/bitcoin#23678: build: Fix build for Android x86_64
ac9e4bc1e27374671ff1ebd96b939793f784ccb2 build: Fix build for Android x86_64 (Hennadii Stepanov)
Pull request description:
bitcoin/bitcoin#23489 [introduced](https://github.com/bitcoin/bitcoin/pull/23489#issuecomment-985457915) a regression making build for `HOST=x86_64-linux-android` broken due to the [QTBUG-86785](https://bugreports.qt.io/browse/QTBUG-86785).
This PR fixes this regression.
ACKs for top commit:
fanquake:
ACK ac9e4bc1e27374671ff1ebd96b939793f784ccb2
Tree-SHA512: c841a56d745c4b4a75e1bc4d89752de153aa6328752a8fd7df614363ed046a291a9eb58605d82fcba21f3c8b0f0bf47786ed0a63c29f81f5d4ad9c0b12304100
-rw-r--r-- | depends/packages/qt.mk | 3 | ||||
-rw-r--r-- | depends/patches/qt/dont_use_avx_android_x86_64.patch | 32 |
2 files changed, 34 insertions, 1 deletions
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 83dcb12001..9824b5bebd 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -9,7 +9,7 @@ $(package)_qt_libs=corelib network widgets gui plugins testlib $(package)_linguist_tools = lrelease lupdate lconvert $(package)_patches = qt.pro qttools_src.pro $(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch -$(package)_patches += dont_hardcode_x86_64.patch fix_montery_include.patch +$(package)_patches += dont_use_avx_android_x86_64.patch dont_hardcode_x86_64.patch fix_montery_include.patch $(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch $(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch $(package)_patches += fix_bigsur_style.patch use_android_ndk23.patch @@ -232,6 +232,7 @@ define $(package)_preprocess_cmds patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \ patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \ patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \ + patch -p1 -i $($(package)_patch_dir)/dont_use_avx_android_x86_64.patch && \ patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \ patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \ patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \ diff --git a/depends/patches/qt/dont_use_avx_android_x86_64.patch b/depends/patches/qt/dont_use_avx_android_x86_64.patch new file mode 100644 index 0000000000..b12ac8f4d0 --- /dev/null +++ b/depends/patches/qt/dont_use_avx_android_x86_64.patch @@ -0,0 +1,32 @@ +Android: don't use avx and avx2 when building for Android x86_64 + +AVX and AVX2 are not supported on x86_64 ABI. +See: + - https://developer.android.com/ndk/guides/abis#86-64 + - https://bugreports.qt.io/browse/QTBUG-86785 + +Upstream commits: + - Qt 6.0: ff1a44be33f4bc05d502a2ca49171e0408992f61 + - Qt 5.15: 8b2cc0f6deb038a4c9d4f0d9b690c7726bd809a9 + + +--- old/qtbase/configure.json ++++ new/qtbase/configure.json +@@ -1098,7 +1098,7 @@ + }, + "avx": { + "label": "AVX", +- "condition": "features.sse4_2 && tests.avx", ++ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)", + "output": [ + "privateConfig", + { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 } +@@ -1114,7 +1114,7 @@ + }, + "avx2": { + "label": "AVX2", +- "condition": "features.avx && tests.avx2", ++ "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)", + "output": [ + "privateConfig", + "privateFeature", |