about summary refs log tree commit diff
diff options
context:
space:
mode:
authorklutzy <klutzytheklutzy@gmail.com>2014-08-23 01:45:15 +0900
committerklutzy <klutzytheklutzy@gmail.com>2014-08-23 01:47:37 +0900
commita3d77e616bb8455e158c22a379b655437916d404 (patch)
treea7a0556b68fd9a2ae8a6517702778c702e6d13ad
parent19a44c73c246ad98f285aa801433beca674b1ad4 (diff)
downloadrust-a3d77e616bb8455e158c22a379b655437916d404.tar.gz
rust-a3d77e616bb8455e158c22a379b655437916d404.zip
configure: Recognize i686 build on msys2
-rw-r--r--README.md2
-rwxr-xr-xconfigure18
2 files changed, 13 insertions, 7 deletions
diff --git a/README.md b/README.md
index 1da02fea018..e919f3329fe 100644
--- a/README.md
+++ b/README.md
@@ -71,7 +71,7 @@ To easily build on windows we can use [MSYS2](http://sourceforge.net/projects/ms
 3. With that now start `mingw32_shell.bat` from where you installed MSYS2 (i.e. `C:\msys`).
 4. From there just navigate to where you have Rust's source code, configure and build it:
 
-        $ ./configure --build=i686-pc-mingw32
+        $ ./configure
         $ make && make install
 
 [repo]: https://github.com/rust-lang/rust
diff --git a/configure b/configure
index 636d50276ff..bb874809d8e 100755
--- a/configure
+++ b/configure
@@ -299,13 +299,19 @@ case $CFG_OSTYPE in
         CFG_OSTYPE=apple-darwin
         ;;
 
-    MINGW32*)
+    MINGW*)
+        # msys' `uname` does not print gcc configuration, but prints msys
+        # configuration. so we cannot believe `uname -m`:
+        # msys1 is always i686 and msys2 is always x86_64.
+        # instead, msys defines $MSYSTEM which is MINGW32 on i686 and
+        # MINGW64 on x86_64.
+        CFG_CPUTYPE=i686
         CFG_OSTYPE=pc-mingw32
-        ;;
-
-    MINGW64*)
-        # msys2, MSYSTEM=MINGW64
-        CFG_OSTYPE=w64-mingw32
+        if [ "$MSYSTEM" = MINGW64 ]
+        then
+            CFG_CPUTYPE=x86_64
+            CFG_OSTYPE=w64-mingw32
+        fi
         ;;
 
 # Thad's Cygwin identifers below