Skip to content

Commit ddd2c4b

Browse files
committed
Android SDK build
1 parent 0ef0eca commit ddd2c4b

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

.github/workflows/pull_request.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,13 @@ jobs:
4949
working-directory: swift-ci/sdks/android
5050
run: |
5151
sudo apt install -q ninja-build
52-
./build
52+
# build all architectures
53+
#./build
54+
55+
# just build x86_64 for testing
56+
TARGET_ARCHS=x86_64 ./build
57+
58+
# build arch specified by the matrix
5359
#TARGET_ARCHS=${{ matrix.arch }} ./build
5460
- name: Upload SDK artifactbundle
5561
uses: actions/upload-artifact@v4
@@ -58,14 +64,14 @@ jobs:
5864
path: ${{ runner.temp }}/swift-android-sdk/products/*.artifactbundle.tar.gz
5965
- name: Install SDK Locally
6066
run:
61-
$RUNNER_TEMP/host-toolchain/*/usr/bin/swift sdk install $RUNNER_TEMP/swift-android-sdk/products/*.artifactbundle.tar.gz
67+
$RUNNER_TEMP/swift-android-sdk/host-toolchain/*/usr/bin/swift sdk install $RUNNER_TEMP/swift-android-sdk/products/*.artifactbundle.tar.gz
6268
- name: Build Demo Project
6369
run: |
6470
cd $RUNNER_TEMP
6571
mkdir DemoProject
6672
cd DemoProject
67-
$RUNNER_TEMP/host-toolchain/*/usr/bin/swift package init
68-
$RUNNER_TEMP/host-toolchain/*/usr/bin/swift build --build-tests --sdk --swift-sdk aarch64-unknown-linux-android28
73+
$RUNNER_TEMP/swift-android-sdk/host-toolchain/*/usr/bin/swift package init
74+
$RUNNER_TEMP/swift-android-sdk/host-toolchain/*/usr/bin/swift build --build-tests --sdk --swift-sdk aarch64-unknown-linux-android28
6975
- name: Test Swift Package on Android
7076
# TODO: need to implement installed-sdk option in swift-android-action
7177
if: false

swift-ci/sdks/android/scripts/build.sh

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,8 @@ groupstart "Bundling SDK"
401401
sdk_name=swift-${swift_version}-android-${android_api}-${android_sdk_version}
402402
#sdk_base=android-27c-sysroot
403403
sdk_base=swift-android
404+
#sdk_root="${sdk_base}-${android_sdk_version}.sdk"
405+
sdk_root="${sdk_base}.sdk"
404406

405407
bundle="${sdk_name}.artifactbundle"
406408

@@ -420,7 +422,7 @@ cat > info.json <<EOF
420422
"path": "$sdk_name/$sdk_base"
421423
}
422424
],
423-
"version": "0.0.1",
425+
"version": "${android_sdk_version}",
424426
"type": "swiftSDK"
425427
}
426428
}
@@ -448,11 +450,11 @@ EOF
448450
cat >> swift-sdk.json <<EOF
449451
"${arch}-${sdk_base}": {
450452
"toolsetPaths": [
451-
"toolset.json"
453+
"swift-toolset.json"
452454
],
453-
"sdkRootPath": "musl-${musl_version}.sdk/${arch}",
454-
"swiftResourcesPath": "musl-${musl_version}.sdk/${arch}/usr/lib/swift_static",
455-
"swiftStaticResourcesPath": "musl-${musl_version}.sdk/${arch}/usr/lib/swift_static"
455+
"sdkRootPath": "${sdk_root}/${arch}",
456+
"swiftResourcesPath": "${sdk_root}/${arch}/usr/lib/swift_static",
457+
"swiftStaticResourcesPath": "${sdk_root}/${arch}/usr/lib/swift_static"
456458
EOF
457459
done
458460

@@ -462,22 +464,15 @@ cat >> swift-sdk.json <<EOF
462464
}
463465
EOF
464466

465-
mkdir "musl-${musl_version}.sdk"
466-
quiet_pushd "musl-${musl_version}.sdk"
467+
mkdir "${sdk_root}"
468+
quiet_pushd "${sdk_root}"
467469
cp -R ${build_dir}/sdk_root/* .
468470
quiet_popd
469471

470-
mkdir -p swift.xctoolchain/usr/bin
471-
472-
cat > toolset.json <<EOF
472+
cat > swift-toolset.json <<EOF
473473
{
474-
"rootPath": "swift.xctoolchain/usr/bin",
475-
"swiftCompiler" : {
476-
"extraCLIOptions" : [
477-
"-static-executable",
478-
"-static-stdlib"
479-
]
480-
},
474+
"cCompiler": { "extraCLIOptions": ["-fPIC"] },
475+
"swiftCompiler": { "extraCLIOptions": ["-Xclang-linker", "-fuse-ld=lld"] },
481476
"schemaVersion": "1.0"
482477
}
483478
EOF

0 commit comments

Comments
 (0)