summary refs log tree commit diff
path: root/configure
diff options
context:
space:
mode:
authorXimin Luo <infinity0@pwned.gg>2016-12-28 13:56:29 +0100
committerXimin Luo <infinity0@pwned.gg>2017-01-12 19:33:45 +0100
commit5740f94fedc11b87cb9a3d9d65c204982e460959 (patch)
treefce5ad03cf678f172231afd7080028abb6822267 /configure
parentac5046cf67e51df286e7c8df02d67c302d4c4d09 (diff)
downloadrust-5740f94fedc11b87cb9a3d9d65c204982e460959.tar.gz
rust-5740f94fedc11b87cb9a3d9d65c204982e460959.zip
Detect mips CPUs in ./configure
This mirrors existing logic already in src/bootstrap/bootstrap.py
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure12
1 files changed, 12 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
         ;;