mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-21 22:23:32 +01:00
build: use macOS 11 SDK (Xcode 12.2)
This should be sufficient to support building for Apple ARM when cross-compiling.
This commit is contained in:
parent
dd405add6e
commit
446e73cc0b
6 changed files with 18 additions and 18 deletions
|
@ -277,7 +277,7 @@ task:
|
||||||
container:
|
container:
|
||||||
image: ubuntu:focal
|
image: ubuntu:focal
|
||||||
env:
|
env:
|
||||||
MACOS_SDK: "Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers"
|
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
|
||||||
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
|
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
|
||||||
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
|
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,8 @@ 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-darwin
|
export HOST=x86_64-apple-darwin
|
||||||
export PACKAGES="cmake libz-dev libtinfo5 python3-setuptools xorriso"
|
export PACKAGES="cmake libz-dev libtinfo5 python3-setuptools xorriso"
|
||||||
export XCODE_VERSION=12.1
|
export XCODE_VERSION=12.2
|
||||||
export XCODE_BUILD_ID=12A7403
|
export XCODE_BUILD_ID=12B45b
|
||||||
export RUN_UNIT_TESTS=false
|
export RUN_UNIT_TESTS=false
|
||||||
export RUN_FUNCTIONAL_TESTS=false
|
export RUN_FUNCTIONAL_TESTS=false
|
||||||
export GOAL="deploy"
|
export GOAL="deploy"
|
||||||
|
|
|
@ -229,7 +229,7 @@ def check_MACHO_min_os(binary) -> bool:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def check_MACHO_sdk(binary) -> bool:
|
def check_MACHO_sdk(binary) -> bool:
|
||||||
if binary.build_version.sdk == [10, 15, 6]:
|
if binary.build_version.sdk == [11, 0, 0]:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
@ -249,7 +249,7 @@ details.
|
||||||
Set the path where _extracted_ SDKs can be found. This is passed through to
|
Set the path where _extracted_ SDKs can be found. This is passed through to
|
||||||
the depends tree. Note that this is should be set to the _parent_ directory of
|
the depends tree. Note that this is should be set to the _parent_ directory of
|
||||||
the actual SDK (e.g. `SDK_PATH=$HOME/Downloads/macOS-SDKs` instead of
|
the actual SDK (e.g. `SDK_PATH=$HOME/Downloads/macOS-SDKs` instead of
|
||||||
`$HOME/Downloads/macOS-SDKs/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers`).
|
`$HOME/Downloads/macOS-SDKs/Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers`).
|
||||||
|
|
||||||
The path that this environment variable points to **must be a directory**, and
|
The path that this environment variable points to **must be a directory**, and
|
||||||
**NOT a symlink to a directory**.
|
**NOT a symlink to a directory**.
|
||||||
|
|
|
@ -13,13 +13,13 @@ When complete, it will have produced `Bitcoin-Core.dmg`.
|
||||||
### Step 1: Obtaining `Xcode.app`
|
### Step 1: Obtaining `Xcode.app`
|
||||||
|
|
||||||
Our current macOS SDK
|
Our current macOS SDK
|
||||||
(`Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz`) can be
|
(`Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz`) can be
|
||||||
extracted from
|
extracted from
|
||||||
[Xcode_12.1.xip](https://download.developer.apple.com/Developer_Tools/Xcode_12.1/Xcode_12.1.xip).
|
[Xcode_12.2.xip](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
|
||||||
Alternatively, after logging in to your account go to 'Downloads', then 'More'
|
Alternatively, after logging in to your account go to 'Downloads', then 'More'
|
||||||
and look for [`Xcode_12.1`](https://download.developer.apple.com/Developer_Tools/Xcode_12.1/Xcode_12.1.xip).
|
and look for [`Xcode_12.2`](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
|
||||||
An Apple ID and cookies enabled for the hostname are needed to download this.
|
An Apple ID and cookies enabled for the hostname are needed to download this.
|
||||||
The `sha256sum` of the archive should be `612443b1894b39368a596ea1607f30cbb0481ad44d5e29c75edb71a6d2cf050f`.
|
The `sha256sum` of the archive should be `28d352f8c14a43d9b8a082ac6338dc173cb153f964c6e8fb6ba389e5be528bd0`.
|
||||||
|
|
||||||
After Xcode version 7.x, Apple started shipping the `Xcode.app` in a `.xip`
|
After Xcode version 7.x, Apple started shipping the `Xcode.app` in a `.xip`
|
||||||
archive. This makes the SDK less-trivial to extract on non-macOS machines. One
|
archive. This makes the SDK less-trivial to extract on non-macOS machines. One
|
||||||
|
@ -30,25 +30,25 @@ approach (tested on Debian Buster) is outlined below:
|
||||||
apt install cpio
|
apt install cpio
|
||||||
git clone https://github.com/bitcoin-core/apple-sdk-tools.git
|
git clone https://github.com/bitcoin-core/apple-sdk-tools.git
|
||||||
|
|
||||||
# Unpack Xcode_12.1.xip and place the resulting Xcode.app in your current
|
# Unpack Xcode_12.2.xip and place the resulting Xcode.app in your current
|
||||||
# working directory
|
# working directory
|
||||||
python3 apple-sdk-tools/extract_xcode.py -f Xcode_12.1.xip | cpio -d -i
|
python3 apple-sdk-tools/extract_xcode.py -f Xcode_12.2.xip | cpio -d -i
|
||||||
```
|
```
|
||||||
|
|
||||||
On macOS the process is more straightforward:
|
On macOS the process is more straightforward:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
xip -x Xcode_12.1.xip
|
xip -x Xcode_12.2.xip
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 2: Generating `Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz` from `Xcode.app`
|
### Step 2: Generating `Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz` from `Xcode.app`
|
||||||
|
|
||||||
To generate `Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz`, run
|
To generate `Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz`, run
|
||||||
the script [`gen-sdk`](./gen-sdk) with the path to `Xcode.app` (extracted in the
|
the script [`gen-sdk`](./gen-sdk) with the path to `Xcode.app` (extracted in the
|
||||||
previous stage) as the first argument.
|
previous stage) as the first argument.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Generate a Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz from
|
# Generate a Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz from
|
||||||
# the supplied Xcode.app
|
# the supplied Xcode.app
|
||||||
./contrib/macdeploy/gen-sdk '/path/to/Xcode.app'
|
./contrib/macdeploy/gen-sdk '/path/to/Xcode.app'
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
OSX_MIN_VERSION=10.15
|
OSX_MIN_VERSION=10.15
|
||||||
OSX_SDK_VERSION=10.15.6
|
OSX_SDK_VERSION=11.0
|
||||||
XCODE_VERSION=12.1
|
XCODE_VERSION=12.2
|
||||||
XCODE_BUILD_ID=12A7403
|
XCODE_BUILD_ID=12B45b
|
||||||
LD64_VERSION=609
|
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
|
||||||
|
|
Loading…
Add table
Reference in a new issue