Commit Graph

827 Commits

Author SHA1 Message Date
Cory Fields
c2cd47280c depends: bump darwin clang to 11.1
Unfortunately clang 10 does not understand "-mmacosx-version-min=11.0",
as it expects to see only 10.x.

Bump minimally to 11.1 to fix that problem. This will likely be our last
binary toolchain bump, as it will soon be replaced with usage of upstream
vanilla llvm.
2023-06-22 15:28:47 +00:00
Cory Fields
cbee1d7091 depends: modernize clang flags
Fixes builds with llvm >= 11 in guix by working around the problem. As a bonus,
this is much cleaner and more maintainable than what we had before.
2023-06-20 19:55:02 +00:00
Cory Fields
4fe5f3c467 depends: remove redundant stdlib option
Use of -stdlib++-isystem gets rid of any system c++ header include paths and
negates the need for this option. In newer versions of clangs the combo
produces a warning.
2023-05-22 16:02:44 +00:00
MarcoFalke
fa29651c3f
doc: Rework build-unix.md 2023-05-17 14:31:03 +02:00
fanquake
9ae854da19
depends: no-longer nuke libc++abi.so* in native_clang package
We weren't copying it over in any case.
2023-05-11 12:29:52 +01:00
fanquake
397ed22162
Merge bitcoin/bitcoin#27508: build: use latest config.{guess,sub} in depends
4a3f1db4ea depends: latest config.sub (fanquake)
ac462c58f9 depends: latest config.guess (fanquake)

Pull request description:

  Been a few years since we last updated these.
  Also related to https://github.com/bitcoin/bitcoin/pull/26422#issuecomment-1421178967.

ACKs for top commit:
  TheCharlatan:
    ACK 4a3f1db4ea
  hebasto:
    ACK 4a3f1db4ea, I've got zero diff with files from the [upstream](https://git.savannah.gnu.org/gitweb/?p=config.git;a=tree).

Tree-SHA512: 8f1af0813c56289c796a6e74965632dd6fa6dd135409250b2d5ebf7c1c2bfb4001195d35e5d7ecc0cad2a049468193b9fefc2b26beb7669afe6bba4d9c3ffa33
2023-04-23 11:10:43 +01:00
fanquake
4a3f1db4ea
depends: latest config.sub 2023-04-21 11:48:26 +01:00
fanquake
ac462c58f9
depends: latest config.guess 2023-04-21 11:47:46 +01:00
Cory Fields
63c0c4ff10 depends: reuse _config_opts for CMake options
This will allow us to use the existing machinery for filtering by
arch, os, debug/release, etc.

For example, the following becomes possible for libevent:

$(package)_config_opts_release=-DEVENT__DISABLE_DEBUG_MODE

Now the define is only set when not building depends with DEBUG=1
2023-04-19 17:19:51 -04:00
fanquake
bc4fd49d09
depends: add _LIBCPP_ENABLE_ASSERTIONS to DEBUG mode
See
https://releases.llvm.org/16.0.0/projects/libcxx/docs/UsingLibcxx.html#assertions-mode
for more info.
2023-04-18 10:43:20 +01:00
fanquake
cf266b2270
depends: Remove _LIBCPP_DEBUG from depends DEBUG mode
It was deprecated in LLVM 15, turned into a compile-time error in LLVM 16:
```bash
In file included from /usr/lib/llvm-16/bin/../include/c++/v1/cassert:19:
/usr/lib/llvm-16/bin/../include/c++/v1/__assert:22:5: error: "Defining _LIBCPP_DEBUG is not supported anymore.
Please use _LIBCPP_ENABLE_DEBUG_MODE instead."
    ^
1 error generated.
```

and has been removed entirely in LLVM 17 (main),
ff573a42cd.

Building libc++ in debug mode, will also automatically set
`_LIBCPP_ENABLE_DEBUG_MODE` (the new define), so adding it to depends
doesn't seem useful, and would just result in redefinition errors.

I'm wondering if as a followup, we could enable a DEBUG build of libc++
in our MSAN CI job?

Somewhat related to https://github.com/google/oss-fuzz/pull/9828, where
it looks like we'll have to sort out getting a DEBUG build of LLVM.
2023-04-18 10:43:20 +01:00
fanquake
f8b8458276
depends: fix compiling bdb with clang-16 on aarch64
Compiling bdb with clang-16 on aarch64 (hardware) currently fails:
```bash
make -C depends/ bdb CC=clang CXX=clang++
...
checking for mutexes... UNIX/fcntl
configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
configure: error: Unable to find a mutex implementation
```

Looking at config.log we've got:
```bash
configure:18704: checking for mutexes
configure:18815: clang -o conftest -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security    -I/bitcoin/depends/aarch64-unknown-linux-gnu/include -D_GNU_SOURCE -D_REENTRANT   -L/bitcoin/depends/aarch64-unknown-linux-gnu/lib conftest.c  -lpthread >&5
conftest.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
main() {
^
int
conftest.c:50:2: warning: call to undeclared library function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        exit (
        ^
conftest.c:50:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 warning and 1 error generated.
```

Clang-16 changed `-Wimplicit-function-declaration` and `-Wimplicit-int`
warnings into errors, see:
https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes.

