autoconf 2.61 on debian etch and GCC
Ralf Wildenhues
Ralf.Wildenhues@gmx.de
Tue Jul 3 16:48:00 GMT 2007
* Laurent GUERBY wrote on Tue, Jul 03, 2007 at 12:45:45PM CEST:
>
> According to Rask Ingemann Lambertsen autoconf 2.61
> doesn't work correctly for GCC (see below).
[...]
> On Fri, 2007-06-29 at 11:27 +0200, Rask Ingemann Lambertsen wrote:
> > On Mon, Jun 25, 2007 at 08:11:31PM +0200, Laurent GUERBY wrote:
> > >
> > > If 2.61 really causes us trouble I'll try to do a manual install of 2.59
> > > from whatever .tar.gz I can find.
> >
> > It does, as the config.status it produces is broken. Look at this line:
> >
> > s,@TOPLEVEL_CONFIGURE_ARGUMENTS@,|#_!!_#|/home/rask/src/gcc/configure linux gnu,g
Please consider the following patch. $ac_configure_args has the
following differences to original args:
- duplicate-argument suppression,
- quoting to be used inside "eval" as below,
- --no-create, --no-recursion, and --silent stripped out
(variables $no_create, $no_recursion, and $silent provide these;
I don't think $TOPLEVEL_CONFIGURE_ARGUMENTS needs the first two).
I've tested it very lightly only (mostly because errors will typically
happen with setups different from mine). The 'set x ..; shift' is to
accommodate for old (non-POSIX) shells that error out on 'set --', not
sure if gcc has a policy against this kind of change.
(FWIW, the "|#_!!_#|" in the line is intentional and not a bug.)
I'd be interested in other GCC issues using Autoconf 2.61 over 2.59.
Cheers,
Ralf
ChangeLog:
2007-07-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Use
$ac_configure_args, not "$@". Do not use `set --'.
(baseargs): Likewise.
* configure: Regenerate.
Index: configure.ac
===================================================================
--- configure.ac (revision 126245)
+++ configure.ac (working copy)
@@ -88,7 +88,8 @@
# Export original configure arguments for use by sub-configures.
# Quote arguments with shell meta charatcers.
TOPLEVEL_CONFIGURE_ARGUMENTS=
-set -- "$progname" "$@"
+eval "set x \"$progname\" $ac_configure_args"
+shift
for ac_arg
do
case "$ac_arg" in
@@ -2090,7 +2091,8 @@
baseargs=
keep_next=no
skip_next=no
-eval "set -- $ac_configure_args"
+eval "set x $ac_configure_args"
+shift
for ac_arg
do
if test X"$skip_next" = X"yes"; then
More information about the Gcc
mailing list