OSDN Git Service

/
[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
1711         language=
1712         lang_requires=
1713         . ${lang_frag}
1714         for other in ${lang_requires} ; do
1715           case ,${enable_languages}, in
1716             *,$other,*) ;;
1717             *,all,*) ;;
1718             *,$language,*)
1719               echo " \`$other' language required by \`$language'; enabling" 1>&2
1720               enable_languages="${enable_languages},${other}"
1721               ;;
1722           esac
1723         done
1724         ;;
1725     esac
1726   done
1727
1728   new_enable_languages=,c,
1729
1730   # If LTO is enabled, add the LTO front end.
1731   extra_host_libiberty_configure_flags=
1732   if test "$enable_lto" = "yes" ; then
1733     case ,${enable_languages}, in
1734       *,lto,*) ;;
1735       *) enable_languages="${enable_languages},lto" ;;
1736     esac
1737     if test "${build_lto_plugin}" = "yes" ; then
1738       configdirs="$configdirs lto-plugin"
1739       extra_host_libiberty_configure_flags=--enable-shared
1740     fi
1741   fi
1742   AC_SUBST(extra_host_libiberty_configure_flags)
1743
1744   missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1745   potential_languages=,c,
1746
1747   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1748     case ${lang_frag} in
1749       ..) ;;
1750       # The odd quoting in the next line works around
1751       # an apparent bug in bash 1.12 on linux.
1752       ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1753       *)
1754         # From the config-lang.in, get $language, $target_libs, 
1755         # $lang_dirs, $boot_language, and $build_by_default
1756         language=
1757         target_libs=
1758         lang_dirs=
1759         subdir_requires=
1760         boot_language=no
1761         build_by_default=yes
1762         . ${lang_frag}
1763         if test x${language} = x; then
1764           echo "${lang_frag} doesn't set \$language." 1>&2
1765           exit 1
1766         fi
1767
1768         if test "$language" = "c++" \
1769            && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
1770           boot_language=yes
1771         fi
1772
1773         case ,${enable_languages}, in
1774           *,${language},*)
1775             # Language was explicitly selected; include it.
1776             add_this_lang=yes
1777             ;;
1778           *,all,*)
1779             # 'all' was selected, select it if it is a default language
1780             add_this_lang=${build_by_default}
1781             ;;
1782           *)
1783             add_this_lang=no
1784             ;;
1785         esac
1786
1787         # Disable languages that need other directories if these aren't available.
1788         for i in $subdir_requires; do
1789           test -f "$srcdir/gcc/$i/config-lang.in" && continue
1790           case ,${enable_languages}, in
1791             *,${language},*)
1792               # Specifically requested language; tell them.
1793               AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1794               ;;
1795             *)
1796               # Silently disable.
1797               add_this_lang=unsupported
1798               ;;
1799           esac
1800         done
1801
1802         # Disable Ada if no preexisting GNAT is available.
1803         case ,${enable_languages},:${language}:${have_gnat} in
1804           *,${language},*:ada:no)
1805             # Specifically requested language; tell them.
1806             AC_MSG_ERROR([GNAT is required to build $language])
1807             ;;
1808           *:ada:no)
1809             # Silently disable.
1810             add_this_lang=unsupported
1811             ;;
1812         esac
1813
1814         # Disable a language that is unsupported by the target.
1815         case " $unsupported_languages " in
1816           *" $language "*)
1817             add_this_lang=unsupported
1818             ;;
1819         esac
1820
1821         case $add_this_lang in
1822           unsupported)
1823             # Remove language-dependent dirs.
1824             eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1825             ;;
1826           no)
1827             # Remove language-dependent dirs; still show language as supported.
1828             eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1829             potential_languages="${potential_languages}${language},"
1830             ;;
1831           yes)
1832             new_enable_languages="${new_enable_languages}${language},"
1833             potential_languages="${potential_languages}${language},"
1834             missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1835             case "${boot_language}:,$enable_stage1_languages," in
1836               yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
1837                 # Add to (comma-separated) list of stage 1 languages.
1838                 case ",$stage1_languages," in
1839                   *,$language,* | ,yes, | ,all,) ;;
1840                   *) stage1_languages="${stage1_languages}${language}," ;;
1841                 esac
1842                 # We need to bootstrap any supporting libraries.
1843                 bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
1844                 ;;
1845             esac
1846             ;;
1847         esac
1848         ;;
1849     esac
1850   done
1851
1852   AC_ARG_ENABLE(stage1-languages,
1853 [  --enable-stage1-languages@<:@=all@:>@   choose additional languages to build during
1854                           stage1.  Mostly useful for compiler development.],
1855   [case ,${enable_stage1_languages}, in
1856     ,no,|,,)
1857       # Set it to something that will have no effect in the loop below
1858       enable_stage1_languages=c ;;
1859     ,yes,)
1860       enable_stage1_languages=`echo $new_enable_languages | \
1861         sed -e "s/^,//" -e "s/,$//" ` ;;
1862     *,all,*)
1863       enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1864         sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
1865   esac
1866
1867   # Add "good" languages from enable_stage1_languages to stage1_languages,
1868   # while "bad" languages go in missing_languages.  Leave no duplicates.
1869   for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
1870     case $potential_languages in
1871       *,$i,*)
1872         case $stage1_languages in
1873           *,$i,*) ;;
1874           *) stage1_languages="$stage1_languages$i," ;;
1875         esac ;;
1876       *)
1877         case $missing_languages in
1878           *,$i,*) ;;
1879           *) missing_languages="$missing_languages$i," ;;
1880         esac ;;
1881      esac
1882   done])
1883
1884   # Remove leading/trailing commas that were added for simplicity
1885   potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
1886   missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
1887   stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
1888   new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
1889
1890   if test "x$missing_languages" != x; then
1891     AC_MSG_ERROR([
1892 The following requested languages could not be built: ${missing_languages}
1893 Supported languages are: ${potential_languages}])
1894   fi
1895   if test "x$new_enable_languages" != "x$enable_languages"; then
1896     echo The following languages will be built: ${new_enable_languages}
1897     enable_languages="$new_enable_languages"
1898   fi
1899
1900   AC_SUBST(stage1_languages)
1901   ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
1902 fi
1903
1904 # Handle --disable-<component> generically.
1905 for dir in $configdirs $build_configdirs $target_configdirs ; do
1906   dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
1907   varname=`echo $dirname | sed -e s/+/_/g`
1908   if eval test x\${enable_${varname}} "=" xno ; then
1909     noconfigdirs="$noconfigdirs $dir"
1910   fi
1911 done
1912
1913 # Check for Boehm's garbage collector
1914 AC_ARG_ENABLE(objc-gc,
1915 [  --enable-objc-gc        enable use of Boehm's garbage collector with the
1916                           GNU Objective-C runtime],
1917 [case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
1918   *,objc,*:*:yes:*target-boehm-gc*)
1919     AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
1920     ;;
1921 esac])
1922
1923 # Make sure we only build Boehm's garbage collector if required.
1924 case ,${enable_languages},:${enable_objc_gc} in
1925   *,objc,*:yes)
1926     # Keep target-boehm-gc if requested for Objective-C.
1927     ;;
1928   *)
1929     # Otherwise remove target-boehm-gc depending on target-libjava.
1930     if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
1931       noconfigdirs="$noconfigdirs target-boehm-gc"
1932     fi
1933     ;;
1934 esac
1935
1936 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
1937 # $build_configdirs and $target_configdirs.
1938 # If we have the source for $noconfigdirs entries, add them to $notsupp.
1939
1940 notsupp=""
1941 for dir in . $skipdirs $noconfigdirs ; do
1942   dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
1943   if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1944     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1945     if test -r $srcdir/$dirname/configure ; then
1946       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1947         true
1948       else
1949         notsupp="$notsupp $dir"
1950       fi
1951     fi
1952   fi
1953   if test $dir != .  && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1954     build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
1955     if test -r $srcdir/$dirname/configure ; then
1956       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1957         true
1958       else
1959         notsupp="$notsupp $dir"
1960       fi
1961     fi
1962   fi
1963   if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1964     target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1965     if test -r $srcdir/$dirname/configure ; then
1966       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1967         true
1968       else
1969         notsupp="$notsupp $dir"
1970       fi
1971     fi
1972   fi
1973 done
1974
1975 # Sometimes the tools are distributed with libiberty but with no other
1976 # libraries.  In that case, we don't want to build target-libiberty.
1977 # Don't let libgcc imply libiberty either.
1978 if test -n "${target_configdirs}" ; then
1979   libgcc=
1980   others=
1981   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1982     if test "$i" = "libgcc"; then
1983       libgcc=target-libgcc
1984     elif test "$i" != "libiberty" ; then
1985       if test -r $srcdir/$i/configure ; then
1986         others=yes;
1987         break;
1988       fi
1989     fi
1990   done
1991   if test -z "${others}" ; then
1992     target_configdirs=$libgcc
1993   fi
1994 fi
1995
1996 # Quietly strip out all directories which aren't configurable in this tree.
1997 # This relies on all configurable subdirectories being autoconfiscated, which
1998 # is now the case.
1999 build_configdirs_all="$build_configdirs"
2000 build_configdirs=
2001 for i in ${build_configdirs_all} ; do
2002   j=`echo $i | sed -e s/build-//g` 
2003   if test -f ${srcdir}/$j/configure ; then
2004     build_configdirs="${build_configdirs} $i"
2005   fi
2006 done
2007
2008 configdirs_all="$configdirs"
2009 configdirs=
2010 for i in ${configdirs_all} ; do
2011   if test -f ${srcdir}/$i/configure ; then
2012     configdirs="${configdirs} $i"
2013   fi
2014 done
2015
2016 target_configdirs_all="$target_configdirs"
2017 target_configdirs=
2018 for i in ${target_configdirs_all} ; do
2019   j=`echo $i | sed -e s/target-//g` 
2020   if test -f ${srcdir}/$j/configure ; then
2021     target_configdirs="${target_configdirs} $i"
2022   fi
2023 done
2024
2025 # Produce a warning message for the subdirs we can't configure.
2026 # This isn't especially interesting in the Cygnus tree, but in the individual
2027 # FSF releases, it's important to let people know when their machine isn't
2028 # supported by the one or two programs in a package.
2029
2030 if test -n "${notsupp}" && test -z "${norecursion}" ; then
2031   # If $appdirs is non-empty, at least one of those directories must still
2032   # be configured, or we error out.  (E.g., if the gas release supports a
2033   # specified target in some subdirs but not the gas subdir, we shouldn't
2034   # pretend that all is well.)
2035   if test -n "$appdirs" ; then
2036     for dir in $appdirs ; do
2037       if test -r $dir/Makefile.in ; then
2038         if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2039           appdirs=""
2040           break
2041         fi
2042         if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
2043           appdirs=""
2044           break
2045         fi
2046       fi
2047     done
2048     if test -n "$appdirs" ; then
2049       echo "*** This configuration is not supported by this package." 1>&2
2050       exit 1
2051     fi
2052   fi
2053   # Okay, some application will build, or we don't care to check.  Still
2054   # notify of subdirs not getting built.
2055   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
2056   echo "    ${notsupp}" 1>&2
2057   echo "    (Any other directories should still work fine.)" 1>&2
2058 fi
2059
2060 case "$host" in
2061   *msdosdjgpp*)
2062     enable_gdbtk=no ;;
2063 esac
2064
2065 # To find our prefix, in gcc_cv_tool_prefix.
2066 ACX_TOOL_DIRS
2067
2068 copy_dirs=
2069
2070 AC_ARG_WITH([build-sysroot], 
2071   [  --with-build-sysroot=SYSROOT
2072                           use sysroot as the system root during the build],
2073   [if test x"$withval" != x ; then
2074      SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2075    fi],
2076   [SYSROOT_CFLAGS_FOR_TARGET=])
2077 AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2078
2079 AC_ARG_WITH([debug-prefix-map],
2080   [  --with-debug-prefix-map='A=B C=D ...'
2081                              map A to B, C to D ... in debug information],
2082   [if test x"$withval" != x; then
2083      DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2084      for debug_map in $withval; do
2085        DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2086      done
2087    fi],
2088   [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2089 AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2090
2091 # During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2092 # might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
2093 # might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2094 # We want to ensure that TARGET libraries (which we know are built with
2095 # gcc) are built with "-O2 -g", so include those options when setting
2096 # CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2097 if test "x$CFLAGS_FOR_TARGET" = x; then
2098   CFLAGS_FOR_TARGET=$CFLAGS
2099   case " $CFLAGS " in
2100     *" -O2 "*) ;;
2101     *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
2102   esac
2103   case " $CFLAGS " in
2104     *" -g "* | *" -g3 "*) ;;
2105     *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
2106   esac
2107 fi
2108 AC_SUBST(CFLAGS_FOR_TARGET)
2109
2110 if test "x$CXXFLAGS_FOR_TARGET" = x; then
2111   CXXFLAGS_FOR_TARGET=$CXXFLAGS
2112   case " $CXXFLAGS " in
2113     *" -O2 "*) ;;
2114     *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
2115   esac
2116   case " $CXXFLAGS " in
2117     *" -g "* | *" -g3 "*) ;;
2118     *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
2119   esac
2120 fi
2121 AC_SUBST(CXXFLAGS_FOR_TARGET)
2122
2123 # Handle --with-headers=XXX.  If the value is not "yes", the contents of
2124 # the named directory are copied to $(tooldir)/sys-include.
2125 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2126   if test x${is_cross_compiler} = xno ; then
2127     echo 1>&2 '***' --with-headers is only supported when cross compiling
2128     exit 1
2129   fi
2130   if test x"${with_headers}" != xyes ; then
2131     x=${gcc_cv_tool_prefix}
2132     copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
2133   fi
2134 fi
2135
2136 # Handle --with-libs=XXX.  If the value is not "yes", the contents of
2137 # the name directories are copied to $(tooldir)/lib.  Multiple directories
2138 # are permitted.
2139 if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2140   if test x${is_cross_compiler} = xno ; then
2141     echo 1>&2 '***' --with-libs is only supported when cross compiling
2142     exit 1
2143   fi
2144   if test x"${with_libs}" != xyes ; then
2145     # Copy the libraries in reverse order, so that files in the first named
2146     # library override files in subsequent libraries.
2147     x=${gcc_cv_tool_prefix}
2148     for l in ${with_libs}; do
2149       copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
2150     done
2151   fi
2152 fi
2153
2154 # Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
2155 #
2156 # This is done by determining whether or not the appropriate directory
2157 # is available, and by checking whether or not specific configurations
2158 # have requested that this magic not happen.
2159
2160 # The command line options always override the explicit settings in 
2161 # configure.in, and the settings in configure.in override this magic.
2162 #
2163 # If the default for a toolchain is to use GNU as and ld, and you don't 
2164 # want to do that, then you should use the --without-gnu-as and
2165 # --without-gnu-ld options for the configure script.  Similarly, if
2166 # the default is to use the included zlib and you don't want to do that,
2167 # you should use the --with-system-zlib option for the configure script.
2168
2169 if test x${use_gnu_as} = x &&
2170    echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2171   with_gnu_as=yes
2172   extra_host_args="$extra_host_args --with-gnu-as"
2173 fi
2174
2175 if test x${use_gnu_ld} = x &&
2176    echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
2177   with_gnu_ld=yes
2178   extra_host_args="$extra_host_args --with-gnu-ld"
2179 fi
2180
2181 if test x${use_included_zlib} = x &&
2182    echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2183   :
2184 else
2185   with_system_zlib=yes
2186   extra_host_args="$extra_host_args --with-system-zlib"
2187 fi
2188
2189 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2190 # can detect this case.
2191
2192 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2193   with_newlib=yes
2194   extra_host_args="$extra_host_args --with-newlib"
2195 fi
2196
2197 # Handle ${copy_dirs}
2198 set fnord ${copy_dirs}
2199 shift
2200 while test $# != 0 ; do
2201   if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2202     :
2203   else
2204     echo Copying $1 to $2
2205
2206     # Use the install script to create the directory and all required
2207     # parent directories.
2208     if test -d $2 ; then
2209       :
2210     else
2211       echo >config.temp
2212       ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2213     fi
2214
2215     # Copy the directory, assuming we have tar.
2216     # FIXME: Should we use B in the second tar?  Not all systems support it.
2217     (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2218
2219     # It is the responsibility of the user to correctly adjust all
2220     # symlinks.  If somebody can figure out how to handle them correctly
2221     # here, feel free to add the code.
2222
2223     echo $1 > $2/COPIED
2224   fi
2225   shift; shift
2226 done
2227
2228 # Determine a target-dependent exec_prefix that the installed
2229 # gcc will search in.  Keep this list sorted by triplet, with
2230 # the *-*-osname triplets last.
2231 md_exec_prefix=
2232 case "${target}" in
2233   alpha*-*-*vms*)
2234     md_exec_prefix=/gnu/lib/gcc-lib
2235     ;;
2236   i[[34567]]86-pc-msdosdjgpp*)
2237     md_exec_prefix=/dev/env/DJDIR/bin
2238     ;;
2239   i[[34567]]86-*-sco3.2v5*)
2240     if test $with_gnu_as = yes; then
2241       md_exec_prefix=/usr/gnu/bin
2242     else
2243       md_exec_prefix=/usr/ccs/bin/elf
2244     fi
2245     ;;
2246
2247   mn10300-*-* | \
2248   powerpc-*-chorusos* | \
2249   powerpc*-*-eabi* | \
2250   powerpc*-*-sysv* | \
2251   powerpc*-*-kaos* | \
2252   s390x-ibm-tpf*)
2253     md_exec_prefix=/usr/ccs/bin
2254     ;;
2255   sparc64-*-elf*)
2256     ;;
2257   v850*-*-*)
2258     md_exec_prefix=/usr/ccs/bin
2259     ;;
2260   xtensa*-*-elf*)
2261     ;;
2262
2263   *-*-beos* | \
2264   *-*-elf* | \
2265   *-*-hpux* | \
2266   *-*-netware* | \
2267   *-*-nto-qnx* | \
2268   *-*-rtems* | \
2269   *-*-solaris2* | \
2270   *-*-sysv[[45]]* | \
2271   *-*-vxworks* | \
2272   *-wrs-windiss)
2273     md_exec_prefix=/usr/ccs/bin
2274     ;;
2275 esac
2276
2277 extra_arflags_for_target=
2278 extra_nmflags_for_target=
2279 extra_ranlibflags_for_target=
2280 target_makefile_frag=/dev/null
2281 case "${target}" in
2282   mep*-*-*)
2283     target_makefile_frag="config/mt-mep"
2284     ;;
2285   spu-*-*)
2286     target_makefile_frag="config/mt-spu"
2287     ;;
2288   mips*-sde-elf*)
2289     target_makefile_frag="config/mt-sde"
2290     ;;
2291   mipsisa*-*-elfoabi*)
2292     target_makefile_frag="config/mt-mips-elfoabi"
2293     ;;
2294   mips*-*-*linux* | mips*-*-gnu*)
2295     target_makefile_frag="config/mt-mips-gnu"
2296     ;;
2297   *-*-netware*)
2298     target_makefile_frag="config/mt-netware"
2299     ;;
2300   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
2301     target_makefile_frag="config/mt-gnu"
2302     ;;
2303   *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
2304     # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm 
2305     # commands to handle both 32-bit and 64-bit objects.  These flags are
2306     # harmless if we're using GNU nm or ar.
2307     extra_arflags_for_target=" -X32_64"
2308     extra_nmflags_for_target=" -B -X32_64"
2309     ;;
2310   *-*-darwin[[3-9]]*)
2311     # ranlib before Darwin10 requires the -c flag to look at common symbols.
2312     extra_ranlibflags_for_target=" -c"
2313     ;;
2314   mips*-*-pe | sh*-*-pe | *arm-wince-pe)
2315     target_makefile_frag="config/mt-wince"
2316     ;;
2317 esac
2318
2319 alphaieee_frag=/dev/null
2320 case $target in
2321   alpha*-*-*)
2322     # This just makes sure to use the -mieee option to build target libs.
2323     # This should probably be set individually by each library.
2324     alphaieee_frag="config/mt-alphaieee"
2325     ;;
2326 esac
2327
2328 # If --enable-target-optspace always use -Os instead of -O2 to build
2329 # the target libraries, similarly if it is not specified, use -Os
2330 # on selected platforms.
2331 ospace_frag=/dev/null
2332 case "${enable_target_optspace}:${target}" in
2333   yes:*)
2334     ospace_frag="config/mt-ospace"
2335     ;;
2336   :d30v-*)
2337     ospace_frag="config/mt-d30v"
2338     ;;
2339   :m32r-* | :d10v-* | :fr30-*)
2340     ospace_frag="config/mt-ospace"
2341     ;;
2342   no:* | :*)
2343     ;;
2344   *)
2345     echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2346     ;;
2347 esac
2348
2349 # Default to using --with-stabs for certain targets.
2350 if test x${with_stabs} = x ; then
2351   case "${target}" in
2352   mips*-*-irix[[56]]*)
2353     ;;
2354   mips*-*-* | alpha*-*-osf*)
2355     with_stabs=yes;
2356     extra_host_args="${extra_host_args} --with-stabs"
2357     ;;
2358   esac
2359 fi
2360
2361 # hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
2362 # them automatically.
2363 case "${host}" in
2364   hppa*64*-*-hpux11*)   
2365     extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
2366     ;;
2367 esac
2368
2369 # Some systems (e.g., one of the i386-aix systems the gas testers are
2370 # using) don't handle "\$" correctly, so don't use it here.
2371 tooldir='${exec_prefix}'/${target_noncanonical}
2372 build_tooldir=${tooldir}
2373
2374 # Create a .gdbinit file which runs the one in srcdir
2375 # and tells GDB to look there for source files.
2376
2377 if test -r ${srcdir}/.gdbinit ; then
2378   case ${srcdir} in
2379     .) ;;
2380     *) cat > ./.gdbinit <<EOF
2381 # ${NO_EDIT}
2382 dir ${srcdir}
2383 dir .
2384 source ${srcdir}/.gdbinit
2385 EOF
2386     ;;
2387   esac
2388 fi
2389
2390 # Make sure that the compiler is able to generate an executable.  If it
2391 # can't, we are probably in trouble.  We don't care whether we can run the
2392 # executable--we might be using a cross compiler--we only care whether it
2393 # can be created.  At this point the main configure script has set CC.
2394 we_are_ok=no
2395 echo "int main () { return 0; }" > conftest.c
2396 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
2397 if test $? = 0 ; then
2398   if test -s conftest || test -s conftest.exe ; then
2399     we_are_ok=yes
2400   fi
2401 fi 
2402 case $we_are_ok in
2403   no)
2404     echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2405     echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2406     rm -f conftest*
2407     exit 1
2408     ;;
2409 esac
2410 rm -f conftest*
2411
2412 # The Solaris /usr/ucb/cc compiler does not appear to work.
2413 case "${host}" in
2414   sparc-sun-solaris2*)
2415       CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
2416       if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
2417           could_use=
2418           test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
2419           if test -d /opt/cygnus/bin ; then
2420               if test "$could_use" = "" ; then
2421                   could_use="/opt/cygnus/bin"
2422               else
2423                   could_use="$could_use or /opt/cygnus/bin"
2424               fi
2425           fi
2426         if test "$could_use" = "" ; then
2427             echo "Warning: compilation may fail because you're using"
2428             echo "/usr/ucb/cc.  You should change your PATH or CC "
2429             echo "variable and rerun configure."
2430         else
2431             echo "Warning: compilation may fail because you're using"
2432             echo "/usr/ucb/cc, when you should use the C compiler from"
2433             echo "$could_use.  You should change your"
2434             echo "PATH or CC variable and rerun configure."
2435         fi
2436       fi
2437   ;;
2438 esac
2439
2440 # Decide which environment variable is used to find dynamic libraries.
2441 case "${host}" in
2442   *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
2443   *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
2444   *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
2445   *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2446 esac
2447
2448 # On systems where the dynamic library environment variable is PATH,
2449 # gcc/ will put dynamic libraries into a subdirectory to avoid adding
2450 # built executables to PATH.
2451 if test "$RPATH_ENVVAR" = PATH; then
2452   GCC_SHLIB_SUBDIR=/shlib
2453 else
2454   GCC_SHLIB_SUBDIR=
2455 fi
2456
2457 # Record target_configdirs and the configure arguments for target and
2458 # build configuration in Makefile.
2459 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
2460 build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
2461
2462 # If we are building libgomp, bootstrap it.
2463 if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2464   bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2465 fi
2466
2467 # Determine whether gdb needs tk/tcl or not.
2468 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2469 # and in that case we want gdb to be built without tk.  Ugh!
2470 # In fact I believe gdb is the *only* package directly dependent on tk,
2471 # so we should be able to put the 'maybe's in unconditionally and
2472 # leave out the maybe dependencies when enable_gdbtk is false.  I'm not
2473 # 100% sure that that's safe though.
2474
2475 gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
2476 case "$enable_gdbtk" in
2477   no)
2478     GDB_TK="" ;;
2479   yes)
2480     GDB_TK="${gdb_tk}" ;;
2481   *)
2482     # Only add the dependency on gdbtk when GDBtk is part of the gdb
2483     # distro.  Eventually someone will fix this and move Insight, nee
2484     # gdbtk to a separate directory.
2485     if test -d ${srcdir}/gdb/gdbtk ; then
2486       GDB_TK="${gdb_tk}"
2487     else
2488       GDB_TK=""
2489     fi
2490     ;;
2491 esac
2492 CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2493 INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
2494
2495 # Strip out unwanted targets.
2496
2497 # While at that, we remove Makefiles if we were started for recursive
2498 # configuration, so that the top-level Makefile reconfigures them,
2499 # like we used to do when configure itself was recursive.
2500
2501 # Loop over modules.  We used to use the "$extrasub" feature from Autoconf
2502 # but now we're fixing up the Makefile ourselves with the additional
2503 # commands passed to AC_CONFIG_FILES.  Use separate variables
2504 # extrasub-{build,host,target} not because there is any reason to split
2505 # the substitutions up that way, but only to remain below the limit of
2506 # 99 commands in a script, for HP-UX sed.
2507 # Do not nest @if/@endif pairs, because configure will not warn you at all.
2508
2509 AC_ARG_ENABLE([bootstrap],
2510 [  --enable-bootstrap      enable bootstrapping @<:@yes if native build@:>@],,
2511 enable_bootstrap=default)
2512
2513 # Issue errors and warnings for invalid/strange bootstrap combinations.
2514 case "$configdirs" in
2515   *gcc*) have_compiler=yes ;;
2516   *) have_compiler=no ;;
2517 esac
2518
2519 case "$have_compiler:$host:$target:$enable_bootstrap" in
2520   *:*:*:no) ;;
2521
2522   # Default behavior.  Enable bootstrap if we have a compiler
2523   # and we are in a native configuration.
2524   yes:$build:$build:default)
2525     enable_bootstrap=yes ;;
2526
2527   *:*:*:default)
2528     enable_bootstrap=no ;;
2529
2530   # We have a compiler and we are in a native configuration, bootstrap is ok
2531   yes:$build:$build:yes)
2532     ;;
2533
2534   # Other configurations, but we have a compiler.  Assume the user knows
2535   # what he's doing.
2536   yes:*:*:yes)
2537     AC_MSG_WARN([trying to bootstrap a cross compiler])
2538     ;;
2539
2540   # No compiler: if they passed --enable-bootstrap explicitly, fail
2541   no:*:*:yes)
2542     AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2543
2544   # Fail if wrong command line
2545   *)
2546     AC_MSG_ERROR([invalid option for --enable-bootstrap])
2547     ;;
2548 esac
2549
2550 case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
2551   *,c++,*:yes:yes) ;;
2552   *:yes:yes)
2553     AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
2554     ;;
2555 esac
2556
2557 case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2558   yes:yes:*\ gold\ *:*,c++,*) ;;
2559   yes:yes:*\ gold\ *:*)
2560     AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2561     ;;
2562 esac
2563
2564 # Adjust the toplevel makefile according to whether bootstrap was selected.
2565 case $enable_bootstrap in
2566   yes)
2567     bootstrap_suffix=bootstrap
2568     BUILD_CONFIG=bootstrap-debug
2569     ;;
2570   no)
2571     bootstrap_suffix=no-bootstrap
2572     BUILD_CONFIG=
2573     ;;
2574 esac
2575
2576 AC_MSG_CHECKING(for default BUILD_CONFIG)
2577
2578 AC_ARG_WITH([build-config],
2579   [--with-build-config='NAME NAME2...'
2580                           Use config/NAME.mk build configuration],
2581   [case $with_build_config in
2582    yes) with_build_config= ;;
2583    no) with_build_config= BUILD_CONFIG= ;;
2584    esac])
2585
2586 if test "x${with_build_config}" != x; then
2587   BUILD_CONFIG=$with_build_config
2588 else
2589   case $BUILD_CONFIG in
2590   bootstrap-debug)
2591     if echo "int f (void) { return 0; }" > conftest.c &&
2592        ${CC} -c conftest.c &&
2593        mv conftest.o conftest.o.g0 &&
2594        ${CC} -c -g conftest.c &&
2595        mv conftest.o conftest.o.g &&
2596        ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
2597       :
2598     else
2599       BUILD_CONFIG=
2600     fi
2601     rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2602     ;;
2603   esac
2604 fi
2605 AC_MSG_RESULT($BUILD_CONFIG)
2606 AC_SUBST(BUILD_CONFIG)
2607
2608 extrasub_build=
2609 for module in ${build_configdirs} ; do
2610   if test -z "${no_recursion}" \
2611      && test -f ${build_subdir}/${module}/Makefile; then
2612     echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2613     rm -f ${build_subdir}/${module}/Makefile
2614   fi
2615   extrasub_build="$extrasub_build
2616 /^@if build-$module\$/d
2617 /^@endif build-$module\$/d
2618 /^@if build-$module-$bootstrap_suffix\$/d
2619 /^@endif build-$module-$bootstrap_suffix\$/d"
2620 done
2621 extrasub_host=
2622 for module in ${configdirs} ; do
2623   if test -z "${no_recursion}"; then
2624     for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
2625       if test -f ${file}; then
2626         echo 1>&2 "*** removing ${file} to force reconfigure"
2627         rm -f ${file}
2628       fi
2629     done
2630   fi
2631   extrasub_host="$extrasub_host
2632 /^@if $module\$/d
2633 /^@endif $module\$/d
2634 /^@if $module-$bootstrap_suffix\$/d
2635 /^@endif $module-$bootstrap_suffix\$/d"
2636 done
2637 extrasub_target=
2638 for module in ${target_configdirs} ; do
2639   if test -z "${no_recursion}" \
2640      && test -f ${target_subdir}/${module}/Makefile; then
2641     echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2642     rm -f ${target_subdir}/${module}/Makefile
2643   fi
2644
2645   # We only bootstrap target libraries listed in bootstrap_target_libs.
2646   case $bootstrap_target_libs in
2647     *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2648     *) target_bootstrap_suffix=no-bootstrap ;;
2649   esac
2650
2651   extrasub_target="$extrasub_target
2652 /^@if target-$module\$/d
2653 /^@endif target-$module\$/d
2654 /^@if target-$module-$target_bootstrap_suffix\$/d
2655 /^@endif target-$module-$target_bootstrap_suffix\$/d"
2656 done
2657
2658 # Do the final fixup along with target modules.
2659 extrasub_target="$extrasub_target
2660 /^@if /,/^@endif /d"
2661
2662 # Create the serialization dependencies.  This uses a temporary file.
2663
2664 AC_ARG_ENABLE([serial-configure],
2665 [  --enable-serial-@<:@{host,target,build}-@:>@configure
2666                           force sequential configuration of
2667                           sub-packages for the host, target or build
2668                           machine, or all sub-packages])
2669
2670 case ${enable_serial_configure} in
2671   yes)
2672     enable_serial_build_configure=yes
2673     enable_serial_host_configure=yes
2674     enable_serial_target_configure=yes
2675     ;;
2676 esac
2677
2678 # These force 'configure's to be done one at a time, to avoid problems
2679 # with contention over a shared config.cache.
2680 rm -f serdep.tmp
2681 echo '# serdep.tmp' > serdep.tmp
2682 olditem=
2683 test "x${enable_serial_build_configure}" = xyes &&
2684 for item in ${build_configdirs} ; do
2685   case ${olditem} in
2686     "") ;;
2687     *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
2688   esac
2689   olditem=${item}
2690 done
2691 olditem=
2692 test "x${enable_serial_host_configure}" = xyes &&
2693 for item in ${configdirs} ; do
2694   case ${olditem} in
2695     "") ;;
2696     *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
2697   esac
2698   olditem=${item}
2699 done
2700 olditem=
2701 test "x${enable_serial_target_configure}" = xyes &&
2702 for item in ${target_configdirs} ; do
2703   case ${olditem} in
2704     "") ;;
2705     *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
2706   esac
2707   olditem=${item}
2708 done
2709 serialization_dependencies=serdep.tmp
2710 AC_SUBST_FILE(serialization_dependencies)
2711
2712 # Base args.  Strip norecursion, cache-file, srcdir, host, build,
2713 # target, nonopt, and variable assignments.  These are the ones we
2714 # might not want to pass down to subconfigures.  The exception being
2715 # --cache-file=/dev/null, which is used to turn off the use of cache
2716 # files altogether, and which should be passed on to subconfigures.
2717 # Also strip program-prefix, program-suffix, and program-transform-name,
2718 # so that we can pass down a consistent program-transform-name.
2719 baseargs=
2720 keep_next=no
2721 skip_next=no
2722 eval "set -- $ac_configure_args"
2723 for ac_arg
2724 do
2725   if test X"$skip_next" = X"yes"; then
2726     skip_next=no
2727     continue
2728   fi
2729   if test X"$keep_next" = X"yes"; then
2730     case $ac_arg in
2731       *\'*)
2732         ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2733     esac
2734     baseargs="$baseargs '$ac_arg'"
2735     keep_next=no
2736     continue
2737   fi
2738
2739   # Handle separated arguments.  Based on the logic generated by
2740   # autoconf 2.59.
2741   case $ac_arg in
2742     *=* | --config-cache | -C | -disable-* | --disable-* \
2743       | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2744       | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2745       | -with-* | --with-* | -without-* | --without-* | --x)
2746       separate_arg=no
2747       ;;
2748     -*)
2749       separate_arg=yes
2750       ;;
2751     *)
2752       separate_arg=no
2753       ;;
2754   esac
2755
2756   case "$ac_arg" in
2757     --cache-file=/dev/null | \
2758     -cache-file=/dev/null )
2759       # Handled here to avoid the test to skip args below.
2760       baseargs="$baseargs '$ac_arg'"
2761       # Assert: $separate_arg should always be no.
2762       keep_next=$separate_arg
2763       ;;
2764     --no*)
2765       continue
2766       ;;
2767     --c* | \
2768     --sr* | \
2769     --ho* | \
2770     --bu* | \
2771     --t* | \
2772     --program-* | \
2773     -cache_file* | \
2774     -srcdir* | \
2775     -host* | \
2776     -build* | \
2777     -target* | \
2778     -program-prefix* | \
2779     -program-suffix* | \
2780     -program-transform-name* )
2781       skip_next=$separate_arg
2782       continue
2783       ;;
2784     -*)
2785       # An option.  Add it.
2786       case $ac_arg in
2787         *\'*)
2788           ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2789       esac
2790       baseargs="$baseargs '$ac_arg'"
2791       keep_next=$separate_arg
2792       ;;
2793     *)
2794       # Either a variable assignment, or a nonopt (triplet).  Don't
2795       # pass it down; let the Makefile handle this.
2796       continue
2797       ;;
2798   esac
2799 done
2800 # Remove the initial space we just introduced and, as these will be
2801 # expanded by make, quote '$'.
2802 baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
2803
2804 # Add in --program-transform-name, after --program-prefix and
2805 # --program-suffix have been applied to it.  Autoconf has already
2806 # doubled dollar signs and backslashes in program_transform_name; we want
2807 # the backslashes un-doubled, and then the entire thing wrapped in single
2808 # quotes, because this will be expanded first by make and then by the shell. 
2809 # Also, because we want to override the logic in subdir configure scripts to
2810 # choose program_transform_name, replace any s,x,x, with s,y,y,.
2811 sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
2812 ${program_transform_name}
2813 EOF_SED
2814 gcc_transform_name=`cat conftestsed.out`
2815 rm -f conftestsed.out
2816 baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
2817 if test "$silent" = yes; then
2818   baseargs="$baseargs --silent"
2819 fi
2820 baseargs="$baseargs --disable-option-checking"
2821
2822 # Record and document user additions to sub configure arguments.
2823 AC_ARG_VAR([build_configargs],
2824            [additional configure arguments for build directories])
2825 AC_ARG_VAR([host_configargs],
2826            [additional configure arguments for host directories])
2827 AC_ARG_VAR([target_configargs],
2828            [additional configure arguments for target directories])
2829
2830 # For the build-side libraries, we just need to pretend we're native,
2831 # and not use the same cache file.  Multilibs are neither needed nor
2832 # desired.
2833 build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
2834
2835 # For host modules, accept cache file option, or specification as blank.
2836 case "${cache_file}" in
2837 "") # empty
2838   cache_file_option="" ;;
2839 /* | [[A-Za-z]]:[[\\/]]* ) # absolute path
2840   cache_file_option="--cache-file=${cache_file}" ;;
2841 *) # relative path
2842   cache_file_option="--cache-file=../${cache_file}" ;;
2843 esac
2844
2845 # Host dirs don't like to share a cache file either, horribly enough.
2846 # This seems to be due to autoconf 2.5x stupidity.
2847 host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
2848
2849 target_configargs="$target_configargs ${baseargs}"
2850
2851 # Passing a --with-cross-host argument lets the target libraries know
2852 # whether they are being built with a cross-compiler or being built
2853 # native.  However, it would be better to use other mechanisms to make the
2854 # sorts of decisions they want to make on this basis.  Please consider
2855 # this option to be deprecated.  FIXME.
2856 if test x${is_cross_compiler} = xyes ; then
2857   target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
2858 fi
2859
2860 # Default to --enable-multilib.
2861 if test x${enable_multilib} = x ; then
2862   target_configargs="--enable-multilib ${target_configargs}"
2863 fi
2864
2865 # Pass --with-newlib if appropriate.  Note that target_configdirs has
2866 # changed from the earlier setting of with_newlib.
2867 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
2868   target_configargs="--with-newlib ${target_configargs}"
2869 fi
2870
2871 # Different target subdirs use different values of certain variables
2872 # (notably CXX).  Worse, multilibs use *lots* of different values.
2873 # Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
2874 # it doesn't automatically accept command-line overrides of them.
2875 # This means it's not safe for target subdirs to share a cache file,
2876 # which is disgusting, but there you have it.  Hopefully this can be
2877 # fixed in future.  It's still worthwhile to use a cache file for each
2878 # directory.  I think.
2879
2880 # Pass the appropriate --build, --host, --target and --cache-file arguments.
2881 # We need to pass --target, as newer autoconf's requires consistency
2882 # for target_alias and gcc doesn't manage it consistently.
2883 target_configargs="--cache-file=./config.cache ${target_configargs}"
2884
2885 FLAGS_FOR_TARGET=
2886 case " $target_configdirs " in
2887  *" newlib "*)
2888   case " $target_configargs " in
2889   *" --with-newlib "*)
2890    case "$target" in
2891     *-cygwin*)
2892       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'
2893       ;;
2894    esac
2895
2896    # If we're not building GCC, don't discard standard headers.
2897    if test -d ${srcdir}/gcc; then
2898      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
2899
2900      if test "${build}" != "${host}"; then
2901        # On Canadian crosses, CC_FOR_TARGET will have already been set
2902        # by `configure', so we won't have an opportunity to add -Bgcc/
2903        # to it.  This is right: we don't want to search that directory
2904        # for binaries, but we want the header files in there, so add
2905        # them explicitly.
2906        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
2907
2908        # Someone might think of using the pre-installed headers on
2909        # Canadian crosses, in case the installed compiler is not fully
2910        # compatible with the compiler being built.  In this case, it
2911        # would be better to flag an error than risking having
2912        # incompatible object files being constructed.  We can't
2913        # guarantee that an error will be flagged, but let's hope the
2914        # compiler will do it, when presented with incompatible header
2915        # files.
2916      fi
2917    fi
2918
2919    case "${target}-${is_cross_compiler}" in
2920    i[[3456789]]86-*-linux*-no)
2921       # Here host == target, so we don't need to build gcc,
2922       # so we don't want to discard standard headers.
2923       FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
2924       ;;
2925    *)
2926       # If we're building newlib, use its generic headers last, but search
2927       # for any libc-related directories first (so make it the last -B
2928       # switch).
2929       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
2930
2931       # If we're building libgloss, find the startup file, simulator library
2932       # and linker script.
2933       case " $target_configdirs " in
2934         *" libgloss "*)
2935         # Look for startup file, simulator library and maybe linker script.
2936         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
2937         # Look for libnosys.a in case the target needs it.
2938         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
2939         # Most targets have the linker script in the source directory.
2940         FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
2941         ;;
2942       esac
2943       ;;
2944    esac
2945    ;;
2946   esac
2947   ;;
2948 esac
2949
2950 case "$target" in
2951   x86_64-*mingw* | *-w64-mingw*)
2952   # MinGW-w64 does not use newlib, nor does it use winsup. It may,
2953   # however, use a symlink named 'mingw' in ${prefix} .
2954     FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
2955     ;;
2956   *-mingw*)
2957   # MinGW can't be handled as Cygwin above since it does not use newlib.
2958     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'
2959     ;;
2960 esac
2961
2962 # Allow the user to override the flags for
2963 # our build compiler if desired.
2964 if test x"${build}" = x"${host}" ; then
2965   CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
2966   CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
2967   LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
2968 fi
2969
2970 # On Canadian crosses, we'll be searching the right directories for
2971 # the previously-installed cross compiler, so don't bother to add
2972 # flags for directories within the install tree of the compiler
2973 # being built; programs in there won't even run.
2974 if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
2975   # Search for pre-installed headers if nothing else fits.
2976   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
2977 fi
2978
2979 if test "x${use_gnu_ld}" = x &&
2980    echo " ${configdirs} " | grep " ld " > /dev/null ; then
2981   # Arrange for us to find uninstalled linker scripts.
2982   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
2983 fi
2984
2985 # Search for other target-specific linker scripts and such.
2986 case "${target}" in
2987   mep*)
2988     FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
2989     ;;
2990 esac
2991
2992 # Makefile fragments.
2993 for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
2994 do
2995   eval fragval=\$$frag
2996   if test $fragval != /dev/null; then
2997     eval $frag=${srcdir}/$fragval
2998   fi
2999 done
3000 AC_SUBST_FILE(host_makefile_frag)
3001 AC_SUBST_FILE(target_makefile_frag)
3002 AC_SUBST_FILE(alphaieee_frag)
3003 AC_SUBST_FILE(ospace_frag)
3004
3005 # Miscellanea: directories, flags, etc.
3006 AC_SUBST(RPATH_ENVVAR)
3007 AC_SUBST(GCC_SHLIB_SUBDIR)
3008 AC_SUBST(tooldir)
3009 AC_SUBST(build_tooldir)
3010 AC_SUBST(CONFIGURE_GDB_TK)
3011 AC_SUBST(GDB_TK)
3012 AC_SUBST(INSTALL_GDB_TK)
3013
3014 # Build module lists & subconfigure args.
3015 AC_SUBST(build_configargs)
3016 AC_SUBST(build_configdirs)
3017
3018 # Host module lists & subconfigure args.
3019 AC_SUBST(host_configargs)
3020 AC_SUBST(configdirs)
3021 AC_SUBST(target_configdirs)
3022
3023 # Target module lists & subconfigure args.
3024 AC_SUBST(target_configargs)
3025
3026
3027 # Build tools.
3028 AC_SUBST(AR_FOR_BUILD)
3029 AC_SUBST(AS_FOR_BUILD)
3030 AC_SUBST(CC_FOR_BUILD)
3031 AC_SUBST(CFLAGS_FOR_BUILD)
3032 AC_SUBST(CXXFLAGS_FOR_BUILD)
3033 AC_SUBST(CXX_FOR_BUILD)
3034 AC_SUBST(DLLTOOL_FOR_BUILD)
3035 AC_SUBST(GCJ_FOR_BUILD)
3036 AC_SUBST(GFORTRAN_FOR_BUILD)
3037 AC_SUBST(LDFLAGS_FOR_BUILD)
3038 AC_SUBST(LD_FOR_BUILD)
3039 AC_SUBST(NM_FOR_BUILD)
3040 AC_SUBST(RANLIB_FOR_BUILD)
3041 AC_SUBST(WINDMC_FOR_BUILD)
3042 AC_SUBST(WINDRES_FOR_BUILD)
3043 AC_SUBST(config_shell)
3044
3045 # Generate default definitions for YACC, M4, LEX and other programs that run
3046 # on the build machine.  These are used if the Makefile can't locate these
3047 # programs in objdir.
3048 MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
3049
3050 AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
3051 case " $build_configdirs " in
3052   *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
3053   *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
3054 esac
3055
3056 AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
3057 case " $build_configdirs " in
3058   *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
3059 esac
3060
3061 AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
3062 case " $build_configdirs " in
3063   *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
3064 esac
3065
3066 AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
3067 case " $build_configdirs " in
3068   *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3069   *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
3070 esac
3071
3072 AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
3073 case " $build_configdirs " in
3074   *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3075 esac
3076
3077 AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
3078 case " $build_configdirs " in
3079   *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
3080   *)
3081 changequote(,)
3082     # For an installed makeinfo, we require it to be from texinfo 4.7 or
3083     # higher, else we use the "missing" dummy.
3084     if ${MAKEINFO} --version \
3085        | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
3086       :
3087     else
3088       MAKEINFO="$MISSING makeinfo"
3089     fi
3090     ;;
3091 changequote([,])
3092 esac
3093
3094 # FIXME: expect and dejagnu may become build tools?
3095
3096 AC_CHECK_PROGS(EXPECT, expect, expect)
3097 case " $configdirs " in
3098   *" expect "*)
3099     test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
3100     ;;
3101 esac
3102
3103 AC_CHECK_PROGS(RUNTEST, runtest, runtest)
3104 case " $configdirs " in
3105   *" dejagnu "*)
3106     test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
3107     ;;
3108 esac
3109
3110
3111 # Host tools.
3112 NCN_STRICT_CHECK_TOOLS(AR, ar)
3113 NCN_STRICT_CHECK_TOOLS(AS, as)
3114 NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
3115 NCN_STRICT_CHECK_TOOLS(LD, ld)
3116 NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
3117 NCN_STRICT_CHECK_TOOLS(NM, nm)
3118 NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
3119 NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
3120 NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
3121 NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
3122 NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
3123 NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
3124 AC_SUBST(CC)
3125 AC_SUBST(CXX)
3126 AC_SUBST(CFLAGS)
3127 AC_SUBST(CXXFLAGS)
3128
3129 # Target tools.
3130 AC_ARG_WITH([build-time-tools], 
3131   [  --with-build-time-tools=PATH
3132                           use given path to find target tools during the build],
3133   [case x"$withval" in
3134      x/*) ;;
3135      *)
3136        with_build_time_tools=
3137        AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
3138        ;;
3139    esac],
3140   [with_build_time_tools=])
3141
3142 NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
3143 NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
3144 NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
3145 NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
3146 NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
3147
3148 ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
3149 ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
3150 ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
3151 ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
3152 ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
3153 ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
3154 ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
3155 ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
3156 ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
3157 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
3158 ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
3159
3160 RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
3161
3162 GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
3163 GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
3164 GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3165 GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
3166                 [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],
3167                 c++)
3168 GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
3169                 [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],
3170                 c++)
3171 GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
3172 GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3173 GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
3174                 [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
3175 GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
3176                 [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
3177 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
3178 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
3179 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
3180 GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
3181 GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
3182 GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
3183 GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
3184 GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
3185
3186 AC_SUBST(FLAGS_FOR_TARGET)
3187 AC_SUBST(RAW_CXX_FOR_TARGET)
3188
3189 # Certain tools may need extra flags.
3190 AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
3191 RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
3192 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
3193
3194 # When building target libraries, except in a Canadian cross, we use
3195 # the same toolchain as the compiler we just built.
3196 COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
3197 COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
3198 COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
3199 if test $host = $build; then
3200   case " $configdirs " in
3201     *" gcc "*)
3202       COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
3203       COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
3204       COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
3205       ;;
3206   esac
3207 fi
3208
3209 AC_SUBST(COMPILER_AS_FOR_TARGET)
3210 AC_SUBST(COMPILER_LD_FOR_TARGET)
3211 AC_SUBST(COMPILER_NM_FOR_TARGET)
3212
3213 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
3214 AC_ARG_ENABLE(maintainer-mode,
3215 [  --enable-maintainer-mode enable make rules and dependencies not useful
3216                           (and sometimes confusing) to the casual installer],
3217       USE_MAINTAINER_MODE=$enableval,
3218       USE_MAINTAINER_MODE=no)
3219 AC_MSG_RESULT($USE_MAINTAINER_MODE)
3220 AC_SUBST(MAINTAINER_MODE_TRUE)
3221 AC_SUBST(MAINTAINER_MODE_FALSE)
3222 if test "$USE_MAINTAINER_MODE" = yes; then
3223   MAINTAINER_MODE_TRUE=
3224   MAINTAINER_MODE_FALSE='#'
3225 else
3226   MAINTAINER_MODE_TRUE='#'
3227   MAINTAINER_MODE_FALSE=
3228 fi      
3229 MAINT=$MAINTAINER_MODE_TRUE
3230 AC_SUBST(MAINT)dnl
3231
3232 # ---------------------
3233 # GCC bootstrap support
3234 # ---------------------
3235
3236 # Stage specific cflags for build.
3237 stage1_cflags="-g"
3238 case $build in
3239   vax-*-*)
3240     case ${GCC} in
3241       yes) stage1_cflags="-g -Wa,-J" ;;
3242       *) stage1_cflags="-g -J" ;;
3243     esac ;;
3244 esac
3245
3246 # This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
3247 if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
3248   saved_CFLAGS="$CFLAGS"
3249
3250   # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
3251   CFLAGS="$CFLAGS -fkeep-inline-functions"
3252   AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
3253   AC_TRY_COMPILE([
3254 #if (__GNUC__ < 3) \
3255     || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
3256                           || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
3257 #error http://gcc.gnu.org/PR29382
3258 #endif
3259     ],,
3260     [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
3261     [AC_MSG_RESULT([no])])
3262
3263   CFLAGS="$saved_CFLAGS"
3264 fi
3265
3266 AC_SUBST(stage1_cflags)
3267
3268 # Enable --enable-checking in stage1 of the compiler.
3269 AC_ARG_ENABLE(stage1-checking,
3270 [  --enable-stage1-checking@<:@=all@:>@   choose additional checking for stage1
3271                           of the compiler],
3272 [stage1_checking=--enable-checking=${enable_stage1_checking}],
3273 [if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
3274   stage1_checking=--enable-checking=yes,types
3275 else
3276   stage1_checking=--enable-checking=$enable_checking,types
3277 fi])
3278 AC_SUBST(stage1_checking)
3279
3280 # Enable -Werror in bootstrap stage2 and later.
3281 AC_ARG_ENABLE(werror,
3282 [  --enable-werror         enable -Werror in bootstrap stage2 and later], [],
3283 [if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
3284   enable_werror=yes
3285 else
3286   enable_werror=no
3287 fi])
3288 case ${enable_werror} in
3289   yes) stage2_werror_flag="--enable-werror-always" ;;
3290   *) stage2_werror_flag="" ;;
3291 esac
3292 AC_SUBST(stage2_werror_flag)
3293
3294 # Specify what files to not compare during bootstrap.
3295
3296 compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
3297 case "$target" in
3298   hppa*64*-*-hpux*) ;;
3299   hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
3300 esac
3301 case " $configdirs " in
3302 *" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
3303 esac
3304 AC_SUBST(compare_exclusions)
3305
3306 AC_CONFIG_FILES([Makefile],
3307   [sed "$extrasub_build" Makefile |
3308    sed "$extrasub_host" |
3309    sed "$extrasub_target" > mf$$
3310    mv -f mf$$ Makefile],
3311   [extrasub_build="$extrasub_build"
3312    extrasub_host="$extrasub_host"
3313    extrasub_target="$extrasub_target"])
3314 AC_OUTPUT