Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swiftwasm/swiftwasm-build
Patches, build scripts, and CI configuration for the SwiftWasm toolchain
https://github.com/swiftwasm/swiftwasm-build
Last synced: 13 days ago
JSON representation
Patches, build scripts, and CI configuration for the SwiftWasm toolchain
- Host: GitHub
- URL: https://github.com/swiftwasm/swiftwasm-build
- Owner: swiftwasm
- Created: 2023-06-20T14:43:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:12:28.000Z (7 months ago)
- Last Synced: 2024-04-13T21:55:00.307Z (7 months ago)
- Language: Python
- Homepage:
- Size: 750 KB
- Stars: 13
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SwiftWasm toolchain build
This repository contains the patches, build scripts, and CI configuration for the SwiftWasm toolchain.
## Building the toolchain
```
$ mkdir swiftwasm-source
$ cd swiftwasm-source
$ git clone https://github.com/swiftwasm/swiftwasm-build
$ cd swiftwasm-build
# Install WebAssembly specific dependencies into ../build-sdk
$ ./tools/build/install-build-sdk.sh main
# Checkout the Swift repositories in the parent directory (swiftwasm-source) and apply patches
$ ./tools/git-swift-workspace --scheme main
# Build the toolchain (this will take a while)
$ ./tools/build/build-toolchain.sh main
```See [SwiftWasm book](https://book.swiftwasm.org/contribution-guide/how-to-build-toolchain.html) for more details about dependencies you need to install and how to build on Docker.
## Project structure
- `schemes/` - Scheme is the concept used in [Swift's `utils/update-checkout` script](https://github.com/apple/swift/blob/main/utils/update-checkout) to describe a set of build sources.
- `schemes//manifest.json` - The manifest file for the scheme, which describes the base source revisions to check out.
- `schemes//swift` - Patches to be applied on top of the checked out Swift repository. This is where the SwiftWasm-specific patches live. Most of them are ready to be upstreamed, but patches marked with `HACK` need modification or another solution.
- `tools/git-swift-workspace` - A tool to check out the Swift repositories and apply patches.
- `tools/git-swift-update-patch` - A tool to help daily patch maintenance.
- `tools/build` - Scheme agnostic build scripts.## Contributing
See [docs/upstreaming.md](docs/upstreaming.md) for more details.