emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master c9cb3d5: configure.ac [MINGW]: Fix the way of getti


From: Dani Moncayo
Subject: [Emacs-diffs] master c9cb3d5: configure.ac [MINGW]: Fix the way of getting the right host platform.
Date: Wed, 26 Nov 2014 20:03:47 +0000

branch: master
commit c9cb3d535b2daf19b53dcaeedc2f2ae923bca2a1
Author: Dani Moncayo <address@hidden>
Date:   Wed Nov 26 20:59:07 2014 +0100

    configure.ac [MINGW]: Fix the way of getting the right host platform.
    
    * configure.ac [MINGW]: Fix the way of getting the right host
    platform.
---
 ChangeLog    |    5 +++++
 configure.ac |   42 ++++++++++++++++++++++--------------------
 2 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8e34db9..55c6778 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-26  Dani Moncayo  <address@hidden>
+
+       * configure.ac [MINGW]: Fix the way of getting the right host
+       platform.
+
 2014-11-25  Glenn Morris  <address@hidden>
 
        * configure.ac: Fix yesterday's use of uninitialised $version.
diff --git a/configure.ac b/configure.ac
index 8830ec7..70592d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,42 +137,41 @@ AM_INIT_AUTOMAKE(1.11)
 
 dnl Canonicalize the configuration name.
 AC_CANONICAL_HOST
-canonical=$host
-configuration=${host_alias-${build_alias-$host}}
 
-dnl We get MINGW64 with MSYS2, MINGW32 with MSYS.
-case $canonical in
+case $host in
  *-mingw*)
-  . $srcdir/nt/mingw-cfg.site
 
-  # When we build with MinGW under MSYS, we are cross-compiling. Hence
-  # we can't rely on the output of MSYS `uname' for the architecture
-  # (32 bit MinGW compiler with 64 bit MSYS2, for instance) and must
-  # use the compiler's target, unless when the user explicitly
-  # provides one:
-  if test -z $target_alias; then
+  if test -z "$host_alias"; then
+
+      # No --host argument was given to 'configure'; therefore $host
+      # was set to a default value based on the build platform.  But
+      # this default value may be wrong if we are building from a
+      # 64-bit MSYS[2] pre-configured to build 32-bit MinGW programs.
+      # Therefore, we'll try to get the right host platform from the
+      # compiler's target.
+
       AC_MSG_CHECKING([the compiler's target])
-      if test -z $CC; then
+      if test -z "$CC"; then
          cc=gcc
       else
          cc=$CC
       fi
-      t=`$cc -v 2>&1 | sed -n 's/Target: //p'`
-      case "$t" in
-          *-*) canonical=$t
+      cc_target=`$cc -v 2>&1 | sed -n 's/Target: //p'`
+      case "$cc_target" in
+          *-*) host=$cc_target
              ;;
           "") AC_MSG_ERROR([Impossible to obtain $cc compiler target.
-Please explicitly provide --target])
+Please explicitly provide --host.])
               ;;
          *) AC_MSG_WARN([Compiler reported non-standard target.
-Defaulting to $canonical.])
+Defaulting to $host.])
               ;;
       esac
-      AC_MSG_RESULT([$canonical])
-  else
-      canonical=$target_alias
+      AC_MSG_RESULT([$host])
   fi
 
+  . $srcdir/nt/mingw-cfg.site
+
   case $srcdir in
     /* | ?:*)
       # srcdir is an absolute path.  In this case, force the format
@@ -185,6 +184,9 @@ Defaulting to $canonical.])
   esac;;
 esac
 
+canonical=$host
+configuration=${host_alias-${build_alias-$host}}
+
 dnl Support for --program-prefix, --program-suffix and
 dnl --program-transform-name options
 AC_ARG_PROGRAM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]