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