From: Oscar Fuentes Date: Tue, 25 Nov 2014 02:29:43 +0000 (+0100) Subject: configure.ac [mingw]: Set $canonical default value X-Git-Tag: emacs-25.0.90~2635^2~338 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=70d7aa8a289375a119f5d4e785c8a5882f0a2e99;p=emacs.git configure.ac [mingw]: Set $canonical default value ... as per the compiler's target. The value provided by MSYS2 `uname' is not correct when MSYS2 runs on one architecture (x86_64) and the user is building for another (i686). * configure.ac [mingw]: Set $canonical default value as per the compiler's target. --- diff --git a/ChangeLog b/ChangeLog index 5fe2a913b93..808f3a04717 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-11-25 Oscar Fuentes + + * configure.ac [MINGW]: Set $canonical default value as per the + compiler's target. + 2014-11-24 Glenn Morris * configure.ac [HAVE_W32]: Generate nt/*.rc files when HAVE_W32, diff --git a/configure.ac b/configure.ac index 0f1508f3a94..6b6b1c7d22f 100644 --- a/configure.ac +++ b/configure.ac @@ -145,6 +145,34 @@ case $canonical 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 + AC_MSG_CHECKING([the compiler's target]) + 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 + ;; + "") AC_MSG_ERROR([Impossible to obtain $cc compiler target. +Please explicitly provide --target]) + ;; + *) AC_MSG_WARN([Compiler reported non-standard target. +Defaulting to $canonical.]) + ;; + esac + AC_MSG_RESULT([$canonical]) + else + canonical=$target_alias + fi + case $srcdir in /* | ?:*) # srcdir is an absolute path. In this case, force the format