| Usage: x.py <subcommand> [options] [<paths>...] | |
| Commands: | |
| build Compile either the compiler or libraries [aliases: b] | |
| check Compile either the compiler or libraries, using cargo check [aliases: c] | |
| clippy Run Clippy (uses rustup/cargo-installed clippy binary) | |
| fix Run cargo fix | |
| fmt Run rustfmt | |
| doc Build documentation [aliases: d] | |
| test Build and run some test suites [aliases: t] | |
| miri Build and run some test suites *in Miri* | |
| bench Build and run some benchmarks | |
| clean Clean out build directories | |
| dist Build distribution artifacts | |
| install Install distribution artifacts | |
| run Run tools contained in this repository [aliases: r] | |
| setup Set up the environment for development | |
| vendor Vendor dependencies | |
| perf Perform profiling and benchmarking of the compiler using `rustc-perf` | |
| Arguments: | |
| [PATHS]... paths for the subcommand | |
| [ARGS]... arguments passed to subcommands | |
| Options: | |
| -v, --verbose... | |
| use verbose output (-vv for very verbose) | |
| -q, --quiet | |
| use quiet output | |
| -i, --incremental | |
| use incremental compilation | |
| --config <FILE> | |
| TOML configuration file for build | |
| --build-dir <DIR> | |
| Build directory, overrides `build.build-dir` in `bootstrap.toml` | |
| --build <BUILD> | |
| host target of the stage0 compiler | |
| --host <HOST> | |
| host targets to build | |
| --target <TARGET> | |
| target targets to build | |
| --exclude <PATH> | |
| build paths to exclude | |
| --skip <PATH> | |
| build paths to skip | |
| --include-default-paths | |
| include default paths in addition to the provided ones | |
| --rustc-error-format <RUSTC_ERROR_FORMAT> | |
| rustc error format | |
| --on-fail <CMD> | |
| command to run on failure | |
| --dry-run | |
| dry run; don't build anything | |
| --dump-bootstrap-shims | |
| Indicates whether to dump the work done from bootstrap shims | |
| --stage <N> | |
| stage to build (indicates compiler to use/test, e.g., stage 0 uses the bootstrap compiler, stage 1 the stage 0 rustc artifacts, etc.) | |
| --keep-stage <N> | |
| stage(s) to keep without recompiling (pass multiple times to keep e.g., both stages 0 and 1) | |
| --keep-stage-std <N> | |
| stage(s) of the standard library to keep without recompiling (pass multiple times to keep e.g., both stages 0 and 1) | |
| --src <DIR> | |
| path to the root of the rust checkout | |
| -j, --jobs <JOBS> | |
| number of jobs to run in parallel | |
| --warnings <deny|warn> | |
| if value is deny, will deny warnings if value is warn, will emit warnings otherwise, use the default configured behaviour [default: default] [possible values: deny, warn, default] | |
| --json-output | |
| use message-format=json | |
| --compile-time-deps | |
| only build proc-macros and build scripts (for rust-analyzer) | |
| --color <STYLE> | |
| whether to use color in cargo and rustc output [default: auto] [possible values: always, never, auto] | |
| --bypass-bootstrap-lock | |
| Bootstrap uses this value to decide whether it should bypass locking the build process. This is rarely needed (e.g., compiling the std library for different targets in parallel) | |
| --rust-profile-generate <PROFILE> | |
| generate PGO profile with rustc build | |
| --rust-profile-use <PROFILE> | |
| use PGO profile for rustc build | |
| --llvm-profile-use <PROFILE> | |
| use PGO profile for LLVM build | |
| --llvm-profile-generate | |
| generate PGO profile with llvm built for rustc | |
| --enable-bolt-settings | |
| Enable BOLT link flags | |
| --skip-stage0-validation | |
| Skip stage0 compiler validation | |
| --reproducible-artifact <REPRODUCIBLE_ARTIFACT> | |
| Additional reproducible artifacts that should be added to the reproducible artifacts archive | |
| --set <section.option=value> | |
| override options in bootstrap.toml | |
| --ci <bool> | |
| Make bootstrap to behave as it's running on the CI environment or not [possible values: true, false] | |
| --skip-std-check-if-no-download-rustc | |
| Skip checking the standard library if `rust.download-rustc` isn't available. This is mostly for RA as building the stage1 compiler to check the library tree on each code change might be too much for some computers | |
| -h, --help | |
| Print help (see more with '--help') |