diff options
| author | bors <bors@rust-lang.org> | 2016-11-07 08:39:16 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-07 08:39:16 -0800 |
| commit | ec0d1ceb4288cd5e36187f1b523bd1a522537ad4 (patch) | |
| tree | 1c9b9fbda4ab47a21350d8b3c40e56b7dadbabb7 | |
| parent | c9f16bbc419d1a945823d91419bbb1fc75bfbc79 (diff) | |
| parent | 0d433a8feb9932d69b3fe1b05a99e0da76c403fd (diff) | |
| download | rust-ec0d1ceb4288cd5e36187f1b523bd1a522537ad4.tar.gz rust-ec0d1ceb4288cd5e36187f1b523bd1a522537ad4.zip | |
Auto merge of #37625 - xen0n:rustbuild-mips, r=alexcrichton
rustbuild: support MIPS host builds There is a *little* code duplication, but primarily for sake of "match exhaustiveness". Let's blame Linux/MIPS for not exposing endianness explicitly in `uname -m` (that's user-space interface and as such is frozen). Currently the build won't work as we have to wait for a new stage0 for the MIPS host compilers, but this paves the way to self-hosted Rust on MIPS. The cross-compiled MIPS binaries are confirmed to work on the Loongson 3A2000 (MIPS64r2-compatible) so we have plenty of confidence that they'll work on other MIPS platforms too, as Linux/MIPS user-space ABI is consistent across machines of the same bitness. r? @alexcrichton
| -rw-r--r-- | src/bootstrap/bootstrap.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 76bbb9d22e0..63feea1057e 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -344,6 +344,22 @@ class RustBuild(object): ostype += 'eabihf' elif cputype == 'aarch64': cputype = 'aarch64' + elif cputype == 'mips': + if sys.byteorder == 'big': + cputype = 'mips' + elif sys.byteorder == 'little': + cputype = 'mipsel' + else: + raise ValueError('unknown byteorder: ' + sys.byteorder) + elif cputype == 'mips64': + if sys.byteorder == 'big': + cputype = 'mips64' + elif sys.byteorder == 'little': + cputype = 'mips64el' + else: + raise ValueError('unknown byteorder: ' + sys.byteorder) + # only the n64 ABI is supported, indicate it + ostype += 'abi64' elif cputype in {'powerpc', 'ppc', 'ppc64'}: cputype = 'powerpc' elif cputype in {'amd64', 'x86_64', 'x86-64', 'x64'}: |
