Changeset View
Changeset View
Standalone View
Standalone View
depends/hosts/darwin.mk
OSX_MIN_VERSION=10.14 | OSX_MIN_VERSION=10.15 | ||||
OSX_SDK_VERSION=10.15.1 | OSX_SDK_VERSION=10.15.6 | ||||
XCODE_VERSION=11.3.1 | XCODE_VERSION=12.1 | ||||
XCODE_BUILD_ID=11C505 | XCODE_BUILD_ID=12A7403 | ||||
LD64_VERSION=530 | LD64_VERSION=609 | ||||
OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers | OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers | ||||
darwin_native_binutils=native_cctools | darwin_native_binutils=native_cctools | ||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),) | ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),) | ||||
# FORCE_USE_SYSTEM_CLANG is empty, so we use our depends-managed, pinned clang | # FORCE_USE_SYSTEM_CLANG is empty, so we use our depends-managed, pinned clang | ||||
# from llvm.org | # from llvm.org | ||||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | |||||
# Ensures that modern linker features are enabled. See here for more | # Ensures that modern linker features are enabled. See here for more | ||||
# details: https://github.com/bitcoin/bitcoin/pull/19407. | # details: https://github.com/bitcoin/bitcoin/pull/19407. | ||||
# | # | ||||
# -B$(build_prefix)/bin | # -B$(build_prefix)/bin | ||||
# | # | ||||
# Explicitly point to our binaries (e.g. cctools) so that they are | # Explicitly point to our binaries (e.g. cctools) so that they are | ||||
# ensured to be found and preferred over other possibilities. | # ensured to be found and preferred over other possibilities. | ||||
# | # | ||||
# -stdlib=libc++ -nostdinc++ -Xclang -cxx-isystem$(OSX_SDK)/usr/include/c++/v1 | # -stdlib=libc++ -stdlib++-isystem$(OSX_SDK)/usr/include/c++/v1 | ||||
# | # | ||||
# Forces clang to use the libc++ headers from our SDK and completely | # Forces clang to use the libc++ headers from our SDK and completely | ||||
# forget about the libc++ headers from the standard directories | # forget about the libc++ headers from the standard directories | ||||
# | # | ||||
# TODO: Once we start requiring a clang version that has the | |||||
# -stdlib++-isystem<directory> flag first introduced here: | |||||
# https://reviews.llvm.org/D64089, we should use that instead. Read the | |||||
# differential summary there for more details. | |||||
# | |||||
# -Xclang -*system<path_a> \ | # -Xclang -*system<path_a> \ | ||||
# -Xclang -*system<path_b> \ | # -Xclang -*system<path_b> \ | ||||
# -Xclang -*system<path_c> ... | # -Xclang -*system<path_c> ... | ||||
# | # | ||||
# Adds path_a, path_b, and path_c to the bottom of clang's list of | # Adds path_a, path_b, and path_c to the bottom of clang's list of | ||||
# include search paths. This is used to explicitly specify the list of | # include search paths. This is used to explicitly specify the list of | ||||
# system include search paths and its ordering, rather than rely on | # system include search paths and its ordering, rather than rely on | ||||
# clang's autodetection routine. This routine has been shown to: | # clang's autodetection routine. This routine has been shown to: | ||||
Show All 23 Lines | darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \ | ||||
-Xclang -internal-externc-isystem$(clang_resource_dir)/include \ | -Xclang -internal-externc-isystem$(clang_resource_dir)/include \ | ||||
-Xclang -internal-externc-isystem$(OSX_SDK)/usr/include | -Xclang -internal-externc-isystem$(OSX_SDK)/usr/include | ||||
darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \ | darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \ | ||||
-u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \ | -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \ | ||||
-u LIBRARY_PATH \ | -u LIBRARY_PATH \ | ||||
$(clangxx_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \ | $(clangxx_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \ | ||||
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \ | -B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \ | ||||
-isysroot$(OSX_SDK) \ | -isysroot$(OSX_SDK) \ | ||||
-stdlib=libc++ -nostdinc++ \ | -stdlib=libc++ \ | ||||
-Xclang -cxx-isystem$(OSX_SDK)/usr/include/c++/v1 \ | -stdlib++-isystem$(OSX_SDK)/usr/include/c++/v1 \ | ||||
-Xclang -internal-externc-isystem$(clang_resource_dir)/include \ | -Xclang -internal-externc-isystem$(clang_resource_dir)/include \ | ||||
-Xclang -internal-externc-isystem$(OSX_SDK)/usr/include | -Xclang -internal-externc-isystem$(OSX_SDK)/usr/include | ||||
darwin_CFLAGS=-pipe | darwin_CFLAGS=-pipe | ||||
darwin_CXXFLAGS=$(darwin_CFLAGS) | darwin_CXXFLAGS=$(darwin_CFLAGS) | ||||
darwin_release_CFLAGS=-O2 | darwin_release_CFLAGS=-O2 | ||||
darwin_release_CXXFLAGS=$(darwin_release_CFLAGS) | darwin_release_CXXFLAGS=$(darwin_release_CFLAGS) | ||||
darwin_debug_CFLAGS=-O1 | darwin_debug_CFLAGS=-O1 | ||||
darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS) | darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS) | ||||
darwin_cmake_system=Darwin | darwin_cmake_system=Darwin |