Skip to content

Commit 541a244

Browse files
committed
Dev: update collect toolchain
1 parent 49d51ec commit 541a244

File tree

3 files changed

+47
-12
lines changed

3 files changed

+47
-12
lines changed

.github/workflows/build-android-toolchain.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -313,10 +313,6 @@ jobs:
313313
path: ~/swift-android/lib
314314
- name: Build Corelibs
315315
run: ./build/052-build-corelibs.sh arm64 aarch64 aarch64-linux-android arm64-v8a aarch64-linux-android
316-
- uses: actions/upload-artifact@v4
317-
with:
318-
name: swift-android-clang-libs
319-
path: ~/swift-toolchain/usr/lib/clang
320316
- uses: actions/upload-artifact@v4
321317
with:
322318
name: swift-android-arm64-v8a-libs
@@ -465,8 +461,20 @@ jobs:
465461
path: ~/lib/swift-i686
466462
- uses: actions/download-artifact@v4
467463
with:
468-
name: swift-android-clang-libs
469-
path: ~/lib/clang
464+
name: swift-android-arm64-v8a
465+
path: ~/stdlib/swift-aarch64
466+
- uses: actions/download-artifact@v4
467+
with:
468+
name: swift-android-armeabi-v7a
469+
path: ~/stdlib/swift-armv7
470+
- uses: actions/download-artifact@v4
471+
with:
472+
name: swift-android-x86_64
473+
path: ~/stdlib/swift-x86_64
474+
- uses: actions/download-artifact@v4
475+
with:
476+
name: swift-android-x86
477+
path: ~/stdlib/swift-i686
470478
- name: Collect toolchain
471479
run: ./build/060-collect-toolchain.sh
472480
- uses: actions/upload-artifact@v4

build/052-build-corelibs.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,6 @@ cmake --build $xctest_build_dir --target install
9090
swift_include=$HOME/swift-toolchain/usr/lib/swift
9191
dst_libs=$HOME/swift-toolchain/usr/lib/swift/android
9292

93-
rsync -av $ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/$clang_arch/libc++_shared.so $dst_libs
94-
9593
rsync -av $openssl_libs/lib/libcrypto.a $dst_libs
9694
rsync -av $openssl_libs/lib/libssl.a $dst_libs
9795
rsync -av $curl_libs/lib/libcurl.* $dst_libs

build/060-collect-toolchain.sh

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,42 @@ out_toolchain=$out/toolchain
1111

1212
mkdir -p $out
1313
mkdir -p $out_toolchain
14-
mkdir -p $out_toolchain/usr
1514

16-
input_libs=$HOME/lib
15+
input_stdlib=$HOME/stdlib
16+
input_lib=$HOME/lib
1717

1818
pushd $out
19-
rsync -av $input_libs $out_toolchain/usr --exclude 'lib/clang/17/lib'
20-
19+
# Copy NDK sysroot
20+
rsync -av $ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot/ $out_toolchain/
21+
22+
# Create swift folders
23+
mkdir -p $out_toolchain/usr/lib/swift-aarch64
24+
mkdir -p $out_toolchain/usr/lib/swift-armv7
25+
mkdir -p $out_toolchain/usr/lib/swift-x86_64
26+
mkdir -p $out_toolchain/usr/lib/swift-i686
27+
28+
# Copy stlibs
29+
rsync -av $input_stdlib/swift-aarch64/swift/ $out_toolchain/usr/lib/swift-aarch64/
30+
rsync -av $input_stdlib/swift-armv7/swift/ $out_toolchain/usr/lib/swift-armv7/
31+
rsync -av $input_stdlib/swift-x86_64/swift/ $out_toolchain/usr/lib/swift-x86_64/
32+
rsync -av $input_stdlib/swift-i686/swift/ $out_toolchain/usr/lib/swift-i686/
33+
34+
# Copy corelibs
35+
rsync -av $input_lib/swift-aarch64/ $out_toolchain/usr/lib/swift-aarch64/
36+
rsync -av $input_lib/swift-armv7/ $out_toolchain/usr/lib/swift-armv7/
37+
rsync -av $input_lib/swift-x86_64/ $out_toolchain/usr/lib/swift-x86_64/
38+
rsync -av $input_lib/swift-i686/ $out_toolchain/usr/lib/swift-i686/
39+
40+
# Remove not supported Andorid version libs
41+
rm -rf $out_toolchain/usr/lib/*/21
42+
rm -rf $out_toolchain/usr/lib/*/22
43+
rm -rf $out_toolchain/usr/lib/*/23
44+
rm -rf $out_toolchain/usr/lib/*/24
45+
rm -rf $out_toolchain/usr/lib/*/25
46+
rm -rf $out_toolchain/usr/lib/*/26
47+
rm -rf $out_toolchain/usr/lib/*/27
48+
49+
# Install swift android build tools
2150
git clone --depth 1 https://github.com/readdle/swift-android-buildtools.git --branch $toolchain_version build-tools
2251
pushd build-tools
2352
rm -rf .git .gitignore LICENSE

0 commit comments

Comments
 (0)