rust/build_system/usage.txt
bjorn3 1aa0cf930a Unconditionally use git to download test repos
It no longer saves much download time while still complicating the code
and requiring curl and tar to be installed.
2024-09-12 19:29:43 +00:00

44 lines
2.2 KiB
Plaintext

The build system of cg_clif.
USAGE:
./y.sh prepare [--out-dir DIR] [--download-dir DIR]
./y.sh build [--sysroot none|clif|llvm] [--out-dir DIR] [--download-dir DIR] [--no-unstable-features] [--frozen]
./y.sh test [--sysroot none|clif|llvm] [--out-dir DIR] [--download-dir DIR] [--no-unstable-features] [--frozen] [--skip-test TESTNAME]
./y.sh abi-cafe [--sysroot none|clif|llvm] [--out-dir DIR] [--download-dir DIR] [--no-unstable-features] [--frozen]
./y.sh bench [--sysroot none|clif|llvm] [--out-dir DIR] [--download-dir DIR] [--no-unstable-features] [--frozen]
OPTIONS:
--sysroot none|clif|llvm
Which sysroot libraries to use:
`none` will not include any standard library in the sysroot.
`clif` will build the standard library using Cranelift.
`llvm` will use the pre-compiled standard library of rustc which is compiled with LLVM.
--out-dir DIR
Specify the directory in which the download, build and dist directories are stored.
By default this is the working directory.
--download-dir DIR
Specify the directory in which the download directory is stored. Overrides --out-dir.
--no-unstable-features
Some features are not yet ready for production usage. This option will disable these
features. This includes the JIT mode and inline assembly support.
--frozen
Require Cargo.lock and cache are up to date
--skip-test TESTNAME
Skip testing the TESTNAME test. The test name format is the same as config.txt.
--use-backend NAME
Use the existing Cranelift (or other) backend of the rustc with which we built.
Warning: This is meant for use in rust's CI only!
REQUIREMENTS:
* Rustup: By default rustup is used to install the right nightly version. If you don't want to
use rustup, you can manually install the nightly version indicated by rust-toolchain.toml and
point the CARGO, RUSTC and RUSTDOC env vars to the right executables.
* Git: Git is used for downloading test repos and applying patches.
* [Hyperfine](https://github.com/sharkdp/hyperfine/): Used for benchmarking with `./y.sh bench`.