revert changes. oops - should have been on the branch.
[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-*-coff | i[3456]86-*-elf)
689     if [ x${is_cross_compiler} != xno ] ; then
690          target_configdirs="${target_configdirs} target-libstub target-cygmon"
691     fi
692     ;;
693   i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
694     # but don't build gdb
695     noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
696     ;;
697   *-*-linux*)
698     # linux has rx in libc
699     skipdirs="$skipdirs target-librx"
700     ;;
701   i[3456]86-*-mingw32*)
702     target_configdirs="$target_configdirs target-mingw"
703     noconfigdirs="$noconfigdirs expect target-libgloss"
704
705     # Can't build gdb for mingw32 if not native.
706     case "${host}" in
707       i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
708       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
709 # start-sanitize-cygnus
710          noconfigdirs="$noconfigdirs flexlm"
711 # end-sanitize-cygnus
712          ;;
713     esac
714     ;;    
715   *-*-cygwin*)
716     target_configdirs="$target_configdirs target-winsup"
717     noconfigdirs="$noconfigdirs target-gperf target-libgloss"
718     # always build newlib.
719     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
720
721     # Can't build gdb for Cygwin if not native.
722     case "${host}" in
723       *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
724       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
725 # start-sanitize-ide
726          noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
727 # end-sanitize-ide
728 # start-sanitize-cygnus
729          noconfigdirs="$noconfigdirs flexlm"
730 # end-sanitize-cygnus
731          ;;
732     esac
733     ;;    
734   i[3456]86-*-pe)
735     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
736     ;;
737   i[3456]86-*-sco3.2v5*)
738     # The linker does not yet know about weak symbols in COFF,
739     # and is not configured to handle mixed ELF and COFF.
740     noconfigdirs="$noconfigdirs ld target-libgloss"
741     ;;
742   i[3456]86-*-sco*)
743     noconfigdirs="$noconfigdirs gprof target-libgloss"
744     ;;
745   i[3456]86-*-solaris2*)
746     # The linker does static linking correctly, but the Solaris C library
747     # has bugs such that some important functions won't work when statically
748     # linked.  (See man pages for getpwuid, for example.)
749     noconfigdirs="$noconfigdirs ld target-libgloss"
750     ;;
751   i[3456]86-*-sysv4*)
752     # The SYSV4 C compiler doesn't handle Emacs correctly
753     case "${CC}" in
754         "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
755         *) ;;
756     esac
757     # but that's okay since emacs doesn't work anyway
758     noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
759     ;;
760   m68k-*-*)
761     if [ x${is_cross_compiler} != xno ] ; then
762            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
763     fi
764     ;;
765   mn10200-*-*)
766     noconfigdirs="$noconfigdirs"
767     if [ x${is_cross_compiler} != xno ] ; then
768            target_configdirs="${target_configdirs} target-libstub target-cygmon"
769     fi
770     ;;
771   mn10300-*-*)
772     noconfigdirs="$noconfigdirs"
773     if [ x${is_cross_compiler} != xno ] ; then
774            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
775     fi
776     ;;
777   powerpc-*-aix*)
778     # copied from rs6000-*-* entry
779     noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss"
780     # This is needed until gcc and ld are fixed to work together.
781     use_gnu_ld=no
782     ;;
783   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
784     target_configdirs="$target_configdirs target-winsup"
785     noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv"
786 # start-sanitize-ide
787     noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
788 # end-sanitize-ide
789 # start-sanitize-cygnus
790     noconfigdirs="$noconfigdirs flexlm"
791 # end-sanitize-cygnus 
792     # always build newlib.
793     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
794     ;;
795     # This is temporary until we can link against shared libraries
796   powerpcle-*-solaris*)
797     noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv"
798 # start-sanitize-ide
799     noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
800 # end-sanitize-ide
801 # start-sanitize-cygnus
802     noconfigdirs="$noconfigdirs flexlm"
803 # end-sanitize-cygnus
804     ;;
805   powerpc-*-eabi)
806     if [ x${is_cross_compiler} != xno ] ; then
807            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
808     fi
809     ;;
810   rs6000-*-lynxos*)
811     # The CVS server code doesn't work on the RS/6000
812     # Newlib makes problems for libg++ in crosses.
813     noconfigdirs="$noconfigdirs target-newlib gprof cvssrc"
814     ;;
815   rs6000-*-aix*)
816     noconfigdirs="$noconfigdirs gprof"
817     # This is needed until gcc and ld are fixed to work together.
818     use_gnu_ld=no
819     ;;
820   rs6000-*-*)
821     noconfigdirs="$noconfigdirs gprof"
822     ;;
823   m68k-apollo-*)
824     noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
825     ;;
826   mips*-*-irix5*)
827     # The GNU linker does not support shared libraries.
828     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
829     noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
830     ;;
831   mips*-*-irix6*)
832     # The GNU assembler and linker do not support IRIX 6.
833     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
834     noconfigdirs="$noconfigdirs ld gas gprof emacs target-libgloss"
835     ;;
836   mips*-dec-bsd*)
837     noconfigdirs="$noconfigdirs gprof target-libgloss"
838     ;;
839   mips*-*-bsd*)
840     noconfigdirs="$noconfigdirs gprof target-libgloss"
841     ;;
842   mipstx39-*-*)
843     noconfigdirs="$noconfigdirs gprof"   # same as generic mips
844     target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
845    ;;
846 # start-sanitize-sky
847   mips64r5900-sky-elf*)
848     noconfigdirs="$noconfigdirs gprof"
849     extraconfigdirs="$extraconfigdirs gas,dvp-gas,dvp-elf"
850     ;;
851   mips*-skyb-elf*)
852     noconfigdirs="$noconfigdirs gprof" # gcc
853     noconfigdirs="$noconfigdirs target-libiberty" # target-newlib
854     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
855     extraconfigdirs="$extraconfigdirs gas,dvp-gas,dvp-elf"
856     ;;
857 # end-sanitize-sky
858   mips*-*-*)
859     noconfigdirs="$noconfigdirs gprof"
860     ;;
861   romp-*-*)
862     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss"
863     ;;
864   sh-*-*)
865     case "${host}" in
866       i[3456]86-*-vsta) ;; # don't add gprof back in
867       i[3456]86-*-go32*) ;; # don't add gprof back in
868       i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
869       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
870     esac
871     noconfigdirs="$noconfigdirs target-libgloss"
872     ;;
873   sparc-*-elf*)
874     if [ x${is_cross_compiler} != xno ] ; then
875            target_configdirs="${target_configdirs} target-libstub target-cygmon"
876     fi
877     ;;
878   sparc64-*-elf*)
879     if [ x${is_cross_compiler} != xno ] ; then
880            target_configdirs="${target_configdirs} target-libstub target-cygmon"
881     fi
882     ;;
883   sparclite-*-*)
884     if [ x${is_cross_compiler} != xno ] ; then
885            target_configdirs="${target_configdirs} target-libstub target-cygmon"
886     fi
887     ;;
888   sparc-*-sunos4*)
889     if [ x${is_cross_compiler} != xno ] ; then
890            noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
891     else
892            use_gnu_ld=no
893     fi
894     ;;
895 # start-sanitize-sky
896   dvp-*-elf*)
897     noconfigdirs="$noconfigdirs gcc gdb sim"
898     noconfigdirs="$noconfigdirs itcl libgui tk tix"
899     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty"
900     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
901     ;;
902 # end-sanitize-sky
903   v810-*-*)
904     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
905     ;;
906   v850-*-*)
907     noconfigdirs="$noconfigdirs target-libgloss"
908     ;;
909 # start-sanitize-v850e
910   v850e-*-*)
911     noconfigdirs="$noconfigdirs target-libgloss"
912     ;;
913   v850ea-*-*)
914     noconfigdirs="$noconfigdirs target-libgloss"
915     ;;
916 # end-sanitize-v850e
917   vax-*-vms)
918     noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
919     ;;
920   vax-*-*)
921     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
922     ;;
923   *-*-lynxos*)
924     # Newlib makes problems for libg++ in crosses.
925     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
926     ;; 
927   *-*-macos* | \
928   *-*-mpw*)
929     # Macs want a resource compiler.
930     configdirs="$configdirs grez"
931     ;;    
932 # start-sanitize-beos
933   i[3456]86-*-beos)
934      noconfigdirs="$noconfigdirs target-gperf"
935      ;;
936 # end-sanitize-beos
937 esac
938
939 # If we aren't building newlib, then don't build libgloss, since libgloss
940 # depends upon some newlib header files.
941 case "${noconfigdirs}" in
942   *target-libgloss*) ;;
943   *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
944 esac
945
946 # start-sanitize-cygnus
947 # Only configure cgen if --enable-cgen-maint.
948 if [ "x$enable_cgen_maint" != xyes ] ; then
949   noconfigdirs="$noconfigdirs cgen"
950 fi
951
952 # end-sanitize-cygnus
953 # Make sure we don't let GNU ld be added if we didn't want it.
954 if [ x$with_gnu_ld = xno ]; then
955   use_gnu_ld=no
956   noconfigdirs="$noconfigdirs ld"
957 fi
958
959 # Make sure we don't let GNU as be added if we didn't want it.
960 if [ x$with_gnu_as = xno ]; then
961   use_gnu_as=no
962   noconfigdirs="$noconfigdirs gas"
963 fi
964
965 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
966 # $target_configdirs.
967 # If we have the source for $noconfigdirs entries, add them to $notsupp.
968
969 notsupp=""
970 for dir in . $skipdirs $noconfigdirs ; do
971   dirname=`echo $dir | sed -e s/target-//g`
972   if [ $dir != . ]  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
973     configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
974     if [ -r $srcdir/$dirname/configure ] \
975         || [ -r $srcdir/$dirname/configure.in ]; then
976       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
977         true
978       else
979         notsupp="$notsupp $dir"
980       fi
981     fi
982   fi
983   if [ $dir != . ]  && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
984     target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
985     if [ -r $srcdir/$dirname/configure ] \
986         || [ -r $srcdir/$dirname/configure.in ]; then
987       if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
988         true
989       else
990         notsupp="$notsupp $dir"
991       fi
992     fi
993   fi
994 done
995
996 # Sometimes the tools are distributed with libiberty but with no other
997 # libraries.  In that case, we don't want to build target-libiberty.
998 if [ -n "${target_configdirs}" ]; then
999   others=
1000   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1001     if [ "$i" != "libiberty" ]; then
1002       if [ -r $srcdir/$i/configure ] || [ -r $srcdir/$i/configure.in ]; then
1003         others=yes;
1004         break;
1005       fi
1006     fi
1007   done
1008   if [ -z "${others}" ]; then
1009     target_configdirs=
1010   fi
1011 fi
1012
1013 # Deconfigure all subdirectories, in case we are changing the
1014 # configuration from one where a subdirectory is supported to one where it
1015 # is not.
1016 if [ -z "${norecursion}" ] && [ -n "${configdirs}" ]; then
1017   for i in `echo ${configdirs} | sed -e s/target-//g` ; do
1018     rm -f $i/Makefile
1019   done
1020 fi
1021 if [ -z "${norecursion}" ] && [ -n "${target_configdirs}" ]; then
1022   for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1023     rm -f ${target_subdir}/$i/Makefile
1024   done
1025 fi
1026
1027 # Produce a warning message for the subdirs we can't configure.
1028 # This isn't especially interesting in the Cygnus tree, but in the individual
1029 # FSF releases, it's important to let people know when their machine isn't
1030 # supported by the one or two programs in a package.
1031
1032 if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
1033   # If $appdirs is non-empty, at least one of those directories must still
1034   # be configured, or we error out.  (E.g., if the gas release supports a
1035   # specified target in some subdirs but not the gas subdir, we shouldn't
1036   # pretend that all is well.)
1037   if [ -n "$appdirs" ]; then
1038     for dir in $appdirs ; do
1039       if [ -r $dir/Makefile.in ]; then
1040         if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1041           appdirs=""
1042           break
1043         fi
1044         if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1045           appdirs=""
1046           break
1047         fi
1048       fi
1049     done
1050     if [ -n "$appdirs" ]; then
1051       echo "*** This configuration is not supported by this package." 1>&2
1052       exit 1
1053     fi
1054   fi
1055   # Okay, some application will build, or we don't care to check.  Still
1056   # notify of subdirs not getting built.
1057   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1058   echo "    ${notsupp}" 1>&2
1059   echo "    (Any other directories should still work fine.)" 1>&2
1060 fi
1061
1062 # Set with_gnu_as and with_gnu_ld as appropriate.
1063 #
1064 # This is done by determining whether or not the appropriate directory
1065 # is available, and by checking whether or not specific configurations
1066 # have requested that this magic not happen.
1067
1068 # The command line options always override the explicit settings in 
1069 # configure.in, and the settings in configure.in override this magic.
1070 #
1071 # If the default for a toolchain is to use GNU as and ld, and you don't 
1072 # want to do that, then you should use the --without-gnu-as and
1073 # --without-gnu-ld options for the configure script.
1074
1075 if [ x${use_gnu_as} = x ] ; then
1076   if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
1077     with_gnu_as=yes
1078     withoptions="$withoptions --with-gnu-as"
1079   fi
1080 fi
1081
1082 if [ x${use_gnu_ld} = x ] ; then
1083   if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
1084     with_gnu_ld=yes
1085     withoptions="$withoptions --with-gnu-ld"
1086   fi
1087 fi
1088
1089 # If using newlib, add --with-newlib to the withoptions so that gcc/configure
1090 # can detect this case.
1091
1092 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1093   with_newlib=yes
1094   withoptions="$withoptions --with-newlib"
1095 fi
1096
1097 if [ x${shared} = xyes ]; then
1098   case "${target}" in
1099     hppa*)
1100       target_makefile_frag="${target_makefile_frag} config/mt-papic"
1101       ;;
1102     i[3456]86-*)
1103       target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
1104       ;;
1105     powerpc*-*)
1106       target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
1107       ;;
1108     alpha*-*-linux*)
1109       target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
1110       ;;
1111     *)
1112       if test -f ${srcdir}/config/mt-${target_cpu}pic; then
1113         target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
1114       fi
1115       ;;
1116   esac
1117 fi
1118
1119 rm -f mt-frag
1120 if [ -n "${target_makefile_frag}" ] ; then
1121   for f in ${target_makefile_frag}
1122   do
1123     cat ${srcdir}/$f >> mt-frag
1124   done
1125   target_makefile_frag=mt-frag
1126 fi
1127
1128 # post-target:
1129
1130 # Make sure that the compiler is able to generate an executable.  If it
1131 # can't, we are probably in trouble.  We don't care whether we can run the
1132 # executable--we might be using a cross compiler--we only care whether it
1133 # can be created.  At this point the main configure script has set CC.
1134 echo "int main () { return 0; }" > conftest.c
1135 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1136 if [ $? = 0 ] && [ -s conftest -o -s conftest.exe ]; then
1137   :
1138 else
1139   echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1140   echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1141   rm -f conftest*
1142   exit 1
1143 fi
1144 rm -f conftest*
1145
1146 # The Solaris /usr/ucb/cc compiler does not appear to work.
1147 case "${host}" in
1148   sparc-sun-solaris2*)
1149       CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1150       if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then
1151           could_use=
1152           [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
1153           if [ -d /opt/cygnus/bin ] ; then
1154               if [ "$could_use" = "" ] ; then
1155                   could_use="/opt/cygnus/bin"
1156               else
1157                   could_use="$could_use or /opt/cygnus/bin"
1158               fi
1159           fi
1160         if [ "$could_use" = "" ] ; then
1161             echo "Warning: compilation may fail because you're using"
1162             echo "/usr/ucb/cc.  You should change your PATH or CC "
1163             echo "variable and rerun configure."
1164         else
1165             echo "Warning: compilation may fail because you're using"
1166             echo "/usr/ucb/cc, when you should use the C compiler from"
1167             echo "$could_use.  You should change your"
1168             echo "PATH or CC variable and rerun configure."
1169         fi
1170       fi
1171   ;;
1172 esac
1173
1174 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1175 # binutils tools will find libbfd.so.
1176 if [ "${shared}" = "yes" ]; then
1177   sed -e 's/^SET_LIB_PATH[      ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
1178       Makefile > Makefile.tem
1179   rm -f Makefile
1180   mv -f Makefile.tem Makefile
1181
1182   case "${host}" in
1183   *-*-hpux*)
1184     sed -e 's/^RPATH_ENVVAR[    ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
1185         Makefile > Makefile.tem
1186     rm -f Makefile
1187     mv -f Makefile.tem Makefile
1188     ;;
1189   esac
1190 fi
1191
1192 # Record target_configdirs and the configure arguments in Makefile.
1193 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1194 targargs=`echo "${arguments}" | \
1195         sed -e 's/--no[^        ]*//' \
1196             -e 's/--cache[a-z-]*=[^     ]*//' \
1197             -e 's/--ho[a-z-]*=[^        ]*//' \
1198             -e 's/--bu[a-z-]*=[^        ]*//' \
1199             -e 's/--ta[a-z-]*=[^        ]*//'`
1200
1201 # Passing a --with-cross-host argument lets the target libraries know
1202 # whether they are being built with a cross-compiler or being built
1203 # native.  However, it would be better to use other mechanisms to make the
1204 # sorts of decisions they want to make on this basis.  Please consider
1205 # this option to be deprecated.  FIXME.
1206 if [ x${is_cross_compiler} = xyes ]; then
1207   targargs="--with-cross-host=${host_alias} ${targargs}"
1208 fi
1209
1210 # Default to --enable-multilib.
1211 if [ x${enable_multilib} = x ]; then
1212   targargs="--enable-multilib ${targargs}"
1213 fi
1214
1215 # Pass --with-newlib if appropriate.  Note that target_configdirs has
1216 # changed from the earlier setting of with_newlib.
1217 if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1218   targargs="--with-newlib ${targargs}"
1219 fi
1220
1221 targargs="--host=${target_alias} --build=${build_alias} ${targargs}"
1222 sed -e "s:^TARGET_CONFIGDIRS[   ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
1223     -e "s%^CONFIG_ARGUMENTS[    ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
1224     -e "s%^TARGET_SUBDIR[       ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \
1225        Makefile > Makefile.tem
1226 rm -f Makefile
1227 mv -f Makefile.tem Makefile
1228
1229 #
1230 # Local Variables:
1231 # fill-column: 131
1232 # End:
1233 #