mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-19 05:45:05 +01:00
guix: Build dmg as a static binary
This relatively easy change eliminates all runtime dependencies (except for the kernel) for dmg, which is the only native build tool that gets put in our output tarballs. This allows much more flexibility when constructing the codesigning environment, and is much more robust.
This commit is contained in:
parent
06d6cf6784
commit
7476b46f18
@ -54,6 +54,7 @@ store_path() {
|
||||
# Set environment variables to point the NATIVE toolchain to the right
|
||||
# includes/libs
|
||||
NATIVE_GCC="$(store_path gcc-toolchain)"
|
||||
NATIVE_GCC_STATIC="$(store_path gcc-toolchain static)"
|
||||
|
||||
unset LIBRARY_PATH
|
||||
unset CPATH
|
||||
@ -62,7 +63,7 @@ unset CPLUS_INCLUDE_PATH
|
||||
unset OBJC_INCLUDE_PATH
|
||||
unset OBJCPLUS_INCLUDE_PATH
|
||||
|
||||
export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64"
|
||||
export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC}/lib64:${NATIVE_GCC_STATIC}/lib:${NATIVE_GCC_STATIC}/lib64"
|
||||
export C_INCLUDE_PATH="${NATIVE_GCC}/include"
|
||||
export CPLUS_INCLUDE_PATH="${NATIVE_GCC}/include/c++:${NATIVE_GCC}/include"
|
||||
export OBJC_INCLUDE_PATH="${NATIVE_GCC}/include"
|
||||
@ -76,8 +77,9 @@ case "$HOST" in
|
||||
*darwin*)
|
||||
# When targeting darwin, zlib is required by native_libdmg-hfsplus.
|
||||
zlib_store_path=$(store_path "zlib")
|
||||
zlib_static_store_path=$(store_path "zlib" static)
|
||||
|
||||
prepend_to_search_env_var LIBRARY_PATH "${zlib_store_path}/lib"
|
||||
prepend_to_search_env_var LIBRARY_PATH "${zlib_static_store_path}/lib:${zlib_store_path}/lib"
|
||||
prepend_to_search_env_var C_INCLUDE_PATH "${zlib_store_path}/include"
|
||||
prepend_to_search_env_var CPLUS_INCLUDE_PATH "${zlib_store_path}/include"
|
||||
prepend_to_search_env_var OBJC_INCLUDE_PATH "${zlib_store_path}/include"
|
||||
|
@ -214,6 +214,7 @@ chain for " target " development."))
|
||||
gzip
|
||||
xz
|
||||
zlib
|
||||
(list zlib "static")
|
||||
;; Build tools
|
||||
gnu-make
|
||||
libtool
|
||||
@ -227,7 +228,8 @@ chain for " target " development."))
|
||||
;; Git
|
||||
git
|
||||
;; Native gcc 7 toolchain
|
||||
gcc-toolchain-7)
|
||||
gcc-toolchain-7
|
||||
(list gcc-toolchain-7 "static"))
|
||||
(let ((target (getenv "HOST")))
|
||||
(cond ((string-suffix? "-mingw32" target)
|
||||
;; Windows
|
||||
|
@ -12,7 +12,7 @@ define $(package)_preprocess_cmds
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) -DCMAKE_C_FLAGS="$$($(1)_cflags) -Wl,--build-id=none" -DCMAKE_SKIP_RPATH="ON" ..
|
||||
$($(package)_cmake) -DCMAKE_C_FLAGS="$$($(1)_cflags) -Wl,--build-id=none" -DCMAKE_SKIP_RPATH="ON" -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" ..
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
Loading…
Reference in New Issue
Block a user