OSDN Git Service

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