aboutsummaryrefslogtreecommitdiff
path: root/contrib/guix/libexec/build.sh
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-05-29 09:42:05 +0100
committermerge-script <fanquake@gmail.com>2024-05-29 09:42:05 +0100
commitbe100cf4c77a3e45750773689e0a396fda39d8a7 (patch)
tree3c03e8b402f0cc267812f2b651d0fa52e7bf30f9 /contrib/guix/libexec/build.sh
parent417b6ceceee94b9f291f7f84c4664e5a6bcd3707 (diff)
parente8c25e8a35e333e90514945c592557615641553f (diff)
downloadbitcoin-be100cf4c77a3e45750773689e0a396fda39d8a7.tar.xz
Merge bitcoin/bitcoin#21778: build: LLD based macOS toolchain
e8c25e8a35e333e90514945c592557615641553f guix: drop binutils from macOS env (fanquake) 555fddf646265f7e57a416dc64b171f2c9460e20 guix: use GUIX_LD_WRAPPER_DISABLE_RPATH for all HOSTS (fanquake) 9ec238d0f3c7b97aec83dbeb4c7a6950c8f5125e guix: remove ZERO_AR_DATE export (fanquake) f836f7e9b3e091eb27cdefb624e2a6f2a921fa55 depends: remove cctools & libtapi (fanquake) 4a0536c5d96688729f8c885060c83cb12d72a8c5 build: switch to using lld for macOS builds (fanquake) c6a6b2d6fd4e3a01b095dc98645f819ebabf1931 build: add lld into macOS build environment(s) (fanquake) 437e908ebd1bf9473ef924de5aec57bdc26de6dd depends: swap cctools-x for llvm-x (fanquake) bab287d1bab2c02b5fab3285f2678c15316d31c2 depends: don't use -no_warning_for_no_symbols in macOS qt build (fanquake) Pull request description: This switches us to using a [LLD](https://lld.llvm.org/) based toolchain for macOS builds. ### Benefits * Less complicated macOS toolchain. * No longer beholden to Apple releasing it's [source](https://opensource.apple.com/source/) for [cctools](https://opensource.apple.com/source/cctools/), [ld64](https://opensource.apple.com/source/ld64/) & [libtapi](https://opensource.apple.com/source/tapi/). * No more reliance on third parties to modify those sources for us. i.e [apple-libtapi](https://github.com/tpoechtrager/apple-libtapi), [cctools-port](https://github.com/tpoechtrager/cctools-port) (cctools + ld64). ACKs for top commit: theuni: Tentative ACK e8c25e8a35e333e90514945c592557615641553f. Tree-SHA512: ec73304e8a2cd4c71041f7863d7d2e4e0408787299fb4fa3745076853156e8f64e4742e16f30d65e3a27f1e9c0d19cdf802248366b72a4fcb4ea821f92bb7a00
Diffstat (limited to 'contrib/guix/libexec/build.sh')
-rwxr-xr-xcontrib/guix/libexec/build.sh23
1 files changed, 1 insertions, 22 deletions
diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh
index 1e9b682f3f..f589ac7a55 100755
--- a/contrib/guix/libexec/build.sh
+++ b/contrib/guix/libexec/build.sh
@@ -133,18 +133,7 @@ for p in "${PATHS[@]}"; do
done
# Disable Guix ld auto-rpath behavior
-case "$HOST" in
- *darwin*)
- # The auto-rpath behavior is necessary for darwin builds as some native
- # tools built by depends refer to and depend on Guix-built native
- # libraries
- #
- # After the native packages in depends are built, the ld wrapper should
- # no longer affect our build, as clang would instead reach for
- # x86_64-apple-darwin-ld from cctools
- ;;
- *) export GUIX_LD_WRAPPER_DISABLE_RPATH=yes ;;
-esac
+export GUIX_LD_WRAPPER_DISABLE_RPATH=yes
# Make /usr/bin if it doesn't exist
[ -e /usr/bin ] || mkdir -p /usr/bin
@@ -173,16 +162,6 @@ esac
# Environment variables for determinism
export TAR_OPTIONS="--owner=0 --group=0 --numeric-owner --mtime='@${SOURCE_DATE_EPOCH}' --sort=name"
export TZ="UTC"
-case "$HOST" in
- *darwin*)
- # cctools AR, unlike GNU binutils AR, does not have a deterministic mode
- # or a configure flag to enable determinism by default, it only
- # understands if this env-var is set or not. See:
- #
- # https://github.com/tpoechtrager/cctools-port/blob/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97/cctools/ar/archive.c#L334
- export ZERO_AR_DATE=yes
- ;;
-esac
####################
# Depends Building #