build: Require pkg-config for all of the hosts#18307
build: Require pkg-config for all of the hosts#18307fanquake merged 10 commits intobitcoin:masterfrom
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
|
I like this idea, especially the simplification of the autoconf scripts. Concept ACK. |
284418a to
b3b769a
Compare
|
Updated 284418a -> b3b769a (pr18307.01 -> pr18307.02, diff):
|
|
Concept ACK, thanks for working on this. Will review the chain. |
b68e717 build: Set libevent minimum version to 2.0.21 (Hennadii Stepanov) Pull request description: The non-`pkg-config` path is ignored as there is a hope to get rid of all of them in #18307. As xenial has [libevent 2.0.21](https://packages.ubuntu.com/xenial-updates/libevent-2.0-5) only, the default bionic Docker image is used in the _"[no depends, only system libs, sanitizers: thread (TSan), no wallet]"_ CI test. ACKs for top commit: theStack: utACK b68e717 laanwj: ACK b68e717 Tree-SHA512: 9825c42aeb166165e99fe5eaf74dbb47c2b51aecdbe53c5ae949fe126e1b8e8b6fe8d228fdde4e8daa4243e5907954202f42eb23c71629e4b2b92a7d4eb892e4
…re script b68e717 build: Set libevent minimum version to 2.0.21 (Hennadii Stepanov) Pull request description: The non-`pkg-config` path is ignored as there is a hope to get rid of all of them in bitcoin#18307. As xenial has [libevent 2.0.21](https://packages.ubuntu.com/xenial-updates/libevent-2.0-5) only, the default bionic Docker image is used in the _"[no depends, only system libs, sanitizers: thread (TSan), no wallet]"_ CI test. ACKs for top commit: theStack: utACK bitcoin@b68e717 laanwj: ACK b68e717 Tree-SHA512: 9825c42aeb166165e99fe5eaf74dbb47c2b51aecdbe53c5ae949fe126e1b8e8b6fe8d228fdde4e8daa4243e5907954202f42eb23c71629e4b2b92a7d4eb892e4
b3b769a to
a4535bf
Compare
|
Rebased b3b769a -> a4535bf (pr18307.02 -> pr18307.03) due to the merging of #18297. |
|
@fanquake |
Guix builds
|
fanquake
left a comment
There was a problem hiding this comment.
Concept ACK - This looks pretty good, and is a nice simplification. This should be a no-op for most platforms, besides some reordering of package checks in configure. Obviously Windows is different, and after this PR, should be full pkg-config. This is the main difference I'm seeing in config.log:
# libevent
-EVENT_CFLAGS=''
-EVENT_LIBS='-levent'
+EVENT_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include'
+EVENT_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -levent -lws2_32'
# qrencode
-QR_CFLAGS=''
-QR_LIBS='-lqrencode'
+QR_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include'
+QR_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -lqrencode -lpthread'
# zeromq
-ZMQ_CFLAGS=' -DZMQ_STATIC'
-ZMQ_LIBS='-lzmq'
+ZMQ_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include -DZMQ_STATIC'
+ZMQ_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -lzmq -liphlpapi -lpthread'liphlpapi was added to libzmqs PKGCFG_LIBS_PRIVATE, when static linking, in zeromq/libzmq#2787.
a4535bf to
5bfb563
Compare
5bfb563 to
4e006b6
Compare
|
Updated a4535bf -> 4e006b6 (pr18307.03 -> pr18307.05, diff):
|
4e006b6 to
92bc268
Compare
|
Updated 4e006b6 -> 92bc268 (pr18307.05 -> pr18307.06, diff):
|
|
ACK 92bc268 |
| if test "x$use_zmq" = xyes; then | ||
| dnl Assume libzmq was built for static linking | ||
| case $host in | ||
| *mingw*) |
There was a problem hiding this comment.
It's somewhat unfortunate that this mingw-specific workaround is still ncessary, that the required flag is not passed in through the pkgconfig file in the case of a static build. But I suppose this is an upstream issue.
This PR:
configurescriptRef: #17768