@@ -81,13 +81,13 @@ $ RUST_BACKTRACE=1 rustc ...
81
81
## The Build System
82
82
83
83
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.
88
85
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 ] .
91
91
92
92
[ mkdir ] : https://github.com/rust-lang/rust/tree/master/mk/
93
93
@@ -106,9 +106,12 @@ There are large number of options accepted by this script to alter the
106
106
configuration used later in the build process. Some options to note:
107
107
108
108
- ` --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)
109
111
- ` --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)
111
113
- ` --enable-ccache ` - Invoke clang/gcc with ccache to re-use object files between builds
114
+ - ` --enable-compiler-docs ` - Build compiler documentation
112
115
113
116
To see a full list of options, run ` ./configure --help ` .
114
117
@@ -131,6 +134,7 @@ Some common make targets are:
131
134
rpass test with the stage1 compiler (this will be quicker than running the
132
135
command above as we only build the stage1 compiler, not the entire thing).
133
136
You can also leave off the ` -rpass ` to run all stage1 test types.
137
+ - ` make check-stage1-coretest ` - Run stage1 tests in ` libcore ` .
134
138
135
139
## Pull Requests
136
140
0 commit comments