Skip to content

Instantly share code, notes, and snippets.

@jmpews
Last active January 19, 2020 13:11
Show Gist options
  • Save jmpews/655c360ff4505e38491a7087c702080e to your computer and use it in GitHub Desktop.
Save jmpews/655c360ff4505e38491a7087c702080e to your computer and use it in GitHub Desktop.
swift build

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment