fanquake
commented at 1:40 PM on May 30, 2024:
member
Remove FORCE_USE_SYSTEM_CLANG in favour of always using the system Clang and lld for macOS cross-compilation; rather than downloading precompiled blobs.
For example, anyone using Ubuntu 24.04 should be able to apt install clang llvm lld .. etc, and then cross-compile for macOS using:
# clang --version
Ubuntu clang version 18.1.3 (1)
make -C depends HOST=arm64-apple-darwin FORCE_USE_SYSTEM_CLANG=1
./autogen.sh
CONFIG_SITE=/path/to/depends/arm64-apple-darwin/share/config.site ./configure
make
# file src/qt/bitcoin-qt
src/qt/bitcoin-qt: Mach-O 64-bit arm64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|WEAK_DEFINES|BINDS_TO_WEAK|PIE|HAS_TLV_DESCRIPTORS>
Note that the minimum supported version of Clang we will support for macOS cross-compilation will likely be more recent than our other minimum supported version of Clang, due to compiler/linker option usage.
DrahtBot
commented at 1:40 PM on May 30, 2024:
contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
#29881 (guix: use GCC 13 to builds releases by fanquake)
#25391 (guix: Use LTO to build releases by fanquake)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
DrahtBot added the label Build system on May 30, 2024
in
depends/README.md:48
in
e3e07ac523outdated
44 | @@ -45,7 +45,7 @@ The paths are automatically configured and no other options are needed.
45 |
46 | #### For macOS cross compilation
47 |
48 | - sudo apt-get install curl bsdmainutils cmake zip 49 | + sudo apt-get install clang cmake curl lld llvm make zip
Yea. Depending on when this lands, we could update this to recommend LLVM 18 (assuming we also switch to 18 in Guix), as that's likely what is going to be used in the CI, if we just apt install clang on Ubuntu 24.04. At a minimum, given we use -fixup_chains, we require at least LLVM 16 or later.
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-04-14 18:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me