root_dir=$(pwd)
mkdir swift-5.1.3-release; cd swift-5.1.3-release
download_tag="swift-5.1.3-RELEASE"
# download the essential component package
components_download_list=(
swift
cmark
llvm-project
)
for download_item in ${components_download_list[@]}; do
wget https://codeload.github.com/apple/swift-${download_item}/zip/${download_tag}
unzip -q ${download_item}-swift-${download_tag}.zip
ln -s ./${download_item}-swift-${download_tag} ${root_dir)/${download_item}
done
cd ${root_dir)
./swift/utils/build-script --xcode --show-sdks=TRUE --clean --debug --llvm-targets-to-build='X86;AArch64' --skip-build
mv clang tools/clang
mv swift tools/swift
mv cmark tools/cmark
mv compiler-rt projects/compiler-rt
mv libcxx projects/libcxx
cmake .. -DCMAKE_BUILD_TYPE=Debug -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -G Ninja -DLLVM_EXTERNAL_CLANG_SOURCE_DIR=/path/tools/clang -DLLVM_EXTERNAL_CMARK_SOURCE_DIR=/path/tools/cmark
ninja compiler-rt
ninja cxx
ninja tools/swift/stdlib/all
ninja swift
$(xcrun --sdk iphoneos --find clang) -isysroot $(xcrun --sdk iphoneos --show-sdk-path) -arch arm64 -framework Foundation -framework UIKit ConstantVariable.mm