This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Updating top-level autoconf to 2.59
- From: Daniel Jacobowitz <drow at false dot org>
- To: gcc-patches at gcc dot gnu dot org, binutils at sourceware dot org, newlib at sourceware dot org
- Date: Wed, 7 Feb 2007 14:33:52 -0500
- Subject: Re: Updating top-level autoconf to 2.59
- References: <20061214194654.GA6243@nevyn.them.org> <200701112249.OAA12557@hpsje.cup.hp.com> <20070111225346.GA1335@nevyn.them.org>
On Thu, Jan 11, 2007 at 05:53:46PM -0500, Daniel Jacobowitz wrote:
> Very little. I wanted to wait to make sure immediate build system
> breakage from libgcc had been resolved; at this point, it has. I need
> to go back through this thread, revise the patch a little bit IIRC,
> and then post it for approval.
>
> I'm going to be travelling all next week, so expect this around the
> last week of January.
Only a week late. I have lightly retested this on x86_64-pc-linux-gnu
native; I am willing to do any specific testing requested. OK to
commit, and what testing would you like to see first?
--
Daniel Jacobowitz
CodeSourcery
2006-01-07 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.tpl (build_alias, host_alias, target_alias): Use
noncanonical equivalents.
* configure.in: Update AC_PREREQ. Prevent error for AS_FOR_TARGET.
Set build_noncanonical, host_noncanonical, and target_noncanonical.
Use them. Rewrite removal of configure arguments for autoconf
2.59. Discard variable settings.
* Makefile.in: Regenerated.
* configure: Regenerated with autoconf 2.59.
Index: Makefile.tpl
===================================================================
--- Makefile.tpl (revision 121693)
+++ Makefile.tpl (working copy)
@@ -28,15 +28,15 @@ in
# -------------------------------
VPATH=@srcdir@
-build_alias=@build_alias@
+build_alias=@build_noncanonical@
build_vendor=@build_vendor@
build_os=@build_os@
build=@build@
-host_alias=@host_alias@
+host_alias=@host_noncanonical@
host_vendor=@host_vendor@
host_os=@host_os@
host=@host@
-target_alias=@target_alias@
+target_alias=@target_noncanonical@
target_vendor=@target_vendor@
target_os=@target_os@
target=@target@
Index: configure.in
===================================================================
--- configure.in (revision 121693)
+++ configure.in (working copy)
@@ -21,10 +21,12 @@
sinclude(config/acx.m4)
AC_INIT(move-if-change)
-AC_PREREQ(2.13)
+AC_PREREQ(2.59)
AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
+m4_pattern_allow([^AS_FOR_TARGET$])dnl
+
# Get 'install' or 'install-sh' and its variants.
AC_PROG_INSTALL
ACX_PROG_LN
@@ -193,6 +195,11 @@ fi
# Find the build and target subdir names.
GCC_TOPLEV_SUBDIRS
+# Find the build, host, and target systems.
+ACX_NONCANONICAL_BUILD
+ACX_NONCANONICAL_HOST
+ACX_NONCANONICAL_TARGET
+
# Skipdirs are removed silently.
skipdirs=
# Noconfigdirs are removed loudly.
@@ -1016,9 +1023,9 @@ if test "${build}" != "${host}" ; then
# If we are doing a Canadian Cross, in which the host and build systems
# are not the same, we set reasonable default values for the tools.
- CC=${CC-${host_alias}-gcc}
+ CC=${CC-${host_noncanonical}-gcc}
CFLAGS=${CFLAGS-"-g -O2"}
- CXX=${CXX-${host_alias}-c++}
+ CXX=${CXX-${host_noncanonical}-c++}
CXXFLAGS=${CXXFLAGS-"-g -O2"}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
@@ -1584,7 +1591,7 @@ if test x"${with_headers}" != x && test
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
- copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+ copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
fi
fi
@@ -1604,7 +1611,7 @@ if test x"${with_libs}" != x && test x"$
*) x=${exec_prefix} ;;
esac
for l in ${with_libs}; do
- copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+ copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
done
fi
fi
@@ -1804,7 +1811,7 @@ esac
# Some systems (e.g., one of the i386-aix systems the gas testers are
# using) don't handle "\$" correctly, so don't use it here.
-tooldir='${exec_prefix}'/${target_alias}
+tooldir='${exec_prefix}'/${target_noncanonical}
build_tooldir=${tooldir}
# Create a .gdbinit file which runs the one in srcdir
@@ -2068,40 +2075,86 @@ serialization_dependencies=serdep.tmp
AC_SUBST_FILE(serialization_dependencies)
# Base args. Strip norecursion, cache-file, srcdir, host, build,
-# target and nonopt. These are the ones we might not want to pass
-# down to subconfigures. Also strip program-prefix, program-suffix,
-# and program-transform-name, so that we can pass down a consistent
-# program-transform-name. If autoconf has put single quotes around
-# any of these arguments (because they contain shell metacharacters)
-# then this will fail; in practice this only happens for
-# --program-transform-name, so be sure to override --program-transform-name
-# at the end of the argument list.
-# These will be expanded by make, so quote '$'.
-cat <<\EOF_SED > conftestsed
-s/ --no[[^ ]]*/ /g
-s/ --c[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --t[[a-z-]]*[[= ]][[^ ]]*//g
-s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g
-s/ -cache-file[[= ]][[^ ]]*//g
-s/ -srcdir[[= ]][[^ ]]*//g
-s/ -host[[= ]][[^ ]]*//g
-s/ -build[[= ]][[^ ]]*//g
-s/ -target[[= ]][[^ ]]*//g
-s/ -program-prefix[[= ]][[^ ]]*//g
-s/ -program-suffix[[= ]][[^ ]]*//g
-s/ -program-transform-name[[= ]][[^ ]]*//g
-s/ [[^' -][^ ]*] / /
-s/^ *//;s/ *$//
-s,\$,$$,g
-EOF_SED
-sed -f conftestsed <<EOF_SED > conftestsed.out
- ${ac_configure_args}
-EOF_SED
-baseargs=`cat conftestsed.out`
-rm -f conftestsed conftestsed.out
+# target, nonopt, and variable assignments. These are the ones we
+# might not want to pass down to subconfigures. Also strip
+# program-prefix, program-suffix, and program-transform-name, so that
+# we can pass down a consistent program-transform-name.
+baseargs=
+keep_next=no
+skip_next=no
+eval "set -- $ac_configure_args"
+for ac_arg; do
+ if test X"$skip_next" = X"yes"; then
+ skip_next=no
+ continue
+ fi
+ if test X"$keep_next" = X"yes"; then
+ case $ac_arg in
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ baseargs="$baseargs '$ac_arg'"
+ keep_next=no
+ continue
+ fi
+
+ # Handle separated arguments. Based on the logic generated by
+ # autoconf 2.59.
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ separate_arg=no
+ ;;
+ -*)
+ separate_arg=yes
+ ;;
+ *)
+ separate_arg=no
+ ;;
+ esac
+
+ case "$ac_arg" in
+ --no*)
+ continue
+ ;;
+ --c* | \
+ --sr* | \
+ --ho* | \
+ --bu* | \
+ --t* | \
+ --program-* | \
+ -cache_file* | \
+ -srcdir* | \
+ -host* | \
+ -build* | \
+ -target* | \
+ -program-prefix* | \
+ -program-suffix* | \
+ -program-transform-name* )
+ skip_next=$separate_arg
+ continue
+ ;;
+ -*)
+ # An option. Add it.
+ case $ac_arg in
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ baseargs="$baseargs '$ac_arg'"
+ keep_next=$separate_arg
+ ;;
+ *)
+ # Either a variable assignment, or a nonopt (triplet). Don't
+ # pass it down; let the Makefile handle this.
+ continue
+ ;;
+ esac
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
# Add in --program-transform-name, after --program-prefix and
# --program-suffix have been applied to it. Autoconf has already
@@ -2144,7 +2197,7 @@ target_configargs=${baseargs}
# sorts of decisions they want to make on this basis. Please consider
# this option to be deprecated. FIXME.
if test x${is_cross_compiler} = xyes ; then
- target_configargs="--with-cross-host=${host_alias} ${target_configargs}"
+ target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
fi
# Default to --enable-multilib.