> The -Wimplicit-function-declaration and -Wimplicit-int warnings now
> default to an error in C99, C11, and C17. As of C2x, support for implicit
> function declarations and implicit int has been removed, and the
> warning options will have no effect. Specifying -Wimplicit-int in
> C89 mode will now issue warnings instead of being a noop.
2023-04-17 10:14:25 +01:00
fanquake
436df1e826
depends: add NO_HARDEN option
Add an option that when passed, will disable hardening options, and
pass `--disable-hardening` through to configure. Due to the way
we link libssp for Windows builds, they now fail (after #27118),
if building with depends, and configuring with --disable-hardening.
See:
https://github.com/bitcoin/bitcoin/pull/27118#issuecomment-1492606272.

This change would add a depends opiton such that, if someone wants to
build with, for windows, without hardening, they can do so. This may
also be useful when building for debugging.
2023-04-04 10:07:41 +01:00
Hennadii Stepanov
c9aace2bfd
depends, doc: Document NO_USDT option 2023-04-01 10:26:10 +01:00
fanquake
9cbc1c2792
depends: make fontconfig build under clang-16
Use the same workaround we've applied to qrencode, and other packages.
Fontconfig not building is currently a blocker for fuzz/sanitizer infra
upgrades.

For now, this is also more straightforward than bumping the package,
which introduces more complexity/usage of gperf.
2023-03-27 16:33:15 +01:00
fanquake
20bd591345
Merge bitcoin/bitcoin#27314: build, qt: Fix handling of CXX=clang++ when building qt package
25e8fe70c6 build, qt: Fix handling of `CXX=clang++` when building `qt` package (Hennadii Stepanov)

Pull request description:

  On the master branch (f380bb93e8):
  ```
  $ cd depends
  $ make qt CC=clang CXX=clang++
  ...
  Project ERROR: failed to parse default search paths from compiler output
  make: *** [funcs.mk:292: /home/hebasto/git/bitcoin/depends/x86_64-pc-linux-gnu/.qt_stamp_configured] Error 3
  ```

  Fixes https://github.com/bitcoin/bitcoin/pull/27301#issuecomment-1479622034.

  Guix builds:
  ```
  daa94946aae7d4826d6f329337791a6bda0f01ac73f27003d1677dc8de031071  guix-build-25e8fe70c6e6/output/aarch64-linux-gnu/SHA256SUMS.part
  38e9dcb99e329ad02837fd08559a8408bd7ba698f65163d0834d52dc9eefceae  guix-build-25e8fe70c6e6/output/aarch64-linux-gnu/bitcoin-25e8fe70c6e6-aarch64-linux-gnu-debug.tar.gz
  36d48b93724b112e5553a8d048c79df0532da6d271598a105038c6a5dfbce630  guix-build-25e8fe70c6e6/output/aarch64-linux-gnu/bitcoin-25e8fe70c6e6-aarch64-linux-gnu.tar.gz
  6fe9697b6c73f75b1d1ce1bf89176e4afb77a0f876cfbf72b1298660c8060c17  guix-build-25e8fe70c6e6/output/arm-linux-gnueabihf/SHA256SUMS.part
  dffe564732625f7697274f5cec89c4340327fd3094c6e22dcda39edce064b249  guix-build-25e8fe70c6e6/output/arm-linux-gnueabihf/bitcoin-25e8fe70c6e6-arm-linux-gnueabihf-debug.tar.gz
  d2fe5bb056b5d12363b2b7a2bf6dca95f2fc3734b61c770fe4919ecbf6570338  guix-build-25e8fe70c6e6/output/arm-linux-gnueabihf/bitcoin-25e8fe70c6e6-arm-linux-gnueabihf.tar.gz
  ea63144558e7f9546b771f04fec5d59814d6dc5159fdc82c6da960fdf3de328f  guix-build-25e8fe70c6e6/output/arm64-apple-darwin/SHA256SUMS.part
  579d33fb5d53789849551b25de0323714fe7d282b7506d1bcdb96690dc357911  guix-build-25e8fe70c6e6/output/arm64-apple-darwin/bitcoin-25e8fe70c6e6-arm64-apple-darwin-unsigned.dmg
  439628b325a72806d2a598c9c40811f9506b3d0ca3cd56ac327ed7f25d018f22  guix-build-25e8fe70c6e6/output/arm64-apple-darwin/bitcoin-25e8fe70c6e6-arm64-apple-darwin-unsigned.tar.gz
  8434b75c17c3e3fae9f28cfa8236191134327118c83e603783d700b0ebcf07a6  guix-build-25e8fe70c6e6/output/arm64-apple-darwin/bitcoin-25e8fe70c6e6-arm64-apple-darwin.tar.gz
  61dc9b083d63fc955f4c064348d9c49937e6cc0e969c48538b60281e0824a0f4  guix-build-25e8fe70c6e6/output/dist-archive/bitcoin-25e8fe70c6e6.tar.gz
  e31df50d868ec4ab6ecbd35ca0057a053eedd474dcc9c6287e4d225e8c0e8bee  guix-build-25e8fe70c6e6/output/powerpc64-linux-gnu/SHA256SUMS.part
  086cabfda322c5f86c128d52212ccc7276a4f6273d6acaedd949634bd211f8f4  guix-build-25e8fe70c6e6/output/powerpc64-linux-gnu/bitcoin-25e8fe70c6e6-powerpc64-linux-gnu-debug.tar.gz
  a245643fdad052b7fcc798bd1b7760540dcf47c54a9cdcc1e2f6bdb1fcc3f206  guix-build-25e8fe70c6e6/output/powerpc64-linux-gnu/bitcoin-25e8fe70c6e6-powerpc64-linux-gnu.tar.gz
  cf8f81932f8132bc26f10599cd318310b6207aea9e31a1ac41393ffc7df51801  guix-build-25e8fe70c6e6/output/powerpc64le-linux-gnu/SHA256SUMS.part
  f2fee686528ef507b5de03eb7f74f4d8a6d32338dbd7c6758795c963c6e9ce41  guix-build-25e8fe70c6e6/output/powerpc64le-linux-gnu/bitcoin-25e8fe70c6e6-powerpc64le-linux-gnu-debug.tar.gz
  84a3b3c3b76eff95f8a6f49d1e4a3c7922722c1a202d982e9e4b83f9797d1e8d  guix-build-25e8fe70c6e6/output/powerpc64le-linux-gnu/bitcoin-25e8fe70c6e6-powerpc64le-linux-gnu.tar.gz
  42b8d6fa5756e200fcd99fdad07186437403ec85098d6d3d3246d7750b6f8361  guix-build-25e8fe70c6e6/output/riscv64-linux-gnu/SHA256SUMS.part
  0e588eb81dfc7dcc472b9ea18825a6dee5967dd7f5a0f90a59d0ea2ac54bac8d  guix-build-25e8fe70c6e6/output/riscv64-linux-gnu/bitcoin-25e8fe70c6e6-riscv64-linux-gnu-debug.tar.gz
  6afcc482debcec8d3a7e32ca1216bfcd9ad4f653ace88ef39113f38bfb76e447  guix-build-25e8fe70c6e6/output/riscv64-linux-gnu/bitcoin-25e8fe70c6e6-riscv64-linux-gnu.tar.gz
  f58997be8b2dde088c80534977ad26c485c687a1e55783131da259d35b477e81  guix-build-25e8fe70c6e6/output/x86_64-apple-darwin/SHA256SUMS.part
  e7e17caa9035ba92216b591c9225b72316a65b1b6f68c85f85831d4c067e8d14  guix-build-25e8fe70c6e6/output/x86_64-apple-darwin/bitcoin-25e8fe70c6e6-x86_64-apple-darwin-unsigned.dmg
  21df826825dd3b737f373513974e5e075470b6372b5ef00f0bfb69eaa806837c  guix-build-25e8fe70c6e6/output/x86_64-apple-darwin/bitcoin-25e8fe70c6e6-x86_64-apple-darwin-unsigned.tar.gz
  81544073e667222d60591316571444b19c72be5b2e41007098b17a45e63c9691  guix-build-25e8fe70c6e6/output/x86_64-apple-darwin/bitcoin-25e8fe70c6e6-x86_64-apple-darwin.tar.gz
  b1e644cc1ce3ba5bb91ca9fa22bd7abf25b2b537c9f041416555eb4327fb6a7b  guix-build-25e8fe70c6e6/output/x86_64-linux-gnu/SHA256SUMS.part
  6942721e65ae40604e83957d19b12a6d320fa5676a5668e890db13a7b2df5102  guix-build-25e8fe70c6e6/output/x86_64-linux-gnu/bitcoin-25e8fe70c6e6-x86_64-linux-gnu-debug.tar.gz
  c0596a5625d8cd2daf3c361290be6fc58642293d44944c10fde38bff203d1225  guix-build-25e8fe70c6e6/output/x86_64-linux-gnu/bitcoin-25e8fe70c6e6-x86_64-linux-gnu.tar.gz
  ebc7bab758d37dc7a16154d24b2335aa1d261345f94eeab1ed2664bc8679f2f0  guix-build-25e8fe70c6e6/output/x86_64-w64-mingw32/SHA256SUMS.part
  38f31a70a630bf9db2616eb6732635d6b9e929ebe79a5e75c0179a5dfd9c076f  guix-build-25e8fe70c6e6/output/x86_64-w64-mingw32/bitcoin-25e8fe70c6e6-win64-debug.zip
  b84591a290e8d1d246eb56f29125bedd7b0e66eeeb875dee9c377c16ba3f7029  guix-build-25e8fe70c6e6/output/x86_64-w64-mingw32/bitcoin-25e8fe70c6e6-win64-setup-unsigned.exe
  f3b50aee206c012c663d758d5a31d0efa7186805b70c8ec79962e1d7f977de6b  guix-build-25e8fe70c6e6/output/x86_64-w64-mingw32/bitcoin-25e8fe70c6e6-win64-unsigned.tar.gz
  6d7da31b00adc5005a42983c3444f44ac13a1e0028f1db7ba07d253baf40bf9e  guix-build-25e8fe70c6e6/output/x86_64-w64-mingw32/bitcoin-25e8fe70c6e6-win64.zip
  ```

ACKs for top commit:
  TheCharlatan:
    tACK 25e8fe70c6

Tree-SHA512: a773d3d4454fefd37df1c05f2227e9ff66090536af3f9ff1d5373844fbcad9666ff4d199bc990ab0190f54f34059218830c1b3472a022f88d0a4971f77f82aaf
2023-03-27 15:24:33 +01:00
fanquake
3e835ca958
Merge bitcoin/bitcoin#27328: depends: fix osx build with clang 16
87afcb0029 depends: fix osx build with clang 16 (Cory Fields)

Pull request description:

  Current build (using forced system clang as a test) results in:

  > error: unknown argument: '-internal-externc-isystem/opt/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/16/include'

  For some reason the previous syntax worked with clang 15 and below, but clang 16 requires that the option and value are properly separated.

  See [here for an example of upstream using this syntax](https://github.com/llvm/llvm-project/blob/main/clang/test/Driver/crash-report-with-asserts.c#L9).

  There is no change in behavior for previous versions.

  I'm seeing an additional unrelated problem with linking with system clang, but I'll PR the solution to that separately as it's not as straightforward as this.

ACKs for top commit:
  TheCharlatan:
    ACK 87afcb0029
  hebasto:
    ACK 87afcb0029

Tree-SHA512: 127037c888c37c6ccd9679e96da34037cc43ccdc07915865a0a5494edb62633e83fc1bd6b1c4bb7a0322f5b59622e10090a31987f38496fb6b306488e9941594
2023-03-27 12:32:53 +01:00
Cory Fields
87afcb0029 depends: fix osx build with clang 16
For some reason the previous syntax worked with clang 15 and below, but
clang 16 requires that the option and value are properly separated.
2023-03-24 20:41:22 +00:00
Hennadii Stepanov
25e8fe70c6
build, qt: Fix handling of CXX=clang++ when building qt package 2023-03-23 14:38:02 +00:00
fanquake
eb1c3adf38
depends: qrencode 4.1.1
Upgrade to the latest qrencode, and disable some warnings that cause
compile failures with newer compilers (clang-15+).

Fixes part of #27299.
2023-03-23 10:31:25 +00:00
fanquake
ff4a73aea2
depends: use FORTIFY_SOURCE=3 with libevent 2023-02-20 16:36:36 +00:00
merge-script
07a23b4946
Merge bitcoin/bitcoin#26994: depends: define __BSD_VISIBLE for FreeBSD bdb build
0e02f72548 depends: define `__BSD_VISIBLE` for FreeBSD bdb build (fanquake)

Pull request description:

  Required for additional definitions (`IPC_R` & friends), to be available, when compiling under C11, which would otherwise cause compile fails.

  See: https://github.com/MarcoFalke/btc_nightly/pull/4.

ACKs for top commit:
  hebasto:
    ACK 0e02f72548, tested on FreeBSD 13.1:

Tree-SHA512: 885d4aa341d9668da360cf6dfafb97ce816803c54e76c0a06e448db39a723666d42cd14b3e713d17ecbe33163f5af69924567cf449d679a2db95b36357005d43
2023-02-08 16:37:09 +01:00
fanquake
fe86616bb4
Merge bitcoin/bitcoin#26421: build: copy config.{guess,sub} post autogen in zmq package
1914e470e3 build: copy config.{guess,sub} post autogen in zmq package (fanquake)

Pull request description:

  Otherwise our config.guess and config.sub will be copied over. This problem has been masked by the fact that modern systems ship with versions that recognise all the triplets we use (namely arm64-apple-darwin). However building on ubuntu 20.04 surfaces the issue.

  Fixes #26420.

ACKs for top commit:
  hebasto:
    ACK 1914e470e3, tested on Ubuntu 18.04.

Tree-SHA512: dff64c3c62d9f8fc205e5a4dffe8befd58838418d073a15dfe304a0f64b182dfffd9dcf98b53df44bfab905c12a62d03cd5c0f91fa7c4b246ac21ae5f20540fd
2023-02-07 12:01:30 +00:00
fanquake
ab5b26f072
Merge bitcoin/bitcoin#21995: build: Make dependency package archive timestamps deterministic
6ebe57622c build: Make dependency package archive timestamps deterministic (Hennadii Stepanov)

Pull request description:

  This PR makes testing changes like bitcoin/bitcoin#20641, bitcoin/bitcoin#21593, bitcoin/bitcoin#22142, bitcoin/bitcoin#24279, bitcoin/bitcoin#24285 as easy as comparing hashes.

  With this PR:
  ```
  $ make -C depends clean
  $ make -C depends HOST=x86_64-w64-mingw32
  $ find depends/built/x86_64-w64-mingw32 -name '*.hash' | sort | xargs cat
  1f685a61cbf205f81977ecf88cba91fa1ccdfbe77ab4ec3405dcd33ceb778af4  bdb-4.8.30-ca950bd6d13.tar.gz
  08a9acde276e6e5e5c8913e3ad07eeecda184a996882ae226b3ed056c7ec1b01  boost-1.80.0-b537c466dcb.tar.gz
  144c6d92e4108fcc90740bee27007db58a88336a97be6367f9c8ba4cc208af27  libevent-2.1.12-stable-e13b2bdd8b8.tar.gz
  e3c9c9609bf32bfd460432c6ab99a64e9f8750ed775a193925ff4f5aed363e4c  libnatpmp-07004b97cf691774efebe70404cf22201e4d330d-82255b84667.tar.gz
  62c6a089a4b24a413eccd2f389bf4c8b0716423b0ace5e87e984069635da9f83  miniupnpc-2.2.2-c43fc4cf2f6.tar.gz
  78762700066273e597698a78479a506b33532ea565d18ef561614b9fc3820cf5  qrencode-3.4.4-663de0dc628.tar.gz
  5e2183faf91838510a48e6dbb4b65ae74a7d48ba1abc070b82767c4076582360  qt-5.15.5-986926343e2.tar.gz
  9f8459f8d27fc3af9146712be6ba6577f15741429936504a950cc51c17da1ba8  sqlite-3380500-bec6a4d3299.tar.gz
  0eca5d01d427de50be4bd57c8bb100ab69b017792c32b8733e2b20443f4c9c28  zeromq-4.3.4-8ae81bab6f4.tar.gz
  ```

  As an example, here is an evidence that bitcoin/bitcoin#24279 is a strict refactoring change:
  ```
  $ git fetch origin pull/24279/head
  $ git cherry-pick 706026838d917a3d853e03e83db040f1fd4aeb74
  $ git cherry-pick 3f90ddea8a6a2061cfb347a1d77df2c0a6fa238c
  $ make -C depends clean
  $ make -C depends HOST=x86_64-w64-mingw32
  $ find depends/built/x86_64-w64-mingw32 -name '*.hash' | sort | xargs cat
  1f685a61cbf205f81977ecf88cba91fa1ccdfbe77ab4ec3405dcd33ceb778af4  bdb-4.8.30-c7faf31d5ca.tar.gz
  08a9acde276e6e5e5c8913e3ad07eeecda184a996882ae226b3ed056c7ec1b01  boost-1.80.0-1af3dd1d99e.tar.gz
  144c6d92e4108fcc90740bee27007db58a88336a97be6367f9c8ba4cc208af27  libevent-2.1.12-stable-6228a9f8534.tar.gz
  e3c9c9609bf32bfd460432c6ab99a64e9f8750ed775a193925ff4f5aed363e4c  libnatpmp-07004b97cf691774efebe70404cf22201e4d330d-41aa6194ecc.tar.gz
  62c6a089a4b24a413eccd2f389bf4c8b0716423b0ace5e87e984069635da9f83  miniupnpc-2.2.2-6a93027769c.tar.gz
  78762700066273e597698a78479a506b33532ea565d18ef561614b9fc3820cf5  qrencode-3.4.4-d40cb2d45c9.tar.gz
  5e2183faf91838510a48e6dbb4b65ae74a7d48ba1abc070b82767c4076582360  qt-5.15.5-120c3cb745d.tar.gz
  9f8459f8d27fc3af9146712be6ba6577f15741429936504a950cc51c17da1ba8  sqlite-3380500-bbd4d813c69.tar.gz
  0eca5d01d427de50be4bd57c8bb100ab69b017792c32b8733e2b20443f4c9c28  zeromq-4.3.4-df0858a19d2.tar.gz
  ```

ACKs for top commit:
  TheCharlatan:
    Code review ACK 6ebe57622c

Tree-SHA512: 20e0222781f5dcb50126c11677d0671bcdd7be144b2e528c75a02983acc494206552fb35039697ccd094de27a21b3fb439e9965c34feb8a6d74627fa20a9a5e7
2023-02-07 11:59:11 +00:00
fanquake
56a03f1834
depends: ensure we are appending to sqlite cflags
Otherwise we'll just override other flags passed in (i.e msan).
2023-01-30 17:15:01 +00:00
fanquake
228edafc66
Merge bitcoin/bitcoin#23619: build: Propagate user-defined flags to host packages
a3a2bd9e8a ci: Drop no longer needed package-specific flags (Hennadii Stepanov)
071eef1e97 build: Propagate user-defined flags to host packages (Hennadii Stepanov)

Pull request description:

  On master (4f8b1f8759) `{CPP,C,CXX,LD}FLAGS` that are specified in the command line are not propagated to packages:
  ```
  $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag
  libevent_cxxflags=-pipe -O2
  ```

  This PR:
  - propagates `{CPP,C,CXX,LD}FLAGS` to host packages:
  ```
  $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag
  libevent_cxxflags= -some-fancy-flag
  ```
  - does not propagate `{CPP,C,CXX,LD}FLAGS` to native packages:
  ```
  $ make --no-print-directory -C depends print-native_b2_cxxflags CXXFLAGS=-some-fancy-flag
  native_b2_cxxflags=
  ```
  - actually addresses the https://github.com/bitcoin/bitcoin/pull/23551#issuecomment-973896518

ACKs for top commit:
  TheCharlatan:
    Code review ACK a3a2bd9e8a

Tree-SHA512: 243d6b1b0e9c5de46debc36de62a77b6b4d6f638940fd530040c219956ec624e321b0c25290fed164e3a8c88befa7b97b20f765d7b9a428c269b3720f21da099
2023-01-30 14:32:32 +00:00
fanquake
0e02f72548
depends: define __BSD_VISIBLE for FreeBSD bdb build
Required for additional definitions (IPC_R & friends), to be available,
when compiling under C11.

See: https://github.com/MarcoFalke/btc_nightly/pull/4.
2023-01-30 13:43:24 +00:00
fanquake
69f35d20a6
Merge bitcoin/bitcoin#22811: build: Fix depends build system when working with subtargets
978852aad8 build: Fix depends build system when working with subtargets (Hennadii Stepanov)

Pull request description:

  On master (f3e0ace8ec), the depends build system does _not_ guarantee that dependencies packages are available for `$(package)_built` target because these dependencies being prepared in `$(host_prefix)` at `$(package)_configured` target can be wiped out during building other package.

  Please consider:
  ```
  $ cd depends
  $ make clean
  $ make fontconfig_configured
  $ make
  ...
    CC       fcdir.lo
  In file included from fcftint.h:26,
                   from fcdir.c:26:
  ../fontconfig/fcfreetype.h:27:10: fatal error: ft2build.h: No such file or directory
     27 | #include <ft2build.h>
        |          ^~~~~~~~~~~~
  compilation terminated.
  make[4]: *** [Makefile:642: fcdir.lo] Error 1
  make[4]: *** Waiting for unfinished jobs....
  make[4]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-7daa5620c94/src'
  make[3]: *** [Makefile:503: all] Error 2
  make[3]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-7daa5620c94/src'
  make[2]: *** [Makefile:581: all-recursive] Error 1
  make[2]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-7daa5620c94'
  make[1]: *** [Makefile:465: all] Error 2
  make[1]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-7daa5620c94'
  make: *** [funcs.mk:288: /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-7daa5620c94/./.stamp_built] Error 2
  ```

  The following commands:
  ```
  $ cd depends
  $ make clean
  $ make qt_configured
  $ make
  ```
  also fail.

  The similar issue was reported earlier: #21381.

  This PR guarantees that dependencies packages are available for `$(package)_built` target.

  Guix builds:
  ```
  accef9ffccfe280fec1114c0440092ed5d792e9c53d95abc7fe65435aa136656  guix-build-978852aad8e2/output/aarch64-linux-gnu/SHA256SUMS.part
  a75f1250975525a21d2e213e23f1f0dab516d2b28d0c7d747de292fe5c906013  guix-build-978852aad8e2/output/aarch64-linux-gnu/bitcoin-978852aad8e2-aarch64-linux-gnu-debug.tar.gz
  d20787af2e7a14a3b7b1d21e0d8784aa6ebad1e916f02aebfa25afe9229ba43c  guix-build-978852aad8e2/output/aarch64-linux-gnu/bitcoin-978852aad8e2-aarch64-linux-gnu.tar.gz
  11c94a39c084763858c6de31b221868e52554f5500c0dc5589def429bb6b54c8  guix-build-978852aad8e2/output/arm-linux-gnueabihf/SHA256SUMS.part
  3935b0e14d78800977dc813a3824215797096b6fb29c84b5996f48338908a65f  guix-build-978852aad8e2/output/arm-linux-gnueabihf/bitcoin-978852aad8e2-arm-linux-gnueabihf-debug.tar.gz
  c828c3f87a453db443a385a266331661f623f8f4684d88eb006290c83bfa8150  guix-build-978852aad8e2/output/arm-linux-gnueabihf/bitcoin-978852aad8e2-arm-linux-gnueabihf.tar.gz
  b6ff14e1cc36e568fc726b50300f77498560322b3582738eb70e7144784f7e63  guix-build-978852aad8e2/output/arm64-apple-darwin/SHA256SUMS.part
  2a3e6ba5843eaf9562e9dcfdb4595024a71738079cea00e391558feca4d5bde1  guix-build-978852aad8e2/output/arm64-apple-darwin/bitcoin-978852aad8e2-arm64-apple-darwin-unsigned.dmg
  ffd2ad39e8b9f95dd714513ba1e1c77666b0f3cc4b67be4ab763ebd431fe9276  guix-build-978852aad8e2/output/arm64-apple-darwin/bitcoin-978852aad8e2-arm64-apple-darwin-unsigned.tar.gz
  5c9f8acd1777effc1e860b64143ba9d06ba5e3d0330e7341529eeae5cc6b3c5e  guix-build-978852aad8e2/output/arm64-apple-darwin/bitcoin-978852aad8e2-arm64-apple-darwin.tar.gz
  e34c693ecef6159c57fdedabff9dc3d69ec20387966083b828532c58e1e6e30b  guix-build-978852aad8e2/output/dist-archive/bitcoin-978852aad8e2.tar.gz
  8de4681114d96425bf9b0ccc47d49f696293ead514faa3fa83ddcccfdca2eeb2  guix-build-978852aad8e2/output/powerpc64-linux-gnu/SHA256SUMS.part
  d780330a105931eb4c66a536c332eb09e4b6d8c288832bb5a74b931c4600c0b3  guix-build-978852aad8e2/output/powerpc64-linux-gnu/bitcoin-978852aad8e2-powerpc64-linux-gnu-debug.tar.gz
  af036a6d714ef362a2facfe4e5c63deaa9dfa391d20542ead9ffb4a43b2b7ca2  guix-build-978852aad8e2/output/powerpc64-linux-gnu/bitcoin-978852aad8e2-powerpc64-linux-gnu.tar.gz
  dc6b4365632e7de386ead512b1cdcdd3c985623f63cff8b62974bd9ed8c05d5d  guix-build-978852aad8e2/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5543a6dec58515186b71139a4a5c603d85638672f205e7c9fabb281c98018461  guix-build-978852aad8e2/output/powerpc64le-linux-gnu/bitcoin-978852aad8e2-powerpc64le-linux-gnu-debug.tar.gz
  dd791be2e61ce6cbd3e14c165ce2f8c2d22881992e0df72bd338423d092cc467  guix-build-978852aad8e2/output/powerpc64le-linux-gnu/bitcoin-978852aad8e2-powerpc64le-linux-gnu.tar.gz
  2b740db8e5b9c435be3e7b186c3b4a40885302243326ec990e24fe4ba4f777da  guix-build-978852aad8e2/output/riscv64-linux-gnu/SHA256SUMS.part
  de899c89874d4f34afeca179a6c7c8f49b0a975983ab2b31afd9f2d365674578  guix-build-978852aad8e2/output/riscv64-linux-gnu/bitcoin-978852aad8e2-riscv64-linux-gnu-debug.tar.gz
  9052b1db22c56692d99a61c3783b36c6f76537d9aec14f17d87a155beac82532  guix-build-978852aad8e2/output/riscv64-linux-gnu/bitcoin-978852aad8e2-riscv64-linux-gnu.tar.gz
  5e79ddf57a94c5978ad819896786107f735d5742bbd042c2c64ae2d0681ce53a  guix-build-978852aad8e2/output/x86_64-apple-darwin/SHA256SUMS.part
  96443ad839f87c723db1c0a96d8ead0afc69e9d96ad45b5814344866da2dae73  guix-build-978852aad8e2/output/x86_64-apple-darwin/bitcoin-978852aad8e2-x86_64-apple-darwin-unsigned.dmg
  14b0a3081772e81a463398a2702aca039d2f276e301dee9f5a0ccffbb09e2749  guix-build-978852aad8e2/output/x86_64-apple-darwin/bitcoin-978852aad8e2-x86_64-apple-darwin-unsigned.tar.gz
  6bfb8252524202028308267f5e96bc30f284052f5feaa58ed3697dde27a3130f  guix-build-978852aad8e2/output/x86_64-apple-darwin/bitcoin-978852aad8e2-x86_64-apple-darwin.tar.gz
  5f8ea6297e246b08ffd806913897cc863feeec6522fcfb4456a59c5f154e0c2d  guix-build-978852aad8e2/output/x86_64-linux-gnu/SHA256SUMS.part
  40d1bcf491660d54fe20b2db24828ebf61be848eefdc38fba09ed43f6bdba4b1  guix-build-978852aad8e2/output/x86_64-linux-gnu/bitcoin-978852aad8e2-x86_64-linux-gnu-debug.tar.gz
  3200e67a4dea115e8e341b4d71d84dc5e8bd2ae35e550cde6aef88d120c65eae  guix-build-978852aad8e2/output/x86_64-linux-gnu/bitcoin-978852aad8e2-x86_64-linux-gnu.tar.gz
  0b0bf7effc493ecc68398f23fc81647f64fdee115e8ccd7ae91e7881804ec328  guix-build-978852aad8e2/output/x86_64-w64-mingw32/SHA256SUMS.part
  e2064c9ddeb4af18468f37ba8cf70004062c31e1387b4cc0fe4b445fae518e8d  guix-build-978852aad8e2/output/x86_64-w64-mingw32/bitcoin-978852aad8e2-win64-debug.zip
  be347a901b896e0a1dc2f0f5a7f84614075805cccf1f2af8ec8df678d086fdbc  guix-build-978852aad8e2/output/x86_64-w64-mingw32/bitcoin-978852aad8e2-win64-setup-unsigned.exe
  bab8700e9e266970e8c7cad494902058ad12d1f2a6462e0039daa637b1a0ce0d  guix-build-978852aad8e2/output/x86_64-w64-mingw32/bitcoin-978852aad8e2-win64-unsigned.tar.gz
  c8e55e64b248fd7c9056fe811a1eba992bbb92e44857204e3024416d9ba6307d  guix-build-978852aad8e2/output/x86_64-w64-mingw32/bitcoin-978852aad8e2-win64.zip
  ```

ACKs for top commit:
  TheCharlatan:
    tACK 978852aad8

Tree-SHA512: c195484274433039e327d44b1949afa296e09e7470a2b138b7a8476c8bf9c1302bc21284cd5436f09aa97824aae9f362b7932ff2937b78f79df0b43e50f3dfaa
2023-01-28 15:45:53 +00:00
Andrew Chow
483a4bb819
Merge bitcoin/bitcoin#26834: contrib: remove install_db4.sh
44f3c7de21 contrib: remove install_db4.sh (fanquake)
14ce84388f doc: add new NO_* options from #26833 (fanquake)

Pull request description:

  Now that we can build a bdb-only depends prefix (#26833), there is no need to
  maintain a bdb-building bash script, that does the same thing as
  depends, except worse, as it's missing patches and workarounds. i.e #26623.

  Someone that wants to compile bdb themselves, but doesn't want to use other depends built libs, can do:
  ```bash
  make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1
  ...
  to: /path/to/bitcoin/depends/x86_64-pc-linux-gnu
  ```

  which gives them a BDB only prefix, and then compile using:
  ```bash
  export BDB_PREFIX="/path/to/bitcoin/depends/x86_64-pc-linux-gnu"
  ./autogen.sh
  ./configure \
      BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
      BDB_CFLAGS="-I${BDB_PREFIX}/include"
  ```

  Wondering if we should extract the build bdb/legacy wallet docs somewhere, to avoid the repetition?

ACKs for top commit:
  TheCharlatan:
    ACK 44f3c7de21
  achow101:
    ACK 44f3c7de21
  hebasto:
    ACK 44f3c7de21
  jarolrod:
    ACK 44f3c7de21

Tree-SHA512: 50b33ae9df2ab94a1bd114e846cec16f647a61023b72f0d3e547a18db09c01d60bb7b42a04758212f4930314df03016feb6ebc96962dd8a8e26eb8cd4e0d167d
2023-01-27 12:42:16 -05:00
fanquake
eee2c28985
Merge bitcoin/bitcoin#26945: depends: systemtap 4.8
df7ae8b7ca depends: systemtap: remove variadic params that trigger compiler warnings (Cory Fields)
a66d82e25f depends: systemtap 4.8 (fanquake)

Pull request description:

  Updates systemtap to 4.8.
  Includes acc2895a66a4b654e9a0a05ed0927f67f48c75b2 from #25972.
  Will half (depends) fix #26916.

  Release notes etc: https://lwn.net/Articles/913908/.

ACKs for top commit:
  0xB10C:
    ACK df7ae8b7ca
  hebasto:
    re-ACK df7ae8b7ca.

Tree-SHA512: 0f64fba87888058380183f38b6ace7b71f4a8b5503eb32b82b283a40c99d92c449c60deecc2386df5084235cfd760af6c1e7f432fa1bd30f97bb42f100f23d62
2023-01-26 13:37:48 +00:00
Cory Fields
df7ae8b7ca
depends: systemtap: remove variadic params that trigger compiler warnings 2023-01-23 18:12:26 +00:00
fanquake
dee690257c
build: pass --enable-debug to sqlite when DEBUG=1 2023-01-23 10:21:08 +00:00
fanquake
807b61fcca
build: use more recommended sqlite3 compile options
See https://www.sqlite.org/compile.html.

DSQLITE_DQS
> This setting disables the double-quoted string literal misfeature.

DSQLITE_DEFAULT_MEMSTATUS
> This setting causes the sqlite3_status() interfaces that track
> memory usage to be disabled.
> This helps the sqlite3_malloc() routines run much faster, and since
> SQLite uses sqlite3_malloc() internally, this helps to make the
> entire library faster.

DSQLITE_OMIT_DEPRECATED
> Omitting deprecated interfaces and features will not help SQLite
> to run any faster.
> It will reduce the library footprint, however. And it is the
> right thing to do.

DSQLITE_OMIT_SHARED_CACHE
> Omitting the possibility of using shared cache allows many
> conditionals in performance-critical sections of the code to be
> eliminated. This can give a noticeable improvement in performance.

Also: https://www.sqlite.org/sharedcache.html
> Shared-cache mode is an obsolete feature.
> The use of shared-cache mode is discouraged.
> Most use cases for shared-cache are better served by WAL mode.
> Applications that build their own copy of SQLite from source code
> are encouraged to use the -DSQLITE_OMIT_SHARED_CACHE compile-time
> option, as the resulting binary will be both smaller and faster.

DSQLITE_OMIT_JSON
Starting with sqlite 3.38.0 the JSON extension became opt-out rather
than opt-in, so we disable it here.

--disable-rtree
> An R-Tree is a special index that is designed for doing range queries.
> R-Trees are most commonly used in geospatial systems...
https://www.sqlite.org/rtree.html

--disable-fts4 --disable-fts5
> FTS5 is an SQLite virtual table module that provides full-text
> search functionality to database applications.

DSQLITE_LIKE_DOESNT_MATCH_BLOBS
> simplifies the implementation of the LIKE optimization and allows
> queries that use the LIKE optimization to run faster.

DSQLITE_OMIT_DECLTYPE
> By omitting the (seldom-needed) ability to return the declared type of
> columns from the result set of query, prepared statements can be made
> to consume less memory.

DSQLITE_OMIT_PROGRESS_CALLBACK
> By omitting this interface, a single conditional is removed from the
> inner loop of the bytecode engine, helping SQL statements to run slightly
> faster.

DSQLITE_OMIT_AUTOINIT
> with the SQLITE_OMIT_AUTOINIT option, the automatic initialization is omitted.
> This helps many API calls to run a little faster
> it also means that the application must call sqlite3_initialize()
manually.
2023-01-23 10:17:48 +00:00
fanquake
a66d82e25f
depends: systemtap 4.8 2023-01-23 10:09:18 +00:00
fanquake
d81ca6619a
depends: fix systemtap download URL 2023-01-22 15:58:04 +00:00
fanquake
14ce84388f
doc: add new NO_* options from #26833 2023-01-18 16:59:01 +00:00
fanquake
7fdeb80441
build: allow NO_LIBEVENT=1 in depends 2023-01-14 12:31:22 +00:00
fanquake
0cee156eee
build: allow NO_BOOST=1 in depends 2023-01-14 12:30:42 +00:00
Hennadii Stepanov
e8b4201ba2
build: Update Boost to 1.81.0 in depends
This update includes https://github.com/boostorg/process/pull/264
2022-12-14 15:25:02 +00:00
Hennadii Stepanov
1986f129c6
build: Update libmultiprocess library
Replacing `install` with `install-lib` and `install-bin` is not strictly
necessary just to update the library, but it takes advantage of recent
changes in the new version, and makes the build more minimal.
2022-12-09 15:26:58 +00:00
Hennadii Stepanov
978852aad8
build: Fix depends build system when working with subtargets 2022-12-09 13:36:46 +00:00
Hennadii Stepanov
affbf58a1e
build: Move environment variables into $(package)_config_env 2022-12-07 16:51:48 +00:00
Hennadii Stepanov
d44fcd3c97
build: Make $(package)_*_env available to all $(package)_*_cmds 2022-12-07 16:51:35 +00:00
Hennadii Stepanov
6ebe57622c
build: Make dependency package archive timestamps deterministic 2022-12-02 12:44:07 +00:00
fanquake
5488dc1eb4
Merge bitcoin/bitcoin#26073: build: fix depends bdb compilation for BSDs
5b2529b269 build: fix depends bdb compilation for BSDs (fanquake)

Pull request description:

  Currently, building bdb for *BSD HOSTs in depends fails with:
  ```bash
  libtool: compile:  clang -m64 -c -I. -I../dist/./.. -I/home/ubuntu/bitcoin/depends/x86_64-unknown-freebsd/include -D_THREAD_SAFE -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security ../dist/./../mutex/mut_tas.c  -fPIC -DPIC -o mut_tas.o
  In file included from ../dist/./../mutex/mut_tas.c:11:
  In file included from ./db_int.h:884:
  In file included from ../dist/./../dbinc/mutex.h:15:
  ../dist/./../dbinc/mutex_int.h:932:2: error: unknown type name 'pthread_rwlock_t'
          MUTEX_FIELDS                    /* Opaque thread mutex structures. */
          ^
  ../dist/./../dbinc/mutex_int.h:65:3: note: expanded from macro 'MUTEX_FIELDS'
                  pthread_rwlock_t rwlock;        /* Read/write lock */   \
                  ^
  1 error generated.
  ```

  Defining `_XOPEN_SOURCE` >=600 fixes access to the missing `pthread_rwlock_t` definitions.

ACKs for top commit:
  jarolrod:
    ACK 5b2529b269

Tree-SHA512: 76584bfef7a86c69a095eb722657aa681b95658a031ef2da79d91a616e5370da292a65e7d67cdf641711791422b8a407b647b630ad497ffb9908683479e6cfb6
2022-11-28 13:27:48 +00:00
fanquake
0953c622f9
doc: install binutils, not binutils-gold in depends
We don't use the gold linker.
binutils-gold just installs binutils (and the gold linker) in any case.
2022-11-25 17:20:05 +00:00
fanquake
1914e470e3
build: copy config.{guess,sub} post autogen in zmq package
Otherwise our config.guess and config.sub will be copied over. This
problem has been masked by the fact that modern systems ship with
versions that recognise all the triplets we use (namely
arm64-apple-darwin). However building on ubuntu 20.04 surfaces the
issue.

Fixes #26420.
2022-10-29 15:51:10 +01:00
fanquake
a5f95bafcd
Merge bitcoin/bitcoin#25964: build: fix mingw miniupnpc cflags
859644b3c8 build: set D_WIN32_WINNT=0x0601 for mingw miniupnpc (fanquake)
8e2d93ff0f build: fix cflags passing for mingw miniupnpc (fanquake)

Pull request description:

  Pulls in a patch I've upstreamed to miniupnpc so that we properly pass our cflags when building it for mingw. See https://github.com/miniupnp/miniupnp/pull/619. Also set `D_WIN32_WINNT` to `0x0601` to match libevent, configure etc. Previously it was being set to `0X501`.

  Guix Build (x86_64 / arm64):
  ```bash
  39a66c473a45b83ca85500b32ccf8f30d4ae80f965ca064566ee9fd84a51964b  guix-build-859644b3c855/output/aarch64-linux-gnu/SHA256SUMS.part
  7b0515e422f350cb23f4f0b2f87eaa1b30d1c80389da6f1cbe700794902c88e9  guix-build-859644b3c855/output/aarch64-linux-gnu/bitcoin-859644b3c855-aarch64-linux-gnu-debug.tar.gz
  192253fb387a2216b6d63d47a18e34bfa284874488d7ebc6ba656ca76a905519  guix-build-859644b3c855/output/aarch64-linux-gnu/bitcoin-859644b3c855-aarch64-linux-gnu.tar.gz
  0a8b5c77928a46e62dff85cf73ca9e932560533b99ef1ec374be00516f9e1183  guix-build-859644b3c855/output/arm-linux-gnueabihf/SHA256SUMS.part
  d1b01b36d7092d63ab84877e05a973d915d177dbc618fe00eeaff86295032750  guix-build-859644b3c855/output/arm-linux-gnueabihf/bitcoin-859644b3c855-arm-linux-gnueabihf-debug.tar.gz
  50d9cd81a4a37fbd5c22ee8f1b8398a836879bda1b514a9ed3d0bcd6fd3de41f  guix-build-859644b3c855/output/arm-linux-gnueabihf/bitcoin-859644b3c855-arm-linux-gnueabihf.tar.gz
  e590d6dc6687c744b4067af330a7fe44110da4972c46f0262c39ce03e2aa6ac5  guix-build-859644b3c855/output/arm64-apple-darwin/SHA256SUMS.part
  6b9b97a1f6ead6d2b70d706ba39b11f36c2929962afc0d52404f2341d412d4e7  guix-build-859644b3c855/output/arm64-apple-darwin/bitcoin-859644b3c855-arm64-apple-darwin-unsigned.dmg
  de6be985a4e1b11c6450c388b54be4fff3dc3a78e528cb628623ee4a8ea249f4  guix-build-859644b3c855/output/arm64-apple-darwin/bitcoin-859644b3c855-arm64-apple-darwin-unsigned.tar.gz
  940024658b9387040ceb26535dbd1ed7edb3709106f6e25d5d3720ed90bbbb2e  guix-build-859644b3c855/output/arm64-apple-darwin/bitcoin-859644b3c855-arm64-apple-darwin.tar.gz
  67c8fcdd31dca595e5c6b72e597a135718dd50ce1f062cb18d181520c13d3013  guix-build-859644b3c855/output/dist-archive/bitcoin-859644b3c855.tar.gz
  4b1954953913d1387589873a8e9dc9765f0f300c125270046da95a23c43aa069  guix-build-859644b3c855/output/powerpc64-linux-gnu/SHA256SUMS.part
  5b12ab7e3a7fc162912e67e026646ee5d4c92ef804525504f188d9a569af7d67  guix-build-859644b3c855/output/powerpc64-linux-gnu/bitcoin-859644b3c855-powerpc64-linux-gnu-debug.tar.gz
  fa4debb24dbb4c9c515ad3bfa2e5cb9bd686f1062157bd4480d076ef35d7ea9d  guix-build-859644b3c855/output/powerpc64-linux-gnu/bitcoin-859644b3c855-powerpc64-linux-gnu.tar.gz
  bafad2f56aad4edd25e49e4cc658811cf87f32a2a2e013672659d410d7a8cac8  guix-build-859644b3c855/output/powerpc64le-linux-gnu/SHA256SUMS.part
  96318cac800dc7ee86229754a76047dececd62ecd962362e6dbd1d694bc8c17a  guix-build-859644b3c855/output/powerpc64le-linux-gnu/bitcoin-859644b3c855-powerpc64le-linux-gnu-debug.tar.gz
  461415ee7bf67e2c59bfce3a09736b3b0ecdc7c81751ce2bed19369237450154  guix-build-859644b3c855/output/powerpc64le-linux-gnu/bitcoin-859644b3c855-powerpc64le-linux-gnu.tar.gz
  5c9d19f6af5d1fab7de7496bbdcd1cd266abd6c0e2c226b362dab2582c94a33a  guix-build-859644b3c855/output/riscv64-linux-gnu/SHA256SUMS.part
  04492f5ce121ba09672119cc8861ee30ecdb814b34726c9c5d7971c528209a55  guix-build-859644b3c855/output/riscv64-linux-gnu/bitcoin-859644b3c855-riscv64-linux-gnu-debug.tar.gz
  5fb28111b49e73fc53db2805500c275a2e6321c3e180695eb813675629dcd64c  guix-build-859644b3c855/output/riscv64-linux-gnu/bitcoin-859644b3c855-riscv64-linux-gnu.tar.gz
  3f48c1c2ba77d4fda725225f6c9b5ab7f3aae244c8abb354407cc73d6547d983  guix-build-859644b3c855/output/x86_64-apple-darwin/SHA256SUMS.part
  6dcfb5a4af350466fb7f9319e02fd4bcef66e015116c9eda8aff03b3ac53d109  guix-build-859644b3c855/output/x86_64-apple-darwin/bitcoin-859644b3c855-x86_64-apple-darwin-unsigned.dmg
  87112cc5f2d02c16614f6d8df41af6f3ea3c765eb6d196d68d2b514b6bd317bc  guix-build-859644b3c855/output/x86_64-apple-darwin/bitcoin-859644b3c855-x86_64-apple-darwin-unsigned.tar.gz
  b245a4d4881a679f2c91e0c7fd5466d6b93313289e609dbce4e1009b7591332e  guix-build-859644b3c855/output/x86_64-apple-darwin/bitcoin-859644b3c855-x86_64-apple-darwin.tar.gz
  a4c3449aa9d8a8e1c8b0532f6e74845c40f90ad4186f480d5bb2750e184efc10  guix-build-859644b3c855/output/x86_64-linux-gnu/SHA256SUMS.part
  12a32f25d6ef7f60023dd3053b21e31131350b6afa01aeab25e53d1928b1a0f5  guix-build-859644b3c855/output/x86_64-linux-gnu/bitcoin-859644b3c855-x86_64-linux-gnu-debug.tar.gz
  93d603d89c9251e93992e3c0e176b094d981b020ef1d4bbfbff21806e50b962d  guix-build-859644b3c855/output/x86_64-linux-gnu/bitcoin-859644b3c855-x86_64-linux-gnu.tar.gz
  79df55f4ca8f972665fd55b43550b2ab9ffafa8fc8de1335b324f4af047c6788  guix-build-859644b3c855/output/x86_64-w64-mingw32/SHA256SUMS.part
  8d837e96595ab7337736da334d940ffc9d15215141f176804a528fe9e21f490a  guix-build-859644b3c855/output/x86_64-w64-mingw32/bitcoin-859644b3c855-win64-debug.zip
  6c9541524f1d54eceb3265c6e79d62502fdc0c2e5263719a0ca357988d7ed718  guix-build-859644b3c855/output/x86_64-w64-mingw32/bitcoin-859644b3c855-win64-setup-unsigned.exe
  7566ab4ee53092e81c3079db955d85c8d574cbde2be21526d45619076ffcd264  guix-build-859644b3c855/output/x86_64-w64-mingw32/bitcoin-859644b3c855-win64-unsigned.tar.gz
  32164cfa7c06ead63305485653f37d74c6ada82d28b79f58e66faf6e72e130bb  guix-build-859644b3c855/output/x86_64-w64-mingw32/bitcoin-859644b3c855-win64.zip
  ```

ACKs for top commit:
  jarolrod:
    re-ACK 859644b
  hebasto:
    ACK 859644b3c8, I've verified introduced changes in compiler flags, including the case with `DEBUG=1`.

Tree-SHA512: 6e181ced7e474a80aa191663b08dc594179a0593b8e2d1e4b7c8683794fd7de8d37faedb9a36997645ce6a2a6151e1461678b4db95170fc9b1fcadd6e1bddbe5
2022-10-13 13:13:17 +08:00
fanquake
57c192767b
Merge bitcoin/bitcoin#25322: build: Fix capnp package build for Android
8b8edc25c1 build: Specify native binaries explicitly when building `capnp` package (Hennadii Stepanov)
a413595c37 build: Fix `capnp` package build for Android (Hennadii Stepanov)

Pull request description:

  On master (e3c08eb620):
  ```
  $ make -C depends capnp MULTIPROCESS=1 HOST=aarch64-linux-android ANDROID_SDK=$ANDROID_HOME ANDROID_NDK=$ANDROID_HOME/ndk/23.2.8568313 ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=$ANDROID_HOME/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin
  ...
  ld: error: unable to find library -lkj
  ...
  ```

  This PR fixes this error, and also improves configuring according to the docs.

ACKs for top commit:
  ryanofsky:
    Code review ACK 8b8edc25c1. I'd be a little curious to know what causes the error and how `--disable-shared` fixes it, but these changes all look good

Tree-SHA512: 1b07b75f2a83932d8dc1f007e42a67d8327bd5fe4566f554dab4599e2a1e04b0144648790a1fd2ab1c295dba728586035aa0ebdbe5cf49df048ec87736895aaf
2022-10-10 21:04:32 +08:00
fanquake
859644b3c8
build: set D_WIN32_WINNT=0x0601 for mingw miniupnpc
This matches configure, and what we set for libevent etc.
2022-09-22 14:36:05 +01:00