Skip to content

Commit

Permalink
Update some out-of-date information
Browse files Browse the repository at this point in the history
  • Loading branch information
camelid authored and Joshua Nelson committed Feb 26, 2021
1 parent 033a1ea commit 07b5693
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/appendix/humorust.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
6 changes: 3 additions & 3 deletions src/backend/updating-llvm.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 2 additions & 8 deletions src/building/new-target.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,22 @@ 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.

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 ..
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
Expand Down
18 changes: 11 additions & 7 deletions src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/traits/chalk.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 07b5693

Please sign in to comment.