OSDN Git Service

Warning fixes:
[pf3gnuchains/gcc-fork.git] / configure.in
1 #! /bin/bash
2 ##############################################################################
3
4 ## This file is a shell script fragment that supplies the information
5 ## necessary to tailor a template configure script into the configure
6 ## script appropriate for this directory.  For more information, check
7 ## any existing configure script.  
8
9 ## Be warned, there are two types of configure.in files.  There are those
10 ## used by Autoconf, which are macros which are expanded into a configure
11 ## script by autoconf.  The other sort, of which this is one, is executed
12 ## by Cygnus configure.  
13
14 ## For more information on these two systems, check out the documentation
15 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).  
16
17 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
18 #   1999, 2000 Free Software Foundation, Inc.
19 #
20 # This file is free software; you can redistribute it and/or modify it
21 # under the terms of the GNU General Public License as published by
22 # the Free Software Foundation; either version 2 of the License, or
23 # (at your option) any later version.
24 #
25 # This program is distributed in the hope that it will be useful, but
26 # WITHOUT ANY WARRANTY; without even the implied warranty of
27 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
28 # General Public License for more details.
29 #
30 # You should have received a copy of the GNU General Public License
31 # along with this program; if not, write to the Free Software
32 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33
34 ##############################################################################
35
36 ### To add a new directory to the tree, first choose whether it is a target
37 ### or a host dependent tool.  Then put it into the appropriate list
38 ### (library or tools, host or target), doing a dependency sort.  For
39 ### example, gdb requires that byacc (or bison) be built first, so it is in
40 ### the ${host_tools} list after byacc and bison.  
41
42
43 # these libraries are used by various programs built for the host environment
44 #
45 host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui zlib"
46
47 if [ "${enable_gdbgui}" = "yes" ] ; then
48         host_libs="${host_libs} libgui"
49 fi
50
51 # Set up configure/Makefile variables if libstdc++-v3 is to be built.
52 if [ "${enable_libstdcxx_v3}" = "yes" ] && test -d $srcdir/libstdc++-v3; then
53         libstdcxx_version="target-libstdc++-v3"
54         # Don't use libstdc++-v3's flags to configure/build itself.
55         libstdcxx_flags='`case $$dir in libstdc++-v3) ;; *) cat $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/libstdc++.INC 2>/dev/null || : ;; esac` -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src/.libs'
56 else
57         libstdcxx_version="target-libio target-libstdc++"
58         libstdcxx_flags='-isystem $$s/libstdc++ -isystem $$s/libstdc++/std -isystem $$s/libstdc++/stl -isystem $$s/libio -isystem $$r/$(TARGET_SUBDIR)/libio -L$$r/$(TARGET_SUBDIR)/libstdc++'
59 fi
60
61 # these tools are built for the host environment
62 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
63 # know that we are building the simulator.
64 host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
65
66 # these libraries are built for the target environment, and are built after
67 # the host libraries and the host tools (which may be a cross compiler)
68 #
69 target_libs="target-libiberty \
70                 target-libgloss \
71                 target-newlib \
72                 target-librx \
73                 ${libstdcxx_version} \
74                 target-libg++ \
75                 target-libf2c \
76                 target-libchill \
77                 target-libffi \
78                 target-libjava \
79                 target-zlib \
80                 target-boehm-gc \
81                 target-qthreads \
82                 target-libobjc"
83
84 # these tools are built using the target libs, and are intended to run only
85 # in the target environment
86 #
87 # note: any program that *uses* libraries that are in the "target_libs"
88 # list belongs in this list.  those programs are also very likely
89 # candidates for the "native_only" list which follows
90 #
91 target_tools="target-examples target-groff target-gperf"
92
93 ################################################################################
94
95 ## These two lists are of directories that are to be removed from the
96 ## ${configdirs} list for either cross-compilations or for native-
97 ## compilations.  For example, it doesn't make that much sense to
98 ## cross-compile Emacs, nor is it terribly useful to compile target-libiberty in
99 ## a native environment.  
100
101 # directories to be built in the native environment only
102 #
103 # This must be a single line because of the way it is searched by grep in
104 # the code below.
105 native_only="autoconf automake libtool cvssrc emacs emacs19 fileutils find gawk gettext grep gzip hello indent ispell m4 rcs recode sed shellutils tar textutils gash uudecode wdiff gprof target-groff guile perl apache inet time ash bash bzip2 prms snavigator gnuserv target-gperf"
106
107 # directories to be built in a cross environment only
108 #
109 cross_only="target-libgloss target-newlib target-cygmon target-opcodes target-libstub"
110
111 ## All tools belong in one of the four categories, and are assigned above
112 ## We assign ${configdirs} this way to remove all embedded newlines.  This
113 ## is important because configure will choke if they ever get through.
114 ## ${configdirs} is directories we build using the host tools.
115 ## ${target_configdirs} is directories we build using the target tools.
116 #
117 configdirs=`echo ${host_libs} ${host_tools}`
118 target_configdirs=`echo ${target_libs} ${target_tools}`
119
120 ################################################################################
121
122 srctrigger=move-if-change
123 srcname="gnu development package"
124
125 # This gets set non-empty for some net releases of packages.
126 appdirs=""
127
128 # per-host:
129
130 # Work in distributions that contain no compiler tools, like Autoconf.
131 if [ -d ${srcdir}/config ]; then
132 case "${host}" in
133   m68k-hp-hpux*)
134     host_makefile_frag="${host_makefile_frag} config/mh-hp300"
135     ;;
136   m68k-apollo-sysv*)
137     host_makefile_frag="${host_makefile_frag} config/mh-apollo68"
138     ;;
139   m68k-apollo-bsd*)
140     host_makefile_frag="${host_makefile_frag} config/mh-a68bsd"
141     ;;
142   m88k-dg-dgux*)
143     host_makefile_frag="${host_makefile_frag} config/mh-dgux"
144     ;;
145   m88k-harris-cxux*)
146     host_makefile_frag="${host_makefile_frag} config/mh-cxux"
147     ;;
148   m88k-motorola-sysv*)
149     host_makefile_frag="${host_makefile_frag} config/mh-delta88"
150     ;;
151   mips*-dec-ultrix*)
152     host_makefile_frag="${host_makefile_frag} config/mh-decstation"
153     ;;
154   mips*-nec-sysv4*)
155     host_makefile_frag="${host_makefile_frag} config/mh-necv4"
156     ;;
157   mips*-sgi-irix6*)
158     host_makefile_frag="${host_makefile_frag} config/mh-irix6"
159     ;;
160   mips*-sgi-irix5*)
161     host_makefile_frag="${host_makefile_frag} config/mh-irix5"
162     ;;
163   mips*-sgi-irix4*)
164     host_makefile_frag="${host_makefile_frag} config/mh-irix4"
165     ;;
166   mips*-sgi-irix3*)
167     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
168     ;;
169   mips*-*-sysv4*)
170     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
171     ;;
172   mips*-*-sysv*)
173     host_makefile_frag="${host_makefile_frag} config/mh-riscos"
174     ;;
175   i370-ibm-opened*)
176     host_makefile_frag="${host_makefile_frag} config/mh-openedition"
177     ;;
178   i[3456]86-*-sysv5*)
179     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
180     ;;
181   i[3456]86-*-dgux*)
182     host_makefile_frag="${host_makefile_frag} config/mh-dgux386"
183     ;;
184   i[3456]86-ncr-sysv4.3*)
185     host_makefile_frag="${host_makefile_frag} config/mh-ncrsvr43"
186     ;;
187   i[3456]86-ncr-sysv4*)
188     host_makefile_frag="${host_makefile_frag} config/mh-ncr3000"
189     ;;
190   i[3456]86-*-sco3.2v5*)
191     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
192     ;;
193   i[3456]86-*-sco*)
194     host_makefile_frag="${host_makefile_frag} config/mh-sco"
195     ;;
196   i[3456]86-*-udk*)
197     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
198     ;;
199   i[3456]86-*-isc*)
200     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
201     ;;
202   i[3456]86-*-solaris2*)
203     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
204     ;;
205   i[3456]86-*-aix*)
206     host_makefile_frag="${host_makefile_frag} config/mh-aix386"
207     ;;
208   i[3456]86-*-msdosdjgpp*)
209     host_makefile_frag="${host_makefile_frag} config/mh-djgpp"
210     ;;
211   *-cygwin*)
212     host_makefile_frag="${host_makefile_frag} config/mh-cygwin"
213     ;;
214   *-mingw32*)
215     host_makefile_frag="${host_makefile_frag} config/mh-mingw32"
216     ;;
217   *-interix*)
218     host_makefile_frag="${host_makefile_frag} config/mh-interix"
219     ;;
220   *-windows*)
221     host_makefile_frag="${host_makefile_frag} config/mh-windows"
222     ;;
223   vax-*-ultrix2*)
224     host_makefile_frag="${host_makefile_frag} config/mh-vaxult2"
225     ;;
226   *-*-solaris2*)
227     host_makefile_frag="${host_makefile_frag} config/mh-solaris"
228     ;;
229   m68k-sun-sunos*)
230     host_makefile_frag="${host_makefile_frag} config/mh-sun3"
231     ;;
232   *-hp-hpux[78]*)
233     host_makefile_frag="${host_makefile_frag} config/mh-hpux8"
234     ;;
235   *-hp-hpux*)
236     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
237     ;;
238   *-*-hiux*)
239     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
240     ;;
241   rs6000-*-lynxos*)
242     host_makefile_frag="${host_makefile_frag} config/mh-lynxrs6k"
243     ;;
244   *-*-lynxos*)
245     host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
246     ;;
247   *-*-sysv4*)
248     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
249     ;;
250   *-*-sysv*)
251     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
252     ;;
253 esac
254 fi
255
256 # If we aren't going to be using gcc, see if we can extract a definition
257 # of CC from the fragment.
258 if [ -z "${CC}" ] && [ "${build}" = "${host}" ]; then
259   IFS="${IFS=   }"; save_ifs="$IFS"; IFS="${IFS}:"
260   found=
261   for dir in $PATH; do
262     test -z "$dir" && dir=.
263     if test -f $dir/gcc; then
264       found=yes
265       break
266     fi
267   done
268   IFS="$save_ifs"
269   if [ -z "${found}" ] && [ -n "${host_makefile_frag}" ] && [ -f "${srcdir}/${host_makefile_frag}" ]; then
270     xx=`sed -n -e 's/^[         ]*CC[   ]*=[    ]*\(.*\)$/\1/p' < ${srcdir}/${host_makefile_frag}`
271     if [ -n "${xx}" ] ; then
272       CC=$xx
273     fi
274   fi
275 fi
276
277 # We default to --with-shared on platforms where -fpic is meaningless.
278 # Well, we don't yet, but we will.
279 if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then
280   case "${target}" in
281     alpha*-dec-osf*)    enable_shared=yes ;;
282     alpha*-*-linux*)    enable_shared=yes ;;
283     mips-sgi-irix5*)    enable_shared=yes ;;
284     *)                  enable_shared=no ;;
285   esac
286 fi
287
288 # hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
289 # them automatically.
290 case "${host}" in
291   hppa*64*-*-hpux11*)   
292     withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
293     ;;
294 esac
295
296 case "${enable_shared}" in
297   yes) shared=yes ;;
298   no) shared=no ;;
299   "") shared=no ;;
300   *) shared=yes ;;
301 esac
302
303 if [ x${shared} = xyes ]; then
304   case "${host}" in
305     alpha*-*-linux*)
306       host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic"
307       ;;
308     arm*-*-*)
309       host_makefile_frag="${host_makefile_frag} config/mh-armpic"
310       ;;
311     hppa*-*-*)
312       host_makefile_frag="${host_makefile_frag} config/mh-papic"
313       ;;
314     i[3456]86-*-cygwin*)
315       # We don't want -fPIC on Cygwin.
316       ;;
317     i[3456]86-*-*)
318       host_makefile_frag="${host_makefile_frag} config/mh-x86pic"
319       ;;
320     i370-*-*)
321       host_makefile_frag="${host_makefile_frag} config/mh-i370pic"
322       ;;
323     ia64-*-*)
324       host_makefile_frag="${host_makefile_frag} config/mh-ia64pic"
325       ;;
326     sparc64-*-*)
327       host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
328       ;;
329     powerpc*-*-aix*)
330       # We don't want -fPIC on AIX.
331       ;;
332     powerpc*-*-*)
333       host_makefile_frag="${host_makefile_frag} config/mh-ppcpic"
334       ;;
335     *-*-*)
336       if test -f ${srcdir}/config/mh-${host_cpu}pic; then
337         host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic"
338       fi
339       ;;
340   esac
341 fi
342
343 rm -f mh-frag
344 if [ -n "${host_makefile_frag}" ] ; then
345   for f in ${host_makefile_frag}
346   do
347     cat ${srcdir}/$f >> mh-frag
348   done
349   host_makefile_frag=mh-frag
350 fi
351
352 # per-target:
353
354 case "${target}" in
355   v810*)
356     target_makefile_frag="${target_makefile_frag} config/mt-v810"
357     ;;
358   i[3456]86-*-netware*)
359     target_makefile_frag="${target_makefile_frag} config/mt-netware"
360     ;;
361   powerpc-*-netware*)
362     target_makefile_frag="${target_makefile_frag} config/mt-netware"
363     ;;
364   *-*-linux*)
365     target_makefile_frag="${target_makefile_frag} config/mt-linux"
366     ;;
367   *-*-aix4.[3456789]* | *-*-aix[56789].*)
368     target_makefile_frag="${target_makefile_frag} config/mt-aix43"
369     ;;
370   mips*-*-pe | sh*-*-pe | *arm-wince-pe)
371     target_makefile_frag="${target_makefile_frag} config/mt-wince"
372     ;;
373 esac
374
375 # If --enable-target-optspace always use -Os instead of -O2 to build
376 # the target libraries, similarly if it is not specified, use -Os
377 # on selected platforms.
378 case "${enable_target_optspace}:${target}" in
379   yes:*)
380     target_makefile_frag="${target_makefile_frag} config/mt-ospace"
381     ;;
382   :d30v-*)
383     target_makefile_frag="${target_makefile_frag} config/mt-d30v"
384     ;;
385   :m32r-* | :d10v-* | :fr30-*)
386     target_makefile_frag="${target_makefile_frag} config/mt-ospace"
387     ;;
388   no:* | :*)
389     ;;
390   *)
391     echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
392     ;;
393 esac
394
395 skipdirs=
396 gasdir=gas
397 use_gnu_ld=
398 use_gnu_as=
399
400 # some tools are so dependent upon X11 that if we're not building with X, 
401 # it's not even worth trying to configure, much less build, that tool.
402
403 case ${with_x} in
404   yes | "")  # the default value for this tree is that X11 is available
405         ;;
406   no)
407         skipdirs="${skipdirs} tk libgui gash"
408         ;;
409   *)
410         echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
411         ;;
412 esac
413
414 # Some tools are only suitable for building in a "native" situation.
415 # Those are added when we have a host==target configuration.  For cross
416 # toolchains, we add some directories that should only be useful in a
417 # cross-compiler.
418
419 is_cross_compiler=
420
421 if [ x"${host}" = x"${target}" ] ; then
422         # when doing a native toolchain, don't build the targets
423         # that are in the 'cross only' list
424         skipdirs="${skipdirs} ${cross_only}"
425         is_cross_compiler=no
426 else
427         # similarly, don't build the targets in the 'native only' 
428         # list when building a cross compiler
429         skipdirs="${skipdirs} ${native_only}"
430         is_cross_compiler=yes
431 fi      
432
433 # We always want to use the same name for this directory, so that dejagnu
434 # can reliably find it.
435 target_subdir=${target_alias}
436
437 if [ ! -d ${target_subdir} ] ; then
438   if mkdir ${target_subdir} ; then true
439   else
440     echo "'*** could not make ${PWD=`pwd`}/${target_subdir}" 1>&2
441     exit 1
442   fi
443 fi
444
445 copy_dirs=
446
447 # Handle --with-headers=XXX.  The contents of the named directory are
448 # copied to $(tooldir)/sys-include.
449 if [ x"${with_headers}" != x ]; then
450   if [ x${is_cross_compiler} = xno ]; then
451     echo 1>&2 '***' --with-headers is only supported when cross compiling
452     exit 1
453   fi
454   case "${exec_prefixoption}" in
455   "") x=${prefix} ;;
456   *) x=${exec_prefix} ;;
457   esac
458   copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
459 fi
460
461 # Handle --with-libs=XXX.  Multiple directories are permitted.  The
462 # contents are copied to $(tooldir)/lib.
463 if [ x"${with_libs}" != x ]; then
464   if [ x${is_cross_compiler} = xno ]; then
465     echo 1>&2 '***' --with-libs is only supported when cross compiling
466     exit 1
467   fi
468   # Copy the libraries in reverse order, so that files in the first named
469   # library override files in subsequent libraries.
470   case "${exec_prefixoption}" in
471   "") x=${prefix} ;;
472   *) x=${exec_prefix} ;;
473   esac
474   for l in ${with_libs}; do
475     copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
476   done
477 fi
478
479 # If both --with-headers and --with-libs are specified, default to
480 # --without-newlib.
481 if [ x"${with_headers}" != x ] && [ x"${with_libs}" != x ]; then
482   if [ x"${with_newlib}" = x ]; then
483     with_newlib=no
484   fi
485 fi
486
487 # Recognize --with-newlib/--without-newlib.
488 if [ x${with_newlib} = xno ]; then
489   skipdirs="${skipdirs} target-newlib"
490 elif [ x${with_newlib} = xyes ]; then
491   skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
492 fi
493
494 # Default to using --with-stabs for certain targets.
495 if [ x${with_stabs} = x ]; then
496   case "${target}" in
497   mips*-*-irix6*)
498     ;;
499   mips*-*-* | alpha*-*-osf*)
500     with_stabs=yes;
501     withoptions="${withoptions} --with-stabs"
502     ;;
503   esac
504 fi
505
506 # Handle ${copy_dirs}
507 set fnord ${copy_dirs}
508 shift
509 while [ $# != 0 ]; do
510   if [ -f $2/COPIED ] && [ x"`cat $2/COPIED`" = x"$1" ]; then
511     :
512   else
513     echo Copying $1 to $2
514
515     # Use the install script to create the directory and all required
516     # parent directories.
517     if [ -d $2 ]; then
518       :
519     else
520       echo >config.temp
521       ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
522     fi
523
524     # Copy the directory, assuming we have tar.
525     # FIXME: Should we use B in the second tar?  Not all systems support it.
526     (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
527
528     # It is the responsibility of the user to correctly adjust all
529     # symlinks.  If somebody can figure out how to handle them correctly
530     # here, feel free to add the code.
531
532     echo $1 > $2/COPIED
533   fi
534   shift; shift
535 done
536
537 # Configure extra directories which are host specific
538
539 case "${host}" in
540         i[3456]86-*-go32*)
541           configdirs="$configdirs dosrel" ;;
542         i[3456]86-*-mingw32*)
543           configdirs="$configdirs dosrel" ;;
544         *-cygwin*)
545           configdirs="$configdirs libtermcap dosrel" ;;
546 esac
547
548 # Remove more programs from consideration, based on the host or 
549 # target this usually means that a port of the program doesn't
550 # exist yet.
551
552 noconfigdirs=""
553
554 case "${host}" in
555   hppa*64*-*-*)
556     noconfigdirs="$noconfigdirs byacc"
557     ;;
558   i[3456]86-*-vsta)
559     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
560     ;;
561   i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
562     noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext libffi"
563         ;;
564   i[3456]86-*-mingw32*)
565     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
566      noconfigdirs="expect dejagnu cvs autoconf automake send-pr rcs guile perl texinfo apache inet libtool"
567         ;;
568   i[3456]86-*-beos*)
569      noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
570      ;;
571   *-*-cygwin*)
572      noconfigdirs="autoconf automake send-pr rcs guile perl texinfo apache inet"
573     ;;
574   *-*-netbsd*)
575     noconfigdirs="rcs"
576     ;;
577   ppc*-*-pe)
578      noconfigdirs="patch diff make tk tcl expect dejagnu cvssrc autoconf automake texinfo bison send-pr gprof rcs guile perl apache inet itcl tix db snavigator gnuserv"
579     ;;
580   powerpc-*-beos*)
581     noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
582     ;;
583 esac
584
585
586 case "${target}" in
587   *-*-netware)
588     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-newlib target-libiberty target-libgloss target-libffi"
589     ;;
590   *-*-rtems*)
591     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
592     ;;
593   *-*-vxworks*)
594     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
595     ;;
596   alpha*-dec-osf*)
597     # ld works, but does not support shared libraries.  emacs doesn't
598     # work.  newlib is not 64 bit ready.  I'm not sure about fileutils.
599     # gas doesn't generate exception information.
600     noconfigdirs="$noconfigdirs gas ld emacs fileutils target-newlib target-libgloss"
601     ;;
602   alpha*-*-*vms*)
603     noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-libffi"
604     ;;
605   alpha*-*-linux*)
606     # newlib is not 64 bit ready
607     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
608     # linux has rx in libc
609     skipdirs="$skipdirs target-librx"
610     ;;
611   alpha*-*-*)
612     # newlib is not 64 bit ready
613     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
614     ;;
615   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
616     noconfigdirs="$noconfigdirs target-libjava target-libffi target-zlib"
617     noconfigdirs="$noconfigdirs target-boehm-gc target-qthreads target-examples"
618     noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
619     noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
620     noconfigdirs="$noconfigdirs expect dejagnu"
621     # the C++ libraries don't build on top of CE's C libraries
622     noconfigdirs="$noconfigdirs ${libstdcxx_version}"
623     skipdirs="$skipdirs target-newlib"
624     case "${host}" in
625       *-*-cygwin*) ;; # keep gdb and readline
626       *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
627          ;;
628     esac
629     ;;
630   arc-*-*)
631     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
632     ;;
633   arm-*-pe*)
634     noconfigdirs="$noconfigdirs target-libgloss"
635     ;;
636   arm-*-coff*)
637     noconfigdirs="$noconfigdirs target-libgloss"
638     if [ x${is_cross_compiler} != xno ] ; then
639            target_configdirs="${target_configdirs} target-bsp target-cygmon"
640     fi
641     ;;
642   arm-*-elf*)
643     noconfigdirs="$noconfigdirs target-libgloss"
644     if [ x${is_cross_compiler} != xno ] ; then
645            target_configdirs="${target_configdirs} target-bsp target-cygmon"
646     fi
647     ;;
648   arm-*-oabi*)
649     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
650     ;;
651   c4x-*-*)
652     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
653     ;;
654   c54x*-*-* | tic54x-*-*)
655     noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi gcc gdb newlib"
656     ;;
657   thumb-*-coff)
658     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
659     ;;
660   thumb-*-elf)
661     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
662     ;;
663   thumb-*-oabi)
664     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
665     ;;
666   strongarm-*-elf)
667     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
668     if [ x${is_cross_compiler} != xno ] ; then
669            target_configdirs="${target_configdirs} target-bsp target-cygmon"
670     fi
671     ;;
672   strongarm-*-coff)
673     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
674     if [ x${is_cross_compiler} != xno ] ; then
675            target_configdirs="${target_configdirs} target-bsp target-cygmon"
676     fi
677     ;;
678   thumb-*-pe)
679     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
680     ;;
681   arm-*-riscix*)
682     noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
683     ;;
684   d10v-*-*)
685     noconfigdirs="$noconfigdirs target-librx target-libg++ ${libstdcxx_version} target-libgloss target-libffi"
686     ;;
687   d30v-*-*)
688     ;;
689   fr30-*-elf*)
690     if [ x${is_cross_compiler} != xno ] ; then
691            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
692     fi
693     ;;
694   h8300*-*-* | \
695   h8500-*-*)
696     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
697     ;;
698   hppa*-*-*elf* | \
699   hppa*-*-linux* | \
700   hppa*-*-lites* | \
701   hppa*64*-*-*)
702     # Do configure ld/binutils/gas for this case.
703     ;;
704   hppa*-*-*)
705     # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
706     # cc is gcc, and on any system a user should be able to link cc to
707     # whatever they want.  FIXME, emacs emacs19).
708     case "${CC}" in
709         "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
710         *) ;;
711     esac
712     noconfigdirs="$noconfigdirs ld shellutils"
713     ;;
714   ia64*-*-elf*)
715     # No gdb support yet.
716     noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
717     ;;
718   i[3456]86-*-coff | i[3456]86-*-elf)
719     if [ x${is_cross_compiler} != xno ] ; then
720          target_configdirs="${target_configdirs} target-libstub target-cygmon"
721     fi
722     ;;
723   i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
724     # but don't build gdb
725     noconfigdirs="$noconfigdirs gdb target-libg++ ${libstdcxx_version} target-librx target-libffi"
726     ;;
727   *-*-linux*)
728     # linux has rx in libc
729     skipdirs="$skipdirs target-librx"
730     ;;
731   i[3456]86-*-mingw32*)
732     target_configdirs="$target_configdirs target-mingw"
733     noconfigdirs="$noconfigdirs expect target-libgloss target-libffi"
734
735     # Can't build gdb for mingw32 if not native.
736     case "${host}" in
737       i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
738       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
739          ;;
740     esac
741     ;;    
742   *-*-cygwin*)
743     target_configdirs="$target_configdirs target-libtermcap target-winsup"
744     noconfigdirs="$noconfigdirs target-gperf target-libgloss target-libffi"
745     # always build newlib.
746     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
747
748     # Can't build gdb for Cygwin if not native.
749     case "${host}" in
750       *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
751       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
752          ;;
753     esac
754     ;;    
755   i[3456]86-*-pe)
756     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
757     ;;
758   i[3456]86-*-sco3.2v5*)
759     # The linker does not yet know about weak symbols in COFF,
760     # and is not configured to handle mixed ELF and COFF.
761     noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
762     ;;
763   i[3456]86-*-sco*)
764     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
765     ;;
766   i[3456]86-*-solaris2*)
767     noconfigdirs="$noconfigdirs target-libgloss"
768     ;;
769   i[3456]86-*-sysv4*)
770     # The SYSV4 C compiler doesn't handle Emacs correctly
771     case "${CC}" in
772         "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
773         *) ;;
774     esac
775     # but that's okay since emacs doesn't work anyway
776     noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi"
777     ;;
778   i[3456]86-*-beos*)
779      noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
780      ;;
781   m68k-*-elf*)
782     if [ x${is_cross_compiler} != xno ] ; then
783            target_configdirs="${target_configdirs} target-bsp target-cygmon"
784     fi
785     ;;
786   m68k-*-coff*)
787     if [ x${is_cross_compiler} != xno ] ; then
788            target_configdirs="${target_configdirs} target-bsp target-cygmon"
789     fi
790     ;;
791   mn10200-*-*)
792     noconfigdirs="$noconfigdirs target-libffi"
793     if [ x${is_cross_compiler} != xno ] ; then
794            target_configdirs="${target_configdirs} target-libstub target-cygmon"
795     fi
796     ;;
797   mn10300-*-*)
798     noconfigdirs="$noconfigdirs target-libffi"
799     if [ x${is_cross_compiler} != xno ] ; then
800            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
801     fi
802     ;;
803   powerpc-*-aix*)
804     # copied from rs6000-*-* entry
805     # The configure and build of ld are currently disabled because
806     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
807     # The symptom is that GDBtk 4.18 fails at startup with a segfault
808     # if linked by GNU ld, but not if linked by the native ld.
809     noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss target-libffi ld"
810     use_gnu_ld=no
811     ;;
812   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
813     target_configdirs="$target_configdirs target-winsup"
814     noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv target-libffi"
815     # always build newlib.
816     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
817     ;;
818     # This is temporary until we can link against shared libraries
819   powerpcle-*-solaris*)
820     noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv target-libffi"
821     ;;
822   powerpc-*-beos*)
823     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
824     ;;
825   powerpc-*-eabi)
826     if [ x${is_cross_compiler} != xno ] ; then
827            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
828     fi
829     ;;
830   rs6000-*-lynxos*)
831     # The CVS server code doesn't work on the RS/6000
832     noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi"
833     ;;
834   rs6000-*-aix*)
835     # The configure and build of ld are currently disabled because
836     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
837     # The symptom is that GDBtk 4.18 fails at startup with a segfault
838     # if linked by GNU ld, but not if linked by the native ld.
839     noconfigdirs="$noconfigdirs gprof target-libffi ld"
840     use_gnu_ld=no
841     ;;
842   rs6000-*-*)
843     noconfigdirs="$noconfigdirs gprof target-libffi"
844     ;;
845   m68k-apollo-*)
846     noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-libffi"
847     ;;
848   mips*-*-irix5*)
849     # The GNU linker does not support shared libraries.
850     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
851     noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
852     ;;
853   mips*-*-irix6*)
854     # The GNU assembler does not support IRIX 6.
855     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
856     noconfigdirs="$noconfigdirs gas gprof emacs target-libgloss"
857     ;;
858   mips*-dec-bsd*)
859     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
860     ;;
861   mips*-*-bsd*)
862     noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
863     ;;
864   mipstx39-*-*)
865     noconfigdirs="$noconfigdirs gprof target-libffi"   # same as generic mips
866     target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
867    ;;
868   mips*-*-*)
869     noconfigdirs="$noconfigdirs gprof target-libffi"
870     ;;
871   romp-*-*)
872     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-libffi"
873     ;;
874   sh-*-*)
875     case "${host}" in
876       i[3456]86-*-vsta) ;; # don't add gprof back in
877       i[3456]86-*-go32*) ;; # don't add gprof back in
878       i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
879       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
880     esac
881     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
882     ;;
883   sparc-*-elf*)
884     if [ x${is_cross_compiler} != xno ] ; then
885            target_configdirs="${target_configdirs} target-libstub target-cygmon"
886     fi
887     ;;
888   sparc64-*-elf*)
889     if [ x${is_cross_compiler} != xno ] ; then
890            target_configdirs="${target_configdirs} target-libstub target-cygmon"
891     fi
892     noconfigdirs="target-libffi"
893     ;;
894   sparclite-*-*)
895     if [ x${is_cross_compiler} != xno ] ; then
896            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
897     fi
898     noconfigdirs="target-libffi"
899     ;;
900   sparc-*-sunos4*)
901     if [ x${is_cross_compiler} != xno ] ; then
902            noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
903     else
904            use_gnu_ld=no
905     fi
906     ;;
907   v810-*-*)
908     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libg++ ${libstdcxx_version} opcodes target-libgloss target-libffi"
909     ;;
910   v850-*-*)
911     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
912     ;;
913   v850e-*-*)
914     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
915     ;;
916   v850ea-*-*)
917     noconfigdirs="$noconfigdirs target-libgloss target-libffi"
918     ;;
919   vax-*-vms)
920     noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-libffi"
921     ;;
922   vax-*-*)
923     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
924     ;;
925   *-*-lynxos*)
926     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
927     ;; 
928   *-*-macos* | \
929   *-*-mpw*)
930     # Macs want a resource compiler.
931     configdirs="$configdirs grez"
932     noconfigdirs="target-libffi"
933     ;;    
934 esac
935
936 # If we aren't building newlib, then don't build libgloss, since libgloss
937 # depends upon some newlib header files.
938 case "${noconfigdirs}" in
939   *target-libgloss*) ;;
940   *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
941 esac
942
943 # Make sure we don't let GNU ld be added if we didn't want it.
944 if [ x$with_gnu_ld = xno ]; then
945   use_gnu_ld=no
946   noconfigdirs="$noconfigdirs ld"
947 fi
948
949 # Make sure we don't let GNU as be added if we didn't want it.
950 if [ x$with_gnu_as = xno ]; then
951   use_gnu_as=no
952   noconfigdirs="$noconfigdirs gas"
953 fi
954
955 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
956 # $target_configdirs.
957 # If we have the source for $noconfigdirs entries, add them to $notsupp.
958
959 notsupp=""
960 for dir in . $skipdirs $noconfigdirs ; do
961   dirname=`echo $dir | sed -e s/target-//g`
962   if [ $dir != . ]  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
963     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
964     if [ -r $srcdir/$dirname/configure ] \
965         || [ -r $srcdir/$dirname/configure.in ]; then
966       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
967         true
968       else
969         notsupp="$notsupp $dir"
970       fi
971     fi
972   fi
973   if [ $dir != . ]  && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
974     target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
975     if [ -r $srcdir/$dirname/configure ] \
976         || [ -r $srcdir/$dirname/configure.in ]; then
977       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
978         true
979       else
980         notsupp="$notsupp $dir"
981       fi
982     fi
983   fi
984 done
985
986 # Sometimes the tools are distributed with libiberty but with no other
987 # libraries.  In that case, we don't want to build target-libiberty.
988 if [ -n "${target_configdirs}" ]; then
989   others=
990   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
991     if [ "$i" != "libiberty" ]; then
992       if [ -r $srcdir/$i/configure ] || [ -r $srcdir/$i/configure.in ]; then
993         others=yes;
994         break;
995       fi
996     fi
997   done
998   if [ -z "${others}" ]; then
999     target_configdirs=
1000   fi
1001 fi
1002
1003 # Deconfigure all subdirectories, in case we are changing the
1004 # configuration from one where a subdirectory is supported to one where it
1005 # is not.
1006 if [ -z "${norecursion}" ] && [ -n "${configdirs}" ]; then
1007   for i in `echo ${configdirs} | sed -e s/target-//g` ; do
1008     rm -f $i/Makefile
1009   done
1010 fi
1011 if [ -z "${norecursion}" ] && [ -n "${target_configdirs}" ]; then
1012   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1013     rm -f ${target_subdir}/$i/Makefile
1014   done
1015 fi
1016
1017 # Produce a warning message for the subdirs we can't configure.
1018 # This isn't especially interesting in the Cygnus tree, but in the individual
1019 # FSF releases, it's important to let people know when their machine isn't
1020 # supported by the one or two programs in a package.
1021
1022 if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
1023   # If $appdirs is non-empty, at least one of those directories must still
1024   # be configured, or we error out.  (E.g., if the gas release supports a
1025   # specified target in some subdirs but not the gas subdir, we shouldn't
1026   # pretend that all is well.)
1027   if [ -n "$appdirs" ]; then
1028     for dir in $appdirs ; do
1029       if [ -r $dir/Makefile.in ]; then
1030         if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1031           appdirs=""
1032           break
1033         fi
1034         if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1035           appdirs=""
1036           break
1037         fi
1038       fi
1039     done
1040     if [ -n "$appdirs" ]; then
1041       echo "*** This configuration is not supported by this package." 1>&2
1042       exit 1
1043     fi
1044   fi
1045   # Okay, some application will build, or we don't care to check.  Still
1046   # notify of subdirs not getting built.
1047   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1048   echo "    ${notsupp}" 1>&2
1049   echo "    (Any other directories should still work fine.)" 1>&2
1050 fi
1051
1052 # Set with_gnu_as and with_gnu_ld as appropriate.
1053 #
1054 # This is done by determining whether or not the appropriate directory
1055 # is available, and by checking whether or not specific configurations
1056 # have requested that this magic not happen.
1057
1058 # The command line options always override the explicit settings in 
1059 # configure.in, and the settings in configure.in override this magic.
1060 #
1061 # If the default for a toolchain is to use GNU as and ld, and you don't 
1062 # want to do that, then you should use the --without-gnu-as and
1063 # --without-gnu-ld options for the configure script.
1064
1065 if [ x${use_gnu_as} = x ] ; then
1066   if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
1067     with_gnu_as=yes
1068     withoptions="$withoptions --with-gnu-as"
1069   fi
1070 fi
1071
1072 if [ x${use_gnu_ld} = x ] ; then
1073   if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
1074     with_gnu_ld=yes
1075     withoptions="$withoptions --with-gnu-ld"
1076   fi
1077 fi
1078
1079 # If using newlib, add --with-newlib to the withoptions so that gcc/configure
1080 # can detect this case.
1081
1082 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1083   with_newlib=yes
1084   withoptions="$withoptions --with-newlib"
1085 fi
1086
1087 if [ x${shared} = xyes ]; then
1088   case "${target}" in
1089     hppa*)
1090       target_makefile_frag="${target_makefile_frag} config/mt-papic"
1091       ;;
1092     i[3456]86-*)
1093       target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
1094       ;;
1095     ia64-*)
1096       target_makefile_frag="${target_makefile_frag} config/mt-ia64pic"
1097       ;;
1098     powerpc*-*-aix*)
1099       # We don't want -fPIC on AIX.
1100       ;;
1101     powerpc*-*)
1102       target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
1103       ;;
1104     alpha*-*-linux*)
1105       target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
1106       ;;
1107     *)
1108       if test -f ${srcdir}/config/mt-${target_cpu}pic; then
1109         target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
1110       fi
1111       ;;
1112   esac
1113 fi
1114
1115 rm -f mt-frag
1116 if [ -n "${target_makefile_frag}" ] ; then
1117   for f in ${target_makefile_frag}
1118   do
1119     cat ${srcdir}/$f >> mt-frag
1120   done
1121   target_makefile_frag=mt-frag
1122 fi
1123
1124 # post-target:
1125
1126 # Make sure that the compiler is able to generate an executable.  If it
1127 # can't, we are probably in trouble.  We don't care whether we can run the
1128 # executable--we might be using a cross compiler--we only care whether it
1129 # can be created.  At this point the main configure script has set CC.
1130 echo "int main () { return 0; }" > conftest.c
1131 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1132 if [ $? = 0 ] && [ -s conftest -o -s conftest.exe ]; then
1133   :
1134 else
1135   echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1136   echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1137   rm -f conftest*
1138   exit 1
1139 fi
1140 rm -f conftest*
1141
1142 # The Solaris /usr/ucb/cc compiler does not appear to work.
1143 case "${host}" in
1144   sparc-sun-solaris2*)
1145       CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1146       if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then
1147           could_use=
1148           [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
1149           if [ -d /opt/cygnus/bin ] ; then
1150               if [ "$could_use" = "" ] ; then
1151                   could_use="/opt/cygnus/bin"
1152               else
1153                   could_use="$could_use or /opt/cygnus/bin"
1154               fi
1155           fi
1156         if [ "$could_use" = "" ] ; then
1157             echo "Warning: compilation may fail because you're using"
1158             echo "/usr/ucb/cc.  You should change your PATH or CC "
1159             echo "variable and rerun configure."
1160         else
1161             echo "Warning: compilation may fail because you're using"
1162             echo "/usr/ucb/cc, when you should use the C compiler from"
1163             echo "$could_use.  You should change your"
1164             echo "PATH or CC variable and rerun configure."
1165         fi
1166       fi
1167   ;;
1168 esac
1169
1170 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1171 # binutils tools will find libbfd.so.
1172 if [ "${shared}" = "yes" ]; then
1173   sed -e 's/^SET_LIB_PATH[      ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
1174       Makefile > Makefile.tem
1175   rm -f Makefile
1176   mv -f Makefile.tem Makefile
1177
1178   case "${host}" in
1179   *-*-hpux*)
1180     sed -e 's/^RPATH_ENVVAR[    ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
1181         Makefile > Makefile.tem
1182     rm -f Makefile
1183     mv -f Makefile.tem Makefile
1184     ;;
1185   esac
1186 fi
1187
1188 # Record target_configdirs and the configure arguments in Makefile.
1189 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1190 targargs=`echo "${arguments}" | \
1191         sed -e 's/--no[^        ]*//' \
1192             -e 's/--cache[a-z-]*=[^     ]*//' \
1193             -e 's/--ho[a-z-]*=[^        ]*//' \
1194             -e 's/--bu[a-z-]*=[^        ]*//' \
1195             -e 's/--ta[a-z-]*=[^        ]*//'`
1196
1197 # Passing a --with-cross-host argument lets the target libraries know
1198 # whether they are being built with a cross-compiler or being built
1199 # native.  However, it would be better to use other mechanisms to make the
1200 # sorts of decisions they want to make on this basis.  Please consider
1201 # this option to be deprecated.  FIXME.
1202 if [ x${is_cross_compiler} = xyes ]; then
1203   targargs="--with-cross-host=${host_alias} ${targargs}"
1204 fi
1205
1206 # Default to --enable-multilib.
1207 if [ x${enable_multilib} = x ]; then
1208   targargs="--enable-multilib ${targargs}"
1209 fi
1210
1211 # Pass --with-newlib if appropriate.  Note that target_configdirs has
1212 # changed from the earlier setting of with_newlib.
1213 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1214   targargs="--with-newlib ${targargs}"
1215 fi
1216
1217 # provide a proper gxx_include_dir.
1218 # Note, if you change the default, make sure to fix both here and in
1219 # the gcc, libio, libstdc++ and libg++ subdirectories.
1220 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
1221 gxx_include_dir=
1222 if test -n "${with_gxx_include_dir}"; then
1223   case "${with_gxx_include_dir}" in
1224     yes )
1225       echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
1226       exit 1
1227       ;;
1228     no )
1229       ;;
1230     * )
1231       gxx_include_dir=${with_gxx_include_dir}
1232       ;;
1233   esac
1234 fi
1235 if test x${gxx_include_dir} = x; then
1236   if test x${enable_version_specific_runtime_libs} = xyes; then
1237     gxx_include_dir='${libsubdir}/include/g++'
1238   else
1239     . ${topsrcdir}/config.if
1240     gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
1241   fi
1242 else
1243   gxx_include_dir=${gxx_include_dir}
1244 fi
1245
1246 FLAGS_FOR_TARGET=
1247 case " $skipdirs " in
1248 *" target-newlib "*) ;;
1249 *)
1250  case " $target_configdirs " in
1251  *" newlib "*)
1252   case " $targargs " in
1253   *" --with-newlib "*)
1254    case "$target" in
1255    *-cygwin*)
1256      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 -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;;
1257    esac
1258
1259    # If we're not building GCC, don't discard standard headers.
1260    if test -d ${topsrcdir}/gcc; then
1261      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
1262
1263      if test "${build}" != "${host}"; then
1264        # On Canadian crosses, CC_FOR_TARGET will have already been set
1265        # by `configure', so we won't have an opportunity to add -Bgcc/
1266        # to it.  This is right: we don't want to search that directory
1267        # for binaries, but we want the header files in there, so add
1268        # them explicitly.
1269        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1270
1271        # Someone might think of using the pre-installed headers on
1272        # Canadian crosses, in case the installed compiler is not fully
1273        # compatible with the compiler being built.  In this case, it
1274        # would be better to flag an error than risking having
1275        # incompatible object files being constructed.  We can't
1276        # guarantee that an error will be flagged, but let's hope the
1277        # compiler will do it, when presented with incompatible header
1278        # files.
1279      fi
1280    fi
1281
1282    # If we're building newlib, use its generic headers last, but search
1283    # for any libc-related directories first (so make it the last -B
1284    # switch).
1285    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
1286    ;;
1287   esac
1288   ;;
1289  esac
1290  ;;
1291 esac
1292
1293 # On Canadian crosses, we'll be searching the right directories for
1294 # the previously-installed cross compiler, so don't bother to add
1295 # flags for directories within the install tree of the compiler
1296 # being built; programs in there won't even run.
1297 if test "${build}" = "${host}" && test -d ${topsrcdir}/gcc; then
1298   # Search for pre-installed headers if nothing else fits.
1299   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
1300 fi
1301
1302 if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno &&
1303    echo " ${configdirs} " | grep " ld " > /dev/null &&
1304    test -d ${srcdir}/ld; then
1305   # Arrange for us to find uninstalled linker scripts.
1306   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
1307 fi
1308
1309 if test "x${CC_FOR_TARGET+set}" = xset; then
1310   :
1311 elif test -d ${topsrcdir}/gcc; then
1312   CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
1313 elif test "$host" = "$target"; then
1314   CC_FOR_TARGET='$(CC)'
1315 else
1316   CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
1317 fi
1318 # On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,
1319 # if Makefile exists.  Prevent $(FLAGS_FOR_TARGET) from being duplicated.
1320 case $CC_FOR_TARGET in
1321 *' $(FLAGS_FOR_TARGET)') ;;
1322 *) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1323 esac
1324
1325 if test "x${CHILL_FOR_TARGET+set}" = xset; then
1326   :
1327 elif test -d ${topsrcdir}/gcc; then
1328   CHILL_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/'
1329 elif test "$host" = "$target"; then
1330   CHILL_FOR_TARGET='$(CC)'
1331 else
1332   CHILL_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
1333 fi
1334 case $CHILL_FOR_TARGET in
1335 *' $(FLAGS_FOR_TARGET)') ;;
1336 *) CHILL_FOR_TARGET=$CHILL_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1337 esac
1338
1339 if test "x${CXX_FOR_TARGET+set}" = xset; then
1340   :
1341 elif test -d ${topsrcdir}/gcc; then
1342   CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
1343 elif test "$host" = "$target"; then
1344   CXX_FOR_TARGET='$(CXX)'
1345 else
1346   CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
1347 fi
1348 case $CXX_FOR_TARGET in
1349 *' $(FLAGS_FOR_TARGET)') ;;
1350 *) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1351 esac
1352 qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,&,\\\&,g'`
1353
1354 targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"
1355 sed -e "s:^TARGET_CONFIGDIRS[   ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
1356     -e "s%^CONFIG_ARGUMENTS[    ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
1357     -e "s%^FLAGS_FOR_TARGET[    ]*=.*$%FLAGS_FOR_TARGET = ${FLAGS_FOR_TARGET}%" \
1358     -e "s%^CC_FOR_TARGET[       ]*=.*$%CC_FOR_TARGET = ${CC_FOR_TARGET}%" \
1359     -e "s%^CHILL_FOR_TARGET[    ]*=.*$%CHILL_FOR_TARGET = ${CHILL_FOR_TARGET}%" \
1360     -e "s%^CXX_FOR_TARGET[      ]*=.*$%CXX_FOR_TARGET = ${qCXX_FOR_TARGET}%" \
1361     -e "s%^TARGET_SUBDIR[       ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \
1362     -e "s%^gxx_include_dir[     ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \
1363        Makefile > Makefile.tem
1364 rm -f Makefile
1365 mv -f Makefile.tem Makefile
1366
1367 #
1368 # Local Variables:
1369 # fill-column: 131
1370 # End:
1371 #