Skip to content

Commit 6fd728d

Browse files
committed
Updated to reflect comments from review
- Tweaked the build system intro paragraph - Added some more configure options & explanations - Added additional make target
1 parent dc6ed63 commit 6fd728d

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

CONTRIBUTING.md

+11-7
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ $ RUST_BACKTRACE=1 rustc ...
8181
## The Build System
8282

8383
The build system for Rust is complex. It covers bootstrapping the compiler,
84-
running tests, building documentation and more. Unless you are familiar with
85-
Makefiles, I wouldn't suggest trying to understand everything going on in
86-
Rust's setup - there's a lot there, and you can get lost trying to understand
87-
it all.
84+
running tests, building documentation and more.
8885

89-
If Makefiles are your thing, though, all the configuration lives in
90-
[the `mk` directory][mkdir] in the project root.
86+
If Makefiles are your thing, all the configuration lives in
87+
[the `mk` directory][mkdir] in the project root. Is can be hard to follow
88+
in places, as it uses some advanced Make features which make for some
89+
challenging reading. If you have questions on the build system internals, try
90+
asking in [`#rust-internals`][pound-rust-internals].
9191

9292
[mkdir]: https://github.com/rust-lang/rust/tree/master/mk/
9393

@@ -106,9 +106,12 @@ There are large number of options accepted by this script to alter the
106106
configuration used later in the build process. Some options to note:
107107

108108
- `--enable-debug` - Build a debug version of the compiler (disables optimizations)
109+
- `--enable-optimize` - Enable optimizations (can be used with `--enable-debug`
110+
to make a debug build with optimizations)
109111
- `--disable-valgrind-rpass` - Don't run tests with valgrind
110-
- `--enable-clang` - Prefer clang to gcc for building dependencies (ie LLVM)
112+
- `--enable-clang` - Prefer clang to gcc for building dependencies (e.g., LLVM)
111113
- `--enable-ccache` - Invoke clang/gcc with ccache to re-use object files between builds
114+
- `--enable-compiler-docs` - Build compiler documentation
112115

113116
To see a full list of options, run `./configure --help`.
114117

@@ -131,6 +134,7 @@ Some common make targets are:
131134
rpass test with the stage1 compiler (this will be quicker than running the
132135
command above as we only build the stage1 compiler, not the entire thing).
133136
You can also leave off the `-rpass` to run all stage1 test types.
137+
- `make check-stage1-coretest` - Run stage1 tests in `libcore`.
134138

135139
## Pull Requests
136140

0 commit comments

Comments
 (0)