This patch adds a new product, WasmKit, which is a Wasm runtime that is
going to be used to run executable tests targeting Wasm. Note that the
product is not shipped as a part of the toolchain, but is used only for
testing purposes.
The `release/5.10` specification of update-checkout on the `main` branch was out-of-date and didn’t clone e.g. `zlib`. This caused CI testing for the `release/5.10` branch of swift-syntax to fail.
Update the build.ps1 to match the current state which introduces
`-BuildTo` and updates most of the dependencies. Take the opportunity to
migrate to update-checkout for the majority of the dependencies. The
SQLite amalgamation and installer image are still fetched later, and ICU
is still cloned in the CI wrapper.
This patch adds a new build products to build and test the Swift stdlib
for WebAssembly.
This adds WebAssembly specific stdlib product instead of adding the new
target in `stdlib-deployment-targets` because unlike darwin platforms
Wasm target has quite different stdlib configuration from host target
and there is no way to specify different stdlib configuration for each
target in `stdlib-deployment-targets` for now.
This patch adds 1 new dependency `wasi-libc` and 3 new build products:
1. `WASILibc` - wasi-libc is a libc implementation for WebAssembly
System Interface (WASI). This product is required to build the
compiler runtimes and Swift stdlib.
2. `WasmLLVMRuntimeLibs` - This product builds `./runtimes` directory
in llvm-project, which contains compiler-rt, libcxx and libcxxabi.
This product is required to build Swift stdlib.
3. `WasmStdlib` - This product builds standalone Swift stdlib for
WebAssembly. (Similar to `MinimalStdlib` product, but configured for
WebAssembly target)
In order to work with further improvements to static linking on Windows
to enable Swift in Swift and C++ Interop, we need to bump the s-a-p with
a fix for underlinking.
This would be needed to support the upcoming clang-1600 rebranch -- in
there LLVM requires CMake 3.20 as per https://reviews.llvm.org/D151344
Note this will not take care of updating `cmake_minimum_required` in the
build code -- we will consider doing this at a later time (possibly
setting a different version that the one specified in
`update-checkout.config.json`).
Addresses rdar://111475397
Also update swift-crypto to 2.3.0
These are needed for SwiftPM registry work. We're using the `main` branch for now but will switch to concrete versions closer to the release.