Update some out-of-date information
This commit is contained in:
parent
7fde8950cf
commit
4895d26d5e
|
|
@ -10,4 +10,4 @@ enlightening?
|
|||
- [Rust Koans](https://users.rust-lang.org/t/rust-koans/2408)
|
||||
- [`break rust;`](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=0ab2bd6a9d722e0f05a95e2a5dcf89cc)
|
||||
- [The Nomicon Intro](https://doc.rust-lang.org/stable/nomicon/)
|
||||
- [`rustc-ty` renaming punfest](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc-ty.20naming.20bikeshed.20.2F.20punfest.20(was.3A.20design.20meeting.202.2E.2E.2E/near/189906455 )
|
||||
- [`rustc-ty` renaming punfest](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rustc-ty.20naming.20bikeshed.20.2F.20punfest.20\(was.3A.20design.20meeting.202.2E.2E.2E/near/189906455)
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ Example PRs look like:
|
|||
|
||||
## Feature updates
|
||||
|
||||
> Note that this is all information as applies to the current day in age. This
|
||||
> process for updating LLVM changes with practically all LLVM updates, so this
|
||||
> may be out of date!
|
||||
> Note that this information is as of the time of this writing (December 2018
|
||||
> <!-- date: 2018-12 -->. The process for updating LLVM changes with practically
|
||||
> all LLVM updates, so this may be out of date!
|
||||
|
||||
Unlike bugfixes, updating to pick up a new feature of LLVM typically requires a
|
||||
lot more work. This is where we can't reasonably cherry-pick commits backwards
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ relevant to your desired goal.
|
|||
|
||||
For very new targets, you may need to use a different fork of LLVM
|
||||
than what is currently shipped with Rust. In that case, navigate to
|
||||
the `src/llvm_project` git submodule (you might need to run `x.py
|
||||
the `src/llvm-project` git submodule (you might need to run `x.py
|
||||
check` at least once so the submodule is updated), check out the
|
||||
appropriate commit for your fork, then commit that new submodule
|
||||
reference in the main Rust repository.
|
||||
|
|
@ -16,7 +16,7 @@ reference in the main Rust repository.
|
|||
An example would be:
|
||||
|
||||
```
|
||||
cd src/llvm_project
|
||||
cd src/llvm-project
|
||||
git remote add my-target-llvm some-llvm-repository
|
||||
git checkout my-target-llvm/my-branch
|
||||
cd ..
|
||||
|
|
@ -24,12 +24,6 @@ git add llvm_target
|
|||
git commit -m 'Use my custom LLVM'
|
||||
```
|
||||
|
||||
If you have a local LLVM checkout that is already built, you *may* be
|
||||
able to configure Rust to treat your build as the [system
|
||||
LLVM][sysllvm] to avoid redundant builds.
|
||||
|
||||
[sysllvm]: ./suggested.md#skipping-llvm-build
|
||||
|
||||
## Creating a target specification
|
||||
|
||||
You should start with a target JSON file. You can see the specification
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ recommend trying to build on a Raspberry Pi :P
|
|||
|
||||
Building the compiler takes more than half an hour on my moderately powerful
|
||||
laptop. The first time you build the compiler, LLVM will also be built unless
|
||||
you use your system's LLVM ([see below][configsec]).
|
||||
you use CI-built LLVM ([see below][configsec]).
|
||||
|
||||
[configsec]: #configuring-the-compiler
|
||||
|
||||
|
|
@ -123,17 +123,17 @@ The compiler has a configuration file which contains a ton of settings. We will
|
|||
provide some recommendations here that should work for most, but [check out
|
||||
this chapter for more info][config].
|
||||
|
||||
[config]: ./building/how-to-build-and-run.html#create-a-configtoml
|
||||
[config]: ./building/how-to-build-and-run.md#create-a-configtoml
|
||||
|
||||
In the top level of the repo:
|
||||
|
||||
```sh
|
||||
```console
|
||||
$ x.py setup
|
||||
```
|
||||
|
||||
This will walk you through an interactive setup for x.py that looks like this:
|
||||
|
||||
```
|
||||
```console
|
||||
$ x.py setup
|
||||
Welcome to the Rust project! What do you want to do with x.py?
|
||||
a) Contribute to the standard library
|
||||
|
|
@ -150,11 +150,15 @@ To get started, try one of the following commands:
|
|||
For more suggestions, see https://rustc-dev-guide.rust-lang.org/building/suggested.html
|
||||
```
|
||||
|
||||
You may also want to set up [system LLVM][sysllvm] to avoid building LLVM from source.
|
||||
Note that by default, `x.py setup` will use CI-built LLVM if available for your
|
||||
platform so that you don't need to build LLVM in addition to building the
|
||||
compiler. In some circumstances, such as when updating the version of LLVM used
|
||||
by `rustc`, you may want to temporarily disable this feature. See the ["Updating
|
||||
LLVM"] for more.
|
||||
|
||||
[sysllvm]: ./building/suggested.html#skipping-llvm-build
|
||||
["Updating LLVM"]: https://rustc-dev-guide.rust-lang.org/backend/updating-llvm.html?highlight=download-ci-llvm#feature-updates
|
||||
|
||||
### `./x.py` Intro
|
||||
### x.py Intro
|
||||
|
||||
`rustc` is a _bootstrapping_ compiler, which means that it is written in Rust
|
||||
and thus needs to be compiled by itself. So where do you
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ and designs for the trait system.
|
|||
|
||||
**rustc**. Once we are happy with the logical rules, we proceed to
|
||||
implementing them in rustc. We map our struct, trait, and impl declarations
|
||||
into logical inference rules in the [lowering module in rustc](./lowering-module.md).
|
||||
into logical inference rules in the lowering module in rustc.
|
||||
|
||||
[chalk]: https://github.com/rust-lang/chalk
|
||||
[rustc_traits]: https://github.com/rust-lang/rust/tree/master/compiler/rustc_traits
|
||||
|
|
|
|||
Loading…
Reference in New Issue