Hello,
On Wed, Jan 10, 2007 at 05:34:33PM -0600, Yevgen Muntyan wrote:
> so the paragraph about --host changing --build isn't correct [...]
I agree with you here.
Moreover, the whole compatibility code with cross_compiling=maybe
was already present in Autoconf 2.50 released almost 6 years ago.
So I guess it might be time to delete it.
What about the following patch?
(I verified that it passes `make check'.)
Have a nice day,
Stepan
2007-01-11 Stepan Kasal <[EMAIL PROTECTED]>
* doc/autoconf.texi (Specifying Names): Remove the backward
compatibility remark about `--host'.
* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): When --host
is given, but not --build, set cross_compiling=yes and issue
a notice, but no warning.
* lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_WORKS): Remove
the special code for cross_compiling=maybe.
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.1125
diff -u -r1.1125 autoconf.texi
--- doc/autoconf.texi 8 Jan 2007 19:54:10 -0000 1.1125
+++ doc/autoconf.texi 11 Jan 2007 16:41:49 -0000
@@ -15511,7 +15511,7 @@
@section Specifying the System Type
@cindex System type
-Like other @acronym{GNU} @command{configure} scripts, Autoconf-generated
+Autoconf-generated
@command{configure} scripts can make decisions based on a canonical name
for the system type, which has the form:
@[EMAIL PROTECTED]@[EMAIL PROTECTED], where @var{os} can be
@@ -15542,26 +15542,6 @@
produce code (rarely needed). By default, it is the same as host.
@end table
-If you mean to override the result of @command{config.guess}, use
[EMAIL PROTECTED], not @option{--host}, since the latter enables
-cross-compilation. For historical reasons, passing @option{--host} also
-changes the build type. Therefore, whenever you specify @option{--host},
-be sure to specify @option{--build} too; this will be fixed in the
-future. So, to enter cross-compilation mode, use a command like this
-
[EMAIL PROTECTED]
-./configure --build=i686-pc-linux-gnu --host=m68k-coff
[EMAIL PROTECTED] example
-
[EMAIL PROTECTED]
-Note that if you do not specify @option{--host}, @command{configure}
-fails if it can't run the code generated by the specified compiler. For
-example, configuring as follows fails:
-
[EMAIL PROTECTED]
-./configure CC=m68k-coff-gcc
[EMAIL PROTECTED] example
-
In the future, when cross-compiling Autoconf will @emph{not}
accept tools (compilers, linkers, assemblers) whose name is not
prefixed with the host type. The only case when this may be
Index: lib/autoconf/general.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/general.m4,v
retrieving revision 1.947
diff -u -r1.947 general.m4
--- lib/autoconf/general.m4 10 Jan 2007 17:59:57 -0000 1.947
+++ lib/autoconf/general.m4 11 Jan 2007 16:41:52 -0000
@@ -915,12 +915,11 @@
# FIXME: To remove some day.
if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- AC_MSG_WARN([If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used.])
- elif test "x$build_alias" != "x$host_alias"; then
+ if test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
+ if test "x$build_alias" = x; then
+ AC_MSG_NOTICE([--host used, supposing cross compile.])
+ fi
fi
fi
Index: lib/autoconf/lang.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/lang.m4,v
retrieving revision 1.186
diff -u -r1.186 lang.m4
--- lib/autoconf/lang.m4 17 Nov 2006 21:04:54 -0000 1.186
+++ lib/autoconf/lang.m4 11 Jan 2007 16:41:52 -0000
@@ -542,19 +542,13 @@
[# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
AC_MSG_CHECKING([whether the _AC_LANG compiler works])
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if _AC_DO_TOKENS([./$ac_file]); then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- AC_MSG_FAILURE([cannot run _AC_LANG compiled programs.
+if test "$cross_compiling" = no; then
+ _AC_DO_TOKENS([./$ac_file]) || {
+ AC_MSG_RESULT([no])
+ AC_MSG_FAILURE([cannot run _AC_LANG compiled programs.
If you meant to cross compile, use `--host'.])
- fi
- fi
+ }
fi
AC_MSG_RESULT([yes])
])# _AC_COMPILER_EXEEXT_WORKS