-
Notifications
You must be signed in to change notification settings - Fork 36.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build, qt: Improve Qt static plugins/libs check code #21363
Conversation
cc @fanquake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
This change puts Q_IMPORT_PLUGIN(...) boilerplate into the macro, which now accepts only one plugin to check, and it is renamed (plural -> singular).
New _BITCOIN_QT_CHECK_STATIC_LIBS name describes the macro functionality more precisely.
Qt static libs reside in libdir.
Updated afcd2dd -> 32b8dc6 (pr21363.01 -> pr21363.02, diff): |
Guix builds:
|
Gitian builds:
|
Guix builds @ 32b8dc6: bash-5.1# find output/ -type f -print0 \| env LC_ALL=C sort -z \| xargs -r0 sha256sum
4d157b2a2e831dd0aecc9fa939832a4001a91835ae562d328471a6d305259157 output/bitcoin-32b8dc648f91-aarch64-linux-gnu-debug.tar.gz
dbaa32f1eab66071fbeec5a63e4074faf98156c7148b3f170f4c3767e58d962f output/bitcoin-32b8dc648f91-aarch64-linux-gnu.tar.gz
5d04575f614338f54b486fa93abc57737b9116b4bd6a5c059039d96a6b31b6e6 output/bitcoin-32b8dc648f91-arm-linux-gnueabihf-debug.tar.gz
1b5fdf23c33d4578f13ed3e45104c198c849d7db858cf5390a79a5ab3c464969 output/bitcoin-32b8dc648f91-arm-linux-gnueabihf.tar.gz
049cd084b8514d8672e6bcbe3fbd23a685f6d301128e05b53a52eae111bb03e2 output/bitcoin-32b8dc648f91-osx-unsigned.dmg
727cd6a666add475ddadb22d704f36fbe3b0ef44f61d04d93d437c3cb5ec95d2 output/bitcoin-32b8dc648f91-osx-unsigned.tar.gz
74ce193044331a91063b8aa16f07d8edf25e1b3fbdcc36e312d48c45eab3ffe0 output/bitcoin-32b8dc648f91-osx64.tar.gz
45154b45d933377aa3128bfe7ed01f07a8d2813ac942760a730db6c42b006c08 output/bitcoin-32b8dc648f91-powerpc64-linux-gnu-debug.tar.gz
26580c3d434069e93cc91dee940664eecf88b1acb3b18f570c2aa36f020b4665 output/bitcoin-32b8dc648f91-powerpc64-linux-gnu.tar.gz
663da5eaf3c79c5fa76ee601eb031a6706b9fbbd4802d566a5c22d6ea8dd8edb output/bitcoin-32b8dc648f91-powerpc64le-linux-gnu-debug.tar.gz
cc8352eff62ff6c7bafd0eba21a637f07191e560d0a7a74ebc5fad405c81e998 output/bitcoin-32b8dc648f91-powerpc64le-linux-gnu.tar.gz
dbd7ab94e60ae9ec42620c774ae1d3f46c370547fe3f0af53bdf87ad49c8b2cc output/bitcoin-32b8dc648f91-riscv64-linux-gnu-debug.tar.gz
be3e17dff65c24ee7a4507872b501bbef1186b07c97c5921b2f84e70a6a7464f output/bitcoin-32b8dc648f91-riscv64-linux-gnu.tar.gz
a77bb0155c316c925b16cd79dfb82a2b684cd47d27d68cfbf5b83106d8f07c4e output/bitcoin-32b8dc648f91-win-unsigned.tar.gz
759dff3dd2df36c958e8f815d32fbfbf3b08fb240ce39d2cee155482038f0bb1 output/bitcoin-32b8dc648f91-win64-debug.zip
75212f53b0fb9afb94b19b5e6eb6ad58d0273f36ceb13e740a6794d04ed7babe output/bitcoin-32b8dc648f91-win64-setup-unsigned.exe
6507480792bd26084b77e0806011f6b9ac6e8514b1a2764d660558241587fb1c output/bitcoin-32b8dc648f91-win64.zip
05da4a5ffaaed35a84c2d3daf71114d5a84012038a9b05ac23a5a5c345664fe2 output/bitcoin-32b8dc648f91-x86_64-linux-gnu-debug.tar.gz
25278e6e7b17e3fb7fe437ec1fa1aadcd086f38866f07daf01fb40910600cfb3 output/bitcoin-32b8dc648f91-x86_64-linux-gnu.tar.gz
6274fd0ab5e108bcd18dd08a04f7cd916a72959fac12a2ae088fb714757ca347 output/src/bitcoin-32b8dc648f91.tar.gz |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows]) | ||
elif test "x$TARGET_OS" = xlinux; then | ||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static]) | ||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb -lxcb-static]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-lxcb-static
is redundant here and it could be dropped, as it is linked with Qt5XcbQpa
s flags.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets leave that for a separate change post #21376.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fanquake you are right
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 32b8dc6
Also ran gitian builds:
# macOS:
Generating report
a69b7829f6b5ed748ee6648cfa201a8a6088b11872d2b49d752afe2191856aa3 bitcoin-32b8dc648f91-osx-unsigned.dmg
ea27ef00aa9ad102ca5571a1a5de200930fb585b7fbdbdfb0211c85c1590afe3 bitcoin-32b8dc648f91-osx-unsigned.tar.gz
d4c6bc750689bf2e430e4c3a8951881222fa556e84af5c226c96d54a5e919cc3 bitcoin-32b8dc648f91-osx64.tar.gz
6274fd0ab5e108bcd18dd08a04f7cd916a72959fac12a2ae088fb714757ca347 src/bitcoin-32b8dc648f91.tar.gz
a45037c6a302ce6cfcfc0a98df7b25a04f284353b14d950d302d9fb8479ccbd6 bitcoin-core-osx-22-res.yml
Done.
# Windows:
Generating report
23191cc4aaefc750c184db47aed1ac7764337c485bbb3667ea8002a4d29f232e bitcoin-32b8dc648f91-win-unsigned.tar.gz
8b9bd0e541c37fb9c079858221247f7e3eda6fce4547ba6462638f53339e1025 bitcoin-32b8dc648f91-win64-debug.zip
ed4a4f2b121689036186579eb2e7ba2d812cac9bdc2dcda1106af6e70fa8a547 bitcoin-32b8dc648f91-win64-setup-unsigned.exe
d82435d9d6317a26733b7f25b45e12c4de7a8310cb0e3cb6208cc5a755bb917e bitcoin-32b8dc648f91-win64.zip
6274fd0ab5e108bcd18dd08a04f7cd916a72959fac12a2ae088fb714757ca347 src/bitcoin-32b8dc648f91.tar.gz
1782027aba7459c78330ebf638046ed107f1f863ad56994c2a5967a73226c560 bitcoin-core-win-22-res.yml
Done.
# Linux:
Generating report
8280d955a99fb15d140ede646b8c7a8eb8e8c5436fc9f7e1c543c41540220a1c bitcoin-32b8dc648f91-aarch64-linux-gnu-debug.tar.gz
ac2677a78ab21992a5b7b6d6b1f09675618325efa993757070c4f93886b7a907 bitcoin-32b8dc648f91-aarch64-linux-gnu.tar.gz
9a3582189ceb0db2d4dd0d69c9b5f0a858f9d3cb530c70a2b7659d7bb823bc3f bitcoin-32b8dc648f91-arm-linux-gnueabihf-debug.tar.gz
076ca62e157225b7bedfcd8030b5c16429240c7bd49ee5a482b610268012f443 bitcoin-32b8dc648f91-arm-linux-gnueabihf.tar.gz
bef1e95b779ecf4ea02cf203a313b175b3c66f34ab08d67c999f30c8087c74df bitcoin-32b8dc648f91-powerpc64-linux-gnu-debug.tar.gz
6cf38dd0831873a4bf76386232d774893cee97457faa4d80e121b80652f2241f bitcoin-32b8dc648f91-powerpc64-linux-gnu.tar.gz
63534cf0fe510a91e51a21c64335b7ff521b5a3d43aa5e5f2303f31a3a62c5d5 bitcoin-32b8dc648f91-powerpc64le-linux-gnu-debug.tar.gz
e98407a07bfcc55f6a42dade484e293ee7592c65d4fc2d29f48fc740c3605b60 bitcoin-32b8dc648f91-powerpc64le-linux-gnu.tar.gz
d42ffccb28f0fd40c3b7a7273ab808652ec6f6ebab5a0e617aee323d125928ba bitcoin-32b8dc648f91-riscv64-linux-gnu-debug.tar.gz
5b5219f1618ca275fdbe699aed58bab7ed455b0a7bad4b01c658a2ce2670ef16 bitcoin-32b8dc648f91-riscv64-linux-gnu.tar.gz
7f77014a6826c1c328cee7e38bbd8e410c59ed85f0a4f134f8ee91dd1ae70cfd bitcoin-32b8dc648f91-x86_64-linux-gnu-debug.tar.gz
24a792320811880d073152b2c11ae81efb58e99ed99741eba420ca214ef2a02a bitcoin-32b8dc648f91-x86_64-linux-gnu.tar.gz
6274fd0ab5e108bcd18dd08a04f7cd916a72959fac12a2ae088fb714757ca347 src/bitcoin-32b8dc648f91.tar.gz
70fb3daeda27719d4f84dc26f9ead9516aa86219196d9a54a9e334f90a100be8 bitcoin-core-linux-22-res.yml
Done.
Due to the ill-formed code _BITCOIN_QT_CHECK_STATIC_PLUGIN never fails.
ffdd7de build, qt: Fix regression introduced in #21363 (Hennadii Stepanov) Pull request description: After #21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
ffdd7de build, qt: Fix regression introduced in bitcoin#21363 (Hennadii Stepanov) Pull request description: After bitcoin#21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
550ed1b build: update qt qpaint non determinism patch for 5.12.10 (fanquake) 6093ae4 build: update qt no-xlib patch for 5.12.10 (fanquake) 84928c4 build: update qt android jni static patch for 5.12.10 (fanquake) cc6f47d build: update qt lrelease patch for 5.12.10 (fanquake) 286d07f build, qt: Fix lib paths in *.pc files (Hennadii Stepanov) fa5e97e build: disable qt SDK version checking (fanquake) 1be8e0f build: Add QMacStyle support (Hennadii Stepanov) e674e94 build: revert to using Qts internal zlib (fanquake) 06cd0da build: qt 5.12.10 (fanquake) 3272e34 build: Add xkbcommon 0.8.4 (Hennadii Stepanov) d769b33 build: only pass -optimized-tools to qt in debug mode (fanquake) Pull request description: Switch to Qt 5.12.10 in depends. Based on #21363. This is a much smaller changeset, and should be easier to review than #19716. Also postpones needing to bring a bunch of new libs into depends. Big thanks to Hebasto that has been helping with this. ACKs for top commit: laanwj: Code review ACK 550ed1b hebasto: ACK 550ed1b jarolrod: ACK 550ed1b , tested on macOS 11.2 built from depends Tree-SHA512: cb6b70f5a5372ba0b64f7ddfa696eda0411922cd261c67bfa2d9332c685a7b358ab18e5cfaa677b414ae8ad78296bba6ed0eecd071fdacdf736a0d030f679fe5
e67c012 doc: Update dependencies.md with a new Qt version (Hennadii Stepanov) cc25f89 build: Cleanup libxkbcommon_postprocess_cmds (Hennadii Stepanov) 72fc043 build, qt: Drop redundant -lxcb-static flag (Hennadii Stepanov) cba4a7e build, qt: Always test plugins/subdir before adding to search paths (Hennadii Stepanov) Pull request description: 1) Always test `plugins/subdir` before adding to search paths as the existence of each subdir is not guaranteed for all platforms: - bitcoin/bitcoin#21376 (comment) 2) Drop redundant `-lxcb-static` flag as it has been already linked with `Qt5XcbQpa`: - bitcoin/bitcoin#21363 (comment) 3) Cleanup `libxkbcommon_postprocess_cmds` as there is no `share/` directory in the staging one: - bitcoin/bitcoin#21376 (comment) - bitcoin/bitcoin#21376 (comment) 4) Update `dependencies.md` ACKs for top commit: fanquake: ACK e67c012 Tree-SHA512: 9113ee97d5e7424290778154d62a68af804ee82efedbbe9776a7f692104d65b07d151e9f7f1f98ec08d18f6d63efef3e44b207bee67ad913f5dbc4eddbb8ea41
ffdd7de build, qt: Fix regression introduced in bitcoin#21363 (Hennadii Stepanov) Pull request description: After bitcoin#21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
ffdd7de build, qt: Fix regression introduced in bitcoin#21363 (Hennadii Stepanov) Pull request description: After bitcoin#21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
ffdd7de build, qt: Fix regression introduced in bitcoin#21363 (Hennadii Stepanov) Pull request description: After bitcoin#21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
ffdd7de build, qt: Fix regression introduced in bitcoin#21363 (Hennadii Stepanov) Pull request description: After bitcoin#21363 the `_BITCOIN_QT_CHECK_STATIC_PLUGIN` never fails due to the ill-formed code. Sorry for breaking it. ACKs for top commit: fanquake: ACK ffdd7de Tree-SHA512: 0af3334af5332f3b349dba219565ee336090541c2c4fae53d7dc4dd2aa05291b3c7c13bfc506219f642fb854f3c887f0f9621b42d0df68d5d794e0563b2cf5d4
Qt version bump is around the corner (#21376).
As a preparation, this PR makes Qt static plugins/libs check code more correct, and easier to reason about.
configure
script log (forHOST=x86_64-pc-linux-gnu
):