mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 03:47:29 -03:00
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:
parent
87780dfee8
commit
a43b8e9555
13 changed files with 17 additions and 17 deletions
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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**_
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
#
|
#
|
||||||
|
|
|
@ -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
|
||||||
#
|
#
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue