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