mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-30 13:07:32 -03:00
bd49ac4168
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.
20 lines
767 B
Makefile
20 lines
767 B
Makefile
package=libnatpmp
|
|
$(package)_version=20150609
|
|
$(package)_download_path=https://miniupnp.tuxfamily.org/files/
|
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|
$(package)_sha256_hash=e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0
|
|
|
|
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
|
|
$(MAKE) libnatpmp.a $($(package)_build_opts)
|
|
endef
|
|
|
|
define $(package)_stage_cmds
|
|
mkdir -p $($(package)_staging_prefix_dir)/include $($(package)_staging_prefix_dir)/lib &&\
|
|
install *.h $($(package)_staging_prefix_dir)/include &&\
|
|
install libnatpmp.a $($(package)_staging_prefix_dir)/lib
|
|
endef
|