aboutsummaryrefslogtreecommitdiff
path: root/depends/hosts
AgeCommit message (Collapse)Author
2024-01-26depends: remove (darwin) libtool now that it's no longer usedCory Fields
Note that this is completely unrelated to gnu usage of libtool.
2024-01-16build: move -mlinker-version to *FLAGSfanquake
This doesn't need to exist in C & CXX.
2024-01-16depends: deduplicate use of mmacosx-version-min in macOS buildfanquake
2024-01-05build: remove --enable-ltofanquake
This has outlived its usefulness, doesn't gel well with newer compilers & `-flto` related options, i.e thin vs full, or `=auto`, and having `-flto` as the only option means that sometimes this just needs to be worked around, i.e in oss-fuzz: https://github.com/google/oss-fuzz/blob/master/projects/bitcoin-core/build.sh. While it was convenient when `-flto` was newer, support for `-flto` is now in all compilers we use, and there's also no-longer any real need for us to treat `-flto` different to any other optimization option. Remove it, to remove build complexity, and so there's no need to port a similar option to CMake. Note that the LTO option remains in depends, because we still a way to build packages that have LTO specific patches/options. If we decide to merge this, I'll follow up downstream in oss-fuzz first, to make sure we don't break the build.
2023-12-05build: use macOS 14 SDK (Xcode 15.0)fanquake
2023-12-05depends: add -platform_version to macOS build flagsfanquake
```bash -platform_version platform min_version sdk_version This is set to indicate the platform, oldest supported version of that platform that output is to be used on, and the SDK that the output was built against. ```
2023-10-10depends: update LD64_VERSION to 711fanquake
I forgot to do this in 7d5815293ed8a3dea68b61a78944e410f02b147f.
2023-09-14build: use _LIBCPP_ENABLE_DEBUG_MODE over ENABLE_ASSERTIONSfanquake
`_LIBCPP_ENABLE_ASSERTIONS` is deprecated, and will be removed. [See (from libc++ __config in main)](https://github.com/llvm/llvm-project/blob/b57df9fe9a1a230f277d671bfa0884bbda9fc1c5/libcxx/include/__config#L205-L209): > TODO(hardening): remove this in LLVM 19. > This is for backward compatibility -- make enabling `_LIBCPP_ENABLE_ASSERTIONS` (which predates hardening modes) > equivalent to setting the safe mode. > ifdef _LIBCPP_ENABLE_ASSERTIONS > warning "_LIBCPP_ENABLE_ASSERTIONS is deprecated, please use _LIBCPP_ENABLE_SAFE_MODE instead." From LLVM 17, `_LIBCPP_ENABLE_DEBUG_MODE` can be used instead. See https://libcxx.llvm.org/Hardening.html. Related to #28476.
2023-06-22depends: Bump MacOS minimum runtime requirement to 11.0Cory Fields
This is necessary as the new fixup_chains linker behavior is only valid when the runtime target is >=11.0.
2023-06-20depends: modernize clang flagsCory Fields
Fixes builds with llvm >= 11 in guix by working around the problem. As a bonus, this is much cleaner and more maintainable than what we had before.
2023-05-22depends: remove redundant stdlib optionCory Fields
Use of -stdlib++-isystem gets rid of any system c++ header include paths and negates the need for this option. In newer versions of clangs the combo produces a warning.
2023-04-18depends: add _LIBCPP_ENABLE_ASSERTIONS to DEBUG modefanquake
See https://releases.llvm.org/16.0.0/projects/libcxx/docs/UsingLibcxx.html#assertions-mode for more info.
2023-04-18depends: Remove _LIBCPP_DEBUG from depends DEBUG modefanquake
It was deprecated in LLVM 15, turned into a compile-time error in LLVM 16: ```bash In file included from /usr/lib/llvm-16/bin/../include/c++/v1/cassert:19: /usr/lib/llvm-16/bin/../include/c++/v1/__assert:22:5: error: "Defining _LIBCPP_DEBUG is not supported anymore. Please use _LIBCPP_ENABLE_DEBUG_MODE instead." ^ 1 error generated. ``` and has been removed entirely in LLVM 17 (main), https://github.com/llvm/llvm-project/commit/ff573a42cd1f1d05508f165dc3e645a0ec17edb5. Building libc++ in debug mode, will also automatically set `_LIBCPP_ENABLE_DEBUG_MODE` (the new define), so adding it to depends doesn't seem useful, and would just result in redefinition errors. I'm wondering if as a followup, we could enable a DEBUG build of libc++ in our MSAN CI job? Somewhat related to https://github.com/google/oss-fuzz/pull/9828, where it looks like we'll have to sort out getting a DEBUG build of LLVM.
2023-03-24depends: fix osx build with clang 16Cory Fields
For some reason the previous syntax worked with clang 15 and below, but clang 16 requires that the option and value are properly separated.
2023-01-30Merge bitcoin/bitcoin#23619: build: Propagate user-defined flags to host ↵fanquake
packages a3a2bd9e8ad360a63cc8bdfc365d8bfd25ecc720 ci: Drop no longer needed package-specific flags (Hennadii Stepanov) 071eef1e974f128131afe6c6b5c68a430c64687a build: Propagate user-defined flags to host packages (Hennadii Stepanov) Pull request description: On master (4f8b1f8759301d2553183e14f72444a0f1d80725) `{CPP,C,CXX,LD}FLAGS` that are specified in the command line are not propagated to packages: ``` $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag libevent_cxxflags=-pipe -O2 ``` This PR: - propagates `{CPP,C,CXX,LD}FLAGS` to host packages: ``` $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag libevent_cxxflags= -some-fancy-flag ``` - does not propagate `{CPP,C,CXX,LD}FLAGS` to native packages: ``` $ make --no-print-directory -C depends print-native_b2_cxxflags CXXFLAGS=-some-fancy-flag native_b2_cxxflags= ``` - actually addresses the https://github.com/bitcoin/bitcoin/pull/23551#issuecomment-973896518 ACKs for top commit: TheCharlatan: Code review ACK a3a2bd9e8ad360a63cc8bdfc365d8bfd25ecc720 Tree-SHA512: 243d6b1b0e9c5de46debc36de62a77b6b4d6f638940fd530040c219956ec624e321b0c25290fed164e3a8c88befa7b97b20f765d7b9a428c269b3720f21da099
2022-08-13build: Add objcopy host toolHennadii Stepanov
Qt's mkspec references the objcopy tool.
2022-07-29cctools: fixup building with LTOfanquake
Use lto.h from clang+llvm not libtapi. The later is older, and comes bundled with the libtapi repo. Copy libLTO.so when building with FORCE_USE_SYSTEM_CLANG.
2022-07-18depends: default to using GCC tool wrappers (with GCC)fanquake
This improves support for LTO by using gcc wrappers for ar, nm, ranlib, that correctly setup plugin arguments for LTO. Other HOSTS are using clang.
2022-06-16build: add and use CXX_STANDARD in dependsfanquake
2022-06-16build: add and use C_STANDARD in dependsfanquake
2022-06-14build: support LTO in dependsfanquake
No Qt for now.
2022-05-05Merge bitcoin/bitcoin#24866: build: No longer need to hack the `PATH` ↵fanquake
variable in `config.site` efa3a807a677659b0b74cdeda944e7c8ce0157fb build: No longer need to hack the `PATH` variable in `config.site` (Hennadii Stepanov) f3af4f7a182f81269c193d5d1fd0effb9161f7c6 build: Let the depends build system define a path to `dsymutil` tool (Hennadii Stepanov) b0a8ddabe531b5d848ad798ccbccdf8f46671223 build: Pass missed darwin-specific tools via `config.site` (Hennadii Stepanov) f87594da14dfc61a5c6163f8e91b8395a28f690e build: No need to provide defaults for darwin-specific tools (Hennadii Stepanov) 80cd99322f1369ee694d0dd125989d5a1b123ba9 scripted-diff: Rename INSTALLNAMETOOL -> INSTALL_NAME_TOOL (Hennadii Stepanov) a4fd440741a507d3e9be0e55e84d566ade69f798 build: Pass missed `strip` tool via `config.site` (Hennadii Stepanov) Pull request description: This PR adds lacking definitions of absolute paths to some tools in the depends build system. This improvement makes possible to keep the `PATH` variable untouched during configuration. Also see https://github.com/bitcoin/bitcoin/pull/24566#discussion_r851125442. #### Guix builds on `x86_64`: ``` $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 93fa58bf2a1f5c15c5a547c014036ac79761e5c9622bd5099408ce570b39f02f guix-build-efa3a807a677/output/aarch64-linux-gnu/SHA256SUMS.part ef5f53348404ba973dceaf088a4d47dfd0f1fa3d3bf75bdd723b043431de005d guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu-debug.tar.gz 6688b2295d564b32ea676c0540c43cdc5211322eddc87e0967b764284e847368 guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu.tar.gz 4abb3428be477aa7360611689fd28950f30dbbac6a95c454095367d8df11ad72 guix-build-efa3a807a677/output/arm-linux-gnueabihf/SHA256SUMS.part 8dd33389170e83812821d5dd68741db96af1376035ba40af0215a7ae95dcf7fc guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf-debug.tar.gz 544e97eb88b2a44c8ceb9660399eb5d49d75e07ff59fc03a701a595bacea0491 guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf.tar.gz 219faf1131bdcffffd5979eafd2beabc4a300081f8b1df184852b7183dfbc0e8 guix-build-efa3a807a677/output/arm64-apple-darwin/SHA256SUMS.part 602a417bfa7971fb26d0fe9921d2348fd0d01a5bcf0af93f8a9d50112076e0eb guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.dmg 0dcb197420844da8da3f528a1d986628f7b63adb1e83353d63e8a84da59abc42 guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.tar.gz 10efdd33418234a8288c27a614f50e9ff45efbd681fa1c0e173142b6d267cdb8 guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin.tar.gz e5ef02adeb9bcb4675972b0dc233a904006b0940d721049eeb94b14cda34872e guix-build-efa3a807a677/output/dist-archive/bitcoin-efa3a807a677.tar.gz a75d2a49b7a8ab1c849e1badff5049a417519f0154b65335a8717d01b8b6ed62 guix-build-efa3a807a677/output/powerpc64-linux-gnu/SHA256SUMS.part aef63d196487dd0bc597fd53633ac889149f1a126c651ea55f3bec11a092c460 guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu-debug.tar.gz ddc7913eed26270be271a8712bf351d562d57c746810ea3b7b4101aea8cb6d89 guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu.tar.gz 83bbf4b1af07a2cf7d6014de7c885f0998dd38afacdb5242f5f56505ee704f17 guix-build-efa3a807a677/output/powerpc64le-linux-gnu/SHA256SUMS.part c9d5d95de98ed987b63a78d4f6e082cb36d5ec3ba71d130601e03d3ebfbd208d guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu-debug.tar.gz 88ed6ec82dd4c1c656fe80b4c49f91a4c15c2ab798dbbe16a3d57393f17d6f3a guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu.tar.gz 7b8e7b3b1e68a2ea0e37c058b284da11e9721ef4d1bc2761ed003b2061358d5f guix-build-efa3a807a677/output/riscv64-linux-gnu/SHA256SUMS.part a5de4bedf2b4bc5ab25db21b942076897cabe8a40ce9b0637488af6b4d90693a guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu-debug.tar.gz 53023994202887778a001ce00daf7cdc135b9e6c3be034f31645ab4ba5f078c6 guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu.tar.gz c6664a61b81dfa080c466d2252a6db70165acbea6cfad51ada16970e9c08bb6f guix-build-efa3a807a677/output/x86_64-apple-darwin/SHA256SUMS.part a528569ae4bf5e19401311649086a2d8e3fa5251b44550e623722968dfb111ea guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.dmg 9b0384cce7605b546ed581074955f2b9c33cf0817453842036e6224b423b814b guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.tar.gz ebdbd2f3a6406233f27ee48be0ab014991fedba3c0831f79f4a4873f7abf3d7a guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin.tar.gz 05a8f71fe67f7193e71ea8bbe6f8df2e651b8ac7da3075ba25aacdd3515f7757 guix-build-efa3a807a677/output/x86_64-linux-gnu/SHA256SUMS.part 30a17a1e3d795ea390cd1e0f3ef74c989b5768ae7415740fcca46befe4cb7206 guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu-debug.tar.gz 66db846f3fd739089afa5c339659dbf5efb50572f2d29f8288bf24be9e8f1dd0 guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu.tar.gz bd3c44890823badcf6d296fa674de14275684be7593f4ab21c0316873ddd8652 guix-build-efa3a807a677/output/x86_64-w64-mingw32/SHA256SUMS.part 6ce3ee21212ff2a95e085073a48194476ade2d5ff94cc1c8ec58a8ae7db8f1fa guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-debug.zip 5e697c05537cfb2ce2ed95fef25e261e2cfa83a31fd548a98118580c4bbff2e4 guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-setup-unsigned.exe 4cc2bcff98845c792c0ed12a2ea407b25fb85b2d4250d88dca94ed68f42e714d guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-unsigned.tar.gz 9d5d72271dc6b820e63b30c5c3f9015309777793100b4e2b6ab0c8ea0f7b4aed guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64.zip ``` ACKs for top commit: laanwj: Tested ACK efa3a807a677659b0b74cdeda944e7c8ce0157fb. I get the same build output as in OP: vincenzopalazzo: Re ACK https://github.com/bitcoin/bitcoin/commit/efa3a807a677659b0b74cdeda944e7c8ce0157fb Tree-SHA512: 6d35c11fc307221d61ad250bbdcdc09dbc49adbe43f7a94acb56190ae9f005d23fc22941ea59e3eb62811f8974e39d3617e0c47071232d4b1b0bc2e2e2782e88
2022-04-26Merge bitcoin/bitcoin#24392: build: Fix configuring depends with cmakefanquake
ff4a38a32766942ce5c4be6d6510f800a9f8e0d9 build: Fix configuring depends with cmake (Hennadii Stepanov) Pull request description: This PR fixes bitcoin/bitcoin#24389. On master (28aa0e3ca0a6cfeb5b2b63929d4bc58de6ee6f02) configuring of the `libmultiprocess` package for the `x86_64-w64-mingw32` target fails: ``` $ cd depends $ make libmultiprocess_configured MULTIPROCESS=1 HOST=x86_64-w64-mingw32 Configuring libmultiprocess... CMake Warning: No source or binary directory provided. Both will be assumed to be the same as the current working directory, but note that this warning will become a fatal error in future CMake releases. -- The CXX compiler identification is GNU 9.3.0 -- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++-posix -- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++-posix -- broken CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake:53 (message): The C++ compiler "/usr/bin/x86_64-w64-mingw32-g++-posix" is not able to compile a simple test program. It fails with the following output: Change Dir: /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/make cmTC_93273/fast && make[1]: Entering directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp' /usr/bin/make -f CMakeFiles/cmTC_93273.dir/build.make CMakeFiles/cmTC_93273.dir/build make[2]: Entering directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o /usr/bin/x86_64-w64-mingw32-g++-posix -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include -pipe -O2 -o CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o -c /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTC_93273 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_93273.dir/link.txt --verbose=1 /usr/bin/x86_64-w64-mingw32-g++-posix -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include -pipe -O2 -L/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/lib -rdynamic CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o -o cmTC_93273 x86_64-w64-mingw32-g++-posix: error: unrecognized command line option ‘-rdynamic’ make[2]: *** [CMakeFiles/cmTC_93273.dir/build.make:87: cmTC_93273] Error 1 make[2]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp' make[1]: *** [Makefile:121: cmTC_93273/fast] Error 2 make[1]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp' CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:6 (project) -- Configuring incomplete, errors occurred! See also "/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeOutput.log". See also "/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeError.log". make: *** [funcs.mk:283: /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/./.stamp_configured] Error 1 ``` The reason of that failure is the unset `-DCMAKE_SYSTEM_NAME` flag: ``` $ make print-libmultiprocess_cmake MULTIPROCESS=1 HOST=x86_64-w64-mingw32 libmultiprocess_cmake=env CC="x86_64-w64-mingw32-gcc" CFLAGS=" -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include -pipe -O2 " CXX="x86_64-w64-mingw32-g++-posix" CXXFLAGS=" -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include -pipe -O2 " LDFLAGS=" -L/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/lib " cmake -DCMAKE_INSTALL_PREFIX:PATH="/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32" -DCMAKE_SYSTEM_NAME= -DCMAKE_C_COMPILER_TARGET=x86_64-w64-mingw32 -DCMAKE_CXX_COMPILER_TARGET=x86_64-w64-mingw32 ``` This PR fixes this error: ``` $ make libmultiprocess_configured MULTIPROCESS=1 HOST=x86_64-w64-mingw32 $ # no errors ``` ACKs for top commit: fanquake: ACK ff4a38a32766942ce5c4be6d6510f800a9f8e0d9 - going to merge this now, and we can follow up with more cmake improvements. Tree-SHA512: bd8d8b2f4eedcc8c46cf995b9c39493ea4d0b13c224f77ef62985304ebd392f05119043a06f1401c64f962007a8faa4bb53715d99a408ee6c33bb49a2dd650ba
2022-04-21build: Let the depends build system define a path to `dsymutil` toolHennadii Stepanov
2022-04-21build: No need to provide defaults for darwin-specific toolsHennadii Stepanov
2022-04-16build: Propagate user-defined flags to host packagesHennadii Stepanov
2022-03-17build: fix copypasta in OpenBSD C{XX} flagsfanquake
2022-02-21build: Fix configuring depends with cmakeHennadii Stepanov
2022-02-14build: correct depends FreeBSD C{XX}FLAGSfanquake
2022-02-14build: add NetBSD support to dependsfanquake
2022-02-10build: add support for OpenBSD to dependsfanquake
2022-02-02Merge bitcoin/bitcoin#23948: build: add support for FreeBSD to dependslaanwj
ae9175f6086aa6c177084365c795e78c580eac1d build: add FreeBSD support to depends (fanquake) Pull request description: Setup to use the system Clang (11.0.1 as of FreeBSD 13.0). Doesn't build the Qt package; that requires a few additional changes. The current issue is that FreeBSDs `byacc` seems to have an issue parsing something in libxkbcommon. Work in progress branch here: https://github.com/fanquake/bitcoin/tree/depends_support_freebsd_qt. In any case, I don't think building the Qt libs on FreeBSD is a super high priority (I'd also have no way to test the GUI). ACKs for top commit: laanwj: ACK ae9175f6086aa6c177084365c795e78c580eac1d Tree-SHA512: 1ecc7855f0195f68c96e534bd77ce17c3975db1dfb3caa35302c2b46643c8c30f75b1c2e1735cf69f1eddb70447d11e67e7f339ef5497336cdff7a59b32be961
2022-01-31build: Replace `which` command with `command -v`Hennadii Stepanov
This change made in a way that is compatible with GNU Make versions older than 4.3.
2022-01-26build: use macOS 11 SDK (Xcode 12.2)fanquake
This should be sufficient to support building for Apple ARM when cross-compiling.
2022-01-19build: add FreeBSD support to dependsfanquake
2022-01-07Merge bitcoin/bitcoin#22093: build: Try posix-specific CXX first for mingw32 ↵laanwj
host 2fda0c785188ae94fba921c1b8f6f2c005faf1d4 doc: Drop no longer required notes for Windows builds (Hennadii Stepanov) f09ed92be132ebcb91b459c87d640a14b4b54336 build: Try posix-specific CXX first for mingw32 host (Hennadii Stepanov) Pull request description: On master (1186910b6b7ba7c7e5193c76f33f25825e6cc0b7), when cross-compiling for Windows using our depends build system, we must manually choose the POSIX thread model for the `x86_64-w64-mingw32-g++` compiler. This PR improves the build system to make this choice automa**g**ically. ACKs for top commit: jarolrod: re-ACK 2fda0c785188ae94fba921c1b8f6f2c005faf1d4 shaavan: tACK 2fda0c785188ae94fba921c1b8f6f2c005faf1d4 Tree-SHA512: ad3bbdfe84b3c8eb56e102aa0abdc76fd864b2724ac59c9a12a798c57d1c5a1172682172588019d5d1715801a9f201fd9424effbd858e8dc30607c23c0d5941f
2021-11-10build: Switch to llvm buinutils for Android buildsHennadii Stepanov
GNU Binutils with the exception of the assembler were removed in NDK r23 LTS.
2021-09-16build: set OSX_MIN_VERSION to 10.15fanquake
This is required to use std::filesystem on macOS as support for it only landed in the libc++ dylib shipped with 10.15. See also: https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes Clang now supports the C++17 <filesystem> library for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.
2021-06-02build: Try posix-specific CXX first for mingw32 hostHennadii Stepanov
2021-05-06depends: Add missing -D_LIBCPP_DEBUG=1 to debug flagsMarcoFalke
2021-05-01build: use -stdlib++-isystem with Clang 10fanquake
2021-05-01build: Xcode 12.1, macOS SDK 10.15.6fanquake
2021-05-01build: native cctools 973.0.1, ld64 609fanquake
2021-04-29build: use -isysroot over --sysroot on macOSfanquake
2021-03-30build: split native_cctoolsfanquake
2021-01-07depends: Fully determine path for darwin cctoolsCarl Dong
See previous commit for description.
2021-01-07depends: Fully determine path for darwin_{CC,CXX}Carl Dong
Instead of doing the awkward /bin path prepending at config.site creation time, set darwin_{CC,CXX} in a way that fully determines the program's path (clang/clang++) similar to how AC_PATH_{TOOL,PROG} would do. Also see the added comment block in depends/Makefile for more context on determining $PATH for our config.site.
2021-01-07depends: Remove -fuse-ld lineCarl Dong
clang warns when a command line option is unused, and some of our tests use Werror, so unfortunately we cannot use this flag to pin our linker for now. Leaving this commit in for future reference, as it would be great if there's more granularity to Werror and we can be explicit about what linker we want to use.
2021-01-07depends: Pin clang search paths for darwin hostCarl Dong
2020-11-18build: set minimum supported macOS to 10.14fanquake