diff options
author | fanquake <fanquake@gmail.com> | 2021-03-01 14:00:36 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2021-03-01 14:00:36 +0800 |
commit | bd49ac416881ede3e5132789defd3fec4c6f8685 (patch) | |
tree | b1515fa8edb2aa50b6b4088c513f7a949649d193 /depends/packages/libnatpmp.mk | |
parent | e52ce9f2b312b3cf3b0837918e07d7603e241d63 (diff) | |
download | bitcoin-bd49ac416881ede3e5132789defd3fec4c6f8685.tar.xz |
build: fix libnatpmp macos cross compile
Currently, our cross-compile of libnatpmp for macOS doesn't work at all.
The wrong archiver is used, which produces an archive the linker doesn't like.
This becomes clear when configuring:
```bash
configure:25722: checking for initnatpmp in -lnatpmp
configure:25747: env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH /home/ubuntu/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++ --target=x86_64-apple-darwin18 <trim> -Wl,-headerpad_max_install_names -Wl,-dead_strip -Wl,-dead_strip_dylibs conftest.cpp -lnatpmp >&5
ld: archive has no table of contents for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
Fix this by using the right `ar` (we do the same for upnp).
While we're at it, we fixe the build so that we are using our c/ppflags.
This means building with `-O2` rather than `-Os`.
Note that this fixes an issue that is also fixed by #21209.
However, given there are reservations about updating to use a newer libnatpmp source, we should just fix this for now.
Diffstat (limited to 'depends/packages/libnatpmp.mk')
-rw-r--r-- | depends/packages/libnatpmp.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/depends/packages/libnatpmp.mk b/depends/packages/libnatpmp.mk index a24f201859..391b9337b7 100644 --- a/depends/packages/libnatpmp.mk +++ b/depends/packages/libnatpmp.mk @@ -6,6 +6,7 @@ $(package)_sha256_hash=e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8 define $(package)_set_vars $(package)_build_opts=CC="$($(package)_cc)" + $(package)_build_env+=CFLAGS="$($(package)_cflags) $($(package)_cppflags)" AR="$($(package)_ar)" endef define $(package)_build_cmds |