Skip to content

Commit 677297d

Browse files
committed
Update doc to 6.1.3 release and NDK 27d
1 parent 7999223 commit 677297d

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ emulator](https://github.com/finagolfin/swift-android-sdk/blob/main/.github/work
99

1010
## Cross-compiling and testing Swift packages with the Android SDK bundle
1111

12-
To build with the Swift 6.1.2 SDK bundle, first download [the official open-source
13-
Swift 6.1.2 toolchain for linux or macOS](https://swift.org/install)
12+
To build with the Swift 6.1.3 SDK bundle, first download [the official open-source
13+
Swift 6.1.3 toolchain for linux or macOS](https://swift.org/install)
1414
(make sure to install the Swift dependencies linked there). Install the OSS
1515
toolchain on macOS as detailed in [the instructions for using the static linux
1616
Musl SDK bundle at swift.org](https://www.swift.org/documentation/articles/static-linux-getting-started.html).
@@ -19,15 +19,15 @@ On linux, simply download the toolchain, unpack it, and add it to your `PATH`.
1919
Next, install the Android SDK bundle by having the Swift toolchain directly
2020
download it:
2121
```
22-
swift sdk install https://github.com/finagolfin/swift-android-sdk/releases/download/6.1.2/swift-6.1.2-RELEASE-android-24-0.1.artifactbundle.tar.gz --checksum 6d817c947870e8c85e6cab9a6ab6d7313b50fa5a20b890c396723c0b16ab32d9
22+
swift sdk install https://github.com/finagolfin/swift-android-sdk/releases/download/6.1.3/swift-6.1.3-RELEASE-android-24-0.1.artifactbundle.tar.gz --checksum 440d09d539bda5b94807598b00696ac5d3893cb515b24715ac8868d62130b6d5
2323
```
2424
or alternately, download the SDK bundle with your favorite downloader and install
2525
it separately:
2626
```
27-
> wget https://github.com/finagolfin/swift-android-sdk/releases/download/6.1.2/swift-6.1.2-RELEASE-android-24-0.1.artifactbundle.tar.gz
28-
> sha256sum swift-6.1.2-RELEASE-android-24-0.1.artifactbundle.tar.gz
29-
6d817c947870e8c85e6cab9a6ab6d7313b50fa5a20b890c396723c0b16ab32d9 swift-6.1.2-RELEASE-android-24-0.1.artifactbundle.tar.gz
30-
> swift sdk install swift-6.1.2-RELEASE-android-24-0.1.artifactbundle.tar.gz
27+
> wget https://github.com/finagolfin/swift-android-sdk/releases/download/6.1.3/swift-6.1.3-RELEASE-android-24-0.1.artifactbundle.tar.gz
28+
> sha256sum swift-6.1.3-RELEASE-android-24-0.1.artifactbundle.tar.gz
29+
440d09d539bda5b94807598b00696ac5d3893cb515b24715ac8868d62130b6d5 swift-6.1.3-RELEASE-android-24-0.1.artifactbundle.tar.gz
30+
> swift sdk install swift-6.1.3-RELEASE-android-24-0.1.artifactbundle.tar.gz
3131
```
3232
You can check if it was properly installed by running `swift sdk list`.
3333

@@ -56,20 +56,20 @@ one depends on the example executables `color`, `generate-manual`, `math`,
5656
point at test data in the repo: I've had success moving this data with the test
5757
runner, after modifying the test source so it has the path to this test data in
5858
the Android test environment. See the example of [swift-crypto on the
59-
CI](https://github.com/finagolfin/swift-android-sdk/blob/6.1.2/.github/workflows/sdks.yml#L521).
59+
CI](https://github.com/finagolfin/swift-android-sdk/blob/6.1.3/.github/workflows/sdks.yml#L532).
6060

6161
You can copy these executables and the Swift runtime libraries to [an emulator
6262
or a USB debugging-enabled device with adb](https://github.com/swiftlang/swift/blob/release/6.1/docs/Android.md#3-deploying-the-build-products-to-the-device),
6363
or put them on an Android device with [a terminal emulator app like Termux](https://termux.dev/en/).
6464
I test aarch64 with Termux so I'll show how to run the test runner there, but
65-
the process is similar with adb, [as can be seen on the CI](https://github.com/finagolfin/swift-android-sdk/blob/6.1.2/.github/workflows/sdks.yml#L469).
65+
the process is similar with adb, [as can be seen on the CI](https://github.com/finagolfin/swift-android-sdk/blob/6.1.3/.github/workflows/sdks.yml#L480).
6666

67-
Copy the test executables to the same directory as the Swift 6.1.2 runtime libraries:
67+
Copy the test executables to the same directory as the Swift 6.1.3 runtime libraries:
6868
```
6969
cp .build/aarch64-unknown-linux-android24/debug/{swift-argument-parserPackageTests.xctest,color,generate-manual,math,repeat,roll} ..
70-
cp ~/.swiftpm/swift-sdks/swift-6.1.2-RELEASE-android-24-0.1.artifactbundle/swift-6.1.2-release-android-24-sdk/android-27c-sysroot/usr/lib/aarch64-linux-android/lib*.so ..
70+
cp ~/.swiftpm/swift-sdks/swift-6.1.3-RELEASE-android-24-0.1.artifactbundle/swift-6.1.3-release-android-24-sdk/android-27d-sysroot/usr/lib/aarch64-linux-android/lib*.so ..
7171
```
72-
You can copy the test executables and Swift 6.1.2 runtime libraries to Termux using
72+
You can copy the test executables and Swift 6.1.3 runtime libraries to Termux using
7373
scp from OpenSSH, run these commands in Termux on the Android device:
7474
```
7575
uname -m # check if you're running on the right architecture, should say `aarch64`
@@ -137,9 +137,9 @@ packagingOptions {
137137

138138
## Building an Android SDK from source
139139

140-
Download the Swift 6.1.2 compiler as above and Android NDK 27c (only building
140+
Download the Swift 6.1.3 compiler as above and Android NDK 27d (only building
141141
the Android SDKs on linux works for now). Check out this repo and run
142-
`SWIFT_TAG=swift-6.1.2-RELEASE ANDROID_ARCH=aarch64 swift get-packages-and-swift-source.swift`
142+
`SWIFT_TAG=swift-6.1.3-RELEASE ANDROID_ARCH=aarch64 swift get-packages-and-swift-source.swift`
143143
to get some prebuilt Android libraries and the Swift source to build an AArch64
144144
SDK. If you pass in a different tag like `swift-DEVELOPMENT-SNAPSHOT-2025-04-03-a`
145145
for the latest Swift trunk snapshot and pass in the path to the corresponding
@@ -160,9 +160,9 @@ are installed, run the following `build-script` command with your local paths
160160
substituted instead:
161161
```
162162
./swift/utils/build-script -RA --skip-build-cmark --build-llvm=0 --android
163-
--android-ndk /home/finagolfin/android-ndk-r27c/ --android-arch aarch64 --android-api-level 24
164-
--build-swift-tools=0 --native-swift-tools-path=/home/finagolfin/swift-6.1.2-RELEASE-ubuntu22.04/usr/bin/
165-
--native-clang-tools-path=/home/finagolfin/swift-6.1.2-RELEASE-ubuntu22.04/usr/bin/
163+
--android-ndk /home/finagolfin/android-ndk-r27d/ --android-arch aarch64 --android-api-level 24
164+
--build-swift-tools=0 --native-swift-tools-path=/home/finagolfin/swift-6.1.3-RELEASE-ubuntu22.04/usr/bin/
165+
--native-clang-tools-path=/home/finagolfin/swift-6.1.3-RELEASE-ubuntu22.04/usr/bin/
166166
--host-cc=/usr/bin/clang-13 --host-cxx=/usr/bin/clang++-13
167167
--cross-compile-hosts=android-aarch64 --cross-compile-deps-path=/home/finagolfin/swift-release-android-aarch64-24-sdk
168168
--skip-local-build --xctest --swift-install-components='clang-resource-dir-symlink;license;stdlib;sdk-overlay'
@@ -179,7 +179,7 @@ into these commands to build SDKs for those architectures instead.
179179
Finally, copy `libc++_shared.so` from the NDK and modify the cross-compiled
180180
Swift corelibs to include `$ORIGIN` and other relative directories in their rpaths:
181181
```
182-
cp /home/yourname/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so swift-release-android-aarch64-24-sdk/usr/lib
182+
cp /home/yourname/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so swift-release-android-aarch64-24-sdk/usr/lib
183183
patchelf --set-rpath \$ORIGIN/../..:\$ORIGIN swift-release-android-aarch64-24-sdk/usr/lib/swift/android/lib*.so
184184
```
185185

@@ -225,7 +225,7 @@ packages, by compiling against a more recent Android API that doesn't need the
225225
`libandroid-spawn` backport, and by cross-compiling libcurl/libxml2 and their
226226
dependencies yourself or not using FoundationNetworking and FoundationXML.
227227

228-
Finally, it gets [the 6.1.2 source](https://github.com/swiftlang/swift/releases/tag/swift-6.1.2-RELEASE)
228+
Finally, it gets [the 6.1.3 source](https://github.com/swiftlang/swift/releases/tag/swift-6.1.3-RELEASE)
229229
tarballs for eleven Swift repos and renames them to `llvm-project/`, `swift/`,
230230
`swift-syntax`, `swift-experimental-string-processing`, `swift-corelibs-libdispatch`,
231231
`swift-corelibs-foundation`, `swift-collections`, `swift-foundation`,

0 commit comments

Comments
 (0)