build: set OSX_MIN_VERSION to 10.15

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.
This commit is contained in:
fanquake 2021-06-28 15:54:08 +08:00
parent 87780dfee8
commit a43b8e9555
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1
13 changed files with 17 additions and 17 deletions

View file

@ -254,7 +254,7 @@ task:
FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh" FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh"
task: task:
name: 'macOS 10.14 [gui, no tests] [focal]' name: 'macOS 10.15 [gui, no tests] [focal]'
<< : *DEPENDS_SDK_CACHE_TEMPLATE << : *DEPENDS_SDK_CACHE_TEMPLATE
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:

View file

@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_macos_cross export CONTAINER_NAME=ci_macos_cross
export DOCKER_NAME_TAG=ubuntu:20.04 # Check that Focal can cross-compile to macos export DOCKER_NAME_TAG=ubuntu:20.04 # Check that Focal can cross-compile to macos
export HOST=x86_64-apple-darwin18 export HOST=x86_64-apple-darwin19
export PACKAGES="cmake imagemagick librsvg2-bin libz-dev libtiff-tools libtinfo5 python3-setuptools xorriso" export PACKAGES="cmake imagemagick librsvg2-bin libz-dev libtiff-tools libtinfo5 python3-setuptools xorriso"
export XCODE_VERSION=12.1 export XCODE_VERSION=12.1
export XCODE_BUILD_ID=12A7403 export XCODE_BUILD_ID=12A7403

View file

@ -6,7 +6,7 @@
export LC_ALL=C.UTF-8 export LC_ALL=C.UTF-8
export HOST=x86_64-apple-darwin18 export HOST=x86_64-apple-darwin19
export PIP_PACKAGES="zmq lief" export PIP_PACKAGES="zmq lief"
export GOAL="install" export GOAL="install"
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports" export BITCOIN_CONFIG="--with-gui --enable-reduce-exports"

View file

@ -217,7 +217,7 @@ def check_MACHO_libraries(filename) -> bool:
def check_MACHO_min_os(filename) -> bool: def check_MACHO_min_os(filename) -> bool:
binary = lief.parse(filename) binary = lief.parse(filename)
if binary.build_version.minos == [10,14,0]: if binary.build_version.minos == [10,15,0]:
return True return True
return False return False

View file

@ -137,7 +137,7 @@ class TestSymbolChecks(unittest.TestCase):
} }
''') ''')
self.assertEqual(call_symbol_check(cc, source, executable, ['-Wl,-platform_version','-Wl,macos', '-Wl,10.14', '-Wl,11.4']), self.assertEqual(call_symbol_check(cc, source, executable, ['-Wl,-platform_version','-Wl,macos', '-Wl,10.15', '-Wl,11.4']),
(1, f'{executable}: failed SDK')) (1, f'{executable}: failed SDK'))
def test_PE(self): def test_PE(self):

View file

@ -75,7 +75,7 @@ crucial differences:
1. Since only Windows and macOS build outputs require codesigning, the `HOSTS` 1. Since only Windows and macOS build outputs require codesigning, the `HOSTS`
environment variable will have a sane default value of `x86_64-w64-mingw32 environment variable will have a sane default value of `x86_64-w64-mingw32
x86_64-apple-darwin18` instead of all the platforms. x86_64-apple-darwin19` instead of all the platforms.
2. The `guix-codesign` command ***requires*** a `DETACHED_SIGS_REPO` flag. 2. The `guix-codesign` command ***requires*** a `DETACHED_SIGS_REPO` flag.
* _**DETACHED_SIGS_REPO**_ * _**DETACHED_SIGS_REPO**_
@ -159,7 +159,7 @@ which case you can override the default list by setting the space-separated
`HOSTS` environment variable: `HOSTS` environment variable:
```sh ```sh
env HOSTS='x86_64-w64-mingw32 x86_64-apple-darwin18' ./contrib/guix/guix-build env HOSTS='x86_64-w64-mingw32 x86_64-apple-darwin19' ./contrib/guix/guix-build
``` ```
See the [recognized environment variables][env-vars-list] section for more See the [recognized environment variables][env-vars-list] section for more
@ -224,7 +224,7 @@ details.
_(defaults to "x86\_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu _(defaults to "x86\_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu
riscv64-linux-gnu powerpc64-linux-gnu powerpc64le-linux-gnu riscv64-linux-gnu powerpc64-linux-gnu powerpc64le-linux-gnu
x86\_64-w64-mingw32 x86\_64-apple-darwin18")_ x86\_64-w64-mingw32 x86\_64-apple-darwin19")_
* _**SOURCES_PATH**_ * _**SOURCES_PATH**_

