Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions swift-ci/sdks/android/build-docker
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,18 @@ perl -pi -g -we "s#(call rm ... \".\{LIBDISPATCH_BUILD_DIR\}\"\n(\s+)fi\n)#\1\2i
# disable backtrace() for Android (needs either API33+ or libandroid-execinfo, or to manually add in backtrace backport)
perl -pi -e 's;os\(Android\);os\(AndroidDISABLED\);g' ${WORKDIR}/source/swift-project/swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift

# Push trunk back to build against Android API 24 with NDK 28c
if [[ -n "${SWIFT_VERSION}" && ($SWIFT_VERSION == scheme:main || $SWIFT_VERSION == tag:swift-DEV*) ]]; then
ANDROID_NDK_VERSION=android-ndk-r28c
ANDROID_API=24

rm ${WORKDIR}/source/swift-project/swift/test/Interop/Cxx/class/invalid-members/stdlib-containers-of-incomplete.swift
rm ${WORKDIR}/source/swift-project/swift/test/Interop/SwiftToCxx/stdlib/stdlib-in-cxx-no-diagnostics-generated-header.cpp
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_decoding_packs.swift
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering.swift
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering_packs.swift
fi

mkdir -p ${WORKDIR}/products
chmod ugo+rwx ${WORKDIR}/products

Expand Down
15 changes: 15 additions & 0 deletions swift-ci/sdks/android/build-local
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ fi
mkdir -p ${WORKDIR}
WORKDIR=$(realpath ${WORKDIR})

# Push trunk back to build against Android API 24 with NDK 28c
if [[ -n "${SWIFT_VERSION}" && ($SWIFT_VERSION == scheme:main || $SWIFT_VERSION == tag:swift-DEV*) ]]; then
ANDROID_NDK_VERSION=android-ndk-r28c
ANDROID_API=24
fi

HOST_OS=ubuntu$(lsb_release -sr)
source ./scripts/toolchain-vars.sh

Expand Down Expand Up @@ -71,6 +77,15 @@ perl -pi -g -we "s#(call rm ... \".\{LIBDISPATCH_BUILD_DIR\}\"\n(\s+)fi\n)#\1\2i
# disable backtrace() for Android (needs either API33+ or libandroid-execinfo, or to manually add in backtrace backport)
perl -pi -e 's;os\(Android\);os\(AndroidDISABLED\);g' ${WORKDIR}/source/swift-project/swift-testing/Sources/Testing/SourceAttribution/Backtrace.swift

# Disable failing trunk tests when building against NDK 28c
if [[ -n "${SWIFT_VERSION}" && ($SWIFT_VERSION == scheme:main || $SWIFT_VERSION == tag:swift-DEV*) ]]; then
rm ${WORKDIR}/source/swift-project/swift/test/Interop/Cxx/class/invalid-members/stdlib-containers-of-incomplete.swift
rm ${WORKDIR}/source/swift-project/swift/test/Interop/SwiftToCxx/stdlib/stdlib-in-cxx-no-diagnostics-generated-header.cpp
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_decoding_packs.swift
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering.swift
rm ${WORKDIR}/source/swift-project/swift/test/Reflection/typeref_lowering_packs.swift
fi

mkdir -p ${WORKDIR}/products

./scripts/build.sh \
Expand Down
8 changes: 6 additions & 2 deletions swift-ci/sdks/android/scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ for arch in $archs; do
-DLIBXML2_WITH_ICU=NO \
-DLIBXML2_WITH_ICONV=NO \
-DLIBXML2_WITH_LZMA=NO \
-DLIBXML2_WITH_TESTS=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON

Expand Down Expand Up @@ -486,6 +487,7 @@ for arch in $archs; do
--host-test \
--skip-test-linux \
--skip-test-xctest --skip-test-foundation \
--skip-clean-libdispatch --skip-clean-foundation --skip-clean-xctest \
--build-swift-static-stdlib \
--swift-install-components='compiler;clang-resource-dir-symlink;license;stdlib;sdk-overlay' \
--install-swift \
Expand All @@ -500,10 +502,12 @@ for arch in $archs; do
--cross-compile-append-host-target-to-destdir=False
# --extra-cmake-options='-DCMAKE_EXTRA_LINK_FLAGS="-Wl,-z,max-page-size=16384"'
# need to remove the arch-specific portion of the Swift resource dir in
# the build directory, through this symlink that we create in the NDK to
# the build directories, through this symlink that we create in the NDK to
# the build directory, or else we get errors like:
# error: could not find module '_Builtin_float' for target 'x86_64-unknown-linux-android'; found: aarch64-unknown-linux-android, at: /home/runner/work/_temp/swift-android-sdk/ndk/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/swift/android/_Builtin_float.swiftmodule
# error: could not find module '_Builtin_float' for target 'x86_64-unknown-linux-android'; found: aarch64-unknown-linux-android, at: /home/runner/work/_temp/swift-android-sdk/ndk/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/swift/android/_Builtin_float.swiftmodule
rm -rf $ndk_installation/sysroot/usr/lib/swift/android
rm -rf $ndk_installation/sysroot/usr/lib/swift/../swift_static/android
rm -rf $ndk_installation/sysroot/usr/lib/swift/../../../swift-linux-x86_64/lib/swift{,_static}/android
quiet_popd
groupend
done
Expand Down
Loading