aboutsummaryrefslogtreecommitdiff
path: root/depends/hosts/darwin.mk
AgeCommit message (Collapse)Author
2024-07-25depends: remove ENV unsetting for darwinfanquake
Now that we use the native compiler, and have fixed Qt, and these vars are unset it Guix, we can remove the unsetting from our compiler command here. Fixes #21552.
2024-06-14depends: swap mmacosx-version-min for mmacos-version-minfanquake
Whilst these remain aliases for each other, the later is preferred, and I assume the former will be removed at some point in the future; see: https://github.com/llvm/llvm-project/pull/95374.
2024-06-10refactor: rename (macho) ld64 to lldfanquake
Change some references to the macho ld64 to lld, which is now what is used.
2024-06-10depends: remove no-longer used llvm_* vars from macOS buildfanquake
2024-06-10depends: no-longer pass -B to clang in macOS cross-compilefanquake
2024-06-10depends: remove FORCE_USE_SYSTEM_CLANGfanquake
2024-05-22depends: remove cctools & libtapifanquake
2024-05-22build: switch to using lld for macOS buildsfanquake
Adjust the security check for: ld64.lld: warning: Option `-allow_stack_execute' is not yet implemented. ld64.lld: error: -fixup_chains is incompatible with -no_pie and to account for the embedding of LLVMs version number.
2024-05-22depends: swap cctools-x for llvm-xfanquake
Only build ld64 from cctools. Disable adhoc codesigning, to avoid non-determinism.
2024-05-08build: swap otool for (llvm-)objdumpfanquake
Similar to libtool, (llvm-)otool only exists with a version suffix on some systems (Ubuntu), which makes it annoying to use/find. Avoid this, by switching to objdump. Which is a drop-in replacement. This is related to #21778, and the switchover to using vanilla LLVM for macOS.
2024-04-17build: don't use install_name_tool for macOS deploy when cross-compilingfanquake
This is only needed when compiling on macOS. This means we can also better scope the usage of `-headerpad_max_install_names`.
2024-04-02depends: add -g to DEBUG=1 flagsfanquake
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-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-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.
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-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-04-21build: Let the depends build system define a path to `dsymutil` toolHennadii Stepanov
2022-01-26build: use macOS 11 SDK (Xcode 12.2)fanquake
This should be sufficient to support building for Apple ARM when cross-compiling.
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-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
2020-07-10depends: Add justifications for macOS clang flagsCarl Dong
2020-07-10depends: specify libc++ header location for darwinCory Fields
For depends builds this was fixed by fbcfcf69, which deleted the conflicting headers. When we no longer control the clang installation, we need to ensure that the SDK's libc++ headers are used rather than the ones shipped with clang. We can do that by turning off the default include path and hard-coding our own. This hard-coded path is ok because we control (via SDK packaging) where these headers end-up. Side-note: Now that this path is hard-coded in depends, we can potentially package the SDK differently, as the c++ folder can live wherever is most convenient for us.
2020-07-07depends: Allow building with system clangCarl Dong
2020-07-07depends: Decouple toolchain + binutilsCarl Dong
For now they remain the same, but in the next commit, we will assign them differently according to wether or not we're using system clang.
2020-06-29doc: explain why passing -mlinker-version is requiredfanquake
2020-06-22darwin: pass mlinker-version so that clang enables new featuresCory Fields
Without this clang fails to add any newly-added linker features. Removing this in ca5055a5aa07aba81a87cf12f6f0526a63c423b5 was likely a regression. See https://github.com/bitcoin/bitcoin/pull/19240#issuecomment-647764049 for more discussion.
2020-06-22macos: Bump to xcode 11.3.1 and 10.15 SDKCory Fields
This gets us a newer SDK with c++17 support and retains 10.12 back-compat. Co-authored-by: Carl Dong <contact@carldong.me>
2020-06-22Adapt rest of tooling to new SDK naming schemeCarl Dong
2020-05-12depends: add MULTIPROCESS depends optionRussell Yanofsky
Builds required packages and passes --enable-multiprocess option to bitcoin build
2020-02-03build: use macOS 10.14 SDKfanquake
Co-Authored-By: Carl Dong <accounts@carldong.me>