Skip to content

Commit 3fc8304

Browse files
authored
Auto merge of #37597 - alexcrichton:rollup, r=alexcrichton
Rollup of 24 pull requests - Successful merges: #37255, #37317, #37408, #37410, #37422, #37427, #37470, #37501, #37537, #37556, #37557, #37564, #37565, #37566, #37569, #37574, #37577, #37579, #37583, #37585, #37586, #37587, #37589, #37596 - Failed merges: #37521, #37547
2 parents cae6ab1 + bdacb63 commit 3fc8304

File tree

195 files changed

+4360
-2972
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

195 files changed

+4360
-2972
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ ones from MSYS if you have it installed). You'll also need Visual Studio 2013 or
127127
newer with the C++ tools. Then all you need to do is to kick off rustbuild.
128128
129129
```
130-
python .\src\bootstrap\bootstrap.py
130+
python x.py build
131131
```
132132
133133
Currently rustbuild only works with some known versions of Visual Studio. If you
@@ -137,7 +137,7 @@ by manually calling the appropriate vcvars file before running the bootstrap.
137137
138138
```
139139
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
140-
python .\src\bootstrap\bootstrap.py
140+
python x.py build
141141
```
142142
143143
## Building Documentation

RELEASES.md

+27
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
Version 1.12.1 (2016-10-20)
2+
===========================
3+
4+
Regression Fixes
5+
----------------
6+
7+
* [ICE: 'rustc' panicked at 'assertion failed: concrete_substs.is_normalized_for_trans()' #36381][36381]
8+
* [Confusion with double negation and booleans][36856]
9+
* [rustc 1.12.0 fails with SIGSEGV in release mode (syn crate 0.8.0)][36875]
10+
* [Rustc 1.12.0 Windows build of `ethcore` crate fails with LLVM error][36924]
11+
* [1.12.0: High memory usage when linking in release mode with debug info][36926]
12+
* [Corrupted memory after updated to 1.12][36936]
13+
* ["Let NullaryConstructor = something;" causes internal compiler error: "tried to overwrite interned AdtDef"][37026]
14+
* [Fix ICE: inject bitcast if types mismatch for invokes/calls/stores][37112]
15+
* [debuginfo: Handle spread_arg case in MIR-trans in a more stable way.][37153]
16+
17+
[36381]: https://github.com/rust-lang/rust/issues/36381
18+
[36856]: https://github.com/rust-lang/rust/issues/36856
19+
[36875]: https://github.com/rust-lang/rust/issues/36875
20+
[36924]: https://github.com/rust-lang/rust/issues/36924
21+
[36926]: https://github.com/rust-lang/rust/issues/36926
22+
[36936]: https://github.com/rust-lang/rust/issues/36936
23+
[37026]: https://github.com/rust-lang/rust/issues/37026
24+
[37112]: https://github.com/rust-lang/rust/issues/37112
25+
[37153]: https://github.com/rust-lang/rust/issues/37153
26+
27+
128
Version 1.12.0 (2016-09-29)
229
===========================
330

configure

-7
Original file line numberDiff line numberDiff line change
@@ -868,13 +868,6 @@ then
868868
fi
869869
fi
870870

871-
if [ -n "$CFG_GDB" ]
872-
then
873-
# Store GDB's version
874-
CFG_GDB_VERSION=$($CFG_GDB --version 2>/dev/null | head -1)
875-
putvar CFG_GDB_VERSION
876-
fi
877-
878871
if [ -n "$CFG_LLDB" ]
879872
then
880873
# Store LLDB's version

mk/main.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ CFG_INFO := $(info cfg: disabling unstable features (CFG_DISABLE_UNSTABLE_FEATUR
372372
# Turn on feature-staging
373373
export CFG_DISABLE_UNSTABLE_FEATURES
374374
# Subvert unstable feature lints to do the self-build
375-
export RUSTC_BOOTSTRAP
375+
export RUSTC_BOOTSTRAP=1
376376
endif
377377
ifdef CFG_MUSL_ROOT
378378
export CFG_MUSL_ROOT

mk/tests.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) = \
648648
--host $(3) \
649649
--docck-python $$(CFG_PYTHON) \
650650
--lldb-python $$(CFG_LLDB_PYTHON) \
651-
--gdb-version="$(CFG_GDB_VERSION)" \
651+
--gdb="$(CFG_GDB)" \
652652
--lldb-version="$(CFG_LLDB_VERSION)" \
653653
--llvm-version="$$(LLVM_VERSION_$(3))" \
654654
--android-cross-path=$(CFG_ARM_LINUX_ANDROIDEABI_NDK) \

src/Cargo.lock

+7-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/bootstrap/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ num_cpus = "0.2"
2727
toml = "0.1"
2828
getopts = "0.2"
2929
rustc-serialize = "0.3"
30-
gcc = { git = "https://github.com/alexcrichton/gcc-rs" }
30+
gcc = "0.3.36"
3131
libc = "0.2"
3232
md5 = "0.1"
3333

src/bootstrap/README.md

+59-11
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,72 @@ system.
1010
1111
## Using rustbuild
1212

13-
When configuring Rust via `./configure`, pass the following to enable building
14-
via this build system:
13+
The rustbuild build system has a primary entry point, a top level `x.py` script:
1514

1615
```
17-
./configure --enable-rustbuild
18-
make
16+
python ./x.py build
1917
```
2018

21-
Afterwards the `Makefile` which is generated will have a few commands like
22-
`make check`, `make tidy`, etc. For finer-grained control, the
23-
`bootstrap.py` entry point can be used:
19+
Note that if you're on Unix you should be able to execute the script directly:
2420

2521
```
26-
python src/bootstrap/bootstrap.py
22+
./x.py build
2723
```
2824

29-
This accepts a number of options like `--stage` and `--step` which can configure
30-
what's actually being done.
25+
The script accepts commands, flags, and filters to determine what to do:
26+
27+
* `build` - a general purpose command for compiling code. Alone `build` will
28+
bootstrap the entire compiler, and otherwise arguments passed indicate what to
29+
build. For example:
30+
31+
```
32+
# build the whole compiler
33+
./x.py build
34+
35+
# build the stage1 compier
36+
./x.py build --stage 1
37+
38+
# build stage0 libstd
39+
./x.py build --stage 0 src/libstd
40+
41+
# build a particular crate in stage0
42+
./x.py build --stage 0 src/libtest
43+
```
44+
45+
* `test` - a command for executing unit tests. Like the `build` command this
46+
will execute the entire test suite by default, and otherwise it can be used to
47+
select which test suite is run:
48+
49+
```
50+
# run all unit tests
51+
./x.py test
52+
53+
# execute the run-pass test suite
54+
./x.py test src/test/run-pass
55+
56+
# execute only some tests in the run-pass test suite
57+
./x.py test src/test/run-pass --filter my-filter
58+
59+
# execute tests in the standard library in stage0
60+
./x.py test --stage 0 src/libstd
61+
62+
# execute all doc tests
63+
./x.py test src/doc
64+
```
65+
66+
* `doc` - a command for building documentation. Like above can take arguments
67+
for what to document.
68+
69+
If you're more used to `./configure` and `make`, however, then you can also
70+
configure the build system to use rustbuild instead of the old makefiles:
71+
72+
```
73+
./configure --enable-rustbuild
74+
make
75+
```
76+
77+
Afterwards the `Makefile` which is generated will have a few commands like
78+
`make check`, `make tidy`, etc.
3179

3280
## Configuring rustbuild
3381

@@ -47,7 +95,7 @@ being invoked manually (via the python script).
4795
The rustbuild build system goes through a few phases to actually build the
4896
compiler. What actually happens when you invoke rustbuild is:
4997

50-
1. The entry point script, `src/bootstrap/bootstrap.py` is run. This script is
98+
1. The entry point script, `x.py` is run. This script is
5199
responsible for downloading the stage0 compiler/Cargo binaries, and it then
52100
compiles the build system itself (this folder). Finally, it then invokes the
53101
actual `bootstrap` binary build system.

src/bootstrap/bootstrap.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -399,12 +399,10 @@ def main():
399399

400400
# Run the bootstrap
401401
args = [os.path.join(rb.build_dir, "bootstrap/debug/bootstrap")]
402-
args.append('--src')
403-
args.append(rb.rust_root)
404-
args.append('--build')
405-
args.append(rb.build)
406402
args.extend(sys.argv[1:])
407403
env = os.environ.copy()
404+
env["BUILD"] = rb.build
405+
env["SRC"] = rb.rust_root
408406
env["BOOTSTRAP_PARENT_ID"] = str(os.getpid())
409407
rb.run(args, env)
410408

0 commit comments

Comments
 (0)