View file

@ -76,7 +76,7 @@ mkdir -p "$VERSION_BASE"
# Default to building for all supported HOSTs (overridable by environment) # Default to building for all supported HOSTs (overridable by environment)
export HOSTS="${HOSTS:-x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu powerpc64-linux-gnu powerpc64le-linux-gnu export HOSTS="${HOSTS:-x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu powerpc64-linux-gnu powerpc64le-linux-gnu
x86_64-w64-mingw32 x86_64-w64-mingw32
x86_64-apple-darwin18}" x86_64-apple-darwin19}"
# Usage: distsrc_for_host HOST # Usage: distsrc_for_host HOST
# #

View file

@ -91,7 +91,7 @@ fi
################ ################
# Default to building for all supported HOSTs (overridable by environment) # Default to building for all supported HOSTs (overridable by environment)
export HOSTS="${HOSTS:-x86_64-w64-mingw32 x86_64-apple-darwin18}" export HOSTS="${HOSTS:-x86_64-w64-mingw32 x86_64-apple-darwin19}"
# Usage: distsrc_for_host HOST # Usage: distsrc_for_host HOST
# #

View file

@ -147,7 +147,7 @@ case "$HOST" in
# #
# After the native packages in depends are built, the ld wrapper should # After the native packages in depends are built, the ld wrapper should
# no longer affect our build, as clang would instead reach for # no longer affect our build, as clang would instead reach for
# x86_64-apple-darwin18-ld from cctools # x86_64-apple-darwin19-ld from cctools
;; ;;
*) export GUIX_LD_WRAPPER_DISABLE_RPATH=yes ;; *) export GUIX_LD_WRAPPER_DISABLE_RPATH=yes ;;
esac esac
@ -423,8 +423,8 @@ mkdir -p "$DISTSRC"
find "${DISTNAME}" -print0 \ find "${DISTNAME}" -print0 \
| sort --zero-terminated \ | sort --zero-terminated \
| tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \ | tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \
| gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin18/osx64}.tar.gz" \ | gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin19/osx64}.tar.gz" \
|| ( rm -f "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin18/osx64}.tar.gz" && exit 1 ) || ( rm -f "${OUTDIR}/${DISTNAME}-${HOST//x86_64-apple-darwin19/osx64}.tar.gz" && exit 1 )
;; ;;
esac esac
) # $DISTSRC/installed ) # $DISTSRC/installed

View file

@ -28,7 +28,7 @@ Common `host-platform-triplet`s for cross compilation are:
- `i686-pc-linux-gnu` for Linux 32 bit - `i686-pc-linux-gnu` for Linux 32 bit
- `x86_64-pc-linux-gnu` for x86 Linux - `x86_64-pc-linux-gnu` for x86 Linux
- `x86_64-w64-mingw32` for Win64 - `x86_64-w64-mingw32` for Win64
- `x86_64-apple-darwin18` for macOS - `x86_64-apple-darwin19` for macOS
- `arm-linux-gnueabihf` for Linux ARM 32 bit - `arm-linux-gnueabihf` for Linux ARM 32 bit
- `aarch64-linux-gnu` for Linux ARM 64 bit - `aarch64-linux-gnu` for Linux ARM 64 bit
- `powerpc64-linux-gnu` for Linux POWER 64-bit (big endian) - `powerpc64-linux-gnu` for Linux POWER 64-bit (big endian)

View file

@ -1,4 +1,4 @@
OSX_MIN_VERSION=10.14 OSX_MIN_VERSION=10.15
OSX_SDK_VERSION=10.15.6 OSX_SDK_VERSION=10.15.6
XCODE_VERSION=12.1 XCODE_VERSION=12.1
XCODE_BUILD_ID=12A7403 XCODE_BUILD_ID=12A7403

View file

@ -46,7 +46,7 @@ Compatibility
============== ==============
Bitcoin Core is supported and extensively tested on operating systems Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.14+, and Windows 7 and newer. Bitcoin using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems. unsupported systems.

View file

@ -3,7 +3,7 @@
<plist version="0.9"> <plist version="0.9">
<dict> <dict>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.14.0</string> <string>10.15.0</string>
<key>LSArchitecturePriority</key> <key>LSArchitecturePriority</key>
<array> <array>