From e936b851b7c546a2f954aad65e8bfacfd2ae67c6 Mon Sep 17 00:00:00 2001 From: Florian Gilcher Date: Wed, 27 May 2020 23:20:18 +0200 Subject: [PATCH 1/2] Add prerequisite page --- src/SUMMARY.md | 1 + src/building/prerequisites.md | 28 +++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index c900070a4..b7439d0ea 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -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) diff --git a/src/building/prerequisites.md b/src/building/prerequisites.md index aa13c7524..9db18778d 100644 --- a/src/building/prerequisites.md +++ b/src/building/prerequisites.md @@ -1,3 +1,29 @@ # Prerequisites -** Coming Soon: https://github.com/rust-lang/rustc-dev-guide/pull/723 ** +Before building the compiler, you need the following things installed: + +* Python +* A C/C++ compiler toolchain +* cmake +* rustc + +## `rustc` and toolchain installation + +Follow the installation given in the [Rust book](https://doc.rust-lang.org/book/ch01-01-installation.html) to install a working `rustc` and the necessary C/++ toolchain on your platform. + +## 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`. From 071c59f87af88bad7f6d634a6bf5092b93835850 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 18 Jun 2020 12:35:15 -0500 Subject: [PATCH 2/2] address review comments --- src/building/prerequisites.md | 37 ++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/building/prerequisites.md b/src/building/prerequisites.md index 9db18778d..3224c6dab 100644 --- a/src/building/prerequisites.md +++ b/src/building/prerequisites.md @@ -1,15 +1,42 @@ # Prerequisites +## Dependencies + Before building the compiler, you need the following things installed: -* Python -* A C/C++ compiler toolchain -* cmake -* rustc +* `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](https://doc.rust-lang.org/book/ch01-01-installation.html) to install a working `rustc` and the necessary C/++ toolchain on your platform. +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