Commit Graph

247 Commits

Author SHA1 Message Date
sslime336 a04ad82e3c Change `./x.py` into `./x` 2023-06-30 23:11:14 +02:00
jyn 3630392566 Improve Windows docs 2023-06-29 10:05:10 -05:00
jyn 6de921aef4 Inline alternate x.py invocations from the rust-lang/rust readme
I'm going to make a follow-up PR shortly linking from rust-lang/rust to the dev guide so this info isn't duplicated.
2023-06-29 10:05:10 -05:00
Eric Huss 1b6f93987d Fix some links 2023-06-29 06:43:19 +02:00
Zachary Whiteley 93fc2f3c01 Include information about setup defaults in how-to-build guide (#1694) 2023-06-21 18:13:53 +09:00
clubby789 c07f051fa5 Add note about shell completion scripts 2023-05-17 21:44:05 -05:00
Brian Kung b8cf5aaaa0 Fix links in how-to-build-and-run.md (#1679) 2023-04-22 20:48:44 +09:00
Ezra Shaw 4a5e46f8ab docs: document new `suggest-tests` tool 2023-04-16 13:56:19 +02:00
jyn bea76af07d Clarify cfg(bootstrap) docs 2023-04-09 21:38:54 +02:00
jyn e379577fd0 Improve the landing page for contributing to the libstd docs (#1666) 2023-04-09 12:10:27 +09:00
y21 297817bf1f fix line length 2023-04-05 19:29:18 -05:00
y21 42b4a3b105 mention `git clone --depth` 2023-04-05 19:29:18 -05:00
Joshua Nelson 1fd8ddbdc2 add a few more TOC sections 2023-04-03 06:42:31 -05:00
Joshua Nelson 774a20130a Move some info from "Getting Started" to "How to build and run"
"Getting Started" is already *very* long; this shrinks it a bit, and
puts similar info closer together.
2023-04-03 06:42:31 -05:00
Shahar Dawn Or 266ca693c0 bootsrapping stages overview list 2023-03-23 15:36:00 +02:00
Thom Chiovoloni 31991ba0cb Rename `config.toml.example` to `config.example.toml` 2023-03-13 04:42:00 +02:00
clubby789 88a1bdd470 Fix Rust Analyzer settings location
This file was moved in https://github.com/rust-lang/rust/pull/108618
2023-03-08 00:21:21 +02:00
The 8472 54fe64b775 bootstrap now creates a usable toolchain when building stage0 std 2023-02-19 13:43:56 +01:00
Tshepang Mbambo a326b2525f impl review suggestion
See https://github.com/rust-lang/rustc-dev-guide/pull/1605#discussion_r1110388310
2023-02-18 05:04:44 +02:00
Tshepang Mbambo fcd74f99a3 lower-case "Compiler" in headings, for consistency (and looks) 2023-02-18 05:04:44 +02:00
clubby789 41680031f8 Add link to vscode settings in Rust repo (#1591) 2023-02-15 15:46:19 -03:00
Tshepang Mbambo 9f02d33a1c Fix a typo (#1597) 2023-02-14 15:43:48 +09:00
Christopher Smyth b4689c9511 Add Neovim configuration information (#1545)
* Add Neovim configuration information
The JSON provided for VSCode works with coc and nlsp-settings.
This is verified by
9d8bdb9290/README.md
for coc, and feeding the JSON in to this schema
215b537cfb/schemas/_generated/rust_analyzer.json
for validating nlsp-settings.

* Make the steps clear
First open a Rust buffer
Then update RA settings
If you don't open a buffer first then nothing will happen. This is because
the plugin makes a raw LSP RPC, so RA must be attached.

* Use separate sections for VSCode and Nvim
* Add a short section on the VSCode tasks.
2023-02-13 23:16:01 -06:00
clubby789 b4c465275c Replace settings.json with x.py setup note (#1588) 2023-02-08 14:26:58 -06:00
Onur 347b3633f1 update bootstrap guide (#1583)
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-02-04 16:53:38 -06:00
Nixon Enraght-Moony 69ef8a3924 Use host symlink for custom rustup toolchain 2023-02-04 01:01:48 +02:00
Zephaniah Ong 118246c17e Update rustfmt path
As per https://github.com/rust-lang/rust/pull/107297#discussion_r1092764740, the change broke the rust-analyzer config. Hence, changing the docs to match the new path
2023-02-01 18:59:30 -06:00
Tshepang Mbambo 343194d258 fix wrong heading level (#1573) 2023-02-01 07:29:15 +09:00
ozkanonur f0dbe6cec7 fix incorrect position of topic
Right now "Clarification of build command's stdout" topic
shows up under the "Environment Variables" which is not correct.
This commit aims to fix this problem.

Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-01-31 22:57:27 +02:00
ozkanonur 375adf22dc extend bootstrap related documentations
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-01-31 12:42:30 -06:00
jyn c154a90ec5 Link to the youtube recording of my talk, not the summary (#1554) 2023-01-13 07:46:15 +09:00
Albert Larsan d4ec98736e Change `src/test` to `tests` (#1547) 2023-01-13 07:31:47 +09:00
Joshua Nelson a1418a804c Update sentence about LLVM to match the new defaults 2022-12-31 23:20:21 -06:00
Joshua Nelson 91d2393626 Move information about dependencies to the rust-lang/rust readme
This avoids having to maintain the information in two places.
2022-12-31 23:20:21 -06:00
Joshua Nelson 966d6e97a7 Move "create a config.toml" after the section explaning x.py 2022-12-31 23:20:21 -06:00
Joshua Nelson b36e2ff71d Remove unnecessary detail in building chapter
Most of these details were not helpful or necessary for building the compiler for the first time.
This section comes very early in the guide and is meant to be a tutorial, so being concise is very important.
2022-12-31 23:20:21 -06:00
Joshua Nelson 84eea0d580 Remove initial section on submodules
It's not necessary and it takes up valuable space at the very start of the guide.
2022-12-31 23:20:21 -06:00
Joshua Nelson bd26e3aae5 Replace `$TARGET` with `host`
This avoids having to manually modify the configuration in the docs.
2022-12-31 18:23:52 -06:00
Joshua Nelson 5d2d898534 Fix broken link
Co-authored-by: Noah Lev <camelidcamel@gmail.com>
2022-11-28 19:00:24 -08:00
Joshua Nelson 4f846480db Don't use "incremental" to refer to `--keep-stage`
`-C incremental` is sound and --keep-stage is not.
2022-11-28 19:00:24 -08:00
Joshua Nelson 19df867789 Link directly to the section on `--keep-stage` 2022-11-28 19:00:24 -08:00
Noah Lev 010ab13460 Triage some date-check items (#1513) 2022-11-26 22:25:58 +09:00
Chris Denton ffec7d7474 Remove `--bless` from pre-push hook suggestion
According to 8873e33806

> Running with --bless causes the push to succeed if there are fixable
formatting changes, but the changes don't make it into the push.
>
> We should have the user rerun with --bless (or x.py fmt) and commit the
changes themselves (they might want to amend a particular commit, for
instance).
2022-10-27 20:36:34 +02:00
Lukas Wirth 2cfe23241b Update rust-analyzer suggestions (#1487) 2022-10-24 19:41:55 +09:00
Sergio de Carvalho 94dec079f7 Add missing prerequisite for some Linux distros (#1481) 2022-10-12 08:52:48 +09:00
Lukas Wirth 21a8552e40 Update r-a config suggestions
The proc-macro server path is required for proc-macros to properly work in r-a when working on rustc.
Pointing the sysroot to the stage0 one is more correct than using the system installed one.
2022-10-01 15:48:54 -05:00
Waffle Maybe b18b3edd4d Add a note about building `rust-analyzer-proc-macro-srv` (#1467) 2022-09-19 15:50:02 +09:00
Tshepang Mbambo cf7c209ce2 remove stray ** 2022-09-14 09:09:28 -07:00
Joshua Nelson 5fe399e27f fix typos and formatting
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2022-09-12 18:48:21 -05:00
Joshua Nelson 277044dea7 Say "bootstrap" instead of "rustbuild"; the latter is not explained anywhere and is not much more clear. 2022-09-12 18:48:21 -05:00
Joshua Nelson dd57806c2b Rewrite the section on passing flags to subcommands
- Move the reference for directories and actions to the very end; it's the most rare to need to know
- Add `RUSTDOCFLAGS*`, `CARGOFLAGS*`, `-vvv`, and `--test-args`
- Remove the incorrect `--on-fail` command
2022-09-12 18:48:21 -05:00
Joshua Nelson 7bda73f627 Remove the diagram of all outputs generated by x.py
These are already present in the table below, there's no need to repeat it.
Having it near the middle of the page makes it feel more overwhelming.
2022-09-12 18:48:21 -05:00
Joshua Nelson 150bafb8d0 "symbol names" => ABI
ABI is more general and gives a better idea of what goes wrong.
2022-09-12 18:48:21 -05:00
Samyak Sarnayak e1b4fba955 Add reference for updating Windows PATH and fix typo
Yes, the reference is a page on Java's documentation but that's the most complete and most official looking reference I could find.
2022-09-03 06:11:07 +02:00
Eric Huss 4123cb2cd9 Update for removal of RLS (#1450) 2022-09-02 23:03:15 +09:00
Tshepang Mbambo ea43d6b258 typo 2022-08-27 06:25:51 +02:00
Micah Weston 39fa4dbe24 Updates text to refer to LLVM documentation. 2022-08-27 06:25:51 +02:00
Micah Weston 55b49dbc3b Updates LLVM prereqs since upgrade to C++17. 2022-08-27 06:25:51 +02:00
Noah Lev 04b006fd12 Fix legend colors in dark mode 2022-08-09 16:47:22 -05:00
Noah Lev 31e4869545 Add color for downloaded nodes 2022-08-09 16:44:20 -05:00
Noah Lev 27512fd7ff Add colors to diagram 2022-08-09 16:44:20 -05:00
Noah Lev ebad7d357a Add bootstrapping diagram
This diagram is based on the diagram in Joshua Nelson's talk on
bootstrapping at RustConf 2022 [1]. I converted it to Mermaid and made
some tweaks to simplify it and bring it closer to bootstrap's
terminology, and then Ralf Jung added nodes for copying artifacts.

[1]: https://rustconf.com/schedule#bootstrapping-the-once-and-future-compiler

Co-authored-by: Joshua Nelson <github@jyn.dev>
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-08-09 16:44:20 -05:00
Tshepang Mbambo 8194045511 make date-check more lightweight (#1394)
* make date-check lightweight

This avoids having to write the date twice when updating date-check.

Before "As of <-- 2022-07 --> July 2022"
After "As of July 2022"

* please clippy

* update date-check docs

* accept review suggestion

Co-authored-by: Noah Lev <camelidcamel@gmail.com>

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#pullrequestreview-1042163557

* accept review suggestion

Co-authored-by: Noah Lev <camelidcamel@gmail.com>

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#pullrequestreview-1042167261

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#issuecomment-1189105017

* this breaks markdown

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018268

This led to a more robust regex, though making the tool more picky.
It also found a wrong date format that was missed.

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018419

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018816

* accept review suggestion

This was reverted by mistake

Co-authored-by: Noah Lev <camelidcamel@gmail.com>

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934019395

* use a more simple fn

* address review comment

https://github.com/rust-lang/rustc-dev-guide/pull/1394#discussion_r934018981

Much more clean

* nit

* accept review suggestion

Co-authored-by: Noah Lev <camelidcamel@gmail.com>

* avoid a failed regex

Also, test new shape

* adjust to new regex (which uses named groups)

New regex was introduced by 456008cc35

Co-authored-by: Noah Lev <camelidcamel@gmail.com>
2022-08-02 13:50:32 -07:00
Tshepang Mbambo c3aca0df58 address review comment
https://github.com/rust-lang/rustc-dev-guide/pull/1402#discussion_r933905339
2022-07-31 07:46:57 +02:00
Tshepang Mbambo 57401f4f39 accept review suggestion
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-07-31 07:46:57 +02:00
Tshepang Mbambo 1046f3e6e8 try address review comments 2022-07-31 07:46:57 +02:00
Tshepang Mbambo 6469d7444e summary of chapter 2022-07-31 07:46:57 +02:00
Tshepang Mbambo 0c77aa9c9e Update src/building/compiler-documenting.md
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2022-07-31 07:46:57 +02:00
Tshepang Mbambo 13a6ec809d revamp doc-build chapter 2022-07-31 07:46:57 +02:00
Tshepang Mbambo f354a7433b minor fixes 2022-07-30 19:54:34 -04:00
Yuki Okushi 769f69ca59 Prefer relative links
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-29 20:12:26 -04:00
Urgau 5b3ecceecc Add instructions to fix build errors in std after adding a new target 2022-07-29 17:13:46 -04:00
bstrie 3cf8dd467e Document how to build a cross-compiler 2022-07-26 11:07:55 -04:00
Tshepang Mbambo f55e5dfaa5 replace misleading name (#1401) 2022-07-19 15:56:24 +09:00
Tshepang Mbambo 061577567f use relative links
Used the following command, followed by some manual tweaking:

  sd 'https://rustc-dev-guide.rust-lang.org/(.+).html' '$1.md' (fd)
2022-07-17 02:32:44 +02:00
Tshepang Mbambo 767d2b1135 fix some typos (#1398) 2022-07-17 06:45:36 +09:00
Joshua Nelson d7ead280b4 Update the build instructions for the standard library
Since https://github.com/rust-lang/rust/pull/95503, `library/std` means
"build just std and its dependencies"; to get the old behavior that built
`proc_macro` and `test`, you need `x build library`.

- Update `library/std` to `library`
- Remove the `-i` suggestions; `incremental = true` is already the default for most profiles, in
  which case `-i` does nothing. If you don't have incremental enabled, I still think suggesting `-i`
  is bad idea, because it's easy to forget once, at which point you'll end up rebuilding the whole
  compiler / standard library.
- Remove a few repetitive sections and don't discuss incremental in such detail
  Incremental works well enough that it should "just work" for most people;
  I don't think it needs multiple paragraphs of explanation so early in the guide.
- Clarify that `test library/std` *only* tests libstd in a few places
2022-07-11 07:22:24 +02:00
Santiago Pastorino 570043de71 Revert "Add the config needed to get rust-analyzer working on src/bootstrap (#1381)"
This reverts commit d955bab63c.
2022-07-07 07:10:35 +02:00
Joshua Nelson 964a0c4390 Use `x.py check` instead of `cargo check` for build scripts (#1384)
Cargo check isn't supported and gives an error that CFG_CHANNEL is missing.
It also generates a new target dir and recompiles dependencies.
Use x.py instead, which avoids both issues.
2022-07-06 18:36:22 -03:00
Joshua Nelson 96c3ff376a Suggest a separate build directory for rust-analyzer (#1378) 2022-07-03 15:17:39 +09:00
Yutaro Ohno 32d3192152 Change the old filename, "src/stage0.txt" to "src/stage0.json" (#1383) 2022-07-03 15:10:25 +09:00
Joshua Nelson 2f2967866f Add the config needed to get rust-analyzer working on src/bootstrap (#1381) 2022-07-03 15:06:54 +09:00
Ralf Jung 3fea5da33d leave formatOnSave to the user (#1380) 2022-07-02 00:35:13 +09:00
Jonas Schievink d292267144 Make build scripts and proc macros work with the suggested rust-analyzer config (#1365) 2022-06-08 08:06:32 +09:00
Andrew Dona-Couch -- GitHub drop ICE 3552ec5286 Clarify cargo fallback behavior for rustup link (#1273) 2022-06-07 08:37:50 +09:00
Eric Huss 7d8e3fd2cd Add note about patching dependencies and warnings. (#1354) 2022-05-21 12:53:51 +09:00
Yuki Okushi 6ec2a84d4d Update some links and docs (#1340) 2022-05-17 07:54:45 +09:00
Waffle Maybe 0c88f29374 Fix configuration names for vscode/r-a (#1352) 2022-05-12 13:56:14 +09:00
Yutaro Ohno f76f69f603 Fix format (#1349) 2022-05-09 09:17:51 +09:00
Noah Lev a6a8701a86 r-a: Use `python3 x.py` instead of `./x.py` (#1335) 2022-04-09 17:31:23 +09:00
skippy10110 16d33733da update winget install instructions to ensure proper packages are installed (-e for --exact, and full package names to ensure arbitrary packages from the msstore source aren't installed)
fixes #1324
2022-03-14 08:40:37 -07:00
James Cole 1d9f534e4e Add architecture suggestion for Apple silicon (#1320) 2022-03-01 10:45:24 -06:00
Téo Bouvard 700361ae97 Fix typo (#1315) 2022-02-24 11:27:21 -08:00
Raoul Strackx 9a346dc04d Correction, building stage3 compiler (#1298) 2022-02-11 08:42:50 -05:00
Georgiy Komarov e3da6331dd Spelling: Rename `rust` to `Rust` (#1288) 2022-01-18 11:09:37 -03:00
Nicholas Nethercote 08019e25d1 Address more review comments in #1286. 2022-01-05 23:26:43 -06:00
Nicholas Nethercote e3512c8cd8 Streamline "Getting Started" some more.
This is a follow-up to #1279.

The "Getting Started" chapter is, TBH, pretty bad when it comes to the
stuff about building and testing. It has far too much detail and lots of
repetition, which would be overwhelming to a newcomer.

This commit removes most of it, leaving behind just quick mentions of
the most common `x.py` commands: `check`, `build`, `test`, `fmt`, with
links to the appropriate chapters for details. There were a few
interesting details that weren't covered elsewhere, so I moved those
into other chapters.
2022-01-05 23:26:43 -06:00
Noah Lev ce4ae4004c Update link to moved section (#1282)
The section was removed in #1030 and re-added in a different place in
2d42cf7.
2021-12-28 22:17:49 -06:00
Nicholas Nethercote 2c2ebc2fae Streamline "Getting Started" (#1279)
* Move `x.py` intro section before first use, and shorten it.

* Improve `x.py setup` docs.

In "Getting Started", strip it back to the bare minimum. Some of this is
moved into the later section.

In the later section, add notable details like config.toml.example how
and `profile` works. Also make the config.toml example more concise.

* Move details about the repository.

Less detail in "Getting Started", more in the later sections.

* Move details about the prereqs.

Less detail in "Getting Started", more in the later sections.
2021-12-24 12:52:31 -03:00
Lucas Kent 9074afb8da Improve 'Running tests manually' section 2021-11-27 03:45:39 -05:00