Skip to content

Commit 67265e4

Browse files
committed
---
yaml --- r: 273047 b: refs/heads/beta c: 9cc3bfc h: refs/heads/master i: 273045: 0a29502 273043: 080cca7 273039: 5cbaf86
1 parent 45358c2 commit 67265e4

Some content is hidden

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

87 files changed

+477
-1187
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: f1d6f126effd61c21c2134751b75b6e8924d65e3
26+
refs/heads/beta: 9cc3bfccebf60a214902f53074eea1b9a83d44f6
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/mk/crates.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ TOOL_DEPS_error_index_generator := rustdoc syntax serialize
126126
TOOL_SOURCE_compiletest := $(S)src/compiletest/compiletest.rs
127127
TOOL_SOURCE_rustdoc := $(S)src/driver/driver.rs
128128
TOOL_SOURCE_rustc := $(S)src/driver/driver.rs
129-
TOOL_SOURCE_rustbook := $(S)src/tools/rustbook/main.rs
130-
TOOL_SOURCE_error_index_generator := $(S)src/tools/error_index_generator/main.rs
129+
TOOL_SOURCE_rustbook := $(S)src/rustbook/main.rs
130+
TOOL_SOURCE_error_index_generator := $(S)src/error_index_generator/main.rs
131131

132132
ONLY_RLIB_core := 1
133133
ONLY_RLIB_libc := 1

branches/beta/src/bootstrap/Cargo.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ path = "main.rs"
1515
name = "rustc"
1616
path = "rustc.rs"
1717

18-
[[bin]]
19-
name = "rustdoc"
20-
path = "rustdoc.rs"
21-
2218
[dependencies]
2319
build_helper = { path = "../build_helper" }
2420
cmake = "0.1.10"

branches/beta/src/bootstrap/build/check.rs

Lines changed: 0 additions & 21 deletions
This file was deleted.

branches/beta/src/bootstrap/build/compile.rs

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use std::process::Command;
1616
use build_helper::output;
1717

1818
use build::util::{exe, staticlib, libdir, mtime, is_dylib};
19-
use build::{Build, Compiler, Mode};
19+
use build::{Build, Compiler};
2020

2121
/// Build the standard library.
2222
///
@@ -39,10 +39,9 @@ pub fn std<'a>(build: &'a Build, stage: u32, target: &str,
3939

4040
build_startup_objects(build, target, &libdir);
4141

