@@ -12,50 +12,49 @@ When complete, it will have produced `Dash-Qt.dmg`.
1212
1313### Step 1: Obtaining ` Xcode.app `
1414
15- Our current macOS SDK
16- (` Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz ` ) can be
15+ Our macOS SDK can be
1716extracted from
18- [ Xcode_12.2. xip] ( https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2 .xip ) .
17+ [ Xcode_15. xip] ( https://download.developer.apple.com/Developer_Tools/Xcode_15/Xcode_15 .xip ) .
1918Alternatively, after logging in to your account go to 'Downloads', then 'More'
20- and look for [ ` Xcode_12.2 ` ] ( https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip ) .
19+ and search for [ ` Xcode 15 ` ] ( https://developer.apple.com/download/all/?q=Xcode%2015 ) .
20+
2121An Apple ID and cookies enabled for the hostname are needed to download this.
22- The ` sha256sum ` of the archive should be ` 28d352f8c14a43d9b8a082ac6338dc173cb153f964c6e8fb6ba389e5be528bd0 ` .
22+ The ` sha256sum ` of the archive should be ` 4daaed2ef2253c9661779fa40bfff50655dc7ec45801aba5a39653e7bcdde48e ` .
2323
24- After Xcode version 7.x, Apple started shipping the ` Xcode.app ` in a ` .xip `
25- archive. This makes the SDK less-trivial to extract on non-macOS machines. One
26- approach (tested on Debian Buster) is outlined below:
24+ To extract the ` .xip ` on Linux:
2725
2826``` bash
2927# Install/clone tools needed for extracting Xcode.app
3028apt install cpio
3129git clone https://github.com/bitcoin-core/apple-sdk-tools.git
3230
33- # Unpack Xcode_12.2 .xip and place the resulting Xcode.app in your current
31+ # Unpack the .xip and place the resulting Xcode.app in your current
3432# working directory
35- python3 apple-sdk-tools/extract_xcode.py -f Xcode_12.2 .xip | cpio -d -i
33+ python3 apple-sdk-tools/extract_xcode.py -f Xcode_15 .xip | cpio -d -i
3634```
3735
38- On macOS the process is more straightforward :
36+ On macOS:
3937
4038``` bash
41- xip -x Xcode_12.2 .xip
39+ xip -x Xcode_15 .xip
4240```
4341
44- ### Step 2: Generating ` Xcode-12.2-12B45b-extracted- SDK-with-libcxx-headers.tar.gz ` from ` Xcode.app `
42+ ### Step 2: Generating the SDK tarball from ` Xcode.app `
4543
46- To generate ` Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz ` , run
47- the script [ ` gen-sdk ` ] ( ./gen-sdk ) with the path to ` Xcode.app ` (extracted in the
48- previous stage) as the first argument.
44+ To generate the SDK, run the script [ ` gen-sdk ` ] ( ./gen-sdk ) with the
45+ path to ` Xcode.app ` (extracted in the previous stage) as the first argument.
4946
5047``` bash
51- # Generate a Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz from
52- # the supplied Xcode.app
5348./contrib/macdeploy/gen-sdk ' /path/to/Xcode.app'
5449```
5550
56- ## Deterministic macOS DMG Notes
57- Working macOS DMGs are created in Linux by combining a recent ` clang ` , the Apple
58- ` binutils ` (` ld ` , ` ar ` , etc) and DMG authoring tools.
51+ The generated archive should be: ` Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers.tar.gz ` .
52+ The ` sha256sum ` should be ` 70cccc19df2fc1746bfddf939bf7370eb0b3d8f5f7198896358fa1ebde37e9e7 ` .
53+
54+ ## Deterministic macOS App Notes
55+
56+ macOS Applications are created in Linux by combining a recent ` clang ` and the Apple
57+ ` binutils ` (` ld ` , ` ar ` , etc).
5958
6059Apple uses ` clang ` extensively for development and has upstreamed the necessary
6160functionality so that a vanilla clang can take advantage. It supports the use of ` -F ` ,
0 commit comments