diff --git a/cranelift/.rustfmt.toml b/cranelift/.rustfmt.toml index e69de29bb2..8148fc6346 100644 --- a/cranelift/.rustfmt.toml +++ b/cranelift/.rustfmt.toml @@ -0,0 +1 @@ +# This file tells tools we use rustfmt. We use the default settings. diff --git a/cranelift/CONTRIBUTING.md b/cranelift/CONTRIBUTING.md index b5223d006b..a5f5aad334 100644 --- a/cranelift/CONTRIBUTING.md +++ b/cranelift/CONTRIBUTING.md @@ -27,12 +27,24 @@ We're happy to mentor people, whether you're learning Rust, learning about compiler backends, learning about machine code, learning about how Cranelift does things, or all together at once. -We tag issues in the issue tracker marked [good first issue] when we can, so -that's sometimes a good place to get started. Also, we encourage people to just -look around and find things they're interested in. This a good time to get -involved, as there aren't a lot of things set in stone yet. +We categorize issues in the issue tracker using a tag scheme inspired by +[Rust's issue tags]. For example, the [E-easy] marks good beginner issues, +and [E-rust] marks issues which likely require some familiarity with Rust, +though not necessarily Cranelift-specific or even compiler-specific +experience. [E-compiler-easy] marks issues good for beginners who have +some familiarity with compilers, or are interested in gaining some :-). -[good first issue]: https://github.com/CraneStation/cranelift/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 +See also the [full list of labels]. + +Also, we encourage people to just look around and find things they're +interested in. This a good time to get involved, as there aren't a lot of +things set in stone yet. + +[Rust's issue tags]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#issue-triage +[E-easy]: https://github.com/CraneStation/cranelift/labels/E-easy +[E-rust]: https://github.com/CraneStation/cranelift/labels/E-rust +[E-compiler-easy]: https://github.com/CraneStation/cranelift/labels/E-compiler-easy +[full list of labels]: https://github.com/CraneStation/cranelift/labels ### Code of Conduct diff --git a/cranelift/README.md b/cranelift/README.md index 9a409912df..0dc6b8d61f 100644 --- a/cranelift/README.md +++ b/cranelift/README.md @@ -29,9 +29,8 @@ platforms and the Windows x64 calling convention. The performance of code produced by Cranelift is not yet impressive, though we have plans to fix that. -The core codegen crates have minimal dependencies, support -[no\_std](#building-with-no-std) mode, and do not require any host -floating-point support. +The core codegen crates have minimal dependencies, support no\_std mode +(see below), and do not require any host floating-point support. Cranelift does not yet perform mitigations for Spectre or related security issues, though it may do so in the future. It does not @@ -74,10 +73,10 @@ to tell cargo to visit all of the crates. `test-all.sh` at the top level is a script which runs all the cargo tests and also performs code format, lint, and documentation checks. -Building with no\_std ---------------------- +
+Building with no_std -The following crates support \`no\_std\`: +The following crates support \`no\_std\`, although they do depend on liballoc: - cranelift-entity - cranelift-bforest - cranelift-codegen @@ -123,13 +122,19 @@ called hashmap\_core is pulled in (via the core feature). This is mostly the same as std::collections::HashMap, except that it doesn't have DOS protection. Just something to think about. -Building the documentation --------------------------- +
-To build the Cranelift documentation, you need the [Sphinx documentation +
+Building the documentation + +Cranelift's documentation is [published online](https://cranelift.readthedocs.io/). + +To build the documentation locally, you need the [Sphinx documentation generator](http://www.sphinx-doc.org/) as well as Python 3:: $ pip install sphinx sphinx-autobuild sphinx_rtd_theme $ cd cranelift/docs $ make html $ open _build/html/index.html + +