* 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 <[EMAIL PROTECTED]> * 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