about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2017-08-04Use LLVM_LINK_LLVM_DYLIB only on linux-gnu and apple-darwinJosh Stone-2/+2
2017-08-03Exclude Windows from LLVM_LINK_LLVM_DYLIBJosh Stone-1/+9
2017-08-03Auto merge of #43622 - RalfJung:config.toml, r=michaelwoeristerbors-1/+1
extend config.toml doc for debug-assertions Even after I knew that I had to change config.toml to get any printing from debug! and trace!, going over the entire fail did not make it clear to me that `debug-assertions` is the option controlling that.
2017-08-03Appease tidy and fix save-analysis config for dist buildsNick Cameron-1/+1
2017-08-02extend config.toml docRalf Jung-1/+1
2017-07-31Link LLVM tools dynamicallyJosh Stone-0/+1
Set `LLVM_LINK_LLVM_DYLIB=ON` -- "If enabled, tools will be linked with the libLLVM shared library." Rust doesn't ship any of the LLVM tools, and only needs a few at all for some test cases, so statically linking the tools is just a waste of space. I've also had memory issues on slower machines with LLVM debuginfo enabled, when several tools start linking in parallel consuming several GBs each. With the default configuration, `build/x86_64-unknown-linux-gnu/llvm` was 1.5GB before, now down to 731MB. The difference is more drastic with `--enable-llvm-release-debuginfo`, from 28GB to "only" 13GB. This does not change the linking behavior of `rustc_llvm`.
2017-07-30rustbuild: Remove `--enable-llvm-clean-rebuild`Alex Crichton-12/+0
This was intended for bots back in the day where we'd persist caches of LLVM builds across runs, but nowadays we don't do that on any of the bots so this option is no longer necessary
2017-07-29rustbuild: Enable building LLVMAlex Crichton-1/+7
I use this from time to time debugging LLVM builds, useful to have!
2017-07-29Auto merge of #43534 - alexcrichton:cargo-target-runner, r=Mark-Simulacrumbors-67/+13
rustbuild: Use Cargo's "target runner" This commit leverages a relatively new feature in Cargo to execute cross-compiled tests, the `target.$target.runner` configuration. We configure it through environment variables in rustbuild and this avoids the need for us to locate and run tests after-the-fact, instead relying on Cargo to do all that execution for us.
2017-07-28rustbuild: Use Cargo's "target runner"Alex Crichton-67/+13
This commit leverages a relatively new feature in Cargo to execute cross-compiled tests, the `target.$target.runner` configuration. We configure it through environment variables in rustbuild and this avoids the need for us to locate and run tests after-the-fact, instead relying on Cargo to do all that execution for us.
2017-07-28rustbuild: Tweak how we cross-compile LLVMAlex Crichton-0/+8
In preparation for upgrading to LLVM 5.0 it looks like we need to tweak how we cross compile LLVM slightly. It's using `CMAKE_SYSTEM_NAME` to infer whether to build libFuzzer which only works on some platforms, and then once we configure that it needs to apparently reach into the host build area to try to compile `llvm-config` as well. Once these are both configured, though, it looks like we can successfully cross-compile LLVM.
2017-07-27Correct a few run.host invocations where run.target is intended.Mark Simulacrum-7/+7
2017-07-27Explain why we subtract one from the stageMark Simulacrum-0/+3
2017-07-27Make sure CFG_RELEASE_CHANNEL is always set.Mark Simulacrum-0/+4
Previously we'd build libsyntax without it when documenting and that'd cause us to recompile it when building normally for no reason.
2017-07-27Allow changing rustdoc which builds the book.Mark Simulacrum-10/+13
2017-07-27Don't needlessly build rustdoc for compiletest.Mark Simulacrum-1/+6
For most tests, rustdoc isn't needed, so avoid building it.
2017-07-27Build rustdoc on-demand.Mark Simulacrum-29/+79
Rustdoc is no longer compiled in every stage, alongside rustc, instead it is only compiled when requested, and generally only for the last stage.
2017-07-27Change tools to take a compiler instead of a stage.Mark Simulacrum-37/+40
2017-07-26Auto merge of #43226 - alexcrichton:aarch64-ci, r=aidanhsbors-0/+5
Add a disabled builder for aarch64 emulated tests This commit adds a disabled builder which will run all tests for the standard library for aarch64 in a QEMU instance. Once we get enough capacity to run this on Travis this can be used to boost our platform coverage of AArch64
2017-07-25Auto merge of #43046 - milmazz:bootstrap-unittest, r=aidanhsbors-201/+421
bootstrap: Add doctests and unitests This commit includes the following changes: * Include more docstrings in classes, methods, and functions * Add doctests, which are great for self-documenting our source code * Add some unit tests with the `unittest` module * Remove `WindowsError` reference on non-windows systems * Rename some variables to be more explicit about their meaning * Move all the attributes defined outside of `__init__` * Add initial support for Python 3 r? @alexcrichton
2017-07-25Auto merge of #43320 - alexcrichton:new-bootstrap, r=Mark-Simulacrumbors-150/+170
Bump master to 1.21.0 This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-25Bump master to 1.21.0Alex Crichton-150/+170
This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-25bootstrap: Major refactoringMilton Mazzarri-201/+421
This commit includes the following: * Fix syntax errors in Python 3 * Include more docstrings in classes, methods, and functions * Include unit tests using `unittest` * Merge implementation of `{rustc,cargo}_out_of_date` * Merge implementation of `RustBuild.{cargo,rustc}` * Remove unnecessary source code * Move all the attributes defined outside of `__init__` * Remove remaining `%s` from print function * Remove `WindowsError` reference on non-windows systems * Rename some variables to be more explicit avoid their meaning * Run bootstrap tests in the CI process * Remove non-pythonic getters * Remove duplicate code in `download_stage0` method * Reduce the number of branches in `build_bootstrap` method * Re-raise exception when we cannot execute uname in non-windows systems * Avoid long lines
2017-07-25Auto merge of #43384 - segevfiner:bootstrap-build-argument-fix, r=aidanhsbors-1/+2
rustbuild: Fix the --build argument to bootstrap.py This makes the --build argument also apply for the downloading of the stage0 toolchain and building rustbuild. Fixes #42116
2017-07-24Add a disabled builder for aarch64 emulated testsAlex Crichton-0/+5
This commit adds a disabled builder which will run all tests for the standard library for aarch64 in a QEMU instance. Once we get enough capacity to run this on Travis this can be used to boost our platform coverage of AArch64
2017-07-24Auto merge of #43430 - Mark-Simulacrum:rustbuild-fixes, r=alexcrichtonbors-88/+85
Rustbuild regression fixes I believe this will fix https://github.com/rust-lang/rust/issues/43427. This PR also avoids running pretty tests by-default. r? @alexcrichton
2017-07-24Make dist equivalent to old build system.Mark Simulacrum-88/+82
2017-07-24Auto merge of #43327 - nrc:rls-config, r=eddybbors-1/+4
Use a config struct for save-analysis Replaces some existing customisation options, including removing the -Zsave-analysis-api flag r? @eddyb
2017-07-24Remove save-analysis-api references from tests and rustbuildNick Cameron-1/+4
2017-07-23Do not run pretty tests by default.Mark Simulacrum-0/+3
2017-07-22Make distcheck work again.Mark Simulacrum-1/+6
2017-07-22Add make_run to distcheck.Mark Simulacrum-0/+4
2017-07-22Fix StartupObject buildMark Simulacrum-1/+1
2017-07-21rustbuild: Fix the --build argument to bootstrap.pySegev Finer-1/+2
This makes the --build argument also apply for the downloading of the stage0 toolchain and building rustbuild. Fixes #42116
2017-07-20Change make_run signature to taking a RunConfig struct for refactorability.Mark Simulacrum-353/+203
2017-07-20Add an optional condition to constrain defaults.Mark Simulacrum-121/+61
Utilized primarily to not be a default rule unless some configuration is given (e.g., compiler docs are enabled).
2017-07-20Remove step.rsMark Simulacrum-1820/+0
2017-07-20Remove step.rs commentsMark Simulacrum-749/+1
2017-07-20Check RLS testsMark Simulacrum-1/+2
2017-07-20Change default documentation rules to correspond with previous state.Mark Simulacrum-2/+2
2017-07-20Don't include lldb/gdb in default testsMark Simulacrum-7/+5
2017-07-20Don't run host-only tests when targeting another platformMark Simulacrum-42/+114
2017-07-20Fix a few issues found by comparing past/presentMark Simulacrum-10/+8
2017-07-20Allow iterating over step descriptions.Mark Simulacrum-107/+113
This simplifies code and allows working mostly with normal Rust instead of macros.
2017-07-20Implement available paths list.Mark Simulacrum-156/+224
2017-07-20Use a single line for serde annotations.Mark Simulacrum-14/+7
2017-07-20Krate -> CrateMark Simulacrum-11/+11
2017-07-20Remove outdated code.Mark Simulacrum-13/+0
Relevant sys crates handle this properly.
2017-07-20Remove TypeId from stack in BuilderMark Simulacrum-9/+9
2017-07-20Remove deserializeAidan Hobson Sayers-35/+10