42-
let out_dir = build.cargo_out(stage, &host, Mode::Libstd, target);
42+
let out_dir = build.cargo_out(stage, &host, true, target);
4343
build.clear_if_dirty(&out_dir, &build.compiler_path(compiler));
44-
let mut cargo = build.cargo(stage, compiler, Mode::Libstd, Some(target),
45-
"build");
44+
let mut cargo = build.cargo(stage, compiler, true, target, "build");
4645
cargo.arg("--features").arg(build.std_features())
4746
.arg("--manifest-path")
4847
.arg(build.src.join("src/rustc/std_shim/Cargo.toml"));
@@ -72,7 +71,7 @@ pub fn std_link(build: &Build,
7271
compiler: &Compiler,
7372
host: &str) {
7473
let libdir = build.sysroot_libdir(stage, host, target);
75-
let out_dir = build.cargo_out(stage, compiler.host, Mode::Libstd, target);
74+
let out_dir = build.cargo_out(stage, compiler.host, true, target);
7675

7776
// If we're linking one compiler host's output into another, then we weren't
7877
// called from the `std` method above. In that case we clean out what's
@@ -136,15 +135,19 @@ pub fn rustc<'a>(build: &'a Build, stage: u32, target: &str,
136135
println!("Building stage{} compiler artifacts ({} -> {})", stage,
137136
host, target);
138137

139-
let out_dir = build.cargo_out(stage, &host, Mode::Librustc, target);
138+
let out_dir = build.cargo_out(stage, &host, false, target);
140139
build.clear_if_dirty(&out_dir, &libstd_shim(build, stage, &host, target));
141140

142-
let mut cargo = build.cargo(stage, compiler, Mode::Librustc, Some(target),
143-
"build");
144-
cargo.arg("--features").arg(build.rustc_features())
141+
let mut cargo = build.cargo(stage, compiler, false, target, "build");
142+
cargo.arg("--features").arg(build.rustc_features(stage))
145143
.arg("--manifest-path")
146144
.arg(build.src.join("src/rustc/Cargo.toml"));
147145

146+
// In stage0 we may not need to build as many executables
147+
if stage == 0 {
148+
cargo.arg("--bin").arg("rustc");
149+
}
150+
148151
// Set some configuration variables picked up by build scripts and
149152
// the compiler alike
150153
cargo.env("CFG_RELEASE", &build.release)
@@ -197,14 +200,14 @@ pub fn rustc_link(build: &Build,
197200
compiler: &Compiler,
198201
host: &str) {
199202
let libdir = build.sysroot_libdir(stage, host, target);
200-
let out_dir = build.cargo_out(stage, compiler.host, Mode::Librustc, target);
203+
let out_dir = build.cargo_out(stage, compiler.host, false, target);
201204
add_to_sysroot(&out_dir, &libdir);
202205
}
203206

204207
/// Cargo's output path for the standard library in a given stage, compiled
205208
/// by a particular compiler for the specified target.
206209
fn libstd_shim(build: &Build, stage: u32, host: &str, target: &str) -> PathBuf {
207-
build.cargo_out(stage, host, Mode::Libstd, target).join("libstd_shim.rlib")
210+
build.cargo_out(stage, host, true, target).join("libstd_shim.rlib")
208211
}
209212

210213
fn compiler_file(compiler: &Path, file: &str) -> String {
@@ -236,8 +239,7 @@ pub fn assemble_rustc(build: &Build, stage: u32, host: &str) {
236239
}
237240
}
238241

239-
let out_dir = build.cargo_out(stage - 1, &build.config.build,
240-
Mode::Librustc, host);
242+
let out_dir = build.cargo_out(stage - 1, &build.config.build, false, host);
241243

242244
// Link the compiler binary itself into place
243245
let rustc = out_dir.join(exe("rustc", host));
@@ -296,27 +298,3 @@ fn add_to_sysroot(out_dir: &Path, sysroot_dst: &Path) {
296298
sysroot_dst.join(path.file_name().unwrap())));
297299
}
298300
}
299-
300-
/// Build a tool in `src/tools`
301-
///
302-
/// This will build the specified tool with the specified `host` compiler in
303-
/// `stage` into the normal cargo output directory.
304-
pub fn tool(build: &Build, stage: u32, host: &str, tool: &str) {
305-
println!("Building stage{} tool {} ({})", stage, tool, host);
306-
307-
let compiler = Compiler::new(stage, host);
308-
309-
// FIXME: need to clear out previous tool and ideally deps, may require
310-
// isolating output directories or require a pseudo shim step to
311-
// clear out all the info.
312-
//
313-
// Maybe when libstd is compiled it should clear out the rustc of the
314-
// corresponding stage?
315-
// let out_dir = build.cargo_out(stage, &host, Mode::Librustc, target);
316-
// build.clear_if_dirty(&out_dir, &libstd_shim(build, stage, &host, target));
317-
318-
let mut cargo = build.cargo(stage, &compiler, Mode::Tool, None, "build");
319-
cargo.arg("--manifest-path")
320-
.arg(build.src.join(format!("src/tools/{}/Cargo.toml", tool)));
321-
build.run(&mut cargo);
322-
}

branches/beta/src/bootstrap/build/doc.rs

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
use std::path::Path;
1112
use std::fs::{self, File};
1213
use std::io::prelude::*;
13-
use std::path::Path;
14-
use std::process::Command;
1514

