@swiftbrowser/wasm-sdk
v0.17.8
Published
The Swift SDK for WebAssembly's base, for the Swift compiler built as WebAssembly (@swiftbrowser/wasm-compiler): the WASI sysroot, clang's headers and the Swift standard library (Swift 6.4.0, wasm32-unknown-wasip1).
Readme
@swiftbrowser/wasm-sdk
What every compile reads: wasi-libc and libc++'s archives, clang's and the Swift runtime's headers, and the standard library's modules and archives (Swift, Concurrency, Observation, Synchronization, string processing).
One of the packages that carry the Swift SDK for WebAssembly (swift-6.4.0-RELEASE_wasm) for SwiftBrowser, split by who needs which files:
| Package | Contents | | --- | --- | | @swiftbrowser/wasm-sdk | the WASI sysroot, clang's headers, the standard library | | @swiftbrowser/wasm-sdk-foundation | Foundation and CoreFoundation | | @swiftbrowser/wasm-sdk-icu | lib_FoundationICU.a without its data member | | @swiftbrowser/wasm-sdk-icu-data | ICU's whole data package | | @swiftbrowser/wasm-sdk-testing | XCTest and Swift Testing | | @swiftbrowser/wasm-sdk-cxx | libc++'s headers and C++ interop |
Each keeps its files at their paths in the SDK's wasm32-unknown-wasip1
directory, and lists them in files.json, so the SDK is the packages laid
over each other. @swiftbrowser/cli
does that when it compiles with the Swift compiler built as WebAssembly and
no Swift is installed (swiftbrowser doctor --install), and SwiftBrowser's
playground fetches the files it needs from them. The files are the SDK's,
unchanged but for ICU's data moving out of its archive; the dynamic-linking
libraries, Embedded Swift and the modules' documentation are left out. See
LICENSE.txt for the licenses of what they contain.
