Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add prerequisite page #723

Merged
merged 2 commits into from
Jun 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- [Getting Started](./getting-started.md)
- [About the compiler team](./compiler-team.md)
- [How to Build and Run the Compiler](./building/how-to-build-and-run.md)
- [Prerequisites](./building/prerequisites.md)
- [Suggested Workflows](./building/suggested.md)
- [Bootstrapping](./building/bootstrapping.md)
- [Distribution artifacts](./building/build-install-distribution-artifacts.md)
Expand Down
55 changes: 54 additions & 1 deletion src/building/prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
# Prerequisites

** Coming Soon: https://github.com/rust-lang/rustc-dev-guide/pull/723 **
## Dependencies

Before building the compiler, you need the following things installed:

* `g++` 5.1 or later or `clang++` 3.5 or later
* `python` 3 or 2.7
* GNU `make` 3.81 or later
* `cmake` 3.4.3 or later
* `curl`
* `git`
* `ssl` which comes in `libssl-dev` or `openssl-devel`
* `pkg-config` if you are compiling on Linux and targeting Linux

Additionally, if you want to build `rustc` with your system's LLVM, you will
need `llvm-config`. See [this section for more info][sysllvm].

[sysllvm]: ./suggested.md#building-with-system-llvm

## Hardware

These are not so much requirements as _recommendations_:

* ~15GB of free disk space (~25GB or more if doing incremental builds).
* >= 8GB RAM
* >= 4 cores
* Internet access

Beefier machines will lead to much faster builds. If your machine is not very
powerful, a common strategy is to only use `./x.py check` on your local machine
and let the CI build test your changes when you push to a PR branch.

## `rustc` and toolchain installation

Follow the installation given in the [Rust book][install] to install a working
`rustc` and the necessary C/++ toolchain on your platform.

[install]: https://doc.rust-lang.org/book/ch01-01-installation.html

## Platform specific instructions

### Windows

* Install [winget](https://github.com/microsoft/winget-cli)

Run the following in a terminal:

```
winget install python
winget install cmake
```

If any of those is installed already, winget will detect it.

Edit your systems `PATH` variable and add: `C:\Program Files\CMake\bin`.