about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2017-07-04Clippy lintsMark Simulacrum-43/+37
2017-07-04Cleanup distMark Simulacrum-21/+11
2017-07-04Cleanup utilsMark Simulacrum-12/+3
2017-07-04Cleanup compile.rs.Mark Simulacrum-4/+6
2017-07-04Cleanups to check code.Mark Simulacrum-23/+18
2017-07-04Remove 'static lifetimes from channels.Mark Simulacrum-2/+2
2017-07-04Clean up and restructure sanity checking.Mark Simulacrum-77/+69
2017-07-04Don't allocate args in order to run find.Mark Simulacrum-10/+9
2017-07-02Auto merge of #43003 - milmazz:bootstrap-pep8, r=alexcrichtonbors-19/+34
bootstrap: Fix all the pep-8 issues reported by flake8 This commit also adds a few missing docstrings. Today, after reading this [article](https://blog.rust-lang.org/2017/06/27/Increasing-Rusts-Reach.html), I downloaded this project and started building from source. In the meantime, I began to read the `bootstrap.py`, to know more about the building process, and I made a few changes, this is my first contribution to the project, hope you like it. BTW, I have a few doubts about the `bootstrap.py`, any guidance is more than welcome: * Where can I find the unit tests for this script? In case it doesn't exist yet, do you like to include some unit tests with pytest? * Some methods like `fix_executable`, `get_string`, and `exe_suffix` in the `RustBuild` class should be converted to a function because it doesn't use `self` anywhere. What do you think?
2017-07-01Simplify print argumentsMilton Mazzarri-1/+1
2017-07-01Auto merge of #42977 - Keruspe:master, r=alexcrichtonbors-1/+1
rustbuild: set __CARGO_DEFAULT_LIB_METADATA to channel Also, update the cargo submodule to handle the new value.
2017-06-30bootstrap: Fix some PEP8 issuesMilton Mazzarri-19/+34
This commit also adds a few missing docstrings
2017-06-30rustc_llvm: re-run build script when env var LLVM_CONFIG changesVenkata Giri Reddy-4/+0
2017-06-30rustbuild: set __CARGO_DEFAULT_LIB_METADATA to channelMarc-Antoine Perennou-1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-06-24Auto merge of #42784 - tlively:wasm-bot, r=alexcrichtonbors-0/+3
Make wasm32 buildbot test LLVM backend This adds the experimental targets option to configure so it can be used by the builders and changes the wasm32 Dockerfile accordingly. Instead of using LLVM from the emsdk, the builder's emscripten tools now uses the Rust in-tree LLVM, since this is the one built with wasm support.
2017-06-22Make wasm32 buildbot test LLVM backendThomas Lively-0/+3
This adds the experimental targets option to configure so it can be used by the builders and changes the wasm32 Dockerfile accordingly. Instead of using LLVM from the emsdk, the builder's emscripten tools now uses the Rust in-tree LLVM, since this is the one built with wasm support.
2017-06-22Make Build.cxx() return a Result instead of panickingIan Douglas Scott-11/+14
2017-06-22Set CXX_<target> in bootstrapIan Douglas Scott-0/+1
2017-06-22Rollup merge of #42806 - ollie27:rustbuild_compiler_docs, r=alexcrichtonMark Simulacrum-5/+5
rustbuild: Fix compiler docs yet again Add support for `-Z force-unstable-if-unmarked` to rustdoc. r? @alexcrichton
2017-06-22Rollup merge of #42805 - stepancheg:forward-python, r=alexcrichtonMark Simulacrum-0/+8
Pass path to python from bootstrap.py to bootstrap.rs When bootstrap is executed with python not in `$PATH`, (e. g. `c:\Python27\python.exe x.py test`) bootstrap cannot find python and crashes. This commit passes path to python in `BOOTSTRAP_PYTHON` env var.
2017-06-22Rollup merge of #42804 - Mark-Simulacrum:rustbuild-colors, r=alexcrichtonMark Simulacrum-0/+41
Make rustc errors colorful. Rustbuild passes --message-format=json to Cargo to learn about the dependencies for a given build, which then makes Cargo steal the stderr/stdout for the compiler process, leading to non colorful output. To avoid this, detection of stderr being a tty is added to rustbuild, and an environment variable is used to communicate with the rustc shim. Fixes https://github.com/rust-lang/rust/issues/42801. r? @alexcrichton
2017-06-22Auto merge of #42785 - Mark-Simulacrum:fix-verbose-bootstrap, r=alexcrichtonbors-9/+9
Fixes bootstrapping with custom cargo/rustc. config.mk is now always read when parsing the configuration to prevent this from reoccurring in the future, hopefully. Fixes https://github.com/rust-lang/rust/issues/42543. r? @alexcrichton cc @infinity0 @kyrias
2017-06-21rustbuild: Fix compiler docs yet againOliver Middleton-5/+5
Add support for `-Z force-unstable-if-unmarked` to rustdoc.
2017-06-21Make rustc errors colorful.Mark Simulacrum-0/+41
Rustbuild passes --message-format=json to Cargo to learn about the dependencies for a given build, which then makes Cargo steal the stderr/stdout for the compiler process, leading to non colorful output. To avoid this, detection of stderr being a tty is added to rustbuild, and an environment variable is used to communicate with the rustc shim.
2017-06-21Pass path to python from bootstrap.py to bootstrap.rsStepan Koltsov-0/+8
When bootstrap is executed with python not in `$PATH`, (e. g. `c:\Python27\python.exe x.py test`) bootstrap cannot find python and crashes. This commit passes path to python in `BOOTSTRAP_PYTHON` env var.
2017-06-20Fixes bootstrapping with custom cargo/rustc.Mark Simulacrum-9/+9
config.mk is now always read when parsing the configuration to prevent this from reoccurring in the future, hopefully.
2017-06-20Switch to the crates.io `getopts` crateAlex Crichton-1/+0
This commit deletes the in-tree `getopts` crate in favor of the crates.io-based `getopts` crate. The main difference here is with a new builder-style API, but otherwise everything else remains relatively standard.
2017-06-20Auto merge of #42571 - tlively:wasm-dev, r=alexcrichtonbors-0/+17
Enable wasm LLVM backend Enables compilation to WebAssembly with the LLVM backend using the target triple "wasm32-unknown-unknown". This is the beginning of my work on #38804. **edit:** The new new target is now wasm32-experimental-emscripten instead of wasm32-unknown-unknown.
2017-06-19Bump version and stage0 compilerAlex Crichton-41/+5
2017-06-18Rollup merge of #42720 - murarth:deprecated-collections, r=alexcrichtonMark Simulacrum-1/+2
Reintroduce deprecated `collections` crate
2017-06-18Rollup merge of #42695 - Mark-Simulacrum:fix-verbose, r=alexcrichtonMark Simulacrum-9/+8
Use custom cargo/rustc paths when parsing flags. Fixes https://github.com/rust-lang/rust/issues/41779, probably also https://github.com/rust-lang/rust/issues/42543 (I think they're duplicates). I'm not entirely happy with the implementation, since it means we parse the configuration twice, but it's the minimal solution. I think the other choice is to move both calls to Config::parse inside Flags::parse and merge them, but I don't know if that's a good idea. r? @alexcrichton
2017-06-17Reintroduce deprecated `collections` crateMurarth-1/+2
2017-06-16Add target to use LLVM wasm backendThomas Lively-0/+17
The new target is wasm32-experimental-emscripten. Adds a new configuration option to opt in to building experimental LLVM backends such as the WebAssembly backend. The target name was chosen to be similar to the existing wasm32-unknown-emscripten target so that the build and tests would work with minimal other code changes. When/if the new target replaces the old target, simply renaming it should just work.
2017-06-16Auto merge of #42612 - est31:master, r=nagisabors-4/+49
Autogenerate stubs and SUMMARY.md in the unstable book Removes a speed bump in compiler development by autogenerating stubs for features in the unstable book. See #42454 for discussion. The PR contains three commits, separated in order to make review easy: * The first commit converts the tidy tool from a binary crate to a crate that contains both a library and a binary. In the second commit, we'll use the tidy library * The second and main commit introduces autogeneration of SUMMARY.md and feature stub files * The third commit turns off the tidy lint that checks for features without a stub, and removes the stub files. A separate commit due to the large number of files touched Members of the doc team who wish to document some features can either do this (where `$rustsrc` is the root of the rust repo git checkout): 1. cd to `$rustsrc/src/tools/unstable-book-gen` and then do `cargo run $rustsrc/src $rustsrc/src/doc/unstable-book` to put the stubs into the unstable book 2. cd to `$rustsrc` and run `git ls-files --others --exclude-standard` to list the newly added stubs 3. choose a file to edit, then `git add` it and `git commit` 4. afterwards, remove all changes by the tool by doing `git --reset hard` and `git clean -f` Or they can do this: 1. remove the comment marker in `src/tools/tidy/src/unstable_book.rs` line 122 2. run `./x.py test src/tools/tidy` to list the unstable features which only have stubs 3. revert the change in 1 3. document one of the chosen unstable features The changes done by this PR also allow for further development: * tidy obtains information about tracking issues. We can now forbid differing tracking issues between differing `#![unstable]` annotations. I haven't done this but plan to in a future PR * we now have a general framework for generating stuff for the unstable book at build time. Further changes can autogenerate a list of the API a given library feature exposes. The old way to simply click through the documentation after it has been uploaded to rust-lang.org works as well. r? @nagisa Fixes #42454
2017-06-16Use custom cargo/rustc paths when parsing flags.Mark Simulacrum-9/+8
2017-06-16Fix cross compilationest31-8/+8
2017-06-16Auto merge of #42410 - nagisa:llvmup, r=sanxiynbors-0/+3
Upgrade LLVM Includes https://github.com/rust-lang/llvm/pull/80
2017-06-16Auto merge of #42631 - malbarbo:wasm32, r=alexcrichtonbors-1/+3
Add a travis builder for wasm32-unknown-emscripten This commits add an entry to travis matrix that will execute wasm32-unknown-emscripten tests suites. - Emscripten for asmjs was updated to sdk-1.37.13-64bit - The tests are run with node 8.0.0 (it can execute wasm) - A wrapper script is used to run each test from the directory where it is (workaround for https://github.com/kripken/emscripten/issues/4542) - Some tests are ignore, see #42629 and #42630
2017-06-16Rollup merge of #42651 - infinity0:master, r=alexcrichtonCorey Farwell-2/+27
Only run check-linkchecker when actually building docs Otherwise the build fails, when running tests but not building docs, e.g.: https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=ppc64el&ver=1.17.0%2Bdfsg2-3&stamp=1497403375&raw=0
2017-06-15Add a no-system-llvm compilecheck headerSimonas Kazlauskas-0/+3
2017-06-15Auto merge of #42648 - murarth:merge-alloc-collections, r=alexcrichtonbors-3/+2
Merge crate `collections` into `alloc` This is a necessary step in order to merge #42565
2017-06-15Only run check-linkchecker when actually building docsXimin Luo-1/+1
Otherwise the build fails, when running tests but not building docs, e.g.: https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=ppc64el&ver=1.17.0%2Bdfsg2-3&stamp=1497403375&raw=0
2017-06-15Ensure that disable-doc builds don't depend on doc targetsXimin Luo-1/+26
2017-06-14Auto merge of #42433 - marco-c:profiling, r=alexcrichtonbors-0/+15
Build instruction profiler runtime as part of compiler-rt r? @alexcrichton This is #38608 with some fixes. Still missing: - [x] testing with profiler enabled on some builders (on which ones? Should I add the option to some of the already existing configurations, or create a new configuration?); - [x] enabling distribution (on which builders?); - [x] documentation.
2017-06-13Merge crate `collections` into `alloc`Murarth-3/+2
2017-06-14Autogenerate stubs and the summary of the unstable bookest31-4/+49
2017-06-13Add libprofiler_builtins to the list of paths for the rust-src componentMarco Castelluccio-0/+1
2017-06-13Do not execute .asm.js files on wasm32 testsMarco A L Barbosa-1/+3
Files with extensions .asm.js are used to generate .wasm files, they are not intented to be execute.
2017-06-08Auto merge of #42491 - RalfJung:bootstrap-help, r=alexcrichtonbors-2/+7
bootstrap: improve 'build --help' by explaining what exactly the last example does I recently found myself confused about what exactly gets built how often when I run which command; I think this would have helped me. One thing I did not touch, but I feel could also be improved, is the wording just above: "For a quick build with a usable compile, you can pass". I am not a native speaker, but this sounds odd to me. Do you mean "For a quick build of a usable compiler" (but then it should say where the usable compiler is produced)? Or do you mean "For a quick build testing if the compiler is usable"? I can reword this, but I'd like to make sure I understand the intent of the message. What about ``` For a quick build of a usable compiler, you can pass: ./x.py build --stage 1 src/libtest This will first build everything once (like --stage 0 without further arguments would), and then use the compiler built in stage 0 to build src/libtest and its dependencies. Once this is done, build/$ARCH/stage1 contains a usable compiler. ``` However, I am not sure this is actually true. In particular, why even bother building the libstd in stage 1? AFAIK that ends up in `build/*/stage1-std`, not in `build/*/stage1` (which is filled from `build/*/stage0-*`).
2017-06-07bootstrap: further clarify build --helpRalf Jung-2/+3