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