iced/build/README.md

79 lines
1.9 KiB
Markdown

# Requirements
See `.github/workflows/build.yml` for all details. If something is missing from this file, open an issue and/or create a PR to update this doc.
## .NET
Building and testing the C# code requires:
- .NET SDK (latest version): https://dotnet.microsoft.com/download
## Rust
Building and testing the Rust code requires:
- Rust: https://www.rust-lang.org/tools/install
- Extra Rust stuff
- `rustup update`
- `rustup component add rustfmt clippy`
- `rustup target add wasm32-unknown-unknown`
- MSRV: `rustup toolchain install 1.41.0`
- Pass `--no-msrv` to `build-rust` if you don't want to install it
- .NET SDK (latest version): https://dotnet.microsoft.com/download
- required to generate and test valid/invalid instructions (pass `--no-dotnet` to `build-rust` if you don't want to install .NET)
## JavaScript
Building and testing the JavaScript code requires:
- Rust: https://www.rust-lang.org/tools/install
- Extra Rust stuff
- `rustup update`
- `rustup component add rustfmt clippy`
- `rustup target add wasm32-unknown-unknown`
- Node.js >= 12.0.0: https://nodejs.org/en/download/
- wasm-pack: `npm install -g wasm-pack` or if it fails, see https://rustwasm.github.io/wasm-pack/installer/
## Python
Building and testing the Python code requires:
- Rust: https://www.rust-lang.org/tools/install
- Extra Rust stuff
- `rustup update`
- `rustup component add rustfmt clippy`
- Python >= 3.6: https://www.python.org/downloads/
- `python3 -m pip install -r src/rust/iced-x86-py/requirements-dev.txt`
# Building this repo
Pick an OS, any OS:
## Windows
From the repo root dir:
```cmd
sh build/build
REM It's the same as
sh build/build-rust
sh build/build-python
sh build/build-js
sh build/build-dotnet
```
`sh` is located in the `git` bin directory.
## Linux / macOS
From the repo root dir:
```sh
./build/build
# It's the same as
./build/build-rust
./build/build-python
./build/build-js
./build/build-dotnet
```