Daniel Jacobowitz - Re: Updating top-level autoconf to 2.59 (original) (raw)
This is the mail archive of the gcc-patches@gcc.gnu.orgmailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
- From: Daniel Jacobowitz
- 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} withheaders{with_headers} withheadersx/${target_alias}/sys-include"
- copy_dirs="${copy_dirs} withheaders{with_headers} withheadersx/${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 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mi mathvariant="normal">/</mi></mrow><annotation encoding="application/x-tex">x/</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">x</span><span class="mord">/</span></span></span></span>{target_alias}/lib ${copy_dirs}"
done fi fi @@ -1804,7 +1811,7 @@ esaccopy_dirs="$l <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mi mathvariant="normal">/</mi></mrow><annotation encoding="application/x-tex">x/</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">x</span><span class="mord">/</span></span></span></span>{target_noncanonical}/lib ${copy_dirs}"
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 < 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.
- Follow-Ups:
- Re: Updating top-level autoconf to 2.59
* From: DJ Delorie - Re: Updating top-level autoconf to 2.59
* From: Joseph S. Myers - Re: Updating top-level autoconf to 2.59
* From: Alexandre Oliva
- Re: Updating top-level autoconf to 2.59
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |