Paul Eggert
2014-08-09 00:08:22 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=fbec57294abd097fdc5894e0ec0d0133a0b5445b
The branch, master has been updated
via fbec57294abd097fdc5894e0ec0d0133a0b5445b (commit)
from f6156ba05083625751a23fe2df1cd6694f42f356 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fbec57294abd097fdc5894e0ec0d0133a0b5445b
Author: Jehan <***@girinstud.io>
Date: Wed Oct 2 18:53:50 2013 +1300
cross-compiling: handling modern platforms able to run foreign binaries.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_CROSS):
When only --host is set, and no --build, but in the end, the resulting
computed $build and $host are different, set $cross_compiling = yes.
Indeed we can't rely only on a successful test program run, because false
positives occur on some platforms. In particular modern GNU/Linux
distributions set Wine to automatically handle Windows binaries.
Consequently $cross_compiling gets set to "no" even though we are in an
obvious cross-compilation case.
(tiny change)
-----------------------------------------------------------------------
Summary of changes:
lib/autoconf/lang.m4 | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/lib/autoconf/lang.m4 b/lib/autoconf/lang.m4
index b8cbe76..434a0e9 100644
--- a/lib/autoconf/lang.m4
+++ b/lib/autoconf/lang.m4
@@ -592,11 +592,21 @@ ac_exeext=$ac_cv_exeext
# detect cross-compiling on Blue Gene. Note also that AC_COMPUTE_INT
# requires programs that create files when not cross-compiling, so it
# is safe and not a bad idea to check for this capability in general.
+#
+# Another false negative would occur on many modern linux distributions,
+# which would have Wine run automatically for Windows binaries. This is
+# a default configuration on several Debian-derivated distributions for
+# instance (see `update-binfmts`).
+# As a consequence the simple test program would run without errors,
+# even though we are on an obvious cross-compilation case and further
+# more complicated tests would fail.
m4_define([_AC_COMPILER_EXEEXT_CROSS],
[# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
AC_MSG_CHECKING([whether we are cross compiling])
-if test "$cross_compiling" != yes; then
+if test "$cross_compiling" = maybe && test "x$build" != "x$host"; then
+ cross_compiling=yes
+elif test "$cross_compiling" != yes; then
_AC_DO_VAR(ac_link)
if _AC_DO_TOKENS([./conftest$ac_cv_exeext]); then
cross_compiling=no
hooks/post-receive
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=fbec57294abd097fdc5894e0ec0d0133a0b5445b
The branch, master has been updated
via fbec57294abd097fdc5894e0ec0d0133a0b5445b (commit)
from f6156ba05083625751a23fe2df1cd6694f42f356 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fbec57294abd097fdc5894e0ec0d0133a0b5445b
Author: Jehan <***@girinstud.io>
Date: Wed Oct 2 18:53:50 2013 +1300
cross-compiling: handling modern platforms able to run foreign binaries.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_CROSS):
When only --host is set, and no --build, but in the end, the resulting
computed $build and $host are different, set $cross_compiling = yes.
Indeed we can't rely only on a successful test program run, because false
positives occur on some platforms. In particular modern GNU/Linux
distributions set Wine to automatically handle Windows binaries.
Consequently $cross_compiling gets set to "no" even though we are in an
obvious cross-compilation case.
(tiny change)
-----------------------------------------------------------------------
Summary of changes:
lib/autoconf/lang.m4 | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/lib/autoconf/lang.m4 b/lib/autoconf/lang.m4
index b8cbe76..434a0e9 100644
--- a/lib/autoconf/lang.m4
+++ b/lib/autoconf/lang.m4
@@ -592,11 +592,21 @@ ac_exeext=$ac_cv_exeext
# detect cross-compiling on Blue Gene. Note also that AC_COMPUTE_INT
# requires programs that create files when not cross-compiling, so it
# is safe and not a bad idea to check for this capability in general.
+#
+# Another false negative would occur on many modern linux distributions,
+# which would have Wine run automatically for Windows binaries. This is
+# a default configuration on several Debian-derivated distributions for
+# instance (see `update-binfmts`).
+# As a consequence the simple test program would run without errors,
+# even though we are on an obvious cross-compilation case and further
+# more complicated tests would fail.
m4_define([_AC_COMPILER_EXEEXT_CROSS],
[# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
AC_MSG_CHECKING([whether we are cross compiling])
-if test "$cross_compiling" != yes; then
+if test "$cross_compiling" = maybe && test "x$build" != "x$host"; then
+ cross_compiling=yes
+elif test "$cross_compiling" != yes; then
_AC_DO_VAR(ac_link)
if _AC_DO_TOKENS([./conftest$ac_cv_exeext]); then
cross_compiling=no
hooks/post-receive
--
GNU Autoconf source repository
GNU Autoconf source repository