summary refs log tree commit diff
path: root/src/bootstrap/check.rs
AgeCommit message (Collapse)AuthorLines
2017-01-19let BSD to use gmake for GNU-makeSébastien Marie-1/+3
the diff extends build_helper to provide an function to return the expected name of GNU-make on the host: "make" or "gmake". Fixes #38429
2016-12-12rustbuild: Enable unstable features in rustdocAlex Crichton-0/+1
This ensures that stable releases produced by rustbuild will succeed in testing as some of the rustdoc tests use unstable features.
2016-12-10Auto merge of #38233 - alexcrichton:more-errors, r=japaricbors-2/+1
rustbuild: Print out failing commands Just ensure that we always print out the command line which should aid in debugging. Closes #38228
2016-12-08rustbuild: Implement distcheckAlex Crichton-0/+30
This commit implements the `distcheck` target for rustbuild which is only ever run on our nightly bots. This essentially just creates a tarball, un-tars it, and then runs a full build, validating that the release tarballs do indeed have everything they need to build Rust.
2016-12-07rustbuild: Print out failing commandsAlex Crichton-2/+1
Just ensure that we always print out the command line which should aid in debugging. Closes #38228
2016-12-07mk: Switch rustbuild to the default build systemAlex Crichton-17/+37
This commit switches the default build system for Rust from the makefiles to rustbuild. The rustbuild build system has been in development for almost a year now and has become quite mature over time. This commit is an implementation of the proposal on [internals] which slates deletion of the makefiles on 2016-01-02. [internals]: https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368 This commit also updates various documentation in `README.md`, `CONTRIBUTING.md`, `src/bootstrap/README.md`, and throughout the source code of rustbuild itself. Closes #37858
2016-11-30Update the bootstrap compilerAlex Crichton-1/+1
Now that we've got a beta build, let's use it!
2016-11-25rustbuild: Add bench subcommandUlrik Sverdrup-2/+32
Add command `./x.py bench`; use `./x.py bench --help -v` to list all available benchmark targets.
2016-11-14rustbuild: Allow configuration of python interpreterAlex Crichton-4/+2
Add a configuration key to `config.toml`, read it from `./configure`, and add auto-detection if none of those were specified. Closes #35760
2016-11-08rustbuild: Fix check-error-index stepAlex Crichton-1/+3
If it ran too soon there wasn't a `test` directory lying around but we'll need one!
2016-11-05Merge branch 'gdb-next-gen' of https://github.com/TimNN/rust into rollupAlex Crichton-2/+2
2016-11-02rustbuild: Rewrite user-facing interfaceAlex Crichton-66/+25
This commit is a rewrite of the user-facing interface to the rustbuild build system. The intention here is to make it much easier to compile/test the project without having to remember weird rule names and such. An overall view of the new interface is: # build everything ./x.py build # document everyting ./x.py doc # test everything ./x.py test # test libstd ./x.py test src/libstd # build libcore stage0 ./x.py build src/libcore --stage 0 # run stage1 run-pass tests ./x.py test src/test/run-pass --stage 1 The `src/bootstrap/bootstrap.py` script is now aliased as a top-level `x.py` script. This `x` was chosen to be both short and easily tab-completable (no collisions in that namespace!). The build system now accepts a "subcommand" of what to do next, the main ones being build/doc/test. Each subcommand then receives an optional list of arguments. These arguments are paths in the source repo of what to work with. That is, if you want to test a directory, you just pass that directory as an argument. The purpose of this rewrite is to do away with all of the arcane renames like "rpass" is the "run-pass" suite, "cfail" is the "compile-fail" suite, etc. By simply working with directories and files it's much more intuitive of how to run a test (just pass it as an argument). The rustbuild step/dependency management was also rewritten along the way to make this easy to work with and define, but that's largely just a refactoring of what was there before. The *intention* is that this support is extended for arbitrary files (e.g. `src/test/run-pass/my-test-case.rs`), but that isn't quite implemented just yet. Instead directories work for now but we can follow up with stricter path filtering logic to plumb through all the arguments.
2016-10-31detect gdb version & rust support in compiletestTim Neumann-2/+2
2016-10-30Use quieter test output when running tests on Travis CI.Corey Farwell-1/+16
Fixes https://github.com/rust-lang/rust/issues/36788.
2016-10-19Allow bootstrapping without a key. Fixes #36548Brian Anderson-1/+1
This will make it easier for packagers to bootstrap rustc when they happen to have a bootstrap compiler with a slightly different version number. It's not ok for anything other than the build system to set this environment variable.
2016-10-07rustbuild: Use `cargo metadata` to learn about DAGAlex Crichton-61/+70
This updates the commit to use workspaces to use `cargo metadata` instead of hardcoded lists about what to test. This should help us be resilient to updates in the future on behalf of the crate DAG and minimize the amount of files that need to be touched.
2016-10-07Use workspaces and switch to a single Cargo.lock.Ahmed Charles-9/+43
This involves hacking the code used to run cargo test on various packages, because it reads Cargo.lock to determine which packages should be tested. This change implements a blacklist, since that will catch new crates when they are added in the future.
2016-09-30Cleanup bootstrapBrian Anderson-8/+8
2016-09-30Update bootstrap and compiletest to use the detected nodejsBrian Anderson-1/+6
2016-09-30Improve bootstrap crate testing for emscriptenBrian Anderson-3/+14
2016-09-30Preliminary wasm32 supportBrian Anderson-6/+6
2016-09-30Adapting bootstrap to run tests on asmjs.Ross Schulman-1/+22
2016-09-01test: Add a min-llvm-version directiveAlex Crichton-1/+3
We've got tests which require a particular version of LLVM to run as they're testing bug fixes. Our build system, however, supports multiple LLVM versions, so we can't run these tests on all LLVM versions. This adds a new `min-llvm-version` directive for tests so they can opt out of being run on older versions of LLVM. This then namely applies that logic to the `issue-36023.rs` test case and... Closes #36138
2016-07-05rustbuild: Remove the `build` directoryAlex Crichton-0/+413
The organization in rustbuild was a little odd at the moment where the `lib.rs` was quite small but the binary `main.rs` was much larger. Unfortunately as well there was a `build/` directory with the implementation of the build system, but this directory was ignored by GitHub on the file-search prompt which was a little annoying. This commit reorganizes rustbuild slightly where all the library files (the build system) is located directly inside of `src/bootstrap` and all the binaries now live in `src/bootstrap/bin` (they're small). Hopefully this should allow GitHub to index and allow navigating all the files while maintaining a relatively similar layout to the other libraries in `src/`.