16-
use build::{Build, Compiler, Mode};
17-
use build::util::{up_to_date, cp_r};
15+
use build::{Build, Compiler};
16+
use build::util::up_to_date;
1817

1918
pub fn rustbook(build: &Build, stage: u32, host: &str, name: &str, out: &Path) {
2019
t!(fs::create_dir_all(out));
@@ -70,7 +69,7 @@ pub fn standalone(build: &Build, stage: u32, host: &str, out: &Path) {
7069
}
7170

7271
let html = out.join(filename).with_extension("html");
73-
let rustdoc = build.rustdoc(&compiler);
72+
let rustdoc = build.tool(&compiler, "rustdoc");
7473
if up_to_date(&path, &html) &&
7574
up_to_date(&footer, &html) &&
7675
up_to_date(&favicon, &html) &&
@@ -80,7 +79,7 @@ pub fn standalone(build: &Build, stage: u32, host: &str, out: &Path) {
8079
continue
8180
}
8281

83-
let mut cmd = Command::new(&rustdoc);
82+
let mut cmd = build.tool_cmd(&compiler, "rustdoc");
8483
cmd.arg("--html-after-content").arg(&footer)
8584
.arg("--html-before-content").arg(&version_info)
8685
.arg("--html-in-header").arg(&favicon)
@@ -103,52 +102,3 @@ pub fn standalone(build: &Build, stage: u32, host: &str, out: &Path) {
103102
build.run(&mut cmd);
104103
}
105104
}
106-
107-
pub fn std(build: &Build, stage: u32, host: &str, out: &Path) {
108-
println!("Documenting stage{} std ({})", stage, host);
109-
let compiler = Compiler::new(stage, host);
110-
let out_dir = build.stage_out(stage, host, Mode::Libstd)
111-
.join(host).join("doc");
112-
let rustdoc = build.rustdoc(&compiler);
113-
114-
build.clear_if_dirty(&out_dir, &rustdoc);
115-
116-
let mut cargo = build.cargo(stage, &compiler, Mode::Libstd, Some(host),
117-
"doc");
118-
cargo.arg("--manifest-path")
119-
.arg(build.src.join("src/rustc/std_shim/Cargo.toml"))
120-
.arg("--features").arg(build.std_features());
121-
build.run(&mut cargo);
122-
cp_r(&out_dir, out)
123-
}
124-
125-
pub fn rustc(build: &Build, stage: u32, host: &str, out: &Path) {
126-
println!("Documenting stage{} compiler ({})", stage, host);
127-
let compiler = Compiler::new(stage, host);
128-
let out_dir = build.stage_out(stage, host, Mode::Librustc)
129-
.join(host).join("doc");
130-
let rustdoc = build.rustdoc(&compiler);
131-
if !up_to_date(&rustdoc, &out_dir.join("rustc/index.html")) {
132-
t!(fs::remove_dir_all(&out_dir));
133-
}
134-
let mut cargo = build.cargo(stage, &compiler, Mode::Librustc, Some(host),
135-
"doc");
136-
cargo.arg("--manifest-path")
137-
.arg(build.src.join("src/rustc/Cargo.toml"))
138-
.arg("--features").arg(build.rustc_features());
139-
build.run(&mut cargo);
140-
cp_r(&out_dir, out)
141-
}
142-
143-
pub fn error_index(build: &Build, stage: u32, host: &str, out: &Path) {
144-
println!("Documenting stage{} error index ({})", stage, host);
145-
let compiler = Compiler::new(stage, host);
146-
let mut index = Command::new(build.tool(&compiler, "error_index_generator"));
147-
index.arg("html");
148-
index.arg(out.join("error-index.html"));
149-
150-
// FIXME: shouldn't have to pass this env var
151-
index.env("CFG_BUILD", &build.config.build);
152-
153-
build.run(&mut index);
154-
}

0 commit comments

Comments
 (0)