Improve readme and build system help message
This commit is contained in:
parent
3a27253289
commit
bdcbf47df3
3 changed files with 40 additions and 31 deletions
11
Readme.md
11
Readme.md
|
@ -8,9 +8,9 @@ If not please open an issue.
|
||||||
## Building and testing
|
## Building and testing
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ git clone https://github.com/bjorn3/rustc_codegen_cranelift.git
|
$ git clone https://github.com/bjorn3/rustc_codegen_cranelift
|
||||||
$ cd rustc_codegen_cranelift
|
$ cd rustc_codegen_cranelift
|
||||||
$ ./y.rs prepare # download and patch sysroot src and install hyperfine for benchmarking
|
$ ./y.rs prepare
|
||||||
$ ./y.rs build
|
$ ./y.rs build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -20,13 +20,12 @@ To run the test suite replace the last command with:
|
||||||
$ ./test.sh
|
$ ./test.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
This will implicitly build cg_clif too. Both `y.rs build` and `test.sh` accept a `--debug` argument to
|
For more docs on how to build and test see [build_system/usage.txt](build_system/usage.txt) or the help message of `./y.rs`.
|
||||||
build in debug mode.
|
|
||||||
|
|
||||||
Alternatively you can download a pre built version from [GHA]. It is listed in the artifacts section
|
Alternatively you can download a pre built version from [Github Actions]. It is listed in the artifacts section
|
||||||
of workflow runs. Unfortunately due to GHA restrictions you need to be logged in to access it.
|
of workflow runs. Unfortunately due to GHA restrictions you need to be logged in to access it.
|
||||||
|
|
||||||
[GHA]: https://github.com/bjorn3/rustc_codegen_cranelift/actions?query=branch%3Amaster+event%3Apush+is%3Asuccess
|
[Github Actions]: https://github.com/bjorn3/rustc_codegen_cranelift/actions?query=branch%3Amaster+event%3Apush+is%3Asuccess
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|
|
@ -15,32 +15,8 @@ mod rustc_info;
|
||||||
mod tests;
|
mod tests;
|
||||||
mod utils;
|
mod utils;
|
||||||
|
|
||||||
const USAGE: &str = r#"The build system of cg_clif.
|
|
||||||
|
|
||||||
USAGE:
|
|
||||||
./y.rs prepare [--out-dir DIR]
|
|
||||||
./y.rs build [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
|
||||||
./y.rs test [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
|
||||||
./y.rs bench [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
--no-unstable-features
|
|
||||||
fSome features are not yet ready for production usage. This option will disable these
|
|
||||||
features. This includes the JIT mode and inline assembly support.
|
|
||||||
"#;
|
|
||||||
|
|
||||||
fn usage() {
|
fn usage() {
|
||||||
eprintln!("{USAGE}");
|
eprintln!("{}", include_str!("usage.txt"));
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! arg_error {
|
macro_rules! arg_error {
|
||||||
|
|
34
build_system/usage.txt
Normal file
34
build_system/usage.txt
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
The build system of cg_clif.
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
./y.rs prepare [--out-dir DIR]
|
||||||
|
./y.rs build [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
||||||
|
./y.rs test [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
||||||
|
./y.rs bench [--debug] [--sysroot none|clif|llvm] [--out-dir DIR] [--no-unstable-features]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--debug
|
||||||
|
Build cg_clif and the standard library in debug mode rather than release mode.
|
||||||
|
Warning: An unoptimized cg_clif is very slow.
|
||||||
|
|
||||||
|
--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.
|
||||||
|
|
||||||
|
--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.
|
||||||
|
|
||||||
|
REQUIREMENTS:
|
||||||
|
* Rustup: The build system has a hard coded dependency on rustup to install the right nightly
|
||||||
|
version and make sure it is used where necessary.
|
||||||
|
* Git: `./y.rs prepare` uses git for applying patches and on Windows for downloading test repos.
|
||||||
|
* Curl and tar (non-Windows only): Used by `./y.rs prepare` to download a single commit for
|
||||||
|
repos. Git will be used to clone the whole repo when using Windows.
|
||||||
|
* [Hyperfine](https://github.com/sharkdp/hyperfine/): Used for benchmarking with `./y.rs bench`.
|
Loading…
Add table
Add a link
Reference in a new issue