about summary refs log tree commit diff
path: root/src/bootstrap/mk
AgeCommit message (Collapse)AuthorLines
2016-11-11Move all Linux/OSX CI infastructure to TravisAlex Crichton-1/+4
This commit configures our `.travis.yml` to test the full suite of tests we have on Buildbot right now. A whole mess of docker images are added to the `src/ci` directory which represent all the build environments for each configuration. Each of these environments is then configured in `.travis.yml` to run on the auto branch. Note that the full matrix of tests aren't intended to be run on all PRs. Instead, we continue to run only one entry in the matrix, forcing all others to finish quickly. Only the `auto` branch should run the full matrix of builds. Also note that the infrastructure hasn't quite been allocated yet to the rust-lang/rust repository, so everything is disabled for now except for the one build that happens on PRs. Once that infrastructure is allocated though we can enable this and let it fly! Notable modifications from the current test suite today: * Android tests are run in rustbuild instead of the makefiles, for whatever reason I couldn't get the makefiles to work on Travis. * A debuginfo test was updated to work with the current version of the Android NDK. * Some dependencies in `mk/tests.mk` were fixed to allow running tests in parallel.
2016-11-02rustbuild: Rewrite user-facing interfaceAlex Crichton-16/+15
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-06Prevent accidentally running 'make install' as sudo.Ahmed Charles-0/+4
2016-10-05rustbuild: Add install target. #34675Ahmed Charles-0/+2
It just prints to the screen currently.
2016-08-17Add 'make help' for rustbuildSimon Sapin-0/+4
It is still advertised by the configure script.
2016-06-29Add rustc-stageN targets to rustbuildSeo Sanghyeon-0/+5
2016-04-12rustbuild: Migrate tidy checks to RustAlex Crichton-0/+2
This commit rewrites all of the tidy checks we have, namely: * featureck * errorck * tidy * binaries into Rust under a new `tidy` tool inside of the `src/tools` directory. This at the same time deletes all the corresponding Python tidy checks so we can be sure to only have one source of truth for all the tidy checks. cc #31590
2016-03-25Fix the name of the 'check-cargotest' stepBrian Anderson-2/+2
2016-03-22Introduce 'cargotest' and the check-cargotest buildstepBrian Anderson-0/+2
This is a new suite of tests that verifies that the compiler builds specific revisions of select crates from crates.io. It does not run by default. It is intended that buildbot runs these tests against all PRs, and gate on them.
2016-03-16rustbuild: Implement `make dist`Alex Crichton-0/+4
This commit implements the `make dist` command in the new rustbuild build system, porting over `dist.mk` and `prepare.mk` into Rust. There's a huge amount of complexity between those two files, not all of which is likely justified, so the Rust implementation is *much* smaller. Currently the implementation still shells out to rust-installer as well as some python scripts, but ideally we'd rewrite it all in the future to not shell out and be in Rust proper.
2016-03-07rustbuild: Add `make check` and a check targetAlex Crichton-0/+2
We'll tack on more steps here later
2016-02-16rustbuild: Add rustbook/standalone doc supportAlex Crichton-0/+12
This commit implements documentation generation of the nomicon, the book, the style guide, and the standalone docs. New steps were added for each one as well as appropriate makefile targets for each one as well.
2016-02-11bootstrap: Add a --clean flagAlex Crichton-0/+3
Also add a `clean` target for the makefiles to blow away everything related to the build. Note that this specifically does not tamper with: * the LLVM build directory * the directory of the bootstrap system * the cached downloads of cargo/rustc
2016-02-11configure: Add an option to use the cargo build systemAlex Crichton-0/+23
This commit adds a `--enable-rustbuild` option to the configure script which will copy a different `Makefile.in` into place to intercept all `make` invocations. Currently this makefile only has one target, but it's expected to be filled out quite a bit over time!