OSDN Git Service

* configure.ac (target_tools): Remove target-groff.
[pf3gnuchains/gcc-fork.git] / configure.ac
1 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2 #   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
3 #   Free Software Foundation, Inc.
4 #
5 # This file is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; see the file COPYING3.  If not see
17 # <http://www.gnu.org/licenses/>.
18
19 ##############################################################################
20 ### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
21
22 m4_include(config/acx.m4)
23 m4_include(config/override.m4)
24 m4_include(config/proginstall.m4)
25 m4_include(config/elf.m4)
26 m4_include([libtool.m4])
27 m4_include([ltoptions.m4])
28 m4_include([ltsugar.m4])
29 m4_include([ltversion.m4])
30 m4_include([lt~obsolete.m4])
31 m4_include([config/cloog.m4])
32
33 AC_INIT(move-if-change)
34 AC_PREREQ(2.64)
35 AC_DISABLE_OPTION_CHECKING
36
37 progname=$0
38 # if PWD already has a value, it is probably wrong.
39 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
40
41 # Export original configure arguments for use by sub-configures.
42 # Quote arguments with shell meta charatcers.
43 TOPLEVEL_CONFIGURE_ARGUMENTS=
44 set -- "$progname" "$@"
45 for ac_arg
46 do
47   case "$ac_arg" in
48   *" "*|*"      "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
49     ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
50     # if the argument is of the form -foo=baz, quote the baz part only
51     ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
52   *) ;;
53   esac
54   # Add the quoted argument to the list.
55   TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
56 done
57 if test "$silent" = yes; then
58   TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
59 fi
60 # Remove the initial space we just introduced and, as these will be
61 # expanded by make, quote '$'.
62 TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
63 AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
64
65 # Find the build, host, and target systems.
66 ACX_NONCANONICAL_BUILD
67 ACX_NONCANONICAL_HOST
68 ACX_NONCANONICAL_TARGET
69
70 dnl Autoconf 2.5x and later will set a default program prefix if
71 dnl --target was used, even if it was the same as --host.  Disable
72 dnl that behavior.  This must be done before AC_CANONICAL_SYSTEM
73 dnl to take effect.
74 test "$host_noncanonical" = "$target_noncanonical" &&
75   test "$program_prefix$program_suffix$program_transform_name" = \
76     NONENONEs,x,x, &&
77   program_transform_name=s,y,y,
78
79 AC_CANONICAL_SYSTEM
80 AC_ARG_PROGRAM
81
82 m4_pattern_allow([^AS_FOR_TARGET$])dnl
83 m4_pattern_allow([^AS_FOR_BUILD$])dnl
84
85 # Get 'install' or 'install-sh' and its variants.
86 AC_PROG_INSTALL
87 ACX_PROG_LN
88 AC_PROG_LN_S
89 AC_PROG_SED
90 AC_PROG_AWK
91
92 ### we might need to use some other shell than /bin/sh for running subshells
93 ### If we are on Windows, search for the shell.  This will permit people
94 ### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
95 ### without also having to set CONFIG_SHELL.  This code will work when
96 ### using bash, which sets OSTYPE.
97 case "${OSTYPE}" in
98 *win32*)
99   if test x${CONFIG_SHELL} = x ; then
100     if test ! -f /bin/sh ; then
101       if test x${SHELL} != x && test -f ${SHELL} ; then
102         CONFIG_SHELL=${SHELL}
103         export CONFIG_SHELL
104       else
105         for prog in sh sh.exe bash bash.exe; do
106           IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
107           for dir in $PATH; do
108             test -z "$dir" && dir=.
109             if test -f $dir/$prog; then
110               CONFIG_SHELL=$dir/$prog
111               export CONFIG_SHELL
112               break
113             fi
114           done
115           IFS="$save_ifs"
116           test -n "${CONFIG_SHELL}" && break
117         done
118       fi
119     fi
120   fi
121   ;;
122 esac
123
124 config_shell=${CONFIG_SHELL-/bin/sh}
125
126 moveifchange=${srcdir}/move-if-change
127
128 srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
129
130 # We pass INSTALL explicitly to sub-makes.  Make sure that it is not
131 # a relative path.
132 if test "$INSTALL" = "${srcdir}/install-sh -c"; then
133   INSTALL="${srcpwd}/install-sh -c"
134 fi
135
136 # Set srcdir to "." if that's what it is.
137 # This is important for multilib support.
138 pwd=`${PWDCMD-pwd}`
139 if test "${pwd}" = "${srcpwd}" ; then
140   srcdir=.
141 fi
142
143 topsrcdir=$srcpwd
144
145 extra_host_args=
146
147 ### To add a new directory to the tree, first choose whether it is a target
148 ### or a host dependent tool.  Then put it into the appropriate list
149 ### (library or tools, host or target), doing a dependency sort.
150
151 # Subdirs will be configured in the order listed in build_configdirs, 
152 # configdirs, or target_configdirs; see the serialization section below.
153
154 # Dependency sorting is only needed when *configuration* must be done in 
155 # a particular order.  In all cases a dependency should be specified in 
156 # the Makefile, whether or not it's implicitly specified here.
157
158 # Double entries in build_configdirs, configdirs, or target_configdirs may
159 # cause circular dependencies and break everything horribly.
160
161 # these library is used by various programs built for the build
162 # environment
163 #
164 build_libs="build-libiberty"
165
166 # these tools are built for the build environment
167 build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
168
169 # these libraries are used by various programs built for the host environment
170 #
171 host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv"
172
173 # these tools are built for the host environment
174 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
175 # know that we are building the simulator.
176 # binutils, gas and ld appear in that order because it makes sense to run
177 # "make check" in that particular order.
178 # If --enable-gold is used, "gold" may replace "ld".
179 host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
180
181 # libgcj represents the runtime libraries only used by gcj.
182 libgcj="target-libffi \
183         target-zlib \
184         target-qthreads \
185         target-libjava"
186
187 # these libraries are built for the target environment, and are built after
188 # the host libraries and the host tools (which may be a cross compiler)
189 #
190 target_libraries="target-libgcc \
191                 target-libiberty \
192                 target-libgloss \
193                 target-newlib \
194                 target-libgomp \
195                 target-libstdc++-v3 \
196                 target-libmudflap \
197                 target-libssp \
198                 target-libquadmath \
199                 target-libgfortran \
200                 target-boehm-gc \
201                 ${libgcj} \
202                 target-libobjc \
203                 target-libada \
204                 target-libgo"
205
206 # these tools are built using the target libraries, and are intended to
207 # run only in the target environment
208 #
209 # note: any program that *uses* libraries that are in the "target_libraries"
210 # list belongs in this list.  those programs are also very likely
211 # candidates for the "native_only" list which follows
212 #
213 target_tools="target-examples target-gperf target-rda"
214
215 ################################################################################
216
217 ## All tools belong in one of the four categories, and are assigned above
218 ## We assign ${configdirs} this way to remove all embedded newlines.  This
219 ## is important because configure will choke if they ever get through.
220 ## ${configdirs} is directories we build using the host tools.
221 ## ${target_configdirs} is directories we build using the target tools.
222 configdirs=`echo ${host_libs} ${host_tools}`
223 target_configdirs=`echo ${target_libraries} ${target_tools}`
224 build_configdirs=`echo ${build_libs} ${build_tools}`
225
226 m4_divert_text([PARSE_ARGS],
227 [case $srcdir in
228   *" "*)
229 m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
230     AC_MSG_ERROR([path to source, $srcdir, contains spaces])
231 m4_popdef([AS_MESSAGE_LOG_FD])dnl
232     ;;
233 esac
234 ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
235 ])
236
237 ################################################################################
238
239 srcname="gnu development package"
240
241 # This gets set non-empty for some net releases of packages.
242 appdirs=""
243
244 # Define is_cross_compiler to save on calls to 'test'.
245 is_cross_compiler=
246 if test x"${host}" = x"${target}" ; then
247   is_cross_compiler=no
248 else
249   is_cross_compiler=yes
250 fi      
251
252 # Find the build and target subdir names.
253 GCC_TOPLEV_SUBDIRS
254 # Be sure to cover against remnants of an in-tree build.
255 if test $srcdir != .  && test -d $srcdir/host-${host_noncanonical}; then
256   AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
257 Use a pristine source tree when building in a separate tree])
258 fi
259
260 # Skipdirs are removed silently.
261 skipdirs=
262 # Noconfigdirs are removed loudly.
263 noconfigdirs=""
264
265 use_gnu_ld=
266 # Make sure we don't let GNU ld be added if we didn't want it.
267 if test x$with_gnu_ld = xno ; then
268   use_gnu_ld=no
269   noconfigdirs="$noconfigdirs ld gold"
270 fi
271
272 use_gnu_as=
273 # Make sure we don't let GNU as be added if we didn't want it.
274 if test x$with_gnu_as = xno ; then
275   use_gnu_as=no
276   noconfigdirs="$noconfigdirs gas"
277 fi
278
279 use_included_zlib=
280 # Make sure we don't let ZLIB be added if we didn't want it.
281 if test x$with_system_zlib = xyes ; then
282   use_included_zlib=no
283   noconfigdirs="$noconfigdirs zlib"
284 fi
285
286 # some tools are so dependent upon X11 that if we're not building with X, 
287 # it's not even worth trying to configure, much less build, that tool.
288
289 case ${with_x} in
290   yes | "") ;; # the default value for this tree is that X11 is available
291   no)
292     skipdirs="${skipdirs} tk itcl libgui"
293     # We won't be able to build gdbtk without X.
294     enable_gdbtk=no 
295     ;;
296   *)  echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
297 esac
298
299 # Some tools are only suitable for building in a "native" situation.
300 # Remove these if host!=target.  
301 native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff guile perl time ash bash bzip2 prms gnuserv target-gperf"
302
303 # Similarly, some are only suitable for cross toolchains.
304 # Remove these if host=target.
305 cross_only="target-libgloss target-newlib target-opcodes"
306
307 case $is_cross_compiler in
308   no) skipdirs="${skipdirs} ${cross_only}" ;;
309   yes) skipdirs="${skipdirs} ${native_only}" ;;
310 esac
311
312 # If both --with-headers and --with-libs are specified, default to
313 # --without-newlib.
314 if test x"${with_headers}" != x && test x"${with_headers}" != xno \
315    && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
316   if test x"${with_newlib}" = x ; then
317     with_newlib=no
318   fi
319 fi
320
321 # Recognize --with-newlib/--without-newlib.
322 case ${with_newlib} in
323   no) skipdirs="${skipdirs} target-newlib" ;;
324   yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
325 esac
326
327 # Handle --enable-gold, --enable-ld.
328 # --disable-gold [--enable-ld]
329 #     Build only ld.  Default option.
330 # --enable-gold [--enable-ld]
331 #     Build both gold and ld.  Install gold as "ld.gold", install ld
332 #     as "ld.bfd" and "ld".
333 # --enable-gold=default [--enable-ld]
334 #     Build both gold and ld.  Install gold as "ld.gold" and "ld",
335 #     install ld as "ld.bfd".
336 # --enable-gold[=default] --disable-ld
337 #     Build only gold, which is then installed as both "ld.gold" and "ld".
338 # --enable-gold --enable-ld=default
339 #     Build both gold (installed as "ld.gold") and ld (installed as "ld"
340 #     and ld.bfd).
341 #     In other words, ld is default
342 # --enable-gold=default --enable-ld=default
343 #     Error.
344
345 default_ld=
346 AC_ARG_ENABLE(gold,
347 [AS_HELP_STRING([[--enable-gold[=ARG]]],
348                 [build gold @<:@ARG={default,yes,no}@:>@])],
349 ENABLE_GOLD=$enableval,
350 ENABLE_GOLD=no)
351 case "${ENABLE_GOLD}" in
352   yes|default)
353     # Check for ELF target.
354     is_elf=no
355     case "${target}" in
356       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
357       | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
358       | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
359         case "${target}" in
360           *-*-linux*aout* | *-*-linux*oldld*)
361             ;;
362           *)
363             is_elf=yes
364             ;;
365         esac
366     esac
367
368     if test "$is_elf" = "yes"; then
369       # Check for target supported by gold.
370       case "${target}" in
371         i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
372           configdirs="$configdirs gold"
373           if test x${ENABLE_GOLD} = xdefault; then
374             default_ld=gold
375           fi
376           ENABLE_GOLD=yes
377           ;;
378       esac
379     fi
380     ;;
381   no)
382     ;;
383   *)
384     AC_MSG_ERROR([invalid --enable-gold argument])
385     ;;
386 esac
387
388 AC_ARG_ENABLE(ld,
389 [AS_HELP_STRING([[--enable-ld[=ARG]]],
390                 [build ld @<:@ARG={default,yes,no}@:>@])],
391 ENABLE_LD=$enableval,
392 ENABLE_LD=yes)
393
394 case "${ENABLE_LD}" in
395   default)
396     if test x${default_ld} != x; then
397       AC_MSG_ERROR([either gold or ld can be the default ld])
398     fi
399     ;;
400   yes)
401     ;;
402   no)
403     if test x${ENABLE_GOLD} != xyes; then
404       AC_MSG_WARN([neither ld nor gold are enabled])
405     fi
406     configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
407     ;;
408   *)
409     AC_MSG_ERROR([invalid --enable-ld argument])
410     ;;
411 esac
412
413 # Configure extra directories which are host specific
414
415 case "${host}" in
416   *-cygwin*)
417     configdirs="$configdirs libtermcap" ;;
418 esac
419
420 # A target can indicate whether a language isn't supported for some reason.
421 # Only spaces may be used in this macro; not newlines or tabs.
422 unsupported_languages=
423
424 # Remove more programs from consideration, based on the host or 
425 # target this usually means that a port of the program doesn't
426 # exist yet.
427
428 case "${host}" in
429   i[[3456789]]86-*-msdosdjgpp*)
430     noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi"
431     ;;
432   x86_64-*-mingw*)
433     noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
434     ;;
435   i[[3456789]]86-*-mingw32*)
436     noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
437     ;;
438   *-*-cygwin*)
439     noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
440     ;;
441   *-*-netbsd*)
442     noconfigdirs="$noconfigdirs rcs"
443     ;;
444 esac
445
446
447 AC_ARG_ENABLE(libquadmath,
448 AS_HELP_STRING([--disable-libquadmath],
449   [do not build libquadmath directory]),
450 ENABLE_LIBQUADMATH=$enableval,
451 ENABLE_LIBQUADMATH=yes)
452 if test "${ENABLE_LIBQUADMATH}" = "no" ; then
453   noconfigdirs="$noconfigdirs target-libquadmath"
454 fi
455
456
457 AC_ARG_ENABLE(libquadmath-support,
458 AS_HELP_STRING([--disable-libquadmath-support],
459   [disable libquadmath support for Fortran]),
460 ENABLE_LIBQUADMATH_SUPPORT=$enableval,
461 ENABLE_LIBQUADMATH_SUPPORT=yes)
462 enable_libquadmath_support=
463 if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then
464   enable_libquadmath_support=no
465 fi
466
467
468 AC_ARG_ENABLE(libada,
469 [AS_HELP_STRING([--enable-libada], [build libada directory])],
470 ENABLE_LIBADA=$enableval,
471 ENABLE_LIBADA=yes)
472 if test "${ENABLE_LIBADA}" != "yes" ; then
473   noconfigdirs="$noconfigdirs gnattools"
474 fi
475
476 AC_ARG_ENABLE(libssp,
477 [AS_HELP_STRING([--enable-libssp], [build libssp directory])],
478 ENABLE_LIBSSP=$enableval,
479 ENABLE_LIBSSP=yes)
480
481 # Save it here so that, even in case of --enable-libgcj, if the Java
482 # front-end isn't enabled, we still get libgcj disabled.
483 libgcj_saved=$libgcj
484 case $enable_libgcj in
485 yes)
486   # If we reset it here, it won't get added to noconfigdirs in the
487   # target-specific build rules, so it will be forcibly enabled
488   # (unless the Java language itself isn't enabled).
489   libgcj=
490   ;;
491 no)
492   # Make sure we get it printed in the list of not supported target libs.
493   # Don't disable libffi, though, other languages use it.
494   noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
495   # Clear libgcj_saved so that even if java is enabled libffi won't be
496   # built.
497   libgcj_saved=
498   ;;
499 esac
500
501
502 # Disable libmudflap on some systems.
503 if test x$enable_libmudflap = x ; then
504     case "${target}" in
505     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
506         # Enable libmudflap by default in GNU and friends.
507         ;;
508     *-*-freebsd*)
509         # Enable libmudflap by default in FreeBSD.
510         ;;
511     *)
512         # Disable it by default everywhere else.
513         noconfigdirs="$noconfigdirs target-libmudflap"
514         ;;
515     esac
516 fi
517
518 # Disable libgomp on non POSIX hosted systems.
519 if test x$enable_libgomp = x ; then
520     # Enable libgomp by default on hosted POSIX systems.
521     case "${target}" in
522     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
523         ;;
524     *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
525         ;;
526     *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
527         ;;
528     *-*-darwin* | *-*-aix*)
529         ;;
530     *)
531         noconfigdirs="$noconfigdirs target-libgomp"
532         ;;
533     esac
534 fi
535
536 # Default libgloss CPU subdirectory.
537 libgloss_dir="$target_cpu"
538
539 case "${target}" in
540   *-*-chorusos)
541     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
542     ;;
543   powerpc-*-darwin*)
544     noconfigdirs="$noconfigdirs ld gas gdb gprof"
545     noconfigdirs="$noconfigdirs sim target-rda"
546     ;;
547   i[[3456789]]86-*-darwin*)
548     noconfigdirs="$noconfigdirs ld gprof"
549     noconfigdirs="$noconfigdirs sim target-rda"
550     ;;
551   x86_64-*-darwin[[912]]*)
552     noconfigdirs="$noconfigdirs ld gas gprof"
553     noconfigdirs="$noconfigdirs sim target-rda"
554     ;;
555   *-*-darwin*)
556     noconfigdirs="$noconfigdirs ld gas gdb gprof"
557     noconfigdirs="$noconfigdirs sim target-rda"
558     noconfigdirs="$noconfigdirs ${libgcj}"
559     ;;
560   *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
561     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
562     ;;
563   *-*-freebsd*)
564     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
565     if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
566         && test -f /usr/local/include/gmp.h; then
567       with_gmp=/usr/local
568     fi
569
570     # Skip some stuff that's unsupported on some FreeBSD configurations.
571     case "${target}" in
572       i*86-*-*) ;;
573       alpha*-*-*) ;;
574       x86_64-*-*) ;;
575       *)
576         noconfigdirs="$noconfigdirs ${libgcj}"
577         ;;
578     esac
579     ;;
580   *-*-kaos*)
581     # Remove unsupported stuff on all kaOS configurations.
582     skipdirs="target-libiberty ${libgcj} target-libstdc++-v3"
583     skipdirs="$skipdirs target-libobjc target-examples target-gperf"
584     skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
585     noconfigdirs="$noconfigdirs target-libgloss"
586     ;;
587   *-*-netbsd*)
588     # Skip some stuff on all NetBSD configurations.
589     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
590
591     # Skip some stuff that's unsupported on some NetBSD configurations.
592     case "${target}" in
593       i*86-*-netbsdelf*) ;;
594       arm*-*-netbsdelf*) ;;
595       *)
596         noconfigdirs="$noconfigdirs ${libgcj}"
597         ;;
598     esac
599     ;;
600   *-*-netware*)
601     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj}"
602     ;;
603   *-*-rtems*)
604     skipdirs="${skipdirs} target-libiberty"
605     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
606     ;;
607     # The tpf target doesn't support gdb yet.
608   *-*-tpf*)
609     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} gdb tcl tk libgui itcl"
610     ;;
611   *-*-uclinux*)
612     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
613     ;;
614   *-*-vxworks*)
615     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
616     ;;
617   alpha*-dec-osf*)
618     # ld works, but does not support shared libraries.
619     # newlib is not 64 bit ready.  I'm not sure about fileutils.
620     # gas doesn't generate exception information.
621     noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
622     ;;
623   alpha*-*-*vms*)
624     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
625     ;;
626   alpha*-*-linux*)
627     # newlib is not 64 bit ready
628     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
629     ;;
630   alpha*-*-*)
631     # newlib is not 64 bit ready
632     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
633     ;;
634   am33_2.0-*-linux*)
635     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
636     ;;
637   sh-*-linux*)
638     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
639     ;;    
640   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
641     noconfigdirs="$noconfigdirs ${libgcj}"
642     noconfigdirs="$noconfigdirs target-examples"
643     noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
644     noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
645     noconfigdirs="$noconfigdirs expect dejagnu"
646     # the C++ libraries don't build on top of CE's C libraries
647     noconfigdirs="$noconfigdirs target-libstdc++-v3"
648     noconfigdirs="$noconfigdirs target-newlib"
649     libgloss_dir=wince
650     ;;
651   arc-*-*)
652     noconfigdirs="$noconfigdirs target-libgloss"
653     ;;
654   arm-*-coff)
655     noconfigdirs="$noconfigdirs ${libgcj}"
656     libgloss_dir=arm
657     ;;
658   arm-*-elf* | arm*-*-eabi* )
659     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
660     libgloss_dir=arm
661     ;;
662   arm*-*-linux-gnueabi)
663     noconfigdirs="$noconfigdirs target-qthreads"
664     case ${with_newlib} in
665       no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
666     esac
667     libgloss_dir=arm
668     ;;
669   arm*-*-symbianelf*)
670     noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
671     libgloss_dir=arm
672     ;;
673   arm-*-pe*)
674     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
675     ;;
676   arm-*-riscix*)
677     noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
678     ;;
679   avr-*-*)
680     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp"
681     ;;
682   bfin-*-*)
683     unsupported_languages="$unsupported_languages java"
684     noconfigdirs="$noconfigdirs target-boehm-gc"
685     if test x${is_cross_compiler} != xno ; then
686       target_configdirs="${target_configdirs} target-bsp target-cygmon"
687     fi
688     ;;
689   c4x-*-* | tic4x-*-*)
690     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
691     ;;
692   c54x*-*-* | tic54x-*-*)
693     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
694     ;;
695   cr16-*-*)
696     noconfigdirs="$noconfigdirs ${libgcj} gdb"
697     ;;
698   cris-*-* | crisv32-*-*)
699     unsupported_languages="$unsupported_languages java"
700     case "${target}" in
701       *-*-aout)
702         unsupported_languages="$unsupported_languages fortran"
703         noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
704       *-*-elf) # See PR46792 regarding target-libffi.
705         noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
706       *-*-linux*)
707         noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
708       *)
709         unsupported_languages="$unsupported_languages fortran"
710         noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
711     esac
712     libgloss_dir=cris
713     ;;
714   d10v-*-*)
715     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
716     ;;
717   d30v-*-*)
718     noconfigdirs="$noconfigdirs ${libgcj} gdb"
719     ;;
720   fr30-*-elf*)
721     noconfigdirs="$noconfigdirs ${libgcj} gdb"
722     ;;
723   frv-*-*)
724     noconfigdirs="$noconfigdirs ${libgcj}"
725     ;;
726   moxie-*-*)
727     noconfigdirs="$noconfigdirs ${libgcj}"
728     noconfigdirs="$noconfigdirs gprof"
729     ;;
730   h8300*-*-*)
731     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
732     ;;
733   h8500-*-*)
734     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
735     ;;
736   hppa1.1-*-osf* | hppa1.1-*-bsd* )
737     ;;
738   hppa*64*-*-linux*)
739     # In this case, it's because the hppa64-linux target is for
740     # the kernel only at this point and has no libc, and thus no
741     # headers, crt*.o, etc., all of which are needed by these.
742     noconfigdirs="$noconfigdirs target-zlib"
743     ;;
744   hppa*-*-linux*)
745     ;;
746   hppa*-*-*elf* | \
747   hppa*-*-lites* | \
748   hppa*-*-openbsd* | \
749   hppa*64*-*-*)
750     noconfigdirs="$noconfigdirs ${libgcj}"
751     ;;
752   hppa*-hp-hpux11*)
753     noconfigdirs="$noconfigdirs ld shellutils"
754     ;;
755   hppa*-*-pro*)
756     libgloss_dir=pa
757     ;;
758   hppa*-*-*)
759     # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
760     # build on HP-UX 10.20.
761     noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
762     ;;
763   i960-*-*)
764     noconfigdirs="$noconfigdirs ${libgcj} gdb"
765     ;;
766   ia64*-*-elf*)
767     # No gdb support yet.
768     noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb"
769     ;;
770   ia64*-**-hpux*)
771     # No ld support yet.
772     noconfigdirs="$noconfigdirs ${libgcj} libgui itcl ld"
773     ;;
774   ia64*-*-*vms*)
775     # No gdb or ld support yet.
776     noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
777     ;;
778   i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
779     noconfigdirs="$noconfigdirs ${libgcj}"
780     libgloss_dir=i386
781     ;;
782   i[[3456789]]86-*-linux*)
783     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
784     # not build java stuff by default.
785     case "${target}" in
786       *-*-*libc1*)
787         noconfigdirs="$noconfigdirs ${libgcj}";;
788     esac
789
790     # This section makes it possible to build newlib natively on linux.
791     # If we are using a cross compiler then don't configure newlib.
792     if test x${is_cross_compiler} != xno ; then
793       noconfigdirs="$noconfigdirs target-newlib"
794     fi
795     noconfigdirs="$noconfigdirs target-libgloss"
796     # If we are not using a cross compiler, do configure newlib.
797     # Note however, that newlib will only be configured in this situation
798     # if the --with-newlib option has been given, because otherwise
799     # 'target-newlib' will appear in skipdirs.
800     ;;
801   i[[3456789]]86-w64-mingw*)
802     noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
803     ;;
804   i[[3456789]]86-*-mingw*)
805     target_configdirs="$target_configdirs target-winsup"
806     noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
807     ;;
808   x86_64-*-mingw*)
809     noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
810     ;;
811   *-*-cygwin*)
812     target_configdirs="$target_configdirs target-libtermcap target-winsup"
813     noconfigdirs="$noconfigdirs target-gperf target-libgloss"
814     # always build newlib if winsup directory is present.
815     if test -d "$srcdir/winsup/cygwin"; then
816       skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
817     elif test -d "$srcdir/newlib"; then
818       echo "Warning: winsup/cygwin is missing so newlib can't be built."
819     fi
820     ;;
821   i[[3456789]]86-*-interix* )
822     ;;
823   i[[3456789]]86-*-pe)
824     noconfigdirs="$noconfigdirs target-libgloss"
825     ;;
826   i[[3456789]]86-*-sco3.2v5*)
827     # The linker does not yet know about weak symbols in COFF,
828     # and is not configured to handle mixed ELF and COFF.
829     noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
830     ;;
831   i[[3456789]]86-*-sco*)
832     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
833     ;;
834   i[[3456789]]86-*-solaris2*)
835     noconfigdirs="$noconfigdirs target-libgloss"
836     ;;
837   i[[3456789]]86-*-sysv4*)
838     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
839     ;;
840   i[[3456789]]86-*-beos*)
841     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
842     ;;
843   i[[3456789]]86-*-rdos*)
844     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
845     ;;
846   m32r-*-*)
847     noconfigdirs="$noconfigdirs ${libgcj}"
848     ;;
849   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
850     noconfigdirs="$noconfigdirs target-libiberty"
851     libgloss_dir=m68hc11
852     ;;
853   m68k-*-elf*)
854     noconfigdirs="$noconfigdirs ${libgcj}"
855     ;;
856   m68k-*-coff*)
857     noconfigdirs="$noconfigdirs ${libgcj}"
858     ;;
859   m68*-*-* | fido-*-*)
860     libgloss_dir=m68k
861     ;;
862   mmix-*-*)
863     noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
864     unsupported_languages="$unsupported_languages fortran java"
865     ;;
866   mn10200-*-*)
867     noconfigdirs="$noconfigdirs ${libgcj}"
868     ;;
869   mn10300-*-*)
870     noconfigdirs="$noconfigdirs ${libgcj}"
871     ;;
872   mt-*-*)
873     noconfigdirs="$noconfigdirs sim"
874     ;;
875   picochip-*-*)
876     noconfigdirs="$noconfigdirs target-libiberty"
877     ;;
878   powerpc-*-aix*)
879     # copied from rs6000-*-* entry
880     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
881     ;;
882   powerpc*-*-winnt* | powerpc*-*-pe*)
883     target_configdirs="$target_configdirs target-winsup"
884     noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}"
885     # always build newlib.
886     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
887     ;;
888     # This is temporary until we can link against shared libraries
889   powerpcle-*-solaris*)
890     noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
891     libgloss_dir=rs6000
892     ;;
893   powerpc-*-beos*)
894     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
895     ;;
896   powerpc-*-eabi)
897     noconfigdirs="$noconfigdirs ${libgcj}"
898     libgloss_dir=rs6000
899     ;;
900   powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
901     libgloss_dir=rs6000
902     ;;
903   rs6000-*-lynxos*)
904     noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
905     ;;
906   rs6000-*-aix*)
907     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
908     ;;
909   rs6000-*-*)
910     noconfigdirs="$noconfigdirs gprof ${libgcj}"
911     ;;
912   m68k-apollo-*)
913     noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
914     ;;
915   microblaze*)
916     noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}"
917     ;;
918   mips*-sde-elf*)
919     skipdirs="$skipdirs target-libiberty"
920     noconfigdirs="$noconfigdirs ${libgcj}"
921     if test x$with_newlib = xyes; then
922       noconfigdirs="$noconfigdirs gprof"
923     fi
924     libgloss_dir=mips
925     ;;
926   mips*-*-irix5*)
927     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
928     ;;
929   mips*-*-irix6*)
930     # Linking libjava exceeds command-line length limits on at least
931     # IRIX 6.2, but not on IRIX 6.5.
932     # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
933     # <oldham@codesourcery.com>
934     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
935     ;;
936   mips*-*-bsd*)
937     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
938     ;;
939   mips*-*-linux*)
940     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
941     ;;
942   mips*-*-*)
943     noconfigdirs="$noconfigdirs gprof ${libgcj}"
944     libgloss_dir=mips
945     ;;
946   romp-*-*)
947     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
948     ;;
949   sh-*-* | sh64-*-*)
950     case "${target}" in
951       sh*-*-elf)
952          noconfigdirs="$noconfigdirs ${libgcj}" ;;
953       *)
954          noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;;
955     esac
956     ;;
957   sparclet-*-aout* | sparc86x-*-*)
958     libgloss_dir=sparc
959     ;;
960   sparc-*-elf*)
961     noconfigdirs="$noconfigdirs ${libgcj}"
962     ;;
963   sparc64-*-elf*)
964     noconfigdirs="$noconfigdirs ${libgcj}"
965     libgloss_dir=sparc
966     ;;
967   sparclite-*-*)
968     noconfigdirs="$noconfigdirs ${libgcj}"
969     libgloss_dir=sparc
970     ;;
971   sparc-*-sunos4*)
972     noconfigdirs="$noconfigdirs ${libgcj}"
973     if test x${is_cross_compiler} != xno ; then
974            noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
975     else
976            use_gnu_ld=no
977     fi
978     ;;
979   sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
980     noconfigdirs="$noconfigdirs ${libgcj}"
981     ;;
982   sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
983     ;;
984   tic6x-*-*)
985     noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
986     ;;
987   v810-*-*)
988     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
989     ;;
990   v850*-*-*)
991     noconfigdirs="$noconfigdirs ${libgcj}"
992     ;;
993   vax-*-vms)
994     noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
995     ;;
996   vax-*-*)
997     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
998     ;;
999   xtensa*-*-*)
1000     noconfigdirs="$noconfigdirs ${libgcj}"
1001     ;;
1002   ip2k-*-*)
1003     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
1004     ;;
1005   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
1006     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
1007     ;;
1008   *-*-lynxos*)
1009     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
1010     ;; 
1011   *-*-*)
1012     noconfigdirs="$noconfigdirs ${libgcj}"
1013     ;;
1014 esac
1015
1016 # If we aren't building newlib, then don't build libgloss, since libgloss
1017 # depends upon some newlib header files.
1018 case "${noconfigdirs}" in
1019   *target-libgloss*) ;;
1020   *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
1021 esac
1022
1023 # Work in distributions that contain no compiler tools, like Autoconf.
1024 host_makefile_frag=/dev/null
1025 if test -d ${srcdir}/config ; then
1026 case "${host}" in
1027   i[[3456789]]86-*-msdosdjgpp*)
1028     host_makefile_frag="config/mh-djgpp"
1029     ;;
1030   *-cygwin*)
1031     ACX_CHECK_CYGWIN_CAT_WORKS
1032     host_makefile_frag="config/mh-cygwin"
1033     ;;
1034   *-mingw*)
1035     host_makefile_frag="config/mh-mingw"
1036     ;;
1037   *-interix*)
1038     host_makefile_frag="config/mh-interix"
1039     ;;
1040   hppa*-hp-hpux10*)
1041     host_makefile_frag="config/mh-pa-hpux10"
1042     ;;
1043   hppa*-hp-hpux*)
1044     host_makefile_frag="config/mh-pa"
1045     ;;
1046   hppa*-*)      
1047     host_makefile_frag="config/mh-pa"
1048     ;;
1049   *-*-darwin*)
1050     host_makefile_frag="config/mh-darwin"
1051     ;;
1052   powerpc-*-aix*)
1053     host_makefile_frag="config/mh-ppc-aix"
1054     ;;
1055   rs6000-*-aix*)
1056     host_makefile_frag="config/mh-ppc-aix"
1057     ;;
1058 esac
1059 fi
1060
1061 if test "${build}" != "${host}" ; then
1062   AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1063   AS_FOR_BUILD=${AS_FOR_BUILD-as}
1064   CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
1065   CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1066   GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1067   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
1068   GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
1069   DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1070   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1071   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1072   RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1073   WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1074   WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
1075 else
1076   AR_FOR_BUILD="\$(AR)"
1077   AS_FOR_BUILD="\$(AS)"
1078   CC_FOR_BUILD="\$(CC)"
1079   CXX_FOR_BUILD="\$(CXX)"
1080   GCJ_FOR_BUILD="\$(GCJ)"
1081   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
1082   GOC_FOR_BUILD="\$(GOC)"
1083   DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1084   LD_FOR_BUILD="\$(LD)"
1085   NM_FOR_BUILD="\$(NM)"
1086   RANLIB_FOR_BUILD="\$(RANLIB)"
1087   WINDRES_FOR_BUILD="\$(WINDRES)"
1088   WINDMC_FOR_BUILD="\$(WINDMC)"
1089 fi
1090
1091 AC_PROG_CC
1092 AC_PROG_CXX
1093
1094 # We must set the default linker to the linker used by gcc for the correct
1095 # operation of libtool.  If LD is not defined and we are using gcc, try to
1096 # set the LD default to the ld used by gcc.
1097 if test -z "$LD"; then
1098   if test "$GCC" = yes; then
1099     case $build in
1100     *-*-mingw*)
1101       gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1102     *)
1103       gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1104     esac
1105     case $gcc_prog_ld in
1106     # Accept absolute paths.
1107     [[\\/]* | [A-Za-z]:[\\/]*)]
1108       LD="$gcc_prog_ld" ;;
1109     esac
1110   fi
1111 fi
1112
1113 ACX_PROG_GNAT
1114 ACX_PROG_CMP_IGNORE_INITIAL
1115
1116 # See if we are building gcc with C++.
1117 AC_ARG_ENABLE(build-with-cxx,
1118 [AS_HELP_STRING([--enable-build-with-cxx],
1119                 [build with C++ compiler instead of C compiler])],
1120 ENABLE_BUILD_WITH_CXX=$enableval,
1121 ENABLE_BUILD_WITH_CXX=no)
1122
1123 # Used for setting $lt_cv_objdir
1124 _LT_CHECK_OBJDIR
1125
1126 # Check for GMP, MPFR and MPC
1127 gmplibs="-lmpc -lmpfr -lgmp"
1128 gmpinc=
1129 have_gmp=no
1130
1131 # Specify a location for mpc
1132 # check for this first so it ends up on the link line before mpfr.
1133 AC_ARG_WITH(mpc,
1134 [AS_HELP_STRING([--with-mpc=PATH],
1135                 [specify prefix directory for installed MPC package.
1136                  Equivalent to --with-mpc-include=PATH/include
1137                  plus --with-mpc-lib=PATH/lib])])
1138 AC_ARG_WITH(mpc-include,
1139 [AS_HELP_STRING([--with-mpc-include=PATH],
1140                 [specify directory for installed MPC include files])])
1141 AC_ARG_WITH(mpc-lib,
1142 [AS_HELP_STRING([--with-mpc-lib=PATH],
1143                 [specify directory for the installed MPC library])])
1144
1145 if test "x$with_mpc" != x; then
1146   gmplibs="-L$with_mpc/lib $gmplibs"
1147   gmpinc="-I$with_mpc/include $gmpinc"
1148 fi
1149 if test "x$with_mpc_include" != x; then
1150   gmpinc="-I$with_mpc_include $gmpinc"
1151 fi
1152 if test "x$with_mpc_lib" != x; then
1153   gmplibs="-L$with_mpc_lib $gmplibs"
1154 fi
1155 if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
1156   gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
1157   gmpinc='-I$$s/mpc/src '"$gmpinc"
1158   # Do not test the mpc version.  Assume that it is sufficient, since
1159   # it is in the source tree, and the library has not been built yet
1160   # but it would be included on the link line in the version check below
1161   # hence making the test fail.
1162   have_gmp=yes
1163 fi
1164
1165 # Specify a location for mpfr
1166 # check for this first so it ends up on the link line before gmp.
1167 AC_ARG_WITH(mpfr-dir,
1168 [AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
1169 [AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1170 Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
1171
1172 AC_ARG_WITH(mpfr,
1173 [AS_HELP_STRING([--with-mpfr=PATH],
1174                 [specify prefix directory for installed MPFR package.
1175                  Equivalent to --with-mpfr-include=PATH/include
1176                  plus --with-mpfr-lib=PATH/lib])])
1177 AC_ARG_WITH(mpfr-include,
1178 [AS_HELP_STRING([--with-mpfr-include=PATH],
1179                 [specify directory for installed MPFR include files])])
1180 AC_ARG_WITH(mpfr-lib,
1181 [AS_HELP_STRING([--with-mpfr-lib=PATH],
1182                 [specify directory for the installed MPFR library])])
1183
1184 if test "x$with_mpfr" != x; then
1185   gmplibs="-L$with_mpfr/lib $gmplibs"
1186   gmpinc="-I$with_mpfr/include $gmpinc"
1187 fi
1188 if test "x$with_mpfr_include" != x; then
1189   gmpinc="-I$with_mpfr_include $gmpinc"
1190 fi
1191 if test "x$with_mpfr_lib" != x; then
1192   gmplibs="-L$with_mpfr_lib $gmplibs"
1193 fi
1194 if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
1195   gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
1196   gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
1197   extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
1198   # Do not test the mpfr version.  Assume that it is sufficient, since
1199   # it is in the source tree, and the library has not been built yet
1200   # but it would be included on the link line in the version check below
1201   # hence making the test fail.
1202   have_gmp=yes
1203 fi
1204
1205 # Specify a location for gmp
1206 AC_ARG_WITH(gmp-dir,
1207 [AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
1208 [AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1209 Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
1210
1211 AC_ARG_WITH(gmp,
1212 [AS_HELP_STRING([--with-gmp=PATH],
1213                 [specify prefix directory for the installed GMP package.
1214                  Equivalent to --with-gmp-include=PATH/include
1215                  plus --with-gmp-lib=PATH/lib])])
1216 AC_ARG_WITH(gmp-include,
1217 [AS_HELP_STRING([--with-gmp-include=PATH],
1218                 [specify directory for installed GMP include files])])
1219 AC_ARG_WITH(gmp-lib,
1220 [AS_HELP_STRING([--with-gmp-lib=PATH],
1221                 [specify directory for the installed GMP library])])
1222
1223
1224 if test "x$with_gmp" != x; then
1225   gmplibs="-L$with_gmp/lib $gmplibs"
1226   gmpinc="-I$with_gmp/include $gmpinc"
1227 fi
1228 if test "x$with_gmp_include" != x; then
1229   gmpinc="-I$with_gmp_include $gmpinc"
1230 fi
1231 if test "x$with_gmp_lib" != x; then
1232   gmplibs="-L$with_gmp_lib $gmplibs"
1233 fi
1234 if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
1235   gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
1236   gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
1237   extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
1238   extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
1239   # Do not test the gmp version.  Assume that it is sufficient, since
1240   # it is in the source tree, and the library has not been built yet
1241   # but it would be included on the link line in the version check below
1242   # hence making the test fail.
1243   have_gmp=yes
1244 fi
1245
1246 if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
1247   have_gmp=yes
1248   saved_CFLAGS="$CFLAGS"
1249   CFLAGS="$CFLAGS $gmpinc"
1250   # Check for the recommended and required versions of GMP.
1251   AC_MSG_CHECKING([for the correct version of gmp.h])
1252   AC_TRY_COMPILE([#include "gmp.h"],[
1253   #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1254   #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1255   #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
1256   choke me
1257   #endif
1258   ], [AC_TRY_COMPILE([#include <gmp.h>],[
1259   #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1260   #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1261   #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
1262   choke me
1263   #endif
1264   ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1265    [AC_MSG_RESULT([no]); have_gmp=no])
1266
1267   # If we have GMP, check the MPFR version.
1268   if test x"$have_gmp" = xyes; then
1269     # Check for the recommended and required versions of MPFR.
1270     AC_MSG_CHECKING([for the correct version of mpfr.h])
1271     AC_TRY_COMPILE([#include <gmp.h>
1272     #include <mpfr.h>],[
1273     #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
1274     choke me
1275     #endif
1276     ], [AC_TRY_COMPILE([#include <gmp.h>
1277     #include <mpfr.h>],[
1278     #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
1279     choke me
1280     #endif
1281     ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1282      [AC_MSG_RESULT([no]); have_gmp=no])
1283   fi
1284
1285   # Check for the MPC header version.
1286   if test x"$have_gmp" = xyes ; then
1287     # Check for the recommended and required versions of MPC.
1288     AC_MSG_CHECKING([for the correct version of mpc.h])
1289     AC_TRY_COMPILE([#include <mpc.h>],[
1290     #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
1291     choke me
1292     #endif
1293     ], [AC_TRY_COMPILE([#include <mpc.h>],[
1294     #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
1295     choke me
1296     #endif
1297     ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
1298      [AC_MSG_RESULT([no]); have_gmp=no])
1299   fi
1300
1301   # Now check the MPFR library.
1302   if test x"$have_gmp" = xyes; then
1303     saved_LIBS="$LIBS"
1304     LIBS="$LIBS $gmplibs"
1305     AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
1306     AC_TRY_LINK([#include <mpc.h>],[
1307     mpfr_t n;
1308     mpfr_t x;
1309     mpc_t c;
1310     int t;
1311     mpfr_init (n);
1312     mpfr_init (x);
1313     mpfr_atan2 (n, n, x, GMP_RNDN);
1314     mpfr_erfc (n, x, GMP_RNDN);
1315     mpfr_subnormalize (x, t, GMP_RNDN);
1316     mpfr_clear(n);
1317     mpfr_clear(x);
1318     mpc_init2 (c, 53);
1319     mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
1320     mpc_cosh (c, c, MPC_RNDNN);
1321     mpc_pow (c, c, c, MPC_RNDNN);
1322     mpc_acosh (c, c, MPC_RNDNN);
1323     mpc_clear (c);
1324     ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1325     LIBS="$saved_LIBS"
1326   fi
1327
1328   CFLAGS="$saved_CFLAGS"
1329
1330 # The library versions listed in the error message below should match
1331 # the HARD-minimums enforced above.
1332   if test x$have_gmp != xyes; then
1333     AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
1334 Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
1335 their locations.  Source code for these libraries can be found at
1336 their respective hosting sites as well as at
1337 ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
1338 http://gcc.gnu.org/install/prerequisites.html for additional info.  If
1339 you obtained GMP, MPFR and/or MPC from a vendor distribution package,
1340 make sure that you have installed both the libraries and the header
1341 files.  They may be located in separate packages.])
1342   fi
1343 fi
1344
1345 # Flags needed for both GMP, MPFR and/or MPC.
1346 AC_SUBST(gmplibs)
1347 AC_SUBST(gmpinc)
1348 AC_SUBST(extra_mpfr_configure_flags)
1349 AC_SUBST(extra_mpc_gmp_configure_flags)
1350 AC_SUBST(extra_mpc_mpfr_configure_flags)
1351
1352 # Allow host libstdc++ to be specified for static linking with PPL.
1353 AC_ARG_WITH(host-libstdcxx,
1354 [AS_HELP_STRING([--with-host-libstdcxx=L],
1355                 [use linker arguments L to link with libstdc++
1356                  when linking with PPL])])
1357
1358 case $with_host_libstdcxx in
1359   no|yes)
1360     AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
1361     ;;
1362 esac
1363
1364 # Linker flags to use for stage1 or when not boostrapping.
1365 AC_ARG_WITH(stage1-ldflags,
1366 [AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
1367 [if test "$withval" = "no" -o "$withval" = "yes"; then
1368    stage1_ldflags=
1369  else
1370    stage1_ldflags=$withval
1371  fi],
1372 [stage1_ldflags=])
1373 AC_SUBST(stage1_ldflags)
1374
1375 # Libraries to use for stage1 or when not bootstrapping.
1376 AC_ARG_WITH(stage1-libs,
1377 [AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])],
1378 [if test "$withval" = "no" -o "$withval" = "yes"; then
1379    stage1_libs=
1380  else
1381    stage1_libs=$withval
1382  fi],
1383 [stage1_libs=$with_host_libstdcxx])
1384 AC_SUBST(stage1_libs)
1385
1386 # Libraries to use for stage2 and later builds.  This defaults to the
1387 # argument passed to --with-host-libstdcxx.
1388 AC_ARG_WITH(boot-libs,
1389 [AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])],
1390 [if test "$withval" = "no" -o "$withval" = "yes"; then
1391    poststage1_libs=
1392  else
1393    poststage1_libs=$withval
1394  fi],
1395 [poststage1_libs=$with_host_libstdcxx])
1396 AC_SUBST(poststage1_libs)
1397
1398 # Linker flags to use for stage2 and later builds.
1399 AC_ARG_WITH(boot-ldflags,
1400 [AS_HELP_STRING([--with-boot-ldflags=FLAGS],
1401                 [linker flags for stage2 and later])],
1402 [if test "$withval" = "no" -o "$withval" = "yes"; then
1403    poststage1_ldflags=
1404  else
1405    poststage1_ldflags=$withval
1406  fi],
1407 [poststage1_ldflags=
1408  # In stages 2 and 3, default to linking libstdc++ and libgcc
1409  # statically.  But if the user explicitly specified the libraries to
1410  # use, trust that they are doing what they want.
1411  if test "$poststage1_libs" = ""; then
1412    poststage1_ldflags="-static-libstdc++ -static-libgcc"
1413  fi])
1414 AC_SUBST(poststage1_ldflags)
1415
1416 # Check for PPL
1417 ppllibs=
1418 pplinc=
1419 pwllib=
1420
1421 AC_ARG_WITH(ppl,
1422 [AS_HELP_STRING([--with-ppl=PATH],
1423                 [specify prefix directory for the installed PPL package.
1424                  Equivalent to --with-ppl-include=PATH/include
1425                  plus --with-ppl-lib=PATH/lib])])
1426 AC_ARG_WITH(ppl-include,
1427 [AS_HELP_STRING([--with-ppl-include=PATH],
1428                 [specify directory for installed PPL include files])])
1429 AC_ARG_WITH(ppl-lib,
1430 [AS_HELP_STRING([--with-ppl-lib=PATH],
1431                 [specify directory for the installed PPL library])])
1432
1433 AC_ARG_ENABLE(ppl-version-check,
1434 [AS_HELP_STRING([--disable-ppl-version-check],
1435                 [disable check for PPL version])])
1436
1437 case $with_ppl in
1438   yes | no | "")
1439     ;;
1440   *)
1441     ppllibs="-L$with_ppl/lib"
1442     pplinc="-I$with_ppl/include $pplinc"
1443     if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
1444       with_ppl=yes
1445     else
1446       AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"])
1447     fi
1448     ;;
1449 esac
1450
1451 if test x"$with_ppl_include" != x; then
1452   pplinc="-I$with_ppl_include $pplinc"
1453   with_ppl=yes
1454 fi
1455
1456 if test "x$with_ppl_lib" != x; then
1457   ppllibs="-L$with_ppl_lib"
1458   with_ppl=yes
1459 fi
1460
1461 if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
1462   if test x"$enable_watchdog" = xyes; then
1463     pwllib="-lpwl"
1464   fi
1465   ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
1466   pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
1467   enable_ppl_version_check=no
1468   with_ppl=yes
1469 fi
1470
1471 if test "x$with_ppl" != xno; then
1472   if test "x$pwllib" = x; then
1473     saved_LIBS="$LIBS"
1474     LIBS="$LIBS $ppllibs -lstdc++ -lm"
1475     AC_CHECK_LIB(pwl, PWL_handle_timeout, [pwllib="-lpwl"])
1476     LIBS="$saved_LIBS"
1477   fi
1478
1479   ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
1480
1481   if test "$enable_ppl_version_check" != no; then
1482     saved_CFLAGS="$CFLAGS"
1483     CFLAGS="$CFLAGS $pplinc $gmpinc"
1484     AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
1485     AC_TRY_COMPILE([#include "ppl_c.h"],[
1486     #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
1487     choke me
1488     #endif
1489     ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
1490     CFLAGS="$saved_CFLAGS"
1491   fi
1492 fi
1493
1494 # Flags needed for PPL
1495 AC_SUBST(ppllibs)
1496 AC_SUBST(pplinc)
1497
1498
1499 # Check for CLOOG
1500
1501 dnl Provide configure switches and initialize clooginc & clooglibs
1502 dnl with user input.
1503 CLOOG_INIT_FLAGS
1504 if test "x$with_ppl" = "xno"; then
1505   dnl Only execute fail-action, if CLooG has been requested.
1506   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
1507   if test "${graphite_requested}" = yes; then
1508     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for details.])
1509   fi
1510   with_cloog=no
1511 fi
1512 if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
1513   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
1514   clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
1515   clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
1516 fi
1517 if test "x$with_cloog" != "xno"; then
1518   dnl The minimal version of CLooG required for Graphite.
1519   dnl
1520   dnl If we use CLooG-Legacy, the provided version information is
1521   dnl ignored.
1522   CLOOG_CHECK_VERSION(0,16,1)
1523
1524   dnl Only execute fail-action, if CLooG has been requested.
1525   CLOOG_IF_FAILED([
1526     AC_MSG_ERROR([Unable to find a usable CLooG.  See config.log for details.])])
1527 fi
1528
1529 # Check for LTO support.
1530 AC_ARG_ENABLE(lto,
1531 [AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
1532 enable_lto=$enableval,
1533 enable_lto=yes; default_enable_lto=yes)
1534
1535 ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
1536   build_lto_plugin=yes
1537 ],[if test x"$default_enable_lto" = x"yes" ; then
1538     case $target in
1539       *-apple-darwin9 | *-cygwin* | *-mingw*) ;;
1540       # On other non-ELF platforms, LTO has yet to be validated.
1541       *) enable_lto=no ;;
1542     esac
1543   else
1544   # Apart from ELF platforms, only Windows and Darwin support LTO so far.
1545   # It would also be nice to check the binutils support, but we don't
1546   # have gcc_GAS_CHECK_FEATURE available here.  For now, we'll just
1547   # warn during gcc/ subconfigure; unless you're bootstrapping with
1548   # -flto it won't be needed until after installation anyway.
1549     case $target in
1550       *-cygwin* | *-mingw* | *-apple-darwin*) ;;
1551       *) if test x"$enable_lto" = x"yes"; then
1552         AC_MSG_ERROR([LTO support is not enabled for this target.])
1553         fi
1554       ;;
1555     esac
1556   fi
1557   # Among non-ELF, only Windows platforms support the lto-plugin so far.
1558   # Build it unless LTO was explicitly disabled.
1559   case $target in
1560     *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
1561     *) ;;
1562   esac
1563 ])
1564
1565
1566 # By default, C is the only stage 1 language.
1567 stage1_languages=,c,
1568
1569 # Target libraries that we bootstrap.
1570 bootstrap_target_libs=,target-libgcc,
1571
1572 # Figure out what language subdirectories are present.
1573 # Look if the user specified --enable-languages="..."; if not, use
1574 # the environment variable $LANGUAGES if defined. $LANGUAGES might
1575 # go away some day.
1576 # NB:  embedded tabs in this IF block -- do not untabify
1577 if test -d ${srcdir}/gcc; then
1578   if test x"${enable_languages+set}" != xset; then
1579     if test x"${LANGUAGES+set}" = xset; then
1580       enable_languages="${LANGUAGES}"
1581         echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1582     else
1583       enable_languages=all
1584     fi
1585   else
1586     if test x"${enable_languages}" = x ||
1587        test x"${enable_languages}" = xyes;
1588        then
1589       echo configure.in: --enable-languages needs at least one language argument 1>&2
1590       exit 1
1591     fi
1592   fi
1593   enable_languages=`echo "${enable_languages}" | sed -e 's/[[   ,]][[   ,]]*/,/g' -e 's/,$//'`
1594
1595   # 'f95' is the old name for the 'fortran' language. We issue a warning
1596   # and make the substitution.
1597   case ,${enable_languages}, in
1598     *,f95,*)
1599       echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1600       enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1601       ;;
1602   esac
1603
1604   # First scan to see if an enabled language requires some other language.
1605   # We assume that a given config-lang.in will list all the language
1606   # front ends it requires, even if some are required indirectly.
1607   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1608     case ${lang_frag} in
1609       ..) ;;
1610       # The odd quoting in the next line works around
1611       # an apparent bug in bash 1.12 on linux.
1612       ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1613       *)
1614         # From the config-lang.in, get $language, $lang_requires, and
1615         # $lang_requires_boot_languages.
1616         language=
1617         lang_requires=
1618         lang_requires_boot_languages=
1619         . ${lang_frag}
1620         for other in ${lang_requires} ${lang_requires_boot_languages}; do
1621           case ,${enable_languages}, in
1622             *,$other,*) ;;
1623             *,all,*) ;;
1624             *,$language,*)
1625               echo " \`$other' language required by \`$language'; enabling" 1>&2
1626               enable_languages="${enable_languages},${other}"
1627               ;;
1628           esac
1629         done
1630         for other in ${lang_requires_boot_languages} ; do
1631           if test "$other" != "c"; then
1632             case ,${enable_stage1_languages}, in
1633               *,$other,*) ;;
1634               *,all,*) ;;
1635               *)
1636                 case ,${enable_languages}, in
1637                   *,$language,*)
1638                     echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
1639                     enable_stage1_languages="$enable_stage1_languages,${other}"
1640                     ;;
1641                 esac
1642                 ;;
1643             esac
1644           fi
1645         done
1646         ;;
1647     esac
1648   done
1649
1650   new_enable_languages=,c,
1651
1652   # If LTO is enabled, add the LTO front end.
1653   extra_host_libiberty_configure_flags=
1654   if test "$enable_lto" = "yes" ; then
1655     case ,${enable_languages}, in
1656       *,lto,*) ;;
1657       *) enable_languages="${enable_languages},lto" ;;
1658     esac
1659     if test "${build_lto_plugin}" = "yes" ; then
1660       configdirs="$configdirs lto-plugin"
1661       extra_host_libiberty_configure_flags=--enable-shared
1662     fi
1663   fi
1664   AC_SUBST(extra_host_libiberty_configure_flags)
1665
1666   missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1667   potential_languages=,c,
1668
1669   enabled_target_libs=
1670   disabled_target_libs=
1671
1672   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1673     case ${lang_frag} in
1674       ..) ;;
1675       # The odd quoting in the next line works around
1676       # an apparent bug in bash 1.12 on linux.
1677       ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1678       *)
1679         # From the config-lang.in, get $language, $target_libs, 
1680         # $lang_dirs, $boot_language, and $build_by_default
1681         language=
1682         target_libs=
1683         lang_dirs=
1684         subdir_requires=
1685         boot_language=no
1686         build_by_default=yes
1687         . ${lang_frag}
1688         if test x${language} = x; then
1689           echo "${lang_frag} doesn't set \$language." 1>&2
1690           exit 1
1691         fi
1692
1693         if test "$language" = "c++" \
1694            && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
1695           boot_language=yes
1696         fi
1697
1698         case ,${enable_languages}, in
1699           *,${language},*)
1700             # Language was explicitly selected; include it.
1701             add_this_lang=yes
1702             ;;
1703           *,all,*)
1704             # 'all' was selected, select it if it is a default language
1705             add_this_lang=${build_by_default}
1706             ;;
1707           *)
1708             add_this_lang=no
1709             ;;
1710         esac
1711
1712         # Disable languages that need other directories if these aren't available.
1713         for i in $subdir_requires; do
1714           test -f "$srcdir/gcc/$i/config-lang.in" && continue
1715           case ,${enable_languages}, in
1716             *,${language},*)
1717               # Specifically requested language; tell them.
1718               AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1719               ;;
1720             *)
1721               # Silently disable.
1722               add_this_lang=unsupported
1723               ;;
1724           esac
1725         done
1726
1727         # Disable Ada if no preexisting GNAT is available.
1728         case ,${enable_languages},:${language}:${have_gnat} in
1729           *,${language},*:ada:no)
1730             # Specifically requested language; tell them.
1731             AC_MSG_ERROR([GNAT is required to build $language])
1732             ;;
1733           *:ada:no)
1734             # Silently disable.
1735             add_this_lang=unsupported
1736             ;;
1737         esac
1738
1739         # Disable a language that is unsupported by the target.
1740         case " $unsupported_languages " in
1741           *" $language "*)
1742             add_this_lang=unsupported
1743             ;;
1744         esac
1745
1746         case $add_this_lang in
1747           unsupported)
1748             # Remove language-dependent dirs.
1749             disabled_target_libs="$disabled_target_libs $target_libs"
1750             noconfigdirs="$noconfigdirs $lang_dirs"
1751             ;;
1752           no)
1753             # Remove language-dependent dirs; still show language as supported.
1754             disabled_target_libs="$disabled_target_libs $target_libs"
1755             noconfigdirs="$noconfigdirs $lang_dirs"
1756             potential_languages="${potential_languages}${language},"
1757             ;;
1758           yes)
1759             new_enable_languages="${new_enable_languages}${language},"
1760             potential_languages="${potential_languages}${language},"
1761             missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1762             enabled_target_libs="$enabled_target_libs $target_libs"
1763             case "${boot_language}:,$enable_stage1_languages," in
1764               yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
1765                 # Add to (comma-separated) list of stage 1 languages.
1766                 case ",$stage1_languages," in
1767                   *,$language,* | ,yes, | ,all,) ;;
1768                   *) stage1_languages="${stage1_languages}${language}," ;;
1769                 esac
1770                 # We need to bootstrap any supporting libraries.
1771                 bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
1772                 ;;
1773             esac
1774             ;;
1775         esac
1776         ;;
1777     esac
1778   done
1779
1780   # Add target libraries which are only needed for disabled languages
1781   # to noconfigdirs.
1782   if test -n "$disabled_target_libs"; then
1783     for dir in $disabled_target_libs; do
1784       case " $enabled_target_libs " in
1785       *" ${dir} "*) ;;
1786       *) noconfigdirs="$noconfigdirs $dir" ;;
1787       esac
1788     done
1789   fi
1790
1791   AC_ARG_ENABLE(stage1-languages,
1792   [AS_HELP_STRING([[--enable-stage1-languages[=all]]],
1793                   [choose additional languages to build during
1794                   stage1.  Mostly useful for compiler development])],
1795   [case ,${enable_stage1_languages}, in
1796     ,no,|,,)
1797       # Set it to something that will have no effect in the loop below
1798       enable_stage1_languages=c ;;
1799     ,yes,)
1800       enable_stage1_languages=`echo $new_enable_languages | \
1801         sed -e "s/^,//" -e "s/,$//" ` ;;
1802     *,all,*)
1803       enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1804         sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
1805   esac
1806
1807   # Add "good" languages from enable_stage1_languages to stage1_languages,
1808   # while "bad" languages go in missing_languages.  Leave no duplicates.
1809   for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
1810     case $potential_languages in
1811       *,$i,*)
1812         case $stage1_languages in
1813           *,$i,*) ;;
1814           *) stage1_languages="$stage1_languages$i," ;;
1815         esac ;;
1816       *)
1817         case $missing_languages in
1818           *,$i,*) ;;
1819           *) missing_languages="$missing_languages$i," ;;
1820         esac ;;
1821      esac
1822   done])
1823
1824   # Remove leading/trailing commas that were added for simplicity
1825   potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
1826   missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
1827   stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
1828   new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
1829
1830   if test "x$missing_languages" != x; then
1831     AC_MSG_ERROR([
1832 The following requested languages could not be built: ${missing_languages}
1833 Supported languages are: ${potential_languages}])
1834   fi
1835   if test "x$new_enable_languages" != "x$enable_languages"; then
1836     echo The following languages will be built: ${new_enable_languages}
1837     enable_languages="$new_enable_languages"
1838   fi
1839
1840   AC_SUBST(stage1_languages)
1841   ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
1842 fi
1843
1844 # Handle --disable-<component> generically.
1845 for dir in $configdirs $build_configdirs $target_configdirs ; do
1846   dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
1847   varname=`echo $dirname | sed -e s/+/_/g`
1848   if eval test x\${enable_${varname}} "=" xno ; then
1849     noconfigdirs="$noconfigdirs $dir"
1850   fi
1851 done
1852
1853 # Check for Boehm's garbage collector
1854 AC_ARG_ENABLE(objc-gc,
1855 [AS_HELP_STRING([--enable-objc-gc],
1856                 [enable use of Boehm's garbage collector with the
1857                  GNU Objective-C runtime])],
1858 [case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
1859   *,objc,*:*:yes:*target-boehm-gc*)
1860     AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
1861     ;;
1862 esac])
1863
1864 # Make sure we only build Boehm's garbage collector if required.
1865 case ,${enable_languages},:${enable_objc_gc} in
1866   *,objc,*:yes)
1867     # Keep target-boehm-gc if requested for Objective-C.
1868     ;;
1869   *)
1870     # Otherwise remove target-boehm-gc depending on target-libjava.
1871     if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
1872       noconfigdirs="$noconfigdirs target-boehm-gc"
1873     fi
1874     ;;
1875 esac
1876
1877 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
1878 # $build_configdirs and $target_configdirs.
1879 # If we have the source for $noconfigdirs entries, add them to $notsupp.
1880
1881 notsupp=""
1882 for dir in . $skipdirs $noconfigdirs ; do
1883   dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
1884   if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1885     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1886     if test -r $srcdir/$dirname/configure ; then
1887       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1888         true
1889       else
1890         notsupp="$notsupp $dir"
1891       fi
1892     fi
1893   fi
1894   if test $dir != .  && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1895     build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
1896     if test -r $srcdir/$dirname/configure ; then
1897       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1898         true
1899       else
1900         notsupp="$notsupp $dir"
1901       fi
1902     fi
1903   fi
1904   if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1905     target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1906     if test -r $srcdir/$dirname/configure ; then
1907       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1908         true
1909       else
1910         notsupp="$notsupp $dir"
1911       fi
1912     fi
1913   fi
1914 done
1915
1916 # Sometimes the tools are distributed with libiberty but with no other
1917 # libraries.  In that case, we don't want to build target-libiberty.
1918 # Don't let libgcc imply libiberty either.
1919 if test -n "${target_configdirs}" ; then
1920   libgcc=
1921   others=
1922   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1923     if test "$i" = "libgcc"; then
1924       libgcc=target-libgcc
1925     elif test "$i" != "libiberty" ; then
1926       if test -r $srcdir/$i/configure ; then
1927         others=yes;
1928         break;
1929       fi
1930     fi
1931   done
1932   if test -z "${others}" ; then
1933     target_configdirs=$libgcc
1934   fi
1935 fi
1936
1937 # Quietly strip out all directories which aren't configurable in this tree.
1938 # This relies on all configurable subdirectories being autoconfiscated, which
1939 # is now the case.
1940 build_configdirs_all="$build_configdirs"
1941 build_configdirs=
1942 for i in ${build_configdirs_all} ; do
1943   j=`echo $i | sed -e s/build-//g` 
1944   if test -f ${srcdir}/$j/configure ; then
1945     build_configdirs="${build_configdirs} $i"
1946   fi
1947 done
1948
1949 configdirs_all="$configdirs"
1950 configdirs=
1951 for i in ${configdirs_all} ; do
1952   if test -f ${srcdir}/$i/configure ; then
1953     configdirs="${configdirs} $i"
1954   fi
1955 done
1956
1957 target_configdirs_all="$target_configdirs"
1958 target_configdirs=
1959 for i in ${target_configdirs_all} ; do
1960   j=`echo $i | sed -e s/target-//g` 
1961   if test -f ${srcdir}/$j/configure ; then
1962     target_configdirs="${target_configdirs} $i"
1963   fi
1964 done
1965
1966 # Produce a warning message for the subdirs we can't configure.
1967 # This isn't especially interesting in the Cygnus tree, but in the individual
1968 # FSF releases, it's important to let people know when their machine isn't
1969 # supported by the one or two programs in a package.
1970
1971 if test -n "${notsupp}" && test -z "${norecursion}" ; then
1972   # If $appdirs is non-empty, at least one of those directories must still
1973   # be configured, or we error out.  (E.g., if the gas release supports a
1974   # specified target in some subdirs but not the gas subdir, we shouldn't
1975   # pretend that all is well.)
1976   if test -n "$appdirs" ; then
1977     for dir in $appdirs ; do
1978       if test -r $dir/Makefile.in ; then
1979         if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1980           appdirs=""
1981           break
1982         fi
1983         if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
1984           appdirs=""
1985           break
1986         fi
1987       fi
1988     done
1989     if test -n "$appdirs" ; then
1990       echo "*** This configuration is not supported by this package." 1>&2
1991       exit 1
1992     fi
1993   fi
1994   # Okay, some application will build, or we don't care to check.  Still
1995   # notify of subdirs not getting built.
1996   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1997   echo "    ${notsupp}" 1>&2
1998   echo "    (Any other directories should still work fine.)" 1>&2
1999 fi
2000
2001 case "$host" in
2002   *msdosdjgpp*)
2003     enable_gdbtk=no ;;
2004 esac
2005
2006 # To find our prefix, in gcc_cv_tool_prefix.
2007 ACX_TOOL_DIRS
2008
2009 copy_dirs=
2010
2011 AC_ARG_WITH([build-sysroot], 
2012   [AS_HELP_STRING([--with-build-sysroot=SYSROOT],
2013                   [use sysroot as the system root during the build])],
2014   [if test x"$withval" != x ; then
2015      SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2016    fi],
2017   [SYSROOT_CFLAGS_FOR_TARGET=])
2018 AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2019
2020 AC_ARG_WITH([debug-prefix-map],
2021   [AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'],
2022                   [map A to B, C to D ... in debug information])],
2023   [if test x"$withval" != x; then
2024      DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2025      for debug_map in $withval; do
2026        DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2027      done
2028    fi],
2029   [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2030 AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2031
2032 # During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2033 # might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
2034 # might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2035 # We want to ensure that TARGET libraries (which we know are built with
2036 # gcc) are built with "-O2 -g", so include those options when setting
2037 # CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2038 if test "x$CFLAGS_FOR_TARGET" = x; then
2039   CFLAGS_FOR_TARGET=$CFLAGS
2040   case " $CFLAGS " in
2041     *" -O2 "*) ;;
2042     *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
2043   esac
2044   case " $CFLAGS " in
2045     *" -g "* | *" -g3 "*) ;;
2046     *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
2047   esac
2048 fi
2049 AC_SUBST(CFLAGS_FOR_TARGET)
2050
2051 if test "x$CXXFLAGS_FOR_TARGET" = x; then
2052   CXXFLAGS_FOR_TARGET=$CXXFLAGS
2053   case " $CXXFLAGS " in
2054     *" -O2 "*) ;;
2055     *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
2056   esac
2057   case " $CXXFLAGS " in
2058     *" -g "* | *" -g3 "*) ;;
2059     *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
2060   esac
2061 fi
2062 AC_SUBST(CXXFLAGS_FOR_TARGET)
2063
2064 # Handle --with-headers=XXX.  If the value is not "yes", the contents of
2065 # the named directory are copied to $(tooldir)/sys-include.
2066 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2067   if test x${is_cross_compiler} = xno ; then
2068     echo 1>&2 '***' --with-headers is only supported when cross compiling
2069     exit 1
2070   fi
2071   if test x"${with_headers}" != xyes ; then
2072     x=${gcc_cv_tool_prefix}
2073     copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
2074   fi
2075 fi
2076
2077 # Handle --with-libs=XXX.  If the value is not "yes", the contents of
2078 # the name directories are copied to $(tooldir)/lib.  Multiple directories
2079 # are permitted.
2080 if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2081   if test x${is_cross_compiler} = xno ; then
2082     echo 1>&2 '***' --with-libs is only supported when cross compiling
2083     exit 1
2084   fi
2085   if test x"${with_libs}" != xyes ; then
2086     # Copy the libraries in reverse order, so that files in the first named
2087     # library override files in subsequent libraries.
2088     x=${gcc_cv_tool_prefix}
2089     for l in ${with_libs}; do
2090       copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
2091     done
2092   fi
2093 fi
2094
2095 # Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
2096 #
2097 # This is done by determining whether or not the appropriate directory
2098 # is available, and by checking whether or not specific configurations
2099 # have requested that this magic not happen.
2100
2101 # The command line options always override the explicit settings in 
2102 # configure.in, and the settings in configure.in override this magic.
2103 #
2104 # If the default for a toolchain is to use GNU as and ld, and you don't 
2105 # want to do that, then you should use the --without-gnu-as and
2106 # --without-gnu-ld options for the configure script.  Similarly, if
2107 # the default is to use the included zlib and you don't want to do that,
2108 # you should use the --with-system-zlib option for the configure script.
2109
2110 if test x${use_gnu_as} = x &&
2111    echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2112   with_gnu_as=yes
2113   extra_host_args="$extra_host_args --with-gnu-as"
2114 fi
2115
2116 if test x${use_gnu_ld} = x &&
2117    echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
2118   with_gnu_ld=yes
2119   extra_host_args="$extra_host_args --with-gnu-ld"
2120 fi
2121
2122 if test x${use_included_zlib} = x &&
2123    echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2124   :
2125 else
2126   with_system_zlib=yes
2127   extra_host_args="$extra_host_args --with-system-zlib"
2128 fi
2129
2130 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2131 # can detect this case.
2132
2133 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2134   with_newlib=yes
2135   extra_host_args="$extra_host_args --with-newlib"
2136 fi
2137
2138 # Handle ${copy_dirs}
2139 set fnord ${copy_dirs}
2140 shift
2141 while test $# != 0 ; do
2142   if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2143     :
2144   else
2145     echo Copying $1 to $2
2146
2147     # Use the install script to create the directory and all required
2148     # parent directories.
2149     if test -d $2 ; then
2150       :
2151     else
2152       echo >config.temp
2153       ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2154     fi
2155
2156     # Copy the directory, assuming we have tar.
2157     # FIXME: Should we use B in the second tar?  Not all systems support it.
2158     (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2159
2160     # It is the responsibility of the user to correctly adjust all
2161     # symlinks.  If somebody can figure out how to handle them correctly
2162     # here, feel free to add the code.
2163
2164     echo $1 > $2/COPIED
2165   fi
2166   shift; shift
2167 done
2168
2169 # Determine a target-dependent exec_prefix that the installed
2170 # gcc will search in.  Keep this list sorted by triplet, with
2171 # the *-*-osname triplets last.
2172 md_exec_prefix=
2173 case "${target}" in
2174   alpha*-*-*vms*)
2175     md_exec_prefix=/gnu/lib/gcc-lib
2176     ;;
2177   i[[34567]]86-pc-msdosdjgpp*)
2178     md_exec_prefix=/dev/env/DJDIR/bin
2179     ;;
2180   i[[34567]]86-*-sco3.2v5*)
2181     if test $with_gnu_as = yes; then
2182       md_exec_prefix=/usr/gnu/bin
2183     else
2184       md_exec_prefix=/usr/ccs/bin/elf
2185     fi
2186     ;;
2187
2188   mn10300-*-* | \
2189   powerpc-*-chorusos* | \
2190   powerpc*-*-eabi* | \
2191   powerpc*-*-sysv* | \
2192   powerpc*-*-kaos* | \
2193   s390x-ibm-tpf*)
2194     md_exec_prefix=/usr/ccs/bin
2195     ;;
2196   sparc64-*-elf*)
2197     ;;
2198   v850*-*-*)
2199     md_exec_prefix=/usr/ccs/bin
2200     ;;
2201   xtensa*-*-elf*)
2202     ;;
2203
2204   *-*-beos* | \
2205   *-*-elf* | \
2206   *-*-hpux* | \
2207   *-*-netware* | \
2208   *-*-nto-qnx* | \
2209   *-*-rtems* | \
2210   *-*-solaris2* | \
2211   *-*-sysv[[45]]* | \
2212   *-*-vxworks* | \
2213   *-wrs-windiss)
2214     md_exec_prefix=/usr/ccs/bin
2215     ;;
2216 esac
2217
2218 extra_arflags_for_target=
2219 extra_nmflags_for_target=
2220 extra_ranlibflags_for_target=
2221 target_makefile_frag=/dev/null
2222 case "${target}" in
2223   spu-*-*)
2224     target_makefile_frag="config/mt-spu"
2225     ;;
2226   mips*-sde-elf*)
2227     target_makefile_frag="config/mt-sde"
2228     ;;
2229   mipsisa*-*-elfoabi*)
2230     target_makefile_frag="config/mt-mips-elfoabi"
2231     ;;
2232   mips*-*-*linux* | mips*-*-gnu*)
2233     target_makefile_frag="config/mt-mips-gnu"
2234     ;;
2235   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
2236     target_makefile_frag="config/mt-gnu"
2237     ;;
2238   *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
2239     # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm 
2240     # commands to handle both 32-bit and 64-bit objects.  These flags are
2241     # harmless if we're using GNU nm or ar.
2242     extra_arflags_for_target=" -X32_64"
2243     extra_nmflags_for_target=" -B -X32_64"
2244     ;;
2245   *-*-darwin[[3-9]]*)
2246     # ranlib before Darwin10 requires the -c flag to look at common symbols.
2247     extra_ranlibflags_for_target=" -c"
2248     ;;
2249 esac
2250
2251 alphaieee_frag=/dev/null
2252 case $target in
2253   alpha*-*-*)
2254     # This just makes sure to use the -mieee option to build target libs.
2255     # This should probably be set individually by each library.
2256     alphaieee_frag="config/mt-alphaieee"
2257     ;;
2258 esac
2259
2260 # If --enable-target-optspace always use -Os instead of -O2 to build
2261 # the target libraries, similarly if it is not specified, use -Os
2262 # on selected platforms.
2263 ospace_frag=/dev/null
2264 case "${enable_target_optspace}:${target}" in
2265   yes:*)
2266     ospace_frag="config/mt-ospace"
2267     ;;
2268   :d30v-*)
2269     ospace_frag="config/mt-d30v"
2270     ;;
2271   :m32r-* | :d10v-* | :fr30-*)
2272     ospace_frag="config/mt-ospace"
2273     ;;
2274   no:* | :*)
2275     ;;
2276   *)
2277     echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2278     ;;
2279 esac
2280
2281 # Default to using --with-stabs for certain targets.
2282 if test x${with_stabs} = x ; then
2283   case "${target}" in
2284   mips*-*-irix[[56]]*)
2285     ;;
2286   mips*-*-* | alpha*-*-osf*)
2287     with_stabs=yes;
2288     extra_host_args="${extra_host_args} --with-stabs"
2289     ;;
2290   esac
2291 fi
2292
2293 # hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
2294 # them automatically.
2295 case "${host}" in
2296   hppa*64*-*-hpux11*)   
2297     extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
2298     ;;
2299 esac
2300
2301 # Some systems (e.g., one of the i386-aix systems the gas testers are
2302 # using) don't handle "\$" correctly, so don't use it here.
2303 tooldir='${exec_prefix}'/${target_noncanonical}
2304 build_tooldir=${tooldir}
2305
2306 # Create a .gdbinit file which runs the one in srcdir
2307 # and tells GDB to look there for source files.
2308
2309 if test -r ${srcdir}/.gdbinit ; then
2310   case ${srcdir} in
2311     .) ;;
2312     *) cat > ./.gdbinit <<EOF
2313 # ${NO_EDIT}
2314 dir ${srcdir}
2315 dir .
2316 source ${srcdir}/.gdbinit
2317 EOF
2318     ;;
2319   esac
2320 fi
2321
2322 # Make sure that the compiler is able to generate an executable.  If it
2323 # can't, we are probably in trouble.  We don't care whether we can run the
2324 # executable--we might be using a cross compiler--we only care whether it
2325 # can be created.  At this point the main configure script has set CC.
2326 we_are_ok=no
2327 echo "int main () { return 0; }" > conftest.c
2328 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
2329 if test $? = 0 ; then
2330   if test -s conftest || test -s conftest.exe ; then
2331     we_are_ok=yes
2332   fi
2333 fi 
2334 case $we_are_ok in
2335   no)
2336     echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2337     echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2338     rm -f conftest*
2339     exit 1
2340     ;;
2341 esac
2342 rm -f conftest*
2343
2344 # The Solaris /usr/ucb/cc compiler does not appear to work.
2345 case "${host}" in
2346   sparc-sun-solaris2*)
2347       CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
2348       if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
2349           could_use=
2350           test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
2351           if test -d /opt/cygnus/bin ; then
2352               if test "$could_use" = "" ; then
2353                   could_use="/opt/cygnus/bin"
2354               else
2355                   could_use="$could_use or /opt/cygnus/bin"
2356               fi
2357           fi
2358         if test "$could_use" = "" ; then
2359             echo "Warning: compilation may fail because you're using"
2360             echo "/usr/ucb/cc.  You should change your PATH or CC "
2361             echo "variable and rerun configure."
2362         else
2363             echo "Warning: compilation may fail because you're using"
2364             echo "/usr/ucb/cc, when you should use the C compiler from"
2365             echo "$could_use.  You should change your"
2366             echo "PATH or CC variable and rerun configure."
2367         fi
2368       fi
2369   ;;
2370 esac
2371
2372 # Decide which environment variable is used to find dynamic libraries.
2373 case "${host}" in
2374   *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
2375   *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
2376   *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
2377   *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2378 esac
2379
2380 # On systems where the dynamic library environment variable is PATH,
2381 # gcc/ will put dynamic libraries into a subdirectory to avoid adding
2382 # built executables to PATH.
2383 if test "$RPATH_ENVVAR" = PATH; then
2384   GCC_SHLIB_SUBDIR=/shlib
2385 else
2386   GCC_SHLIB_SUBDIR=
2387 fi
2388
2389 # Record target_configdirs and the configure arguments for target and
2390 # build configuration in Makefile.
2391 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
2392 build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
2393
2394 # If we are building libgomp, bootstrap it.
2395 if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2396   bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2397 fi
2398
2399 # Determine whether gdb needs tk/tcl or not.
2400 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2401 # and in that case we want gdb to be built without tk.  Ugh!
2402 # In fact I believe gdb is the *only* package directly dependent on tk,
2403 # so we should be able to put the 'maybe's in unconditionally and
2404 # leave out the maybe dependencies when enable_gdbtk is false.  I'm not
2405 # 100% sure that that's safe though.
2406
2407 gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
2408 case "$enable_gdbtk" in
2409   no)
2410     GDB_TK="" ;;
2411   yes)
2412     GDB_TK="${gdb_tk}" ;;
2413   *)
2414     # Only add the dependency on gdbtk when GDBtk is part of the gdb
2415     # distro.  Eventually someone will fix this and move Insight, nee
2416     # gdbtk to a separate directory.
2417     if test -d ${srcdir}/gdb/gdbtk ; then
2418       GDB_TK="${gdb_tk}"
2419     else
2420       GDB_TK=""
2421     fi
2422     ;;
2423 esac
2424 CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2425 INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
2426
2427 # Strip out unwanted targets.
2428
2429 # While at that, we remove Makefiles if we were started for recursive
2430 # configuration, so that the top-level Makefile reconfigures them,
2431 # like we used to do when configure itself was recursive.
2432
2433 # Loop over modules.  We used to use the "$extrasub" feature from Autoconf
2434 # but now we're fixing up the Makefile ourselves with the additional
2435 # commands passed to AC_CONFIG_FILES.  Use separate variables
2436 # extrasub-{build,host,target} not because there is any reason to split
2437 # the substitutions up that way, but only to remain below the limit of
2438 # 99 commands in a script, for HP-UX sed.
2439 # Do not nest @if/@endif pairs, because configure will not warn you at all.
2440
2441 AC_ARG_ENABLE([bootstrap],
2442 [AS_HELP_STRING([--enable-bootstrap],
2443                 [enable bootstrapping @<:@yes if native build@:>@])],,
2444 enable_bootstrap=default)
2445
2446 # Issue errors and warnings for invalid/strange bootstrap combinations.
2447 case "$configdirs" in
2448   *gcc*) have_compiler=yes ;;
2449   *) have_compiler=no ;;
2450 esac
2451
2452 case "$have_compiler:$host:$target:$enable_bootstrap" in
2453   *:*:*:no) ;;
2454
2455   # Default behavior.  Enable bootstrap if we have a compiler
2456   # and we are in a native configuration.
2457   yes:$build:$build:default)
2458     enable_bootstrap=yes ;;
2459
2460   *:*:*:default)
2461     enable_bootstrap=no ;;
2462
2463   # We have a compiler and we are in a native configuration, bootstrap is ok
2464   yes:$build:$build:yes)
2465     ;;
2466
2467   # Other configurations, but we have a compiler.  Assume the user knows
2468   # what he's doing.
2469   yes:*:*:yes)
2470     AC_MSG_WARN([trying to bootstrap a cross compiler])
2471     ;;
2472
2473   # No compiler: if they passed --enable-bootstrap explicitly, fail
2474   no:*:*:yes)
2475     AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2476
2477   # Fail if wrong command line
2478   *)
2479     AC_MSG_ERROR([invalid option for --enable-bootstrap])
2480     ;;
2481 esac
2482
2483 case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
2484   *,c++,*:yes:yes) ;;
2485   *:yes:yes)
2486     AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
2487     ;;
2488 esac
2489
2490 case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2491   yes:yes:*\ gold\ *:*,c++,*) ;;
2492   yes:yes:*\ gold\ *:*)
2493     AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2494     ;;
2495 esac
2496
2497 # Adjust the toplevel makefile according to whether bootstrap was selected.
2498 case $enable_bootstrap in
2499   yes)
2500     bootstrap_suffix=bootstrap
2501     BUILD_CONFIG=bootstrap-debug
2502     ;;
2503   no)
2504     bootstrap_suffix=no-bootstrap
2505     BUILD_CONFIG=
2506     ;;
2507 esac
2508
2509 AC_MSG_CHECKING(for default BUILD_CONFIG)
2510
2511 AC_ARG_WITH([build-config],
2512   [AS_HELP_STRING([--with-build-config='NAME NAME2...'],
2513                   [use config/NAME.mk build configuration])],
2514   [case $with_build_config in
2515    yes) with_build_config= ;;
2516    no) with_build_config= BUILD_CONFIG= ;;
2517    esac])
2518
2519 if test "x${with_build_config}" != x; then
2520   BUILD_CONFIG=$with_build_config
2521 else
2522   case $BUILD_CONFIG in
2523   bootstrap-debug)
2524     if echo "int f (void) { return 0; }" > conftest.c &&
2525        ${CC} -c conftest.c &&
2526        mv conftest.o conftest.o.g0 &&
2527        ${CC} -c -g conftest.c &&
2528        mv conftest.o conftest.o.g &&
2529        ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
2530       :
2531     else
2532       BUILD_CONFIG=
2533     fi
2534     rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2535     ;;
2536   esac
2537 fi
2538 AC_MSG_RESULT($BUILD_CONFIG)
2539 AC_SUBST(BUILD_CONFIG)
2540
2541 extrasub_build=
2542 for module in ${build_configdirs} ; do
2543   if test -z "${no_recursion}" \
2544      && test -f ${build_subdir}/${module}/Makefile; then
2545     echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2546     rm -f ${build_subdir}/${module}/Makefile
2547   fi
2548   extrasub_build="$extrasub_build
2549 /^@if build-$module\$/d
2550 /^@endif build-$module\$/d
2551 /^@if build-$module-$bootstrap_suffix\$/d
2552 /^@endif build-$module-$bootstrap_suffix\$/d"
2553 done
2554 extrasub_host=
2555 for module in ${configdirs} ; do
2556   if test -z "${no_recursion}"; then
2557     for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
2558       if test -f ${file}; then
2559         echo 1>&2 "*** removing ${file} to force reconfigure"
2560         rm -f ${file}
2561       fi
2562     done
2563   fi
2564   extrasub_host="$extrasub_host
2565 /^@if $module\$/d
2566 /^@endif $module\$/d
2567 /^@if $module-$bootstrap_suffix\$/d
2568 /^@endif $module-$bootstrap_suffix\$/d"
2569 done
2570 extrasub_target=
2571 for module in ${target_configdirs} ; do
2572   if test -z "${no_recursion}" \
2573      && test -f ${target_subdir}/${module}/Makefile; then
2574     echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2575     rm -f ${target_subdir}/${module}/Makefile
2576   fi
2577
2578   # We only bootstrap target libraries listed in bootstrap_target_libs.
2579   case $bootstrap_target_libs in
2580     *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2581     *) target_bootstrap_suffix=no-bootstrap ;;
2582   esac
2583
2584   extrasub_target="$extrasub_target
2585 /^@if target-$module\$/d
2586 /^@endif target-$module\$/d
2587 /^@if target-$module-$target_bootstrap_suffix\$/d
2588 /^@endif target-$module-$target_bootstrap_suffix\$/d"
2589 done
2590
2591 # Do the final fixup along with target modules.
2592 extrasub_target="$extrasub_target
2593 /^@if /,/^@endif /d"
2594
2595 # Create the serialization dependencies.  This uses a temporary file.
2596
2597 AC_ARG_ENABLE([serial-configure],
2598 [AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]],
2599                 [force sequential configuration of
2600                  sub-packages for the host, target or build
2601                  machine, or all sub-packages])])
2602
2603 case ${enable_serial_configure} in
2604   yes)
2605     enable_serial_build_configure=yes
2606     enable_serial_host_configure=yes
2607     enable_serial_target_configure=yes
2608     ;;
2609 esac
2610
2611 # These force 'configure's to be done one at a time, to avoid problems
2612 # with contention over a shared config.cache.
2613 rm -f serdep.tmp
2614 echo '# serdep.tmp' > serdep.tmp
2615 olditem=
2616 test "x${enable_serial_build_configure}" = xyes &&
2617 for item in ${build_configdirs} ; do
2618   case ${olditem} in
2619     "") ;;
2620     *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
2621   esac
2622   olditem=${item}
2623 done
2624 olditem=
2625 test "x${enable_serial_host_configure}" = xyes &&
2626 for item in ${configdirs} ; do
2627   case ${olditem} in
2628     "") ;;
2629     *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
2630   esac
2631   olditem=${item}
2632 done
2633 olditem=
2634 test "x${enable_serial_target_configure}" = xyes &&
2635 for item in ${target_configdirs} ; do
2636   case ${olditem} in
2637     "") ;;
2638     *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
2639   esac
2640   olditem=${item}
2641 done
2642 serialization_dependencies=serdep.tmp
2643 AC_SUBST_FILE(serialization_dependencies)
2644
2645 # Base args.  Strip norecursion, cache-file, srcdir, host, build,
2646 # target, nonopt, and variable assignments.  These are the ones we
2647 # might not want to pass down to subconfigures.  The exception being
2648 # --cache-file=/dev/null, which is used to turn off the use of cache
2649 # files altogether, and which should be passed on to subconfigures.
2650 # Also strip program-prefix, program-suffix, and program-transform-name,
2651 # so that we can pass down a consistent program-transform-name.
2652 baseargs=
2653 tbaseargs=
2654 keep_next=no
2655 skip_next=no
2656 eval "set -- $ac_configure_args"
2657 for ac_arg
2658 do
2659   if test X"$skip_next" = X"yes"; then
2660     skip_next=no
2661     continue
2662   fi
2663   if test X"$keep_next" = X"yes"; then
2664     case $ac_arg in
2665       *\'*)
2666         ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2667     esac
2668     baseargs="$baseargs '$ac_arg'"
2669     tbaseargs="$tbaseargs '$ac_arg'"
2670     keep_next=no
2671     continue
2672   fi
2673
2674   # Handle separated arguments.  Based on the logic generated by
2675   # autoconf 2.59.
2676   case $ac_arg in
2677     *=* | --config-cache | -C | -disable-* | --disable-* \
2678       | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2679       | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2680       | -with-* | --with-* | -without-* | --without-* | --x)
2681       separate_arg=no
2682       ;;
2683     -*)
2684       separate_arg=yes
2685       ;;
2686     *)
2687       separate_arg=no
2688       ;;
2689   esac
2690
2691   skip_targ=no
2692   case $ac_arg in
2693 changequote(,)
2694   --with-* | --without-*)
2695     libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
2696
2697     case $libopt in
2698     *[-_]include)
2699       lib=`echo "$libopt" | sed 's,[-_]include$,,'`
2700       ;;
2701     *[-_]lib)
2702       lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
2703       ;;
2704     *)
2705       lib=$libopt
2706       ;;
2707     esac
2708 changequote([,])
2709
2710     case $lib in
2711     mpc | mpfr | gmp | ppl | cloog)
2712       # If we're processing --with-$lib, --with-$lib-include or
2713       # --with-$lib-lib, for one of the libs above, and target is
2714       # different from host, don't pass the current argument to any
2715       # target library's configure.
2716       if test x$is_cross_compiler = xyes; then
2717         skip_targ=yes
2718       fi
2719       ;;
2720     esac
2721     ;;
2722   esac
2723
2724   case "$ac_arg" in
2725     --cache-file=/dev/null | \
2726     -cache-file=/dev/null )
2727       # Handled here to avoid the test to skip args below.
2728       baseargs="$baseargs '$ac_arg'"
2729       tbaseargs="$tbaseargs '$ac_arg'"
2730       # Assert: $separate_arg should always be no.
2731       keep_next=$separate_arg
2732       ;;
2733     --no*)
2734       continue
2735       ;;
2736     --c* | \
2737     --sr* | \
2738     --ho* | \
2739     --bu* | \
2740     --t* | \
2741     --program-* | \
2742     -cache_file* | \
2743     -srcdir* | \
2744     -host* | \
2745     -build* | \
2746     -target* | \
2747     -program-prefix* | \
2748     -program-suffix* | \
2749     -program-transform-name* )
2750       skip_next=$separate_arg
2751       continue
2752       ;;
2753     -*)
2754       # An option.  Add it.
2755       case $ac_arg in
2756         *\'*)
2757           ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2758       esac
2759       baseargs="$baseargs '$ac_arg'"
2760       if test X"$skip_targ" = Xno; then
2761         tbaseargs="$tbaseargs '$ac_arg'"
2762       fi
2763       keep_next=$separate_arg
2764       ;;
2765     *)
2766       # Either a variable assignment, or a nonopt (triplet).  Don't
2767       # pass it down; let the Makefile handle this.
2768       continue
2769       ;;
2770   esac
2771 done
2772 # Remove the initial space we just introduced and, as these will be
2773 # expanded by make, quote '$'.
2774 baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
2775
2776 # Add in --program-transform-name, after --program-prefix and
2777 # --program-suffix have been applied to it.  Autoconf has already
2778 # doubled dollar signs and backslashes in program_transform_name; we want
2779 # the backslashes un-doubled, and then the entire thing wrapped in single
2780 # quotes, because this will be expanded first by make and then by the shell. 
2781 # Also, because we want to override the logic in subdir configure scripts to
2782 # choose program_transform_name, replace any s,x,x, with s,y,y,.
2783 sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
2784 ${program_transform_name}
2785 EOF_SED
2786 gcc_transform_name=`cat conftestsed.out`
2787 rm -f conftestsed.out
2788 baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
2789 tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
2790 if test "$silent" = yes; then
2791   baseargs="$baseargs --silent"
2792   tbaseargs="$tbaseargs --silent"
2793 fi
2794 baseargs="$baseargs --disable-option-checking"
2795 tbaseargs="$tbaseargs --disable-option-checking"
2796
2797 # Record and document user additions to sub configure arguments.
2798 AC_ARG_VAR([build_configargs],
2799            [additional configure arguments for build directories])
2800 AC_ARG_VAR([host_configargs],
2801            [additional configure arguments for host directories])
2802 AC_ARG_VAR([target_configargs],
2803            [additional configure arguments for target directories])
2804
2805 # For the build-side libraries, we just need to pretend we're native,
2806 # and not use the same cache file.  Multilibs are neither needed nor
2807 # desired.
2808 build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
2809
2810 # For host modules, accept cache file option, or specification as blank.
2811 case "${cache_file}" in
2812 "") # empty
2813   cache_file_option="" ;;
2814 /* | [[A-Za-z]]:[[\\/]]* ) # absolute path
2815   cache_file_option="--cache-file=${cache_file}" ;;
2816 *) # relative path
2817   cache_file_option="--cache-file=../${cache_file}" ;;
2818 esac
2819
2820 # Host dirs don't like to share a cache file either, horribly enough.
2821 # This seems to be due to autoconf 2.5x stupidity.
2822 host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
2823
2824 target_configargs="$target_configargs ${tbaseargs}"
2825
2826 # Passing a --with-cross-host argument lets the target libraries know
2827 # whether they are being built with a cross-compiler or being built
2828 # native.  However, it would be better to use other mechanisms to make the
2829 # sorts of decisions they want to make on this basis.  Please consider
2830 # this option to be deprecated.  FIXME.
2831 if test x${is_cross_compiler} = xyes ; then
2832   target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
2833 fi
2834
2835 # Default to --enable-multilib.
2836 if test x${enable_multilib} = x ; then
2837   target_configargs="--enable-multilib ${target_configargs}"
2838 fi
2839
2840 # Pass --with-newlib if appropriate.  Note that target_configdirs has
2841 # changed from the earlier setting of with_newlib.
2842 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
2843   target_configargs="--with-newlib ${target_configargs}"
2844 fi
2845
2846 # Different target subdirs use different values of certain variables
2847 # (notably CXX).  Worse, multilibs use *lots* of different values.
2848 # Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
2849 # it doesn't automatically accept command-line overrides of them.
2850 # This means it's not safe for target subdirs to share a cache file,
2851 # which is disgusting, but there you have it.  Hopefully this can be
2852 # fixed in future.  It's still worthwhile to use a cache file for each
2853 # directory.  I think.
2854
2855 # Pass the appropriate --build, --host, --target and --cache-file arguments.
2856 # We need to pass --target, as newer autoconf's requires consistency
2857 # for target_alias and gcc doesn't manage it consistently.
2858 target_configargs="--cache-file=./config.cache ${target_configargs}"
2859
2860 FLAGS_FOR_TARGET=
2861 case " $target_configdirs " in
2862  *" newlib "*)
2863   case " $target_configargs " in
2864   *" --with-newlib "*)
2865    case "$target" in
2866     *-cygwin*)
2867       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include'
2868       ;;
2869    esac
2870
2871    # If we're not building GCC, don't discard standard headers.
2872    if test -d ${srcdir}/gcc; then
2873      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
2874
2875      if test "${build}" != "${host}"; then
2876        # On Canadian crosses, CC_FOR_TARGET will have already been set
2877        # by `configure', so we won't have an opportunity to add -Bgcc/
2878        # to it.  This is right: we don't want to search that directory
2879        # for binaries, but we want the header files in there, so add
2880        # them explicitly.
2881        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
2882
2883        # Someone might think of using the pre-installed headers on
2884        # Canadian crosses, in case the installed compiler is not fully
2885        # compatible with the compiler being built.  In this case, it
2886        # would be better to flag an error than risking having
2887        # incompatible object files being constructed.  We can't
2888        # guarantee that an error will be flagged, but let's hope the
2889        # compiler will do it, when presented with incompatible header
2890        # files.
2891      fi
2892    fi
2893
2894    case "${target}-${is_cross_compiler}" in
2895    i[[3456789]]86-*-linux*-no)
2896       # Here host == target, so we don't need to build gcc,
2897       # so we don't want to discard standard headers.
2898       FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
2899       ;;
2900    *)
2901       # If we're building newlib, use its generic headers last, but search
2902       # for any libc-related directories first (so make it the last -B
2903       # switch).
2904       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
2905
2906       # If we're building libgloss, find the startup file, simulator library
2907       # and linker script.
2908       case " $target_configdirs " in
2909         *" libgloss "*)
2910         # Look for startup file, simulator library and maybe linker script.
2911         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
2912         # Look for libnosys.a in case the target needs it.
2913         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
2914         # Most targets have the linker script in the source directory.
2915         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
2916         ;;
2917       esac
2918       ;;
2919    esac
2920    ;;
2921   esac
2922   ;;
2923 esac
2924
2925 case "$target" in
2926   x86_64-*mingw* | *-w64-mingw*)
2927   # MinGW-w64 does not use newlib, nor does it use winsup. It may,
2928   # however, use a symlink named 'mingw' in ${prefix} .
2929     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
2930     ;;
2931   *-mingw*)
2932   # MinGW can't be handled as Cygwin above since it does not use newlib.
2933     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include'
2934     ;;
2935 esac
2936
2937 # Allow the user to override the flags for
2938 # our build compiler if desired.
2939 if test x"${build}" = x"${host}" ; then
2940   CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
2941   CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
2942   LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
2943 fi
2944
2945 # On Canadian crosses, we'll be searching the right directories for
2946 # the previously-installed cross compiler, so don't bother to add
2947 # flags for directories within the install tree of the compiler
2948 # being built; programs in there won't even run.
2949 if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
2950   # Search for pre-installed headers if nothing else fits.
2951   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
2952 fi
2953
2954 if test "x${use_gnu_ld}" = x &&
2955    echo " ${configdirs} " | grep " ld " > /dev/null ; then
2956   # Arrange for us to find uninstalled linker scripts.
2957   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
2958 fi
2959
2960 # Search for other target-specific linker scripts and such.
2961 case "${target}" in
2962   mep*)
2963     FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
2964     ;;
2965 esac
2966
2967 # Makefile fragments.
2968 for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
2969 do
2970   eval fragval=\$$frag
2971   if test $fragval != /dev/null; then
2972     eval $frag=${srcdir}/$fragval
2973   fi
2974 done
2975 AC_SUBST_FILE(host_makefile_frag)
2976 AC_SUBST_FILE(target_makefile_frag)
2977 AC_SUBST_FILE(alphaieee_frag)
2978 AC_SUBST_FILE(ospace_frag)
2979
2980 # Miscellanea: directories, flags, etc.
2981 AC_SUBST(RPATH_ENVVAR)
2982 AC_SUBST(GCC_SHLIB_SUBDIR)
2983 AC_SUBST(tooldir)
2984 AC_SUBST(build_tooldir)
2985 AC_SUBST(CONFIGURE_GDB_TK)
2986 AC_SUBST(GDB_TK)
2987 AC_SUBST(INSTALL_GDB_TK)
2988
2989 # Build module lists & subconfigure args.
2990 AC_SUBST(build_configargs)
2991 AC_SUBST(build_configdirs)
2992
2993 # Host module lists & subconfigure args.
2994 AC_SUBST(host_configargs)
2995 AC_SUBST(configdirs)
2996 AC_SUBST(target_configdirs)
2997
2998 # Target module lists & subconfigure args.
2999 AC_SUBST(target_configargs)
3000
3001
3002 # Build tools.
3003 AC_SUBST(AR_FOR_BUILD)
3004 AC_SUBST(AS_FOR_BUILD)
3005 AC_SUBST(CC_FOR_BUILD)
3006 AC_SUBST(CFLAGS_FOR_BUILD)
3007 AC_SUBST(CXXFLAGS_FOR_BUILD)
3008 AC_SUBST(CXX_FOR_BUILD)
3009 AC_SUBST(DLLTOOL_FOR_BUILD)
3010 AC_SUBST(GCJ_FOR_BUILD)
3011 AC_SUBST(GFORTRAN_FOR_BUILD)
3012 AC_SUBST(GOC_FOR_BUILD)
3013 AC_SUBST(LDFLAGS_FOR_BUILD)
3014 AC_SUBST(LD_FOR_BUILD)
3015 AC_SUBST(NM_FOR_BUILD)
3016 AC_SUBST(RANLIB_FOR_BUILD)
3017 AC_SUBST(WINDMC_FOR_BUILD)
3018 AC_SUBST(WINDRES_FOR_BUILD)
3019 AC_SUBST(config_shell)
3020
3021 # Generate default definitions for YACC, M4, LEX and other programs that run
3022 # on the build machine.  These are used if the Makefile can't locate these
3023 # programs in objdir.
3024 MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
3025
3026 AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
3027 case " $build_configdirs " in
3028   *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
3029   *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
3030 esac
3031
3032 AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
3033 case " $build_configdirs " in
3034   *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
3035 esac
3036
3037 AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
3038 case " $build_configdirs " in
3039   *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
3040 esac
3041
3042 AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
3043 case " $build_configdirs " in
3044   *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3045   *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
3046 esac
3047
3048 AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
3049 case " $build_configdirs " in
3050   *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3051 esac
3052
3053 AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
3054 case " $build_configdirs " in
3055   *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
3056   *)
3057 changequote(,)
3058     # For an installed makeinfo, we require it to be from texinfo 4.7 or
3059     # higher, else we use the "missing" dummy.
3060     if ${MAKEINFO} --version \
3061        | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
3062       :
3063     else
3064       MAKEINFO="$MISSING makeinfo"
3065     fi
3066     ;;
3067 changequote([,])
3068 esac
3069
3070 # FIXME: expect and dejagnu may become build tools?
3071
3072 AC_CHECK_PROGS(EXPECT, expect, expect)
3073 case " $configdirs " in
3074   *" expect "*)
3075     test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
3076     ;;
3077 esac
3078
3079 AC_CHECK_PROGS(RUNTEST, runtest, runtest)
3080 case " $configdirs " in
3081   *" dejagnu "*)
3082     test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
3083     ;;
3084 esac
3085
3086
3087 # Host tools.
3088 NCN_STRICT_CHECK_TOOLS(AR, ar)
3089 NCN_STRICT_CHECK_TOOLS(AS, as)
3090 NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
3091 NCN_STRICT_CHECK_TOOLS(LD, ld)
3092 NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
3093 NCN_STRICT_CHECK_TOOLS(NM, nm)
3094 NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
3095 NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
3096 NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
3097 NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
3098 NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
3099 NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
3100 AC_SUBST(CC)
3101 AC_SUBST(CXX)
3102 AC_SUBST(CFLAGS)
3103 AC_SUBST(CXXFLAGS)
3104
3105 # Target tools.
3106 AC_ARG_WITH([build-time-tools], 
3107   [AS_HELP_STRING([--with-build-time-tools=PATH],
3108                   [use given path to find target tools during the build])],
3109   [case x"$withval" in
3110      x/*) ;;
3111      *)
3112        with_build_time_tools=
3113        AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
3114        ;;
3115    esac],
3116   [with_build_time_tools=])
3117
3118 NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
3119 NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
3120 NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
3121 NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
3122 NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
3123 NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
3124
3125 ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
3126 ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
3127 ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
3128 ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
3129 ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
3130 ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
3131 ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
3132 ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
3133 ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
3134 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
3135 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
3136
3137 RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
3138
3139 GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
3140 GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
3141 GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3142 dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
3143 GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
3144                 [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
3145                 c++)
3146 GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
3147                 [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
3148                 c++)
3149 GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
3150 GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3151 GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
3152                 [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
3153 GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
3154                 [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
3155 GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
3156                 [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
3157 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
3158 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
3159 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
3160 GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
3161 GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
3162 GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip-new])
3163 GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
3164 GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
3165
3166 AC_SUBST(FLAGS_FOR_TARGET)
3167 AC_SUBST(RAW_CXX_FOR_TARGET)
3168
3169 # Certain tools may need extra flags.
3170 AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
3171 RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
3172 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
3173
3174 # When building target libraries, except in a Canadian cross, we use
3175 # the same toolchain as the compiler we just built.
3176 COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
3177 COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
3178 COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
3179 if test $host = $build; then
3180   case " $configdirs " in
3181     *" gcc "*)
3182       COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
3183       COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
3184       COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
3185       ;;
3186   esac
3187 fi
3188
3189 AC_SUBST(COMPILER_AS_FOR_TARGET)
3190 AC_SUBST(COMPILER_LD_FOR_TARGET)
3191 AC_SUBST(COMPILER_NM_FOR_TARGET)
3192
3193 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
3194 AC_ARG_ENABLE(maintainer-mode,
3195 [AS_HELP_STRING([--enable-maintainer-mode],
3196                 [enable make rules and dependencies not useful
3197                  (and sometimes confusing) to the casual installer])],
3198       USE_MAINTAINER_MODE=$enableval,
3199       USE_MAINTAINER_MODE=no)
3200 AC_MSG_RESULT($USE_MAINTAINER_MODE)
3201 AC_SUBST(MAINTAINER_MODE_TRUE)
3202 AC_SUBST(MAINTAINER_MODE_FALSE)
3203 if test "$USE_MAINTAINER_MODE" = yes; then
3204   MAINTAINER_MODE_TRUE=
3205   MAINTAINER_MODE_FALSE='#'
3206 else
3207   MAINTAINER_MODE_TRUE='#'
3208   MAINTAINER_MODE_FALSE=
3209 fi      
3210 MAINT=$MAINTAINER_MODE_TRUE
3211 AC_SUBST(MAINT)dnl
3212
3213 # ---------------------
3214 # GCC bootstrap support
3215 # ---------------------
3216
3217 # Stage specific cflags for build.
3218 stage1_cflags="-g"
3219 case $build in
3220   vax-*-*)
3221     case ${GCC} in
3222       yes) stage1_cflags="-g -Wa,-J" ;;
3223       *) stage1_cflags="-g -J" ;;
3224     esac ;;
3225 esac
3226
3227 # This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
3228 if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
3229   saved_CFLAGS="$CFLAGS"
3230
3231   # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
3232   CFLAGS="$CFLAGS -fkeep-inline-functions"
3233   AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
3234   AC_TRY_COMPILE([
3235 #if (__GNUC__ < 3) \
3236     || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
3237                           || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
3238 #error http://gcc.gnu.org/PR29382
3239 #endif
3240     ],,
3241     [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
3242     [AC_MSG_RESULT([no])])
3243
3244   CFLAGS="$saved_CFLAGS"
3245 fi
3246
3247 AC_SUBST(stage1_cflags)
3248
3249 # Enable --enable-checking in stage1 of the compiler.
3250 AC_ARG_ENABLE(stage1-checking,
3251 [AS_HELP_STRING([[--enable-stage1-checking[=all]]],
3252                 [choose additional checking for stage1 of the compiler])],
3253 [stage1_checking=--enable-checking=${enable_stage1_checking}],
3254 [if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
3255   stage1_checking=--enable-checking=yes,types
3256 else
3257   stage1_checking=--enable-checking=$enable_checking,types
3258 fi])
3259 AC_SUBST(stage1_checking)
3260
3261 # Enable -Werror in bootstrap stage2 and later.
3262 AC_ARG_ENABLE(werror,
3263 [AS_HELP_STRING([--enable-werror],
3264                 [enable -Werror in bootstrap stage2 and later])], [],
3265 [if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
3266   enable_werror=yes
3267 else
3268   enable_werror=no
3269 fi])
3270 case ${enable_werror} in
3271   yes) stage2_werror_flag="--enable-werror-always" ;;
3272   *) stage2_werror_flag="" ;;
3273 esac
3274 AC_SUBST(stage2_werror_flag)
3275
3276 # Specify what files to not compare during bootstrap.
3277
3278 compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
3279 case "$target" in
3280   hppa*64*-*-hpux*) ;;
3281   hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
3282 esac
3283 case " $configdirs " in
3284 *" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
3285 esac
3286 AC_SUBST(compare_exclusions)
3287
3288 AC_CONFIG_FILES([Makefile],
3289   [sed "$extrasub_build" Makefile |
3290    sed "$extrasub_host" |
3291    sed "$extrasub_target" > mf$$
3292    mv -f mf$$ Makefile],
3293   [extrasub_build="$extrasub_build"
3294    extrasub_host="$extrasub_host"
3295    extrasub_target="$extrasub_target"])
3296 AC_OUTPUT