OSDN Git Service

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