about summary refs log tree commit diff
path: root/src/liballoc_system
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-05 04:01:35 +0000
committerbors <bors@rust-lang.org>2017-01-05 04:01:35 +0000
commit80745e2a2323d47756c2afdd0d2584094ce35604 (patch)
tree0b6b797e03b03c67a6a511d46d15b01975f5a58a /src/liballoc_system
parent5d994d8b7e482e87467d4a521911477bd8284ce3 (diff)
parent1a040b36cb5c748b1e5f0ea0a97f7ec5a51ee48d (diff)
downloadrust-80745e2a2323d47756c2afdd0d2584094ce35604.tar.gz
rust-80745e2a2323d47756c2afdd0d2584094ce35604.zip
Auto merge of #38731 - alexcrichton:supafast-cross-dist, r=brson
rustbuild: Quickly `dist` cross-host compilers

This commit optimizes the compile time for creating tarballs of cross-host
compilers and as a proof of concept adds two to the standard Travis matrix. Much
of this commit is further refactoring and refining of the `step.rs` definitions
along with the interpretation of `--target` and `--host` flags. This has gotten
confusing enough that I've also added a small test suite to
`src/bootstrap/step.rs` to ensure what we're doing works and doesn't regress.

After this commit when you execute:

    ./x.py dist --host $MY_HOST --target $MY_HOST

the build system will compile two compilers. The first is for the build platform
and the second is for the host platform. This second compiler is then packaged
up and placed into `build/dist` and is ready to go. With a fully cached LLVM and
docker image I was able to create a cross-host compiler in around 20 minutes
locally.

Eventually we plan to add a whole litany of cross-host entries to the Travis
matrix, but for now we're just adding a few before we eat up all the extra
capacity.

cc #38531
Diffstat (limited to 'src/liballoc_system')
0 files changed, 0 insertions, 0 deletions