about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2018-01-13Auto merge of #46592 - o01eg:fix-45345, r=alexcrichtonbors-16/+24
Fix 45345 There is a fix for https://github.com/rust-lang/rust/issues/45345 It re-introduces `CFG_LIBDIR_RELATIVE` which was broken when migration from `configure` script to `x.py`. Other commits fix errors which happen after rustbuild cleanups.
2018-01-12End of rustdoc-js tool add into builderGuillaume Gomez-5/+11
2018-01-12Move forward to add rustdoc testGuillaume Gomez-16/+11
2018-01-12Start adding js testsGuillaume Gomez-0/+36
2018-01-12Remove unused configuration parameter `libdir_relative`.O01eg-5/+3
2018-01-12Remove unused argument `rustc_cargo`.O01eg-4/+3
2018-01-12Add library path for real rustdoc with `RUSTDOC_LIBDIR` environment variable.O01eg-2/+5
2018-01-12Build all stages with relative libdirs.O01eg-8/+4
2018-01-12Stage 1 and later use relative libdir.O01eg-1/+1
2018-01-12Accept verbosity in rustdoc.O01eg-0/+11
2018-01-12Fix #45345.O01eg-0/+1
Re-implement ```bash CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-` ``` from old `configure` script.
2018-01-11Add i586-unknown-linux-musl targetMarco A L Barbosa-0/+4
2018-01-06Auto merge of #47141 - alexcrichton:bump-bootstrap, r=alexcrichtonbors-7/+15
Bump to 1.25.0 * Bump the release version to 1.25 * Bump the bootstrap compiler to the recent beta * Allow using unstable rustdoc features on beta - this fix has been applied to the beta branch but needed to go to the master branch as well.
2018-01-04rustbuild: Don't allow stable bootstrap from devAlex Crichton-2/+13
I forgot to update the bootstrap compiler for the 1.23.0 release so let's make sure it doesn't happen again!
2018-01-04rustc: Don't use relative paths for extended errorsAlex Crichton-4/+11
These no longer work now that Cargo changes the cwd of rustc while it's running. Instead use an absolute path that's set by rustbuild.
2018-01-04Bump to 1.25.0Alex Crichton-3/+4
* Bump the release version to 1.25 * Bump the bootstrap compiler to the recent beta * Allow using unstable rustdoc features on beta - this fix has been applied to the beta branch but needed to go to the master branch as well.
2017-12-29Auto merge of #46883 - QuietMisdreavus:faildown, r=GuillaumeGomezbors-0/+4
rustdoc: add option to abort the process on markdown differences In the efforts of keeping the std docs free of markdown warnings, this PR adds a stopgap measure to make sure the CI fails if it detects a markdown difference. It does this by adding a new unstable flag to rustdoc, `--deny-render-differences`, which bootstrap then passes to rustdoc when documenting std and friends. The implementation is... probably not the cleanest option. It currently adds an extra branch after it prints the markdown warnings, which just prints a final line and calls `::std::process::abort(1)`. I did it like this because if it just panics regularly, it looks like an ICE, an even though `html::render::run` returns a Result, that Result is also just `expect`ed immediately, generating the same problem. This way bypasses the panic handler at the top of the thread and looks like a proper failure. Since i don't have a real error Handler there, this is the best i can do without pulling in a real error system for rustdoc. This PR is blocked on https://github.com/rust-lang/rust/pull/46853, which will fix the rendering differences that were present on master when i started this branch.
2017-12-27bootstrap: pass --deny-render-differences to rustdocQuietMisdreavus-0/+4
2017-12-26Auto merge of #46554 - ↵bors-136/+42
kennytm:45861-step-4-5-6-7-upload-test-result-and-remove-toolstate-toml, r=alexcrichton [auto-toolstate] Upload the toolstate result to an external git repository, and removes BuildExpectation This PR consists of 3 commits. 1. (Steps 4–6) The `toolstate.json` output previously collected is now pushed to the https://github.com/rust-lang-nursery/rust-toolstate repository. 2. (Step 7) Revert commit ab018c7, thus removing all traces of `BuildExpectation` and `toolstate.toml`. 3. (Step 8) Adjust CONTRIBUTION.md for the new procedure. These are the last steps of #45861. After this PR, the toolstate will be automatically computed and published to https://rust-lang-nursery.github.io/rust-toolstate/. There is no need to manage toolstate.toml again. Closes #45861.
2017-12-27Clarify toolstate names. Move publish.py to a more convenient location.kennytm-10/+11
2017-12-27Revert "Add a file to trivially disable tool building or testing"kennytm-126/+31
This reverts commit ab018c76e14b87f3c9e0b7384cc9b02d94779cd5. This also adds the `ToolBuild::is_ext_tool` field to replace the previous `ToolBuild::expectation` field, to indicate whether a build-failure of certain tool is essential.
2017-12-26Auto merge of #46941 - ScottAbbey:freebsd-build-update, r=alexcrichtonbors-0/+1
Re-do the FreeBSD cross-builds to use Clang and libc++. Fixes #44433 Reviving #45077, from @jld: > The main goal here is to use FreeBSD's normal libc++, instead of > statically linking the libstdc++ packaged with GCC, because that > libstdc++ has bugs that cause rustc to deadlock inside LLVM. > > But the easiest way to use libc++ is to switch the build from GCC to > Clang, and the Clang package in the Ubuntu image already knows how to > cross-compile (given a sysroot and preferably cross-binutils), so the > toolchain script now uses that instead of building a custom compiler. > > This also de-duplicates the build-toolchain.sh script. #45077 was close but didn't quite make it. I rebased @jld's work off the current `master` and started with that. I was able to determine that this Travis error (https://github.com/rust-lang/rust/pull/45077#issuecomment-336029862) was ultimately caused by `src/librustc_llvm/build.rs` attempting to follow a wrong value in `LLVM_STATIC_STDCPP` (https://github.com/rust-lang/rust/pull/45077#issuecomment-352639456). I looked at the downstream port for FreeBSD (https://svnweb.freebsd.org/ports/head/lang/rust/) and it seems like they do not use `--enable-llvm-static-stdcpp`. Since `libc++` is included in the FreeBSD 10+ base system, we don't need to statically link it either? So in b989428f7dec7b52d68bed6a21e9b5b0a8086267 I have set the FreeBSD build to not actually use `LLVM_STATIC_STDCPP`. I was able to run `./src/ci/docker/run.sh` with both `dist-i686-freebsd` and `dist-x86_64-freebsd` successfully and in about 1 minute of testing it seemed like the dist-x86_64-freebsd results worked on a FreeBSD 11 system. It should fix #44433, which seems to be affecting many potential users. Also FreeBSD users should be able to `./x.py build` which should help anyone who wants to upstream fixes for FreeBSD. Questions: Does this approach seem to be the right way to go? Do we actually really want to statically link `libc++`? (I tried that here, but it ultimately ran into a roadblock on x86_64: https://github.com/rust-lang/rust/pull/45077#issuecomment-353293414) Can we rewrite the comment here to be more clear about why some systems aren't going to actually use this option: https://github.com/rust-lang/rust/blob/b989428f7dec7b52d68bed6a21e9b5b0a8086267/src/bootstrap/compile.rs#L550-L553 How does this affect users of older FreeBSD systems? It seemed like no one was complaining about using a 10.3 base version in the thread for #45077. FreeBSD seems to only officially support 10.3, 10.4, and 11.x right now, do we have to consider older users? The `libc++` stuff came in for FreeBSD 10, older FreeBSD used `libstdc++`. Looks like @alexcrichton was leading the discussion on the previous issue: r? @alexcrichton Let me know what I can do to help get this through.
2017-12-22Don't try to statically link libstdc++ on FreeBSDScott Abbey-0/+1
The code inside this conditional will not work on FreeBSD 10+ because those versions use clang and libc++ rather than libstdc++. Since FreeBSD comes with libc++ in the base, presumably all 10+ systems will have it present. Searching for libstdc++.a will not work if it is not present. As a result, this would previously have set `LLVM_STATIC_STDCPP=libstdc++.a`, which isn't a valid path and caused problems later on when building `librustc_llvm`. This could possibly be updated in the future to look for `libc++.a` on FreeBSD, by expanding the code inside the conditional. In one attempt to run this on x86_64-freebsd, I found that libc++ was not compiled with PIC, so it failed anyway.
2017-12-17Distribute intrinsic.natvis with the compiler for windows-msvc.Antal Szabó-0/+1
2017-12-17Add sync module to rustc_data_structuresJohn Kåre Alsaker-0/+10
2017-12-14Do not produce debuginfo for toolsOliver Schneider-2/+5
2017-12-12Put miri const eval checking behind -ZmiriOliver Schneider-0/+4
2017-12-06Merge remote-tracking branch 'origin/master' into miriOliver Schneider-4/+33
2017-12-06Update miri to rustc changesOliver Schneider-608/+1004
2017-12-04template month/year, version into man pages while building dist tarballZack M. Davis-4/+33
This is meant to resolve #25689.
2017-12-03Record build and test result of extended tools into toolstates.json.kennytm-12/+64
2017-12-03Move the swap the tools test and cargotest within check-aux.kennytm-3/+1
The cargotest job is renamed to tools for clarification.
2017-12-02Auto merge of #46288 - alexcrichton:bump-bootstrap, r=Mark-Simulacrumbors-1/+1
Bump to 1.24.0 * Update the in-tree version number * Update the bootstrap compiler * Remove `cfg(stage0)` annotations * Update crate dependencies * Update Cargo itself
2017-12-02Rollup merge of #46385 - alexcrichton:fix-cargo-book, r=Mark-Simulacrumkennytm-1/+1
rustbuild: Fix a typo with the Cargo book The usage of `Path::new` prevented out-of-tree builds (like the bots do) from working by accident! Closes #46195
2017-11-29Update bootstrap compilerAlex Crichton-1/+1
Also remove a number of `stage0` annotations and such
2017-11-29rustbuild: Fix a typo with the Cargo bookAlex Crichton-1/+1
The usage of `Path::new` prevented out-of-tree builds (like the bots do) from working by accident! Closes #46195
2017-11-28*: strip calls to cc::Build::compileTamir Duberstein-1/+1
The documentation states: "The name output should be the name of the library." and this is already done in more recently-added callers.
2017-11-28ci: Start running wasm32 tests on TravisAlex Crichton-0/+11
This commit allocates a builder to running wasm32 tests on Travis. Not all test suites pass right now so this is starting out with just the run-pass and the libcore test suites. This'll hopefully give us a pretty broad set of coverage for integration in rustc itself as well as a somewhat broad coverage of the llvm backend itself through integration/unit tests.
2017-11-28Auto merge of #46102 - kennytm:45861-step-1, r=alexcrichtonbors-5/+14
[auto-toolstate][1/8] Always ignore build failure of failable tools (rls, rustfmt, clippy) If build failed for these tools, they will be automatically skipped from distribution, and will not fail the whole build. Test failures are *not* ignored, nor build failure of other tools (e.g. cargo). Therefore it should have no observable effect to the current CI system. This is step 1/8 of automatic management of broken tools #45861. The purpose is concentrate all failure detection about tools into a single CI job for easy management, while keeping the ability to distribute these tools in the nightlies. r? @Mark-Simulacrum
2017-11-26Increment Nightly version to 1.24.0Simon Sapin-1/+1
The beta channel is now at 1.23.0-beta.1.
2017-11-25rustbuild: Enable WebAssembly backend by defaultAlex Crichton-6/+4
This commit alters how we compile LLVM by default enabling the WebAssembly backend. This then also adds the wasm32-unknown-unknown target to get compiled on the `cross` builder and distributed through rustup. Tests are not yet enabled for this target but that should hopefully be coming soon!
2017-11-24rustbuild: Update LLVM and enable ThinLTOAlex Crichton-3/+1
This commit updates LLVM to fix #45511 (https://reviews.llvm.org/D39981) and also reenables ThinLTO for libtest now that we shouldn't hit #45768. This also opportunistically enables ThinLTO for libstd which was previously blocked (#45661) on test failures related to debuginfo with a presumed cause of #45511. Closes #45511
2017-11-23Auto merge of #46011 - euclio:reachability-redux, r=nrcbors-1/+2
Allow filtering analysis by reachability Fixes #43521. Fixes https://github.com/nrc/rls-analysis/issues/79. This PR allows a user to filter items present in the save-analysis data by setting the `reachable_only` config option. This option is intended for use by the new rustdoc. The PR isn't quite finished, because it's dependent on a new release of rls-data, but I want to make sure that the approach is valid. https://github.com/nrc/rls-analysis/issues/79 mentions that `pub use` might need to be handled, but my thinking is that the consumer of the analysis data would be able to infer which imports are `pub use`, and which items are only reachable through `pub use`, so that doesn't need to be handled here. r? @nrc
2017-11-22add `reachable_only` to save-analysis configAndy Russell-1/+2
2017-11-22Always ignore build failure of failable tools (rls, rustfmt, clippy, miri).kennytm-5/+14
If build failed for these tools, they will be automatically skipped from distribution, and will not fail the whole build. Test failures are *not* ignored, nor build failure of other tools (e.g. cargo). Therefore it should have no observable effect to the current CI system. This is step 1/8 of automatic management of broken tools #45861.
2017-11-22Rollup merge of #46157 - martinlindhe:master, r=kennytmkennytm-2/+2
fix some typos This is the result of me testing out a WIP source code typo-finder and your project was the random target this time.
2017-11-22Rollup merge of #46031 - Keruspe:cargofmt, r=Mark-Simulacrumkennytm-135/+57
rustbuild: distribute cargo-fmt alongside rustfmt Not sure whether we want that nor if it's the right way to do so, but it feels quite weird to have rustfmt without cargo-fmt. Or are there other plans wrt that? What do you think @nrc ?
2017-11-21fix some typosMartin Lindhe-2/+2
2017-11-20Auto merge of #45998 - ollie27:doc_book_css, r=steveklabnikbors-16/+11
Fix broken CSS for book redirect pages rust.css has to be next to the font files so we shouldn't copy it for only the book redirect pages, instead just use the version that is already there. This also removes the duplicate code creating version_info.html. Fixes: #45974
2017-11-20rustbuild: fix expectation messageMarc-Antoine Perennou-1/+1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>