about summary refs log tree commit diff
path: root/src/liballoc_system
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-12-30 19:50:57 -0800
committerAlex Crichton <alex@alexcrichton.com>2017-01-04 11:41:16 -0800
commit1a040b36cb5c748b1e5f0ea0a97f7ec5a51ee48d (patch)
tree3dae9d8837f45ef473008579539ee135e032670c /src/liballoc_system
parent8f62c2920077eb5cb81323142fc5dbe6ae8813c0 (diff)
downloadrust-1a040b36cb5c748b1e5f0ea0a97f7ec5a51ee48d.tar.gz
rust-1a040b36cb5c748b1e5f0ea0a97f7ec5a51ee48d.zip
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