From: Eric Blake Date: Sat, 6 Sep 2008 19:20:58 +0000 (-0600) Subject: Relax tone when warning about cross-compiler names. X-Git-Tag: v2.63~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69a905148d6797a79ceb801c428644b9fa450a84;p=thirdparty%2Fautoconf.git Relax tone when warning about cross-compiler names. * lib/autoconf/programs.m4 (_AC_TOOL_WARN): Support cross-compiles with poorly named tools; the issue has been reported too many times in the last four years to pull support. * doc/autoconf.texi (Specifying Names, Generic Programs): Update documentation accordingly. * THANKS: Update. Reported by Josef Tran and others, wording suggested by Ralf Wildenhues. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index f78c40f6..1ad89f70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-09-06 Eric Blake + + Relax tone when warning about cross-compiler names. + * lib/autoconf/programs.m4 (_AC_TOOL_WARN): Support cross-compiles + with poorly named tools; the issue has been reported too many + times in the last four years to pull support. + * doc/autoconf.texi (Specifying Names, Generic Programs): Update + documentation accordingly. + * THANKS: Update. + Reported by Josef Tran and others, wording suggested by Ralf + Wildenhues. + 2008-09-01 Eric Blake Improve AC_C_BIGENDIAN. diff --git a/THANKS b/THANKS index 906ed171..afdd6978 100644 --- a/THANKS +++ b/THANKS @@ -171,6 +171,7 @@ John Fortin fortinj@attglobal.net John Interrante interran@uluru.stanford.edu John W. Eaton jwe@bevo.che.wisc.edu Jonathan Kamens jik@kamens.brookline.ma.us +Josef Tran josef@timetrackertechnology.com Joseph S. Myers jsm28@cam.ac.uk Jules Colding colding@42tools.com Julian Onions j.onions@nexor.co.uk diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 23417b37..97f09d79 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -4034,8 +4034,8 @@ sets @code{RANLIB} to @file{i386-gnu-ranlib} if that program exists in @var{path}, or otherwise to @samp{ranlib} if that program exists in @var{path}, or to @samp{:} if neither program exists. -In the future, when cross-compiling this macro will @emph{only} -accept program names that are prefixed with the host type. +When cross-compiling, this macro will issue a warning if no program +prefixed with the host type could be found. For more information, see @ref{Specifying Names, , Specifying the system type}. @end defmac @@ -4068,8 +4068,10 @@ the list are found, set @var{variable} to @var{value-if-not-found}; if @var{value-if-not-found} is not specified, the value of @var{variable} is not changed. Calls @code{AC_SUBST} for @var{variable}. -In the future, when cross-compiling this macro will @emph{not} -accept program names that are not prefixed with the host type. +When cross-compiling, this macro will issue a warning if no program +prefixed with the host type could be found. +For more information, see @ref{Specifying Names, , Specifying the +system type}. @end defmac @anchor{AC_PATH_PROG} @@ -4145,8 +4147,10 @@ name of the program if it is found. Like @code{AC_CHECK_TOOL}, but set @var{variable} to the absolute name of the program if it is found. -In the future, when cross-compiling this macro will @emph{not} -accept program names that are not prefixed with the host type. +When cross-compiling, this macro will issue a warning if no program +prefixed with the host type could be found. +For more information, see @ref{Specifying Names, , Specifying the +system type}. @end defmac @@ -17731,17 +17735,15 @@ example, configuring as follows fails: ./configure CC=m68k-coff-gcc @end 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 -useful is when you really are not cross-compiling, but only -building for a least-common-denominator architecture: an example -is building for @code{i386-pc-linux-gnu} while running on an -@code{i686-pc-linux-gnu} architecture. In this case, some particular -pairs might be similar enough to let you get away with the system -compilers, but in general the compiler might make bogus assumptions -on the host: if you know what you are doing, please create symbolic -links from the host compiler to the build compiler. +When cross-compiling, @command{configure} will warn about any tools +(compilers, linkers, assemblers) whose name is not prefixed with the +host type. This is an aid to users performing cross-compilation. +Continuing the example above, if a cross-compiler named @command{cc} is +used with a native @command{pkg-config}, then libraries found by +@command{pkg-config} will likely cause subtle build failures; but using +the names @command{m68k-coff-cc} and @command{m68k-coff-pkg-config} +avoids any confusion. Avoiding the warning is as simple as creating the +correct symlinks naming the cross tools. @cindex @command{config.sub} @command{configure} recognizes short aliases for many system types; for diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 index f2245fbc..63f8a13f 100644 --- a/lib/autoconf/programs.m4 +++ b/lib/autoconf/programs.m4 @@ -211,9 +211,7 @@ AU_DEFUN([AC_CHECK_TOOL_PREFIX]) AC_DEFUN([_AC_TOOL_WARN], [case $cross_compiling:$ac_tool_warned in yes:) -AC_MSG_WARN([In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org.]) +AC_MSG_WARN([using cross tools not prefixed with host triplet]) ac_tool_warned=yes ;; esac])