Bump version to gcc-4055.
[official-gcc.git] / configure.in
blob02493896bfe05faba4d66138c0abce9e439dce66
1 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2 #   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4 # This file is free software; you can redistribute it and/or modify it
5 # under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 ##############################################################################
19 ### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
21 sinclude(config/acx.m4)
23 AC_INIT(move-if-change)
24 AC_PREREQ(2.13)
25 AC_CANONICAL_SYSTEM
26 AC_ARG_PROGRAM
28 # Get 'install' or 'install-sh' and its variants.
29 AC_PROG_INSTALL
30 ACX_PROG_LN
31 AC_PROG_LN_S
33 ### we might need to use some other shell than /bin/sh for running subshells
34 ### If we are on Windows, search for the shell.  This will permit people
35 ### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
36 ### without also having to set CONFIG_SHELL.  This code will work when
37 ### using bash, which sets OSTYPE.
38 case "${OSTYPE}" in
39 *win32*)
40   if test x${CONFIG_SHELL} = x ; then
41     if test ! -f /bin/sh ; then
42       if test x${SHELL} != x && test -f ${SHELL} ; then
43         CONFIG_SHELL=${SHELL}
44         export CONFIG_SHELL
45       else
46         for prog in sh sh.exe bash bash.exe; do
47           IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
48           for dir in $PATH; do
49             test -z "$dir" && dir=.
50             if test -f $dir/$prog; then
51               CONFIG_SHELL=$dir/$prog
52               export CONFIG_SHELL
53               break
54             fi
55           done
56           IFS="$save_ifs"
57           test -n "${CONFIG_SHELL}" && break
58         done
59       fi
60     fi
61   fi
62   ;;
63 esac
65 config_shell=${CONFIG_SHELL-/bin/sh}
67 progname=$0
68 # if PWD already has a value, it is probably wrong.
69 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
71 # Export original configure arguments for use by sub-configures.  These
72 # will be expanded by make, so quote '$'.
73 tmp="$progname $@"
74 sed -e 's,\$,$$,g' <<EOF_SED > conftestsed.out
75 $tmp
76 EOF_SED
77 TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out`
78 rm -f conftestsed.out
79 AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
81 moveifchange=${srcdir}/move-if-change
83 srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
85 # We pass INSTALL explicitly to sub-makes.  Make sure that it is not
86 # a relative path.
87 if test "$INSTALL" = "${srcdir}/install-sh -c"; then
88   INSTALL="${srcpwd}/install-sh -c"
91 # Set srcdir to "." if that's what it is.
92 # This is important for multilib support.
93 pwd=`${PWDCMD-pwd}`
94 if test "${pwd}" = "${srcpwd}" ; then
95   srcdir=.
98 topsrcdir=$srcpwd
100 extra_host_args=
101 # Define the trigger file to make sure configure will re-run whenever
102 # the gcc version number changes.
103 if test "${with_gcc_version_trigger+set}" = set ; then
104   gcc_version_trigger="$with_gcc_version_trigger"
105   gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
106 else
107   # If gcc's sources are available, define the trigger file.
108   if test -f ${topsrcdir}/gcc/version.c ; then
109     gcc_version_trigger=${topsrcdir}/gcc/version.c
110     gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
111     case "$ac_configure_args" in
112       *--with-gcc-version-trigger=$gcc_version_trigger* )
113         ;;
114       * )
115         # Add to all subconfigure arguments: build, host, and target.
116         ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
117         ;;
118     esac
119   fi
122 ### To add a new directory to the tree, first choose whether it is a target
123 ### or a host dependent tool.  Then put it into the appropriate list
124 ### (library or tools, host or target), doing a dependency sort.
126 # Subdirs will be configured in the order listed in build_configdirs, 
127 # configdirs, or target_configdirs; see the serialization section below.
129 # Dependency sorting is only needed when *configuration* must be done in 
130 # a particular order.  In all cases a dependency should be specified in 
131 # the Makefile, whether or not it's implicitly specified here.
133 # Double entries in build_configdirs, configdirs, or target_configdirs may
134 # cause circular dependencies and break everything horribly.
136 # these library is used by various programs built for the build
137 # environment
139 build_libs="build-libiberty"
141 # these tools are built for the build environment
142 build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
144 # these libraries are used by various programs built for the host environment
146 host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp"
148 # these tools are built for the host environment
149 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
150 # know that we are building the simulator.
151 # binutils, gas and ld appear in that order because it makes sense to run
152 # "make check" in that particular order.
153 host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc 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"
155 # libgcj represents the runtime libraries only used by gcj.
156 libgcj="target-libffi \
157         target-boehm-gc \
158         target-zlib \
159         target-qthreads \
160         target-libjava"
162 # these libraries are built for the target environment, and are built after
163 # the host libraries and the host tools (which may be a cross compiler)
165 target_libraries="target-libiberty \
166                 target-libgloss \
167                 target-newlib \
168                 target-libstdc++-v3 \
169                 target-libmudflap \
170                 target-libgfortran \
171                 ${libgcj} \
172                 target-libobjc \
173                 target-libada"
175 # these tools are built using the target libraries, and are intended to
176 # run only in the target environment
178 # note: any program that *uses* libraries that are in the "target_libraries"
179 # list belongs in this list.  those programs are also very likely
180 # candidates for the "native_only" list which follows
182 target_tools="target-examples target-groff target-gperf target-rda"
184 ################################################################################
186 ## All tools belong in one of the four categories, and are assigned above
187 ## We assign ${configdirs} this way to remove all embedded newlines.  This
188 ## is important because configure will choke if they ever get through.
189 ## ${configdirs} is directories we build using the host tools.
190 ## ${target_configdirs} is directories we build using the target tools.
191 configdirs=`echo ${host_libs} ${host_tools}`
192 target_configdirs=`echo ${target_libraries} ${target_tools}`
193 build_configdirs=`echo ${build_libs} ${build_tools}`
195 ################################################################################
197 srcname="gnu development package"
199 # This gets set non-empty for some net releases of packages.
200 appdirs=""
202 # Define is_cross_compiler to save on calls to 'test'.
203 is_cross_compiler=
204 if test x"${host}" = x"${target}" ; then
205   is_cross_compiler=no
206 else
207   is_cross_compiler=yes
208 fi      
210 # Find the build and target subdir names.
211 GCC_TOPLEV_SUBDIRS
213 # Skipdirs are removed silently.
214 skipdirs=
215 # Noconfigdirs are removed loudly.
216 noconfigdirs=""
218 use_gnu_ld=
219 # Make sure we don't let GNU ld be added if we didn't want it.
220 if test x$with_gnu_ld = xno ; then
221   use_gnu_ld=no
222   noconfigdirs="$noconfigdirs ld"
225 use_gnu_as=
226 # Make sure we don't let GNU as be added if we didn't want it.
227 if test x$with_gnu_as = xno ; then
228   use_gnu_as=no
229   noconfigdirs="$noconfigdirs gas"
232 # some tools are so dependent upon X11 that if we're not building with X, 
233 # it's not even worth trying to configure, much less build, that tool.
235 case ${with_x} in
236   yes | "") ;; # the default value for this tree is that X11 is available
237   no)
238     skipdirs="${skipdirs} tk itcl libgui"
239     # We won't be able to build gdbtk without X.
240     enable_gdbtk=no 
241     ;;
242   *)  echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
243 esac
245 # Some tools are only suitable for building in a "native" situation.
246 # Remove these if host!=target.  
247 native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
249 # Similarly, some are only suitable for cross toolchains.
250 # Remove these if host=target.
251 cross_only="target-libgloss target-newlib target-opcodes"
253 case $is_cross_compiler in
254   no) skipdirs="${skipdirs} ${cross_only}" ;;
255   yes) skipdirs="${skipdirs} ${native_only}" ;;
256 esac
258 # If both --with-headers and --with-libs are specified, default to
259 # --without-newlib.
260 if test x"${with_headers}" != x && test x"${with_headers}" != xno \
261    && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
262   if test x"${with_newlib}" = x ; then
263     with_newlib=no
264   fi
267 # Recognize --with-newlib/--without-newlib.
268 case ${with_newlib} in
269   no) skipdirs="${skipdirs} target-newlib" ;;
270   yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
271 esac
273 # Configure extra directories which are host specific
275 case "${host}" in
276   *-cygwin*)
277     configdirs="$configdirs libtermcap" ;;
278 esac
280 # Remove more programs from consideration, based on the host or 
281 # target this usually means that a port of the program doesn't
282 # exist yet.
284 case "${host}" in
285   hppa*64*-*-*)
286     noconfigdirs="$noconfigdirs byacc"
287     ;;
288   i[[3456789]]86-*-vsta)
289     noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext"
290     ;;
291   i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
292     noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi"
293     ;;
294   i[[3456789]]86-*-mingw32*)
295     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv"
296     noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
297     ;;
298   i[[3456789]]86-*-beos*)
299     noconfigdirs="$noconfigdirs tk itcl libgui gdb"
300     ;;
301   *-*-cygwin*)
302     noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
303     ;;
304   *-*-netbsd*)
305     noconfigdirs="$noconfigdirs rcs"
306     ;;
307   ppc*-*-pe)
308     noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv"
309     ;;
310   powerpc-*-beos*)
311     noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline"
312     ;;
313   *-*-darwin*)
314     noconfigdirs="$noconfigdirs tk itcl libgui"
315     ;;
316 esac
319 AC_ARG_ENABLE(libada,
320 [  --enable-libada        Builds libada directory],
321 ENABLE_LIBADA=$enableval,
322 ENABLE_LIBADA=yes)
323 if test "${ENABLE_LIBADA}" != "yes" ; then
324   noconfigdirs="$noconfigdirs target-libada"
327 # Save it here so that, even in case of --enable-libgcj, if the Java
328 # front-end isn't enabled, we still get libgcj disabled.
329 libgcj_saved=$libgcj
330 case $enable_libgcj in
331 yes)
332   # If we reset it here, it won't get added to noconfigdirs in the
333   # target-specific build rules, so it will be forcibly enabled
334   # (unless the Java language itself isn't enabled).
335   libgcj=
336   ;;
338   # Make sure we get it printed in the list of not supported target libs.
339   noconfigdirs="$noconfigdirs ${libgcj}"
340   ;;
341 esac
344 # Allow --disable-libmudflap to exclude target-libmudflap
345 case $enable_libmudflap in
346 yes)
347     ;;
349     noconfigdirs="$noconfigdirs target-libmudflap"
350     ;;
352     case "${target}" in
353     *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
354         # Enable libmudflap by default in GNU and friends.
355         ;;
356     *-*-freebsd*)
357         # Enable libmudflap by default in FreeBSD.
358         ;;
359     *)
360         # Disable it by default everywhere else.
361         noconfigdirs="$noconfigdirs target-libmudflap"
362         ;;
363     esac
364 esac
367 case "${target}" in
368   *-*-chorusos)
369     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
370     ;;
371   powerpc-*-darwin*)
372     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
373     # APPLE LOCAL 64-bit bringup
374     noconfigdirs="$noconfigdirs target-libobjc"
375     ;;
376   *-*-darwin*)
377     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
378     # APPLE LOCAL 64-bit bringup
379     noconfigdirs="$noconfigdirs target-libobjc ${libgcj}"
380     ;;
381   *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
382     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
383     ;;
384   *-*-freebsd*)
385     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
386     if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
387         && test -f /usr/local/include/gmp.h; then
388       with_gmp=/usr/local
389     fi
391     # Skip some stuff that's unsupported on some FreeBSD configurations.
392     case "${target}" in
393       i*86-*-*) ;;
394       alpha*-*-*) ;;
395       *)
396         noconfigdirs="$noconfigdirs ${libgcj}"
397         ;;
398     esac
399     ;;
400   *-*-kaos*)
401     # Remove unsupported stuff on all kaOS configurations.
402     skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
403     skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
404     skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
405     noconfigdirs="$noconfigdirs target-libgloss"
406     ;;
407   *-*-netbsd*)
408     # Skip some stuff on all NetBSD configurations.
409     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
411     # Skip some stuff that's unsupported on some NetBSD configurations.
412     case "${target}" in
413       i*86-*-netbsdelf*) ;;
414       arm*-*-netbsdelf*) ;;
415       *)
416         noconfigdirs="$noconfigdirs ${libgcj}"
417         ;;
418     esac
419     ;;
420   *-*-netware*)
421     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
422     ;;
423   *-*-rtems*)
424     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
425     ;;
426   *-*-uclinux*)
427     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
428     ;;
429   *-*-vxworks*)
430     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
431     ;;
432   alpha*-dec-osf*)
433     # ld works, but does not support shared libraries.
434     # newlib is not 64 bit ready.  I'm not sure about fileutils.
435     # gas doesn't generate exception information.
436     noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
437     ;;
438   alpha*-*-*vms*)
439     noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
440     ;;
441   alpha*-*-linux*)
442     # newlib is not 64 bit ready
443     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
444     ;;
445   alpha*-*-*)
446     # newlib is not 64 bit ready
447     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
448     ;;
449   am33_2.0-*-linux*)
450     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
451     ;;
452   sh-*-linux*)
453     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
454     ;;    
455   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
456     noconfigdirs="$noconfigdirs ${libgcj}"
457     noconfigdirs="$noconfigdirs target-examples"
458     noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
459     noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
460     noconfigdirs="$noconfigdirs expect dejagnu"
461     # the C++ libraries don't build on top of CE's C libraries
462     noconfigdirs="$noconfigdirs target-libstdc++-v3"
463     noconfigdirs="$noconfigdirs target-newlib"
464     case "${host}" in
465       *-*-cygwin*) ;; # keep gdb and readline
466       *) noconfigdirs="$noconfigdirs gdb readline"
467          ;;
468     esac
469     ;;
470   arc-*-*)
471     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
472     ;;
473   arm-*-coff | strongarm-*-coff | xscale-*-coff)
474     noconfigdirs="$noconfigdirs ${libgcj}"
475     ;;
476   arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
477     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
478     ;;
479   arm*-*-symbianelf*)
480     noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
481     ;;
482   arm-*-pe*)
483     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
484     ;;
485   arm-*-oabi*)
486     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
487     ;;
488   thumb-*-coff)
489     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
490     ;;
491   thumb-*-elf)
492     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
493     ;;
494   thumb-*-oabi)
495     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
496     ;;
497   thumb-*-pe)
498     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
499     ;;
500   arm-*-riscix*)
501     noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
502     ;;
503   avr-*-*)
504     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
505     ;;
506   c4x-*-* | tic4x-*-*)
507     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
508     ;;
509   c54x*-*-* | tic54x-*-*)
510     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
511     ;;
512   cris-*-*)
513     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
514     ;;
515   crx-*-*)
516     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}"
517     ;;
518   d10v-*-*)
519     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
520     ;;
521   d30v-*-*)
522     noconfigdirs="$noconfigdirs ${libgcj} gdb"
523     ;;
524   fr30-*-elf*)
525     noconfigdirs="$noconfigdirs ${libgcj} gdb"
526     ;;
527   frv-*-*)
528     noconfigdirs="$noconfigdirs ${libgcj}"
529     ;;
530   h8300*-*-*)
531     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
532     ;;
533   h8500-*-*)
534     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
535     ;;
536   hppa*64*-*-linux* | parisc*64*-*-linux*)
537     # In this case, it's because the hppa64-linux target is for
538     # the kernel only at this point and has no libc, and thus no
539     # headers, crt*.o, etc., all of which are needed by these.
540     noconfigdirs="$noconfigdirs target-zlib"
541     ;;
542   hppa*-*-*elf* | \
543   parisc*-*-linux* | hppa*-*-linux* | \
544   hppa*-*-lites* | \
545   hppa*-*-openbsd* | \
546   hppa*64*-*-*)
547     noconfigdirs="$noconfigdirs ${libgcj}"
548     # Do configure ld/binutils/gas for this case.
549     ;;
550   hppa*-*-*)
551     # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
552     # build on HP-UX 10.20.
553     noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
554     ;;
555   i960-*-*)
556     noconfigdirs="$noconfigdirs ${libgcj} gdb"
557     ;;
558   ia64*-*-elf*)
559     # No gdb support yet.
560     noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb"
561     ;;
562   ia64*-**-hpux*)
563     # No gdb or ld support yet.
564     noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
565     ;;
566   i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
567     noconfigdirs="$noconfigdirs ${libgcj}"
568     ;;
569   i[[3456789]]86-*-linux*)
570     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
571     # not build java stuff by default.
572     case "${target}" in
573       *-*-*libc1*)
574         noconfigdirs="$noconfigdirs ${libgcj}";;
575     esac
577     # This section makes it possible to build newlib natively on linux.
578     # If we are using a cross compiler then don't configure newlib.
579     if test x${is_cross_compiler} != xno ; then
580       noconfigdirs="$noconfigdirs target-newlib"
581     fi
582     noconfigdirs="$noconfigdirs target-libgloss"
583     # If we are not using a cross compiler, do configure newlib.
584     # Note however, that newlib will only be configured in this situation
585     # if the --with-newlib option has been given, because otherwise
586     # 'target-newlib' will appear in skipdirs.
587     ;;
588   i[[3456789]]86-*-mingw32*)
589     target_configdirs="$target_configdirs target-mingw"
590     noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
592     # Can't build gdb for mingw32 if not native.
593     case "${host}" in
594       i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
595       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv"
596          ;;
597     esac
598     ;;    
599   *-*-cygwin*)
600     target_configdirs="$target_configdirs target-libtermcap target-winsup"
601     noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
602     # always build newlib if winsup directory is present.
603     if test -d "$srcdir/winsup"; then
604       skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
605     elif test -d "$srcdir/newlib"; then
606       echo "Warning: winsup is missing so newlib can't be built."
607     fi
609     # Can't build gdb for Cygwin if not native.
610     case "${host}" in
611       *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
612       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv"
613          ;;
614     esac
615     ;;    
616   i[[3456789]]86-*-pe)
617     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
618     ;;
619   i[[3456789]]86-*-sco3.2v5*)
620     # The linker does not yet know about weak symbols in COFF,
621     # and is not configured to handle mixed ELF and COFF.
622     noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
623     ;;
624   i[[3456789]]86-*-sco*)
625     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
626     ;;
627   i[[3456789]]86-*-solaris2*)
628     noconfigdirs="$noconfigdirs target-libgloss"
629     ;;
630   i[[3456789]]86-*-sysv4*)
631     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
632     ;;
633   i[[3456789]]86-*-beos*)
634     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
635     ;;
636   m32r-*-*)
637     noconfigdirs="$noconfigdirs ${libgcj}"
638     ;;
639   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
640     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
641     ;;
642   m68k-*-elf*)
643     noconfigdirs="$noconfigdirs ${libgcj}"
644     ;;
645   m68k-*-coff*)
646     noconfigdirs="$noconfigdirs ${libgcj}"
647     ;;
648   mcore-*-pe*)
649   # The EPOC C++ environment does not support exceptions or rtti,
650   # and so building libstdc++-v3 tends not to always work.
651     noconfigdirs="$noconfigdirs target-libstdc++-v3"
652     ;;
653   mmix-*-*)
654     noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
655     ;;
656   mn10200-*-*)
657     noconfigdirs="$noconfigdirs ${libgcj}"
658     ;;
659   mn10300-*-*)
660     noconfigdirs="$noconfigdirs ${libgcj}"
661     ;;
662   powerpc-*-aix*)
663     # copied from rs6000-*-* entry
664     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
665     ;;
666   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
667     target_configdirs="$target_configdirs target-winsup"
668     noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}"
669     # always build newlib.
670     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
671     ;;
672     # This is temporary until we can link against shared libraries
673   powerpcle-*-solaris*)
674     noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
675     ;;
676   powerpc-*-beos*)
677     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
678     ;;
679   powerpc-*-eabi)
680     noconfigdirs="$noconfigdirs ${libgcj}"
681     ;;
682   rs6000-*-lynxos*)
683     noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
684     ;;
685   rs6000-*-aix*)
686     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
687     ;;
688   rs6000-*-*)
689     noconfigdirs="$noconfigdirs gprof ${libgcj}"
690     ;;
691   m68k-apollo-*)
692     noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
693     ;;
694   mips*-*-irix5*)
695     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
696     ;;
697   mips*-*-irix6*)
698     # Linking libjava exceeds command-line length limits on at least
699     # IRIX 6.2, but not on IRIX 6.5.
700     # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
701     # <oldham@codesourcery.com>
702     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
703     ;;
704   mips*-dec-bsd*)
705     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
706     ;;
707   mips*-*-bsd*)
708     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
709     ;;
710   mipstx39-*-*)
711     noconfigdirs="$noconfigdirs gprof ${libgcj}"   # same as generic mips
712     ;;
713   mips64*-*-linux*)
714     noconfigdirs="$noconfigdirs target-newlib ${libgcj}"
715     ;;
716   mips*-*-linux*)
717     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
718     ;;
719   mips*-*-*)
720     noconfigdirs="$noconfigdirs gprof ${libgcj}"
721     ;;
722   romp-*-*)
723     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
724     ;;
725   sh-*-*)
726     case "${host}" in
727       i[[3456789]]86-*-vsta) ;; # don't add gprof back in
728       i[[3456789]]86-*-go32*) ;; # don't add gprof back in
729       i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
730       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
731     esac
732     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
733     ;;
734   sh64-*-*)
735     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
736     ;;
737   sparc-*-elf*)
738     noconfigdirs="$noconfigdirs ${libgcj}"
739     ;;
740   sparc64-*-elf*)
741     noconfigdirs="$noconfigdirs ${libgcj}"
742     ;;
743   sparclite-*-*)
744     noconfigdirs="$noconfigdirs ${libgcj}"
745     ;;
746   sparc-*-sunos4*)
747     noconfigdirs="$noconfigdirs ${libgcj}"
748     if test x${is_cross_compiler} != xno ; then
749            noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
750     else
751            use_gnu_ld=no
752     fi
753     ;;
754   sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
755     ;;
756   v810-*-*)
757     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
758     ;;
759   v850-*-*)
760     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
761     ;;
762   v850e-*-*)
763     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
764     ;;
765   v850ea-*-*)
766     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
767     ;;
768   vax-*-vms)
769     noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
770     ;;
771   vax-*-*)
772     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
773     ;;
774   xtensa-*-*)
775     noconfigdirs="$noconfigdirs ${libgcj}"
776     ;;
777   ip2k-*-*)
778     noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
779     ;;
780   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
781     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
782     ;;
783   *-*-lynxos*)
784     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
785     ;; 
786   *-*-*)
787     noconfigdirs="$noconfigdirs ${libgcj}"
788     ;;
789 esac
791 # If we aren't building newlib, then don't build libgloss, since libgloss
792 # depends upon some newlib header files.
793 case "${noconfigdirs}" in
794   *target-libgloss*) ;;
795   *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
796 esac
798 # Work in distributions that contain no compiler tools, like Autoconf.
799 tentative_cc=""
800 host_makefile_frag=/dev/null
801 if test -d ${srcdir}/config ; then
802 case "${host}" in
803   m68k-hp-hpux*)
804     # Avoid "too much defining" errors from HPUX compiler.
805     tentative_cc="cc -Wp,-H256000"
806     # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
807     # If it's HP/UX ar, this should be harmless.
808     RANLIB="ar ts"
809     ;;
810   m68k-apollo-sysv*)
811     tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
812     ;;
813   m68k-apollo-bsd*)
814     #None of the Apollo compilers can compile gas or binutils.  The preprocessor
815     # chokes on bfd, the compiler won't let you assign integers to enums, and
816     # other problems.  Defining CC to gcc is a questionable way to say "don't use
817     # the apollo compiler" (the preferred version of GCC could be called cc,
818     # or whatever), but I'm not sure leaving CC as cc is any better...
819     #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
820     # Used to have BISON=yacc.
821     tentative_cc=gcc
822     ;;
823   m88k-dg-dgux*)
824     tentative_cc="gcc -Wall -ansi -D__using_DGUX"
825     ;;
826   m88k-harris-cxux*)
827     # Under CX/UX, we want to tell the compiler to use ANSI mode.
828     tentative_cc="cc -Xa"
829     host_makefile_frag="config/mh-cxux"
830     ;;
831   m88k-motorola-sysv*)
832     ;;
833   mips*-dec-ultrix*)
834     tentative_cc="cc -Wf,-XNg1000"
835     host_makefile_frag="config/mh-decstation"
836     ;;
837   mips*-nec-sysv4*)
838     # The C compiler on NEC MIPS SVR4 needs bigger tables.
839     tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
840     host_makefile_frag="config/mh-necv4"
841     ;;
842   mips*-sgi-irix4*)
843     # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
844     # environment.  Also bump switch table size so that cp-parse will
845     # compile.  Bump string length limit so linker builds.
846     tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
847     ;;
848   mips*-*-sysv4*)
849     host_makefile_frag="config/mh-sysv4"
850     ;;
851   mips*-*-sysv*)
852     # This is for a MIPS running RISC/os 4.52C.
854     # This is needed for GDB, but needs to be in the top-level make because
855     # if a library is compiled with the bsd headers and gets linked with the
856     # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
857     # a different size).
858     # ptrace(2) apparently has problems in the BSD environment.  No workaround is
859     # known except to select the sysv environment.  Could we use /proc instead?
860     # These "sysv environments" and "bsd environments" often end up being a pain.
861     #
862     # This is not part of CFLAGS because perhaps not all C compilers have this
863     # option.
864     tentative_cc="cc -systype sysv"
865     ;;
866   i370-ibm-opened*)
867     tentative_cc="c89"
868     ;;
869   i[[3456789]]86-*-sysv5*)
870     host_makefile_frag="config/mh-sysv5"
871     ;;
872   i[[3456789]]86-*-dgux*)
873     tentative_cc="gcc -Wall -ansi -D__using_DGUX"
874     host_makefile_frag="config/mh-dgux386"
875     ;;
876   i[[3456789]]86-ncr-sysv4.3*)
877     # The MetaWare compiler will generate a copyright message unless you
878     # turn it off by adding the -Hnocopyr flag.
879     tentative_cc="cc -Hnocopyr"
880     ;;
881   i[[3456789]]86-ncr-sysv4*)
882     # for an NCR 3000 (i486/SVR4) system.
883     # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
884     # This compiler not only emits obnoxious copyright messages every time
885     # you run it, but it chokes and dies on a whole bunch of GNU source
886     # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
887     tentative_cc="/usr/ccs/ATT/cc"
888     host_makefile_frag="config/mh-ncr3000"
889     ;;
890   i[[3456789]]86-*-sco3.2v5*)
891     ;;
892   i[[3456789]]86-*-sco*)
893     # The native C compiler botches some simple uses of const.  Unfortunately,
894     # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
895     tentative_cc="cc -Dconst="
896     host_makefile_frag="config/mh-sco"
897     ;;
898   i[[3456789]]86-*-udk*)
899     host_makefile_frag="config/mh-sysv5"
900     ;;
901   i[[3456789]]86-*-solaris2*)
902     host_makefile_frag="config/mh-sysv4"
903     ;;
904   i[[3456789]]86-*-msdosdjgpp*)
905     host_makefile_frag="config/mh-djgpp"
906     ;;
907   *-cygwin*)
908     host_makefile_frag="config/mh-cygwin"
909     ;;
910   *-mingw32*)
911     host_makefile_frag="config/mh-mingw32"
912     ;;
913   *-interix*)
914     host_makefile_frag="config/mh-interix"
915     ;;
916   vax-*-ultrix2*)
917     # The old BSD pcc isn't up to compiling parts of gdb so use gcc
918     tentative_cc=gcc
919     ;;
920   *-*-solaris2*)
921     host_makefile_frag="config/mh-solaris"
922     ;;
923   m68k-sun-sunos*)
924     # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
925     # without overflowing the jump tables (-J says to use a 32 bit table)
926     tentative_cc="cc -J"
927     ;;
928   *-hp-hpux*)
929     tentative_cc="cc -Wp,-H256000"
930     ;;
931   *-*-hiux*)
932     tentative_cc="cc -Wp,-H256000"
933     ;;
934   rs6000-*-lynxos*)
935     # /bin/cc is less than useful for our purposes.  Always use GCC
936     tentative_cc="/usr/cygnus/progressive/bin/gcc"
937     host_makefile_frag="config/mh-lynxrs6k"
938     ;;
939   powerpc-*-darwin*)
940     host_makefile_frag="config/mh-ppc-darwin"
941     ;;
942   *-*-lynxos*)
943     # /bin/cc is less than useful for our purposes.  Always use GCC
944     tentative_cc="/bin/gcc"
945     ;;
946   *-*-sysv4*)
947     host_makefile_frag="config/mh-sysv4"
948     ;;
949   # This is placed last to prevent interfering with the cases above.
950   i[[3456789]]86-*-*)
951     # Build the stage2 and stage3 compilers with -fomit-frame-pointer.
952     host_makefile_frag="config/mh-x86omitfp"
953     ;;
954 esac
957 # If we aren't going to be using gcc, see if we can extract a definition
958 # of CC from the fragment.
959 # Actually, use the 'pre-extracted' version above.
960 if test -z "${CC}" && test "${build}" = "${host}" ; then
961   IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
962   found=
963   for dir in $PATH; do
964     test -z "$dir" && dir=.
965     if test -f $dir/gcc; then
966       found=yes
967       break
968     fi
969   done
970   IFS="$save_ifs"
971   if test -z "${found}" && test -n "${tentative_cc}" ; then
972     CC=$tentative_cc
973   fi
976 if test "${build}" != "${host}" ; then
977   # If we are doing a Canadian Cross, in which the host and build systems
978   # are not the same, we set reasonable default values for the tools.
980   CC=${CC-${host_alias}-gcc}
981   CFLAGS=${CFLAGS-"-g -O2"}
982   CXX=${CXX-${host_alias}-c++}
983   CXXFLAGS=${CXXFLAGS-"-g -O2"}
984   CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
985   CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
986   CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
987   GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
988   GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
989   BUILD_PREFIX=${build_alias}-
990   BUILD_PREFIX_1=${build_alias}-
992 else
993   # Set reasonable default values for some tools even if not Canadian.
994   # Of course, these are different reasonable default values, originally
995   # specified directly in the Makefile.
996   # We don't export, so that autoconf can do its job.
997   # Note that all these settings are above the fragment inclusion point
998   # in Makefile.in, so can still be overridden by fragments.
999   # This is all going to change when we autoconfiscate...
1001   CC_FOR_BUILD="\$(CC)"
1002   GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
1003   BUILD_PREFIX=
1004   BUILD_PREFIX_1=loser-
1006   AC_PROG_CC
1008   # We must set the default linker to the linker used by gcc for the correct
1009   # operation of libtool.  If LD is not defined and we are using gcc, try to
1010   # set the LD default to the ld used by gcc.
1011   if test -z "$LD"; then
1012     if test "$GCC" = yes; then
1013       case $build in
1014       *-*-mingw*)
1015         gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1016       *)
1017         gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1018       esac
1019       case $gcc_prog_ld in
1020       # Accept absolute paths.
1021       [[\\/]* | [A-Za-z]:[\\/]*)]
1022         LD="$gcc_prog_ld" ;;
1023       esac
1024     fi
1025   fi
1027   CXX=${CXX-"c++"}
1028   CFLAGS=${CFLAGS-"-g"}
1029   CXXFLAGS=${CXXFLAGS-"-g -O2"}
1032 ACX_PROG_GNAT
1033 ACX_PROG_CMP_IGNORE_INITIAL
1035 # Check for GMP and MPFR
1036 gmplibs=
1037 gmpinc=
1038 have_gmp=yes
1039 # Specify a location for mpfr
1040 # check for this first so it ends up on the link line before gmp.
1041 AC_ARG_WITH(mpfr-dir, [  --with-mpfr-dir=PATH    Specify source directory for MPFR library])
1043 if test "x$with_mpfr_dir" != x; then
1044   gmpinc="-I$with_mpfr_dir/mpfr"
1045   gmplibs="$with_mpfr_dir/libmpfr.a"
1046 else
1047   gmplibs="-lmpfr"
1050 AC_ARG_WITH(mpfr, [  --with-mpfr=PATH        Specify directory for installed MPFR library])
1052 if test "x$with_mpfr" != x; then
1053   gmplibs="-L$with_mpfr/lib $gmplibs"
1054   gmpinc="-I$with_mpfr/include"
1057 # Specify a location for gmp
1058 AC_ARG_WITH(gmp-dir, [  --with-gmp-dir=PATH     Specify source directory for GMP library])
1060 if test "x$with_gmp_dir" != x; then
1061   gmpinc="$gmpinc -I$with_gmp_dir"
1062   if test -f "$with_gmp_dir/.libs/libgmp.a"; then
1063     gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
1064   elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
1065     gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
1066   fi
1067   # One of the later tests will catch the error if neither library is present.
1068 else
1069   gmplibs="$gmplibs -lgmp"
1072 AC_ARG_WITH(gmp, [  --with-gmp=PATH         Specify directory for installed GMP library])
1074 if test "x$with_gmp" != x; then
1075   gmplibs="-L$with_gmp/lib $gmplibs"
1076   gmpinc="-I$with_gmp/include $gmpinc"
1079 saved_CFLAGS="$CFLAGS"
1080 CFLAGS="$CFLAGS $gmpinc"
1081 # Check GMP actually works
1082 AC_MSG_CHECKING([for correct version of gmp.h])
1083 AC_TRY_COMPILE([#include "gmp.h"],[
1084 #if __GNU_MP_VERSION < 3
1085 choke me
1086 #endif
1087 ], [AC_MSG_RESULT([yes])],
1088   [AC_MSG_RESULT([no]); have_gmp=no])
1090 if test x"$have_gmp" = xyes; then
1091   AC_MSG_CHECKING([for MPFR])
1093   saved_LIBS="$LIBS"
1094   LIBS="$LIBS $gmplibs"
1095   AC_TRY_LINK([#include <gmp.h>
1096 #include <mpfr.h>], [mpfr_t n; mpfr_init(n);],
1097     [AC_MSG_RESULT([yes])],  [AC_MSG_RESULT([no]); have_gmp=no])
1098   LIBS="$saved_LIBS"
1099   CFLAGS="$saved_CFLAGS"
1102 # Flags needed for both GMP and/or MPFR
1103 AC_SUBST(gmplibs)
1104 AC_SUBST(gmpinc)
1106 # By default, C is the only stage 1 language.
1107 stage1_languages=c
1108 AC_SUBST(stage1_languages)
1110 # Figure out what language subdirectories are present.
1111 # Look if the user specified --enable-languages="..."; if not, use
1112 # the environment variable $LANGUAGES if defined. $LANGUAGES might
1113 # go away some day.
1114 # NB:  embedded tabs in this IF block -- do not untabify
1115 if test -d ${srcdir}/gcc; then
1116   if test x"${enable_languages+set}" != xset; then
1117     if test x"${LANGUAGES+set}" = xset; then
1118       enable_languages="${LANGUAGES}"
1119         echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1120     else
1121       enable_languages=all
1122     fi
1123   else
1124     if test x"${enable_languages}" = x ||
1125        test x"${enable_languages}" = xyes;
1126        then
1127       echo configure.in: --enable-languages needs at least one language argument 1>&2
1128       exit 1
1129     fi
1130   fi
1131   enable_languages=`echo "${enable_languages}" | sed -e 's/[[   ,]][[   ,]]*/,/g' -e 's/,$//'`
1133   # First scan to see if an enabled language requires some other language.
1134   # We assume that a given config-lang.in will list all the language
1135   # front ends it requires, even if some are required indirectly.
1136   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1137     case ${lang_frag} in
1138       ..) ;;
1139       # The odd quoting in the next line works around
1140       # an apparent bug in bash 1.12 on linux.
1141       ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1142       *)
1143         # From the config-lang.in, get $language, $lang_requires
1144         language=
1145         lang_requires=
1146         . ${lang_frag}
1147         for other in ${lang_requires} ; do
1148           case ,${enable_languages}, in
1149             *,$other,*) ;;
1150             *,all,*) ;;
1151             *,$language,*)
1152               echo " \`$other' language required by \`$language'; enabling" 1>&2
1153               enable_languages="${enable_languages},${other}"
1154               ;;
1155           esac
1156         done
1157         ;;
1158     esac
1159   done
1161   new_enable_languages=c
1162   missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1163   potential_languages=c
1165   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1166     case ${lang_frag} in
1167       ..) ;;
1168       # The odd quoting in the next line works around
1169       # an apparent bug in bash 1.12 on linux.
1170       ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1171       *)
1172         # From the config-lang.in, get $language, $target_libs, 
1173         # $lang_dirs, $boot_language, and $build_by_default
1174         language=
1175         target_libs=
1176         lang_dirs=
1177         boot_language=
1178         build_by_default=
1179         need_gmp=
1180         . ${lang_frag}
1181         potential_languages="${potential_languages},${language}"
1182         # This is quite sensitive to the ordering of the case statement arms.
1183         case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
1184           *::*:*)
1185             echo "${lang_frag} doesn't set \$language." 1>&2
1186             exit 1
1187             ;;
1188           *:ada:no:*)
1189             # Ada was requested with no preexisting GNAT.  Disable unconditionally.
1190             add_this_lang=no
1191             ;;
1192           *,${language},*:*:*:*)
1193             # Language was explicitly selected; include it.
1194             add_this_lang=yes
1195             ;;
1196           *,all,*:*:*:no)
1197             # 'all' was selected, but this is not a default language
1198             # so do not include it.
1199             add_this_lang=no
1200             ;;
1201           *,all,*:*:*:*)
1202             # 'all' was selected and this is a default language; include it.
1203             add_this_lang=yes
1204             ;;
1205           *)
1206             add_this_lang=no
1207             ;;
1208         esac
1210         # Disable languages that need GMP if it isn't available.
1211         case ,${enable_languages},:${have_gmp}:${need_gmp} in
1212           *,${language},*:no:yes)
1213             # Specifically requested language; tell them.
1214             AC_MSG_ERROR([GMP with MPFR support is required to build $language])
1215             ;;
1216           *:no:yes)
1217             # Silently disable.
1218             add_this_lang=no
1219             ;;
1220         esac
1221         
1222         case $add_this_lang in
1223           no)
1224             # Remove language-dependent dirs.
1225             eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1226             ;;
1227           *)
1228             new_enable_languages="$new_enable_languages,$language"
1229             missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1230             case ${boot_language} in
1231               yes)
1232                 # Add to (comma-separated) list of stage 1 languages.
1233                 stage1_languages="${stage1_languages},${language}"
1234                 ;;
1235             esac
1236             ;;
1237         esac
1238         ;;
1239     esac
1240   done
1242   missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
1243   if test "x$missing_languages" != x; then
1244     AC_MSG_ERROR([
1245 The following requested languages were not found: ${missing_languages}
1246 The available languages are: ${potential_languages}])
1247   fi
1249   if test "x$new_enable_languages" != "x$enable_languages"; then
1250     echo The following languages will be built: ${new_enable_languages}
1251   fi
1252   enable_languages="$new_enable_languages"
1253   ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
1256 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
1257 # $target_configdirs.
1258 # If we have the source for $noconfigdirs entries, add them to $notsupp.
1260 notsupp=""
1261 for dir in . $skipdirs $noconfigdirs ; do
1262   dirname=`echo $dir | sed -e s/target-//g`
1263   if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1264     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1265     if test -r $srcdir/$dirname/configure ; then
1266       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1267         true
1268       else
1269         notsupp="$notsupp $dir"
1270       fi
1271     fi
1272   fi
1273   if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1274     target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1275     if test -r $srcdir/$dirname/configure ; then
1276       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1277         true
1278       else
1279         notsupp="$notsupp $dir"
1280       fi
1281     fi
1282   fi
1283 done
1285 # Sometimes the tools are distributed with libiberty but with no other
1286 # libraries.  In that case, we don't want to build target-libiberty.
1287 if test -n "${target_configdirs}" ; then
1288   others=
1289   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1290     if test "$i" != "libiberty" ; then
1291       if test -r $srcdir/$i/configure ; then
1292         others=yes;
1293         break;
1294       fi
1295     fi
1296   done
1297   if test -z "${others}" ; then
1298     target_configdirs=
1299   fi
1302 # Quietly strip out all directories which aren't configurable in this tree.
1303 # This relies on all configurable subdirectories being autoconfiscated, which
1304 # is now the case.
1305 build_configdirs_all="$build_configdirs"
1306 build_configdirs=
1307 for i in ${build_configdirs_all} ; do
1308   j=`echo $i | sed -e s/build-//g` 
1309   if test -f ${srcdir}/$j/configure ; then
1310     build_configdirs="${build_configdirs} $i"
1311   fi
1312 done
1314 configdirs_all="$configdirs"
1315 configdirs=
1316 for i in ${configdirs_all} ; do
1317   if test -f ${srcdir}/$i/configure ; then
1318     configdirs="${configdirs} $i"
1319   fi
1320 done
1322 target_configdirs_all="$target_configdirs"
1323 target_configdirs=
1324 for i in ${target_configdirs_all} ; do
1325   j=`echo $i | sed -e s/target-//g` 
1326   if test -f ${srcdir}/$j/configure ; then
1327     target_configdirs="${target_configdirs} $i"
1328   fi
1329 done
1331 # Produce a warning message for the subdirs we can't configure.
1332 # This isn't especially interesting in the Cygnus tree, but in the individual
1333 # FSF releases, it's important to let people know when their machine isn't
1334 # supported by the one or two programs in a package.
1336 if test -n "${notsupp}" && test -z "${norecursion}" ; then
1337   # If $appdirs is non-empty, at least one of those directories must still
1338   # be configured, or we error out.  (E.g., if the gas release supports a
1339   # specified target in some subdirs but not the gas subdir, we shouldn't
1340   # pretend that all is well.)
1341   if test -n "$appdirs" ; then
1342     for dir in $appdirs ; do
1343       if test -r $dir/Makefile.in ; then
1344         if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1345           appdirs=""
1346           break
1347         fi
1348         if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
1349           appdirs=""
1350           break
1351         fi
1352       fi
1353     done
1354     if test -n "$appdirs" ; then
1355       echo "*** This configuration is not supported by this package." 1>&2
1356       exit 1
1357     fi
1358   fi
1359   # Okay, some application will build, or we don't care to check.  Still
1360   # notify of subdirs not getting built.
1361   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1362   echo "    ${notsupp}" 1>&2
1363   echo "    (Any other directories should still work fine.)" 1>&2
1366 case "$host" in
1367   *msdosdjgpp*)
1368     enable_gdbtk=no ;;
1369 esac
1371 copy_dirs=
1373 # Handle --with-headers=XXX.  If the value is not "yes", the contents of
1374 # the named directory are copied to $(tooldir)/sys-include.
1375 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
1376   if test x${is_cross_compiler} = xno ; then
1377     echo 1>&2 '***' --with-headers is only supported when cross compiling
1378     exit 1
1379   fi
1380   if test x"${with_headers}" != xyes ; then
1381     case "${exec_prefixoption}" in
1382     "") x=${prefix} ;;
1383     *) x=${exec_prefix} ;;
1384     esac
1385     copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
1386   fi
1389 # Handle --with-libs=XXX.  If the value is not "yes", the contents of
1390 # the name directories are copied to $(tooldir)/lib.  Multiple directories
1391 # are permitted.
1392 if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
1393   if test x${is_cross_compiler} = xno ; then
1394     echo 1>&2 '***' --with-libs is only supported when cross compiling
1395     exit 1
1396   fi
1397   if test x"${with_libs}" != xyes ; then
1398     # Copy the libraries in reverse order, so that files in the first named
1399     # library override files in subsequent libraries.
1400     case "${exec_prefixoption}" in
1401     "") x=${prefix} ;;
1402     *) x=${exec_prefix} ;;
1403     esac
1404     for l in ${with_libs}; do
1405       copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
1406     done
1407   fi
1410 # Handle ${copy_dirs}
1411 set fnord ${copy_dirs}
1412 shift
1413 while test $# != 0 ; do
1414   if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
1415     :
1416   else
1417     echo Copying $1 to $2
1419     # Use the install script to create the directory and all required
1420     # parent directories.
1421     if test -d $2 ; then
1422       :
1423     else
1424       echo >config.temp
1425       ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
1426     fi
1428     # Copy the directory, assuming we have tar.
1429     # FIXME: Should we use B in the second tar?  Not all systems support it.
1430     (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
1432     # It is the responsibility of the user to correctly adjust all
1433     # symlinks.  If somebody can figure out how to handle them correctly
1434     # here, feel free to add the code.
1436     echo $1 > $2/COPIED
1437   fi
1438   shift; shift
1439 done
1441 extra_arflags_for_target=
1442 extra_nmflags_for_target=
1443 extra_ranlibflags_for_target=
1444 target_makefile_frag=/dev/null
1445 case "${target}" in
1446   *-*-netware*)
1447     target_makefile_frag="config/mt-netware"
1448     ;;
1449   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
1450     target_makefile_frag="config/mt-gnu"
1451     ;;
1452   *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
1453     # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm 
1454     # commands to handle both 32-bit and 64-bit objects.  These flags are
1455     # harmless if we're using GNU nm or ar.
1456     extra_arflags_for_target=" -X32_64"
1457     extra_nmflags_for_target=" -B -X32_64"
1458     ;;
1459   *-*-darwin*)
1460     # ranlib from Darwin requires the -c flag to look at common symbols.
1461     extra_ranlibflags_for_target=" -c"
1462     ;;
1463   mips*-*-pe | sh*-*-pe | *arm-wince-pe)
1464     target_makefile_frag="config/mt-wince"
1465     ;;
1466 esac
1468 alphaieee_frag=/dev/null
1469 case $target in
1470   alpha*-*-*)
1471     # This just makes sure to use the -mieee option to build target libs.
1472     # This should probably be set individually by each library.
1473     alphaieee_frag="config/mt-alphaieee"
1474     ;;
1475 esac
1477 # If --enable-target-optspace always use -Os instead of -O2 to build
1478 # the target libraries, similarly if it is not specified, use -Os
1479 # on selected platforms.
1480 ospace_frag=/dev/null
1481 case "${enable_target_optspace}:${target}" in
1482   yes:*)
1483     ospace_frag="config/mt-ospace"
1484     ;;
1485   :d30v-*)
1486     ospace_frag="config/mt-d30v"
1487     ;;
1488   :m32r-* | :d10v-* | :fr30-*)
1489     ospace_frag="config/mt-ospace"
1490     ;;
1491   no:* | :*)
1492     ;;
1493   *)
1494     echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1495     ;;
1496 esac
1498 # Set with_gnu_as and with_gnu_ld as appropriate.
1500 # This is done by determining whether or not the appropriate directory
1501 # is available, and by checking whether or not specific configurations
1502 # have requested that this magic not happen.
1504 # The command line options always override the explicit settings in 
1505 # configure.in, and the settings in configure.in override this magic.
1507 # If the default for a toolchain is to use GNU as and ld, and you don't 
1508 # want to do that, then you should use the --without-gnu-as and
1509 # --without-gnu-ld options for the configure script.
1511 if test x${use_gnu_as} = x &&
1512    echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1513   with_gnu_as=yes
1514   extra_host_args="$extra_host_args --with-gnu-as"
1517 if test x${use_gnu_ld} = x &&
1518    echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1519   with_gnu_ld=yes
1520   extra_host_args="$extra_host_args --with-gnu-ld"
1523 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
1524 # can detect this case.
1526 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
1527   with_newlib=yes
1528   extra_host_args="$extra_host_args --with-newlib"
1531 # Default to using --with-stabs for certain targets.
1532 if test x${with_stabs} = x ; then
1533   case "${target}" in
1534   mips*-*-irix[[56]]*)
1535     ;;
1536   mips*-*-* | alpha*-*-osf*)
1537     with_stabs=yes;
1538     extra_host_args="${extra_host_args} --with-stabs"
1539     ;;
1540   esac
1543 # hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
1544 # them automatically.
1545 case "${host}" in
1546   hppa*64*-*-hpux11*)   
1547     extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
1548     ;;
1549 esac
1551 # Some systems (e.g., one of the i386-aix systems the gas testers are
1552 # using) don't handle "\$" correctly, so don't use it here.
1553 tooldir='${exec_prefix}'/${target_alias}
1554 build_tooldir=${tooldir}
1556 # Generate default definitions for YACC, M4, LEX and other programs that run
1557 # on the build machine.  These are used if the Makefile can't locate these
1558 # programs in objdir.
1559 MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
1560 AC_CHECK_PROGS([CONFIGURED_BISON], [bison], [$MISSING bison])
1561 AC_CHECK_PROGS([CONFIGURED_YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
1562 AC_CHECK_PROGS([CONFIGURED_M4], [gm4 gnum4 m4], [$MISSING m4])
1563 AC_CHECK_PROGS([CONFIGURED_FLEX], [flex], [$MISSING flex])
1564 AC_CHECK_PROGS([CONFIGURED_LEX], [flex lex], [$MISSING flex])
1565 AC_CHECK_PROGS([CONFIGURED_MAKEINFO], makeinfo, [$MISSING makeinfo])
1567 # Create a .gdbinit file which runs the one in srcdir
1568 # and tells GDB to look there for source files.
1570 if test -r ${srcdir}/.gdbinit ; then
1571   case ${srcdir} in
1572     .) ;;
1573     *) cat > ./.gdbinit <<EOF
1574 # ${NO_EDIT}
1575 dir ${srcdir}
1576 dir .
1577 source ${srcdir}/.gdbinit
1579     ;;
1580   esac
1583 # Make sure that the compiler is able to generate an executable.  If it
1584 # can't, we are probably in trouble.  We don't care whether we can run the
1585 # executable--we might be using a cross compiler--we only care whether it
1586 # can be created.  At this point the main configure script has set CC.
1587 we_are_ok=no
1588 echo "int main () { return 0; }" > conftest.c
1589 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1590 if test $? = 0 ; then
1591   if test -s conftest || test -s conftest.exe ; then
1592     we_are_ok=yes
1593   fi
1594 fi 
1595 case $we_are_ok in
1596   no)
1597     echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1598     echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1599     rm -f conftest*
1600     exit 1
1601     ;;
1602 esac
1603 rm -f conftest*
1605 # The Solaris /usr/ucb/cc compiler does not appear to work.
1606 case "${host}" in
1607   sparc-sun-solaris2*)
1608       CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1609       if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
1610           could_use=
1611           test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
1612           if test -d /opt/cygnus/bin ; then
1613               if test "$could_use" = "" ; then
1614                   could_use="/opt/cygnus/bin"
1615               else
1616                   could_use="$could_use or /opt/cygnus/bin"
1617               fi
1618           fi
1619         if test "$could_use" = "" ; then
1620             echo "Warning: compilation may fail because you're using"
1621             echo "/usr/ucb/cc.  You should change your PATH or CC "
1622             echo "variable and rerun configure."
1623         else
1624             echo "Warning: compilation may fail because you're using"
1625             echo "/usr/ucb/cc, when you should use the C compiler from"
1626             echo "$could_use.  You should change your"
1627             echo "PATH or CC variable and rerun configure."
1628         fi
1629       fi
1630   ;;
1631 esac
1633 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1634 # binutils tools will find libbfd.so.
1635 case "${enable_shared}" in
1636   no | "") SET_LIB_PATH= ;;
1637   *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
1638 esac
1640 case "${host}" in
1641   *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1642   *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1643 esac
1645 # Record target_configdirs and the configure arguments for target and
1646 # build configuration in Makefile.
1647 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1648 build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
1650 # Determine whether gdb needs tk/tcl or not.
1651 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
1652 # and in that case we want gdb to be built without tk.  Ugh!
1653 # In fact I believe gdb is the *only* package directly dependent on tk,
1654 # so we should be able to put the 'maybe's in unconditionally and
1655 # leave out the maybe dependencies when enable_gdbtk is false.  I'm not
1656 # 100% sure that that's safe though.
1658 gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
1659 case "$enable_gdbtk" in
1660   no)
1661     GDB_TK="" ;;
1662   yes)
1663     GDB_TK="${gdb_tk}" ;;
1664   *)
1665     # Only add the dependency on gdbtk when GDBtk is part of the gdb
1666     # distro.  Eventually someone will fix this and move Insight, nee
1667     # gdbtk to a separate directory.
1668     if test -d ${srcdir}/gdb/gdbtk ; then
1669       GDB_TK="${gdb_tk}"
1670     else
1671       GDB_TK=""
1672     fi
1673     ;;
1674 esac
1676 # Strip out unwanted targets.
1678 # While at that, we remove Makefiles if we were started for recursive
1679 # configuration, so that the top-level Makefile reconfigures them,
1680 # like we used to do when configure itself was recursive.
1682 # Loop over modules.  $extrasub must be used with care, limiting as
1683 # much as possible the usage of range addresses.  That's because autoconf
1684 # splits the sed script to overcome limits in the number of commands,
1685 # and relying on carefully-timed sed passes may turn out to be very hard
1686 # to maintain later.  In this particular case, you just have to be careful
1687 # not to nest @if/@endif pairs, because configure will not warn you at all.
1689 AC_ARG_ENABLE([bootstrap],
1690 [  --enable-bootstrap[=lean]     Enable bootstrapping [no]],,
1691 enable_bootstrap=default)
1693 # Issue errors and warnings for invalid/strange bootstrap combinations.
1694 case "$configdirs" in
1695   *gcc*) have_compiler=yes ;;
1696   *) have_compiler=no ;;
1697 esac
1699 case "$have_compiler:$host:$target:$enable_bootstrap" in
1700   *:*:*:no) ;;
1702   # Default behavior.  (We'll) enable bootstrap if we have a compiler
1703   # and we are in a native configuration.
1704   yes:$build:$build:default)
1705     # This will become 'yes'
1706     enable_bootstrap=no ;;
1708   *:*:*:default)
1709     enable_bootstrap=no ;;
1711   # We have a compiler and we are in a native configuration, bootstrap is ok
1712   yes:$build:$build:yes | yes:$build:$build:lean)
1713     ;;
1715   # Other configurations, but we have a compiler.  Assume the user knows
1716   # what he's doing.
1717   yes:*:*:yes | yes:*:*:lean)
1718     AC_MSG_WARN([trying to bootstrap a cross compiler])
1719     ;;
1721   # No compiler: if they passed --enable-bootstrap explicitly, fail
1722   no:*:*:yes | no:*:*:lean)
1723     AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
1725   # Fail if wrong command line
1726   *)
1727     AC_MSG_ERROR([invalid option for --enable-bootstrap])
1728     ;;
1729 esac
1731 # Adjust the toplevel makefile according to whether bootstrap was selected.
1732 case "$enable_bootstrap" in
1733   yes)
1734     bootstrap_lean='#'
1735     default_target=bootstrap
1736     bootstrap_suffix=bootstrap ;;
1737   lean)
1738     bootstrap_lean=''
1739     default_target=bootstrap
1740     bootstrap_suffix=bootstrap ;;
1741   no)
1742     default_target=all
1743     bootstrap_suffix=no-bootstrap ;;
1744 esac
1745 AC_SUBST(bootstrap_lean)
1746 AC_SUBST(default_target)
1748 for module in ${build_configdirs} ; do
1749   if test -z "${no_recursion}" \
1750      && test -f ${build_subdir}/${module}/Makefile; then
1751     echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
1752     rm -f ${build_subdir}/${module}/Makefile
1753   fi
1754   extrasub="$extrasub
1755 /^@if build-$module\$/d
1756 /^@endif build-$module\$/d
1757 /^@if build-$module-$bootstrap_suffix\$/d
1758 /^@endif build-$module-$bootstrap_suffix\$/d"
1759 done
1760 for module in ${configdirs} ; do
1761   if test -z "${no_recursion}" \
1762      && test -f ${module}/Makefile; then
1763     echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
1764     rm -f ${module}/Makefile
1765   fi
1766   extrasub="$extrasub
1767 /^@if $module\$/d
1768 /^@endif $module\$/d
1769 /^@if $module-$bootstrap_suffix\$/d
1770 /^@endif $module-$bootstrap_suffix\$/d"
1771 done
1772 for module in ${target_configdirs} ; do
1773   if test -z "${no_recursion}" \
1774      && test -f ${target_subdir}/${module}/Makefile; then
1775     echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
1776     rm -f ${target_subdir}/${module}/Makefile
1777   fi
1778   extrasub="$extrasub
1779 /^@if target-$module\$/d
1780 /^@endif target-$module\$/d
1781 /^@if target-$module-$bootstrap_suffix\$/d
1782 /^@endif target-$module-$bootstrap_suffix\$/d"
1783 done
1785 extrasub="$extrasub
1786 /^@if /,/^@endif /d"
1788 # Create the serialization dependencies.  This uses a temporary file.
1790 AC_ARG_ENABLE([serial-configure],
1791 [  --enable-serial-[{host,target,build}-]configure
1792                           Force sequential configuration of
1793                           sub-packages for the host, target or build
1794                           machine, or all sub-packages])
1796 case ${enable_serial_configure} in
1797   yes)
1798     enable_serial_build_configure=yes
1799     enable_serial_host_configure=yes
1800     enable_serial_target_configure=yes
1801     ;;
1802 esac
1804 # These force 'configure's to be done one at a time, to avoid problems
1805 # with contention over a shared config.cache.
1806 rm -f serdep.tmp
1807 echo '# serdep.tmp' > serdep.tmp
1808 olditem=
1809 test "x${enable_serial_build_configure}" = xyes &&
1810 for item in ${build_configdirs} ; do
1811   case ${olditem} in
1812     "") ;;
1813     *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
1814   esac
1815   olditem=${item}
1816 done
1817 olditem=
1818 test "x${enable_serial_host_configure}" = xyes &&
1819 for item in ${configdirs} ; do
1820   case ${olditem} in
1821     "") ;;
1822     *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
1823   esac
1824   olditem=${item}
1825 done
1826 olditem=
1827 test "x${enable_serial_target_configure}" = xyes &&
1828 for item in ${target_configdirs} ; do
1829   case ${olditem} in
1830     "") ;;
1831     *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
1832   esac
1833   olditem=${item}
1834 done
1835 serialization_dependencies=serdep.tmp
1836 AC_SUBST_FILE(serialization_dependencies)
1838 # Base args.  Strip norecursion, cache-file, srcdir, host, build,
1839 # target and nonopt.  These are the ones we might not want to pass
1840 # down to subconfigures.  Also strip program-prefix, program-suffix,
1841 # and program-transform-name, so that we can pass down a consistent
1842 # program-transform-name.  If autoconf has put single quotes around
1843 # any of these arguments (because they contain shell metacharacters)
1844 # then this will fail; in practice this only happens for
1845 # --program-transform-name, so be sure to override --program-transform-name
1846 # at the end of the argument list.
1847 # These will be expanded by make, so quote '$'.
1848 cat <<\EOF_SED > conftestsed
1849 s/ --no[[^ ]]*/ /g
1850 s/ --c[[a-z-]]*[[= ]][[^ ]]*//g
1851 s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g
1852 s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g
1853 s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g
1854 s/ --t[[a-z-]]*[[= ]][[^ ]]*//g
1855 s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g
1856 s/ -cache-file[[= ]][[^ ]]*//g
1857 s/ -srcdir[[= ]][[^ ]]*//g
1858 s/ -host[[= ]][[^ ]]*//g
1859 s/ -build[[= ]][[^ ]]*//g
1860 s/ -target[[= ]][[^ ]]*//g
1861 s/ -program-prefix[[= ]][[^ ]]*//g
1862 s/ -program-suffix[[= ]][[^ ]]*//g
1863 s/ -program-transform-name[[= ]][[^ ]]*//g
1864 s/ [[^' -][^ ]*] / /
1865 s/^ *//;s/ *$//
1866 s,\$,$$,g
1867 EOF_SED
1868 sed -f conftestsed <<EOF_SED > conftestsed.out
1869  ${ac_configure_args} 
1870 EOF_SED
1871 baseargs=`cat conftestsed.out`
1872 rm -f conftestsed conftestsed.out
1874 # Add in --program-transform-name, after --program-prefix and
1875 # --program-suffix have been applied to it.  Autoconf has already
1876 # doubled dollar signs and backslashes in program_transform_name; we want
1877 # the backslashes un-doubled, and then the entire thing wrapped in single
1878 # quotes, because this will be expanded first by make and then by the shell. 
1879 # Also, because we want to override the logic in subdir configure scripts to
1880 # choose program_transform_name, replace any s,x,x, with s,y,y,.
1881 sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
1882 ${program_transform_name}
1883 EOF_SED
1884 gcc_transform_name=`cat conftestsed.out`
1885 rm -f conftestsed.out
1886 baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
1888 # For the build-side libraries, we just need to pretend we're native,
1889 # and not use the same cache file.  Multilibs are neither needed nor
1890 # desired.
1891 build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
1893 # For host modules, accept cache file option, or specification as blank.
1894 case "${cache_file}" in
1895 "") # empty
1896   cache_file_option="" ;;
1897 /* | [[A-Za-z]]:[[\\/]]* ) # absolute path
1898   cache_file_option="--cache-file=${cache_file}" ;;
1899 *) # relative path
1900   cache_file_option="--cache-file=../${cache_file}" ;;
1901 esac
1903 # Host dirs don't like to share a cache file either, horribly enough.
1904 # This seems to be due to autoconf 2.5x stupidity.
1905 host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
1907 target_configargs=${baseargs}
1909 # Passing a --with-cross-host argument lets the target libraries know
1910 # whether they are being built with a cross-compiler or being built
1911 # native.  However, it would be better to use other mechanisms to make the
1912 # sorts of decisions they want to make on this basis.  Please consider
1913 # this option to be deprecated.  FIXME.
1914 if test x${is_cross_compiler} = xyes ; then
1915   target_configargs="--with-cross-host=${host_alias} ${target_configargs}"
1918 # Default to --enable-multilib.
1919 if test x${enable_multilib} = x ; then
1920   target_configargs="--enable-multilib ${target_configargs}"
1923 # Pass --with-newlib if appropriate.  Note that target_configdirs has
1924 # changed from the earlier setting of with_newlib.
1925 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
1926   target_configargs="--with-newlib ${target_configargs}"
1929 # Different target subdirs use different values of certain variables
1930 # (notably CXX).  Worse, multilibs use *lots* of different values.
1931 # Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
1932 # it doesn't automatically accept command-line overrides of them.
1933 # This means it's not safe for target subdirs to share a cache file,
1934 # which is disgusting, but there you have it.  Hopefully this can be
1935 # fixed in future.  It's still worthwhile to use a cache file for each
1936 # directory.  I think.
1938 # Pass the appropriate --host, --build, and --cache-file arguments.
1939 target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
1941 # provide a proper gxx_include_dir.
1942 # Note, if you change the default, make sure to fix both here and in
1943 # the gcc and libstdc++-v3 subdirectories.
1944 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
1945 case "${with_gxx_include_dir}" in
1946   yes)
1947     AC_MSG_ERROR([--with-gxx-include-dir=[[dir]] requires a directory])
1948     ;;
1949   no | "")
1950     case "${enable_version_specific_runtime_libs}" in
1951       yes) gxx_include_dir='${libsubdir}/include/c++' ;;
1952       *)
1953         . ${srcdir}/config.if
1954         gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
1955     esac ;;
1956   *) gxx_include_dir=${with_gxx_include_dir} ;;
1957 esac
1959 FLAGS_FOR_TARGET=
1960 case " $target_configdirs " in
1961  *" newlib "*)
1962   case " $target_configargs " in
1963   *" --with-newlib "*)
1964    case "$target" in
1965    *-cygwin*)
1966      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' ;;
1967    esac
1969    # If we're not building GCC, don't discard standard headers.
1970    if test -d ${srcdir}/gcc; then
1971      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
1973      if test "${build}" != "${host}"; then
1974        # On Canadian crosses, CC_FOR_TARGET will have already been set
1975        # by `configure', so we won't have an opportunity to add -Bgcc/
1976        # to it.  This is right: we don't want to search that directory
1977        # for binaries, but we want the header files in there, so add
1978        # them explicitly.
1979        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1981        # Someone might think of using the pre-installed headers on
1982        # Canadian crosses, in case the installed compiler is not fully
1983        # compatible with the compiler being built.  In this case, it
1984        # would be better to flag an error than risking having
1985        # incompatible object files being constructed.  We can't
1986        # guarantee that an error will be flagged, but let's hope the
1987        # compiler will do it, when presented with incompatible header
1988        # files.
1989      fi
1990    fi
1992    case "${target}-${is_cross_compiler}" in
1993    i[[3456789]]86-*-linux*-no)
1994       # Here host == target, so we don't need to build gcc,
1995       # so we don't want to discard standard headers.
1996       FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
1997       ;;
1998    *)
1999       # If we're building newlib, use its generic headers last, but search
2000       # for any libc-related directories first (so make it the last -B
2001       # switch).
2002       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
2003       ;;
2004    esac
2005    ;;
2006   esac
2007   ;;
2008 esac
2010 # Allow the user to override the flags for
2011 # our build compiler if desired.
2012 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
2014 # On Canadian crosses, we'll be searching the right directories for
2015 # the previously-installed cross compiler, so don't bother to add
2016 # flags for directories within the install tree of the compiler
2017 # being built; programs in there won't even run.
2018 if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
2019   # Search for pre-installed headers if nothing else fits.
2020   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
2023 if test "x${use_gnu_ld}" = x &&
2024    echo " ${configdirs} " | grep " ld " > /dev/null ; then
2025   # Arrange for us to find uninstalled linker scripts.
2026   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
2029 if test "x${CC_FOR_TARGET+set}" = xset; then
2030   :
2031 elif test -d ${srcdir}/gcc; then
2032   CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
2033 elif test "$host" = "$target"; then
2034   CC_FOR_TARGET='$(CC)'
2035 else
2036   CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
2038 CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
2040 if test "x${GCJ_FOR_TARGET+set}" = xset; then
2041   :
2042 elif test -d ${srcdir}/gcc; then
2043   GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
2044 elif test "$host" = "$target"; then
2045   GCJ_FOR_TARGET='gcj'
2046 else
2047   GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
2049 GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
2051 if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
2052   :
2053 elif test -d ${srcdir}/gcc; then
2054   GFORTRAN_FOR_TARGET='$$r/gcc/gfortran -B$$r/gcc/'
2055 elif test "$host" = "$target"; then
2056   GFORTRAN_FOR_TARGET='gfortran'
2057 else
2058   GFORTRAN_FOR_TARGET=`echo gfortran | sed "${program_transform_name}"`
2060 case $GFORTRAN_FOR_TARGET in
2061 *' $(FLAGS_FOR_TARGET)') ;;
2062 *) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
2063 esac
2065 # Don't use libstdc++-v3's flags to configure/build itself.
2066 libstdcxx_flags='`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'
2067 raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
2069 if test "x${CXX_FOR_TARGET+set}" = xset; then
2070   if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
2071     RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
2072   fi
2073 elif test -d ${srcdir}/gcc; then
2074   # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
2075   # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
2076   # default whereas gcc does not.
2077   # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
2078   # all other cases.
2079   CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
2080   RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
2081 elif test "$host" = "$target"; then
2082   CXX_FOR_TARGET='$(CXX)'
2083   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
2084 else
2085   CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
2086   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
2088 CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
2089 RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
2091 qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
2092 qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
2094 # We want to defer the evaluation of `cmd`s and shell variables in
2095 # CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
2096 # bootstrap.  We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
2097 # quotes, but we still have to duplicate `$'s so that shell variables
2098 # can be expanded by the nested make as shell variables, not as make
2099 # macros.
2100 qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
2101 qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
2103 # Wrap CC_FOR_TARGET and friends, for certain types of builds.
2104 CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
2105 GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
2106 GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
2107 CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
2108 RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
2109 CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
2110 RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
2112 # Makefile fragments.
2113 for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
2115   eval fragval=\$$frag
2116   if test $fragval != /dev/null; then
2117     eval $frag=${srcdir}/$fragval
2118   fi
2119 done
2120 AC_SUBST_FILE(host_makefile_frag)
2121 AC_SUBST_FILE(target_makefile_frag)
2122 AC_SUBST_FILE(alphaieee_frag)
2123 AC_SUBST_FILE(ospace_frag)
2125 # Miscellanea: directories, flags, etc.
2126 AC_SUBST(SET_LIB_PATH)
2127 AC_SUBST(RPATH_ENVVAR)
2128 AC_SUBST(BUILD_PREFIX)
2129 AC_SUBST(BUILD_PREFIX_1)
2130 AC_SUBST(gcc_version_trigger)
2131 AC_SUBST(gcc_version)
2132 AC_SUBST(tooldir)
2133 AC_SUBST(build_tooldir)
2134 AC_SUBST(GDB_TK)
2135 AC_SUBST(gxx_include_dir)
2136 AC_SUBST(libstdcxx_incdir)
2138 # Build module lists & subconfigure args.
2139 AC_SUBST(build_configargs)
2140 AC_SUBST(build_configdirs)
2142 # Host module lists & subconfigure args.
2143 AC_SUBST(host_configargs)
2144 AC_SUBST(configdirs)
2146 # Target module lists & subconfigure args.
2147 AC_SUBST(target_configargs)
2148 AC_SUBST(target_configdirs)
2150 # Build tools.
2151 AC_SUBST(CC_FOR_BUILD)
2152 AC_SUBST(config_shell)
2154 # Host tools.
2155 NCN_STRICT_CHECK_TOOL(AR, ar)
2156 NCN_STRICT_CHECK_TOOL(AS, as)
2157 NCN_STRICT_CHECK_TOOL(DLLTOOL, dlltool)
2158 NCN_STRICT_CHECK_TOOL(LD, ld)
2159 NCN_STRICT_CHECK_TOOL(NM, nm)
2160 NCN_STRICT_CHECK_TOOL(RANLIB, ranlib, :)
2161 NCN_STRICT_CHECK_TOOL(WINDRES, windres)
2162 NCN_STRICT_CHECK_TOOL(OBJCOPY, objcopy)
2163 NCN_STRICT_CHECK_TOOL(OBJDUMP, objdump)
2164 AC_SUBST(CC)
2165 AC_SUBST(CXX)
2166 AC_SUBST(CFLAGS)
2167 AC_SUBST(CFLAGS_FOR_BUILD)
2168 AC_SUBST(CXXFLAGS)
2170 # Target tools.
2171 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar)
2172 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as)
2173 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool)
2174 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld)
2175 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm)
2176 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :)
2177 NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres)
2179 AC_SUBST(GCC_FOR_TARGET)
2180 AC_SUBST(FLAGS_FOR_TARGET)
2181 AC_SUBST(CC_FOR_TARGET)
2182 AC_SUBST(GCJ_FOR_TARGET)
2183 AC_SUBST(GFORTRAN_FOR_TARGET)
2184 AC_SUBST(CXX_FOR_TARGET)
2185 AC_SUBST(RAW_CXX_FOR_TARGET)
2186 AC_SUBST(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
2187 AC_SUBST(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
2189 # Fix up target tools.
2190 if test "x${build}" = "x${host}" ; then
2191   # In this case, the newly built tools can and should be used,
2192   # so we override the results of the autoconf tests.
2193   # This should really only happen when the tools are actually being built,
2194   # but that's a further refinement.  The new build scheme, where
2195   # tools are built into a structure paralleling where they're installed,
2196   # should also eliminate all of this cleanly.
2197   AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
2198   AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
2199   DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
2200   LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
2201   NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
2202   RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
2203   WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
2204 else
2205   # Just use the ones we found.
2206   AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
2207   AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
2208   DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
2209   LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
2210   NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
2211   RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
2212   WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"  
2214 AC_SUBST(AR_FOR_TARGET)
2215 AC_SUBST(AS_FOR_TARGET)
2216 AC_SUBST(DLLTOOL_FOR_TARGET)
2217 AC_SUBST(LD_FOR_TARGET)
2218 AC_SUBST(NM_FOR_TARGET)
2219 AC_SUBST(RANLIB_FOR_TARGET)
2220 AC_SUBST(WINDRES_FOR_TARGET)
2222 # Certain tools may need extra flags.
2223 AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
2224 RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
2225 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
2227 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
2228 AC_ARG_ENABLE(maintainer-mode,
2229 [  --enable-maintainer-mode enable make rules and dependencies not useful
2230                           (and sometimes confusing) to the casual installer],
2231       USE_MAINTAINER_MODE=$enableval,
2232       USE_MAINTAINER_MODE=no)
2233 AC_MSG_RESULT($USE_MAINTAINER_MODE)
2234 AC_SUBST(MAINTAINER_MODE_TRUE)
2235 AC_SUBST(MAINTAINER_MODE_FALSE)
2236 if test "$USE_MAINTAINER_MODE" = yes; then
2237   MAINTAINER_MODE_TRUE=
2238   MAINTAINER_MODE_FALSE='#'
2239 else
2240   MAINTAINER_MODE_TRUE='#'
2241   MAINTAINER_MODE_FALSE=
2242 fi      
2243 MAINT=$MAINTAINER_MODE_TRUE
2244 AC_SUBST(MAINT)dnl
2246 # ---------------------
2247 # GCC bootstrap support
2248 # ---------------------
2250 # Stage specific cflags for build.
2251 stage1_cflags="-g"
2252 case $build in
2253   vax-*-*)
2254     case ${GCC} in
2255       yes) stage1_cflags="-g -Wa,-J" ;;
2256       *) stage1_cflags="-g -J" ;;
2257     esac ;;
2258   powerpc-*-darwin*)
2259     # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
2260     # sources; use -no-cpp-precomp to get to GNU cpp.
2261     # Apple's GCC has bugs in designated initializer handling, so disable
2262     # that too.
2263     stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
2264     ;;
2265 esac
2266 AC_SUBST(stage1_cflags)
2268 # It makes debugging easier if we create as symlinks the stage directories
2269 # gcc for stageN-gcc and stagePREV-gcc for stage(N-1).  In case this is not
2270 # possible, however, we can resort to mv.
2271 AC_CACHE_CHECK([if symbolic links between directories work],
2272 [gcc_cv_prog_ln_s_dir],
2273 [if test "${LN_S}" = "ln -s" \
2274    && mkdir confdir.s1 \
2275    && ln -s confdir.s1 confdir.s2 \
2276    && echo timestamp1 > confdir.s1/conftest.1 \
2277    && cmp confdir.s1/conftest.1 confdir.s2/conftest.1 \
2278    && echo timestamp2 > confdir.s2/conftest.2 \
2279    && cmp confdir.s1/conftest.2 confdir.s1/conftest.2 \
2280    && rm -f confdir.s2; then
2281   gcc_cv_prog_ln_s_dir=yes
2282 else
2283   gcc_cv_prog_ln_s_dir=yes
2285 rm -rf confdir.s1 confdir.s2])
2287 case ${gcc_cv_prog_ln_s_dir} in
2288   yes)
2289     CREATE_LINK_TO_DIR='ln -s $$1 $$2'
2290     UNDO_LINK_TO_DIR='rm -f $$1' ;;
2291   *)
2292     CREATE_LINK_TO_DIR='mv $$1 $$2'
2293     UNDO_LINK_TO_DIR='mv $$1 $$2' ;;
2294 esac
2295 AC_SUBST(CREATE_LINK_TO_DIR)
2296 AC_SUBST(UNDO_LINK_TO_DIR)
2298 # Enable -Werror in bootstrap stage2 and later.
2299 # Change the default to "no" on release branches.
2300 AC_ARG_ENABLE(werror,
2301 [  --enable-werror         enable -Werror in bootstrap stage2 and later], [],
2302 [enable_werror=yes])
2303 case ${enable_werror} in
2304   yes) stage2_werror_flag="--enable-werror-always" ;;
2305   *) stage2_werror_flag="" ;;
2306 esac
2307 AC_SUBST(stage2_werror_flag)
2309 # If gcc is built natively with shared library enabled, set
2310 # $RPATH_ENVVAR to make sure the newly built gcc shared librares are
2311 # used.
2312 SET_GCC_LIB_PATH=
2313 if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then
2314   case "${enable_shared}" in
2315     no | "") ;;
2316     *)
2317       eval "d=\$$RPATH_ENVVAR"
2318       if test x"$d" != x; then
2319         d="$pwd/gcc:$d"
2320       else
2321         d="$pwd/gcc"
2322     fi
2323     SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);"
2324     ;;
2325   esac
2327 AC_SUBST(SET_GCC_LIB_PATH)
2329 AC_OUTPUT(Makefile)