about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-12 22:52:32 +0000
committerbors <bors@rust-lang.org>2017-01-12 22:52:32 +0000
commitdd8e68d0da8f78b0aee367ddf154b3942940f3d3 (patch)
tree901ceab314875b0373b2c39a15e65798d040a22a
parente35717814686ea3e3d44a8f5c1c20d1cd50be82a (diff)
parent246e7492af6298e9ddf448c3c2aa67d41154f73a (diff)
downloadrust-dd8e68d0da8f78b0aee367ddf154b3942940f3d3.tar.gz
rust-dd8e68d0da8f78b0aee367ddf154b3942940f3d3.zip
Auto merge of #38650 - infinity0:master, r=alexcrichton
Detect mips CPUs in ./configure

This mirrors existing logic already in src/bootstrap/bootstrap.py
-rwxr-xr-xconfigure12
-rw-r--r--src/test/run-pass/conditional-compile-arch.rs6
2 files changed, 18 insertions, 0 deletions
diff --git a/configure b/configure
index a93a6c5a3a6..fa81684fb48 100755
--- a/configure
+++ b/configure
@@ -541,6 +541,18 @@ case $CFG_CPUTYPE in
         CFG_CPUTYPE=x86_64
         ;;
 
+    mips | mips64)
+        if [ "$CFG_CPUTYPE" = "mips64" ]; then
+            CFG_OSTYPE="${CFG_OSTYPE}abi64"
+        fi
+        ENDIAN=$(printf '\1' | od -dAn)
+        if [ "$ENDIAN" -eq 1 ]; then
+            CFG_CPUTYPE="${CFG_CPUTYPE}el"
+        elif [ "$ENDIAN" -ne 256 ]; then
+            err "unknown endianness: $ENDIAN (expecting 1 for little or 256 for big)"
+        fi
+        ;;
+
     BePC)
         CFG_CPUTYPE=i686
         ;;
diff --git a/src/test/run-pass/conditional-compile-arch.rs b/src/test/run-pass/conditional-compile-arch.rs
index 368ffe6e713..24c461d5f51 100644
--- a/src/test/run-pass/conditional-compile-arch.rs
+++ b/src/test/run-pass/conditional-compile-arch.rs
@@ -22,6 +22,12 @@ pub fn main() { }
 #[cfg(target_arch = "aarch64")]
 pub fn main() { }
 
+#[cfg(target_arch = "mips")]
+pub fn main() { }
+
+#[cfg(target_arch = "mips64")]
+pub fn main() { }
+
 #[cfg(target_arch = "powerpc64")]
 pub fn main() { }