Add support for strongarm target.
[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 ;;
4733b6df
NC
660# END CYGNUS LOCAL
661# CYGNUS LOCAL nickc/strongarm
662 strongarm-*-elf)
663 noconfigdirs="$noconfigdirs target-libgloss"
664 if [ x${is_cross_compiler} != xno ] ; then
665 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
666 fi
667 ;;
668 strongarm-*-coff)
669 noconfigdirs="$noconfigdirs target-libgloss"
670 ;;
dd5ed749 671# END CYGNUS LOCAL
1f984018
NC
672 thumb-*-pe) # CYGNUS LOCAL nickc/thumb
673 noconfigdirs="$noconfigdirs target-libgloss"
674 ;;
ff15324f 675 arm-*-riscix*)
35cb2108 676 noconfigdirs="$noconfigdirs ld target-libgloss"
318b02b6 677 ;;
a1e636c8 678 d10v-*-*)
c1f6b406 679 noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss"
a1e636c8 680 ;;
4733b6df 681# CYGNUS LOCAL d30v
c2304cba 682 d30v-*-*)
c2304cba 683 ;;
4733b6df
NC
684# END CYGNUS LOCAL
685# CYGNUS LOCAL fr30
3c2fe201
MS
686 fr30-*-elf*)
687 if [ x${is_cross_compiler} != xno ] ; then
688 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
689 fi
690 ;;
4733b6df 691# END CYGNUS LOCAL
52e3ad87 692 h8300*-*-* | \
8388b9df 693 h8500-*-*)
35cb2108 694 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
15ae586e 695 ;;
8a71f0f3 696 hppa*-*-*elf* | \
107e5276 697 hppa*-*-lites*)
8c92a7d1 698 # Do configure ld/binutils/gas for this case.
99a5da15 699 ;;
15ae586e 700 hppa*-*-*)
408f64bc
JK
701 # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
702 # cc is gcc, and on any system a user should be able to link cc to
e37bb3c7 703 # whatever they want. FIXME, emacs emacs19).
8b5405d2 704 case "${CC}" in
e37bb3c7 705 "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
772ebace 706 *) ;;
8b5405d2 707 esac
d9f1d487 708 noconfigdirs="$noconfigdirs ld shellutils"
15ae586e 709 ;;
48aed924
BM
710 i[3456]86-*-coff | i[3456]86-*-elf)
711 if [ x${is_cross_compiler} != xno ] ; then
712 target_configdirs="${target_configdirs} target-libstub target-cygmon"
713 fi
714 ;;
e087efc1 715 i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
632ee4a1 716 # but don't build gdb
ab1cbc67 717 noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
8c92a7d1 718 ;;
60fc3193
JL
719 *-*-linux*)
720 # linux has rx in libc
721 skipdirs="$skipdirs target-librx"
722 ;;
0b0bd98b
JL
723 i[3456]86-*-mingw32*)
724 target_configdirs="$target_configdirs target-mingw"
725 noconfigdirs="$noconfigdirs expect target-libgloss"
726
53b0f196 727 # Can't build gdb for mingw32 if not native.
0b0bd98b
JL
728 case "${host}" in
729 i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
c6c22ffe 730 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
5f9e41cd
BE
731# start-sanitize-cygnus
732 noconfigdirs="$noconfigdirs flexlm"
733# end-sanitize-cygnus
0b0bd98b
JL
734 ;;
735 esac
736 ;;
0d1ca126 737 *-*-cygwin*)
d846c99e
CF
738 target_configdirs="$target_configdirs target-libtermcap target-winsup"
739 noconfigdirs="$noconfigdirs target-libgloss"
e1a1ddc6 740 # always build newlib.
ab1cbc67 741 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
9daacfc4 742
0d1ca126 743 # Can't build gdb for Cygwin if not native.
5f8d8c91 744 case "${host}" in
0d1ca126 745 *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
c6c22ffe 746 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
64434418 747# start-sanitize-ide
f46d03c5 748 noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
64434418 749# end-sanitize-ide
5f9e41cd
BE
750# start-sanitize-cygnus
751 noconfigdirs="$noconfigdirs flexlm"
752# end-sanitize-cygnus
64434418 753 ;;
9daacfc4 754 esac
a220ba0f 755 ;;
f7954d86 756 i[3456]86-*-pe)
35cb2108 757 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
8c7fd353 758 ;;
f7954d86 759 i[3456]86-*-sco3.2v5*)
a48876fc
SS
760 # The linker does not yet know about weak symbols in COFF,
761 # and is not configured to handle mixed ELF and COFF.
f43cc8f7 762 noconfigdirs="$noconfigdirs ld target-libgloss"
a48876fc 763 ;;
f7954d86 764 i[3456]86-*-sco*)
35cb2108 765 noconfigdirs="$noconfigdirs gprof target-libgloss"
de9117a7 766 ;;
f7954d86 767 i[3456]86-*-solaris2*)
e0e5b6c6 768 noconfigdirs="$noconfigdirs target-libgloss"
320c9fff 769 ;;
f7954d86 770 i[3456]86-*-sysv4*)
8b5405d2
DZ
771 # The SYSV4 C compiler doesn't handle Emacs correctly
772 case "${CC}" in
e37bb3c7 773 "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
8b5405d2
DZ
774 *) ;;
775 esac
776 # but that's okay since emacs doesn't work anyway
35cb2108 777 noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
8b5405d2 778 ;;
3c2fe201
MS
779 m68k-*-*)
780 if [ x${is_cross_compiler} != xno ] ; then
781 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
782 fi
783 ;;
ae1b99e4 784 mn10200-*-*)
5bf639ac
MA
785 noconfigdirs="$noconfigdirs"
786 if [ x${is_cross_compiler} != xno ] ; then
787 target_configdirs="${target_configdirs} target-libstub target-cygmon"
788 fi
ae1b99e4
JL
789 ;;
790 mn10300-*-*)
f33a8aa5 791 noconfigdirs="$noconfigdirs"
529fce81 792 if [ x${is_cross_compiler} != xno ] ; then
3c2fe201 793 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
529fce81 794 fi
be9b9d69 795 ;;
3e1e245d
ILT
796 powerpc-*-aix*)
797 # copied from rs6000-*-* entry
7751f03a 798 noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss"
3d40ace0
ILT
799 # This is needed until gcc and ld are fixed to work together.
800 use_gnu_ld=no
3e1e245d 801 ;;
a51794f1
JM
802 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
803 target_configdirs="$target_configdirs target-winsup"
c6c22ffe 804 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv"
3718029f 805# start-sanitize-ide
f46d03c5 806 noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
3718029f 807# end-sanitize-ide
5f9e41cd
BE
808# start-sanitize-cygnus
809 noconfigdirs="$noconfigdirs flexlm"
810# end-sanitize-cygnus
a51794f1
JM
811 # always build newlib.
812 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
81d08d0c 813 ;;
59d95e81 814 # This is temporary until we can link against shared libraries
8970d123 815 powerpcle-*-solaris*)
c6c22ffe 816 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv"
3718029f 817# start-sanitize-ide
f46d03c5 818 noconfigdirs="$noconfigdirs libide libidetcl vmake jstools"
3718029f 819# end-sanitize-ide
5f9e41cd
BE
820# start-sanitize-cygnus
821 noconfigdirs="$noconfigdirs flexlm"
822# end-sanitize-cygnus
8970d123 823 ;;
3c2fe201
MS
824 powerpc-*-eabi)
825 if [ x${is_cross_compiler} != xno ] ; then
826 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
827 fi
828 ;;
2a38983c 829 rs6000-*-lynxos*)
2a38983c
DHW
830 # The CVS server code doesn't work on the RS/6000
831 # Newlib makes problems for libg++ in crosses.
7751f03a 832 noconfigdirs="$noconfigdirs target-newlib gprof cvssrc"
2a38983c 833 ;;
3d40ace0
ILT
834 rs6000-*-aix*)
835 noconfigdirs="$noconfigdirs gprof"
836 # This is needed until gcc and ld are fixed to work together.
837 use_gnu_ld=no
838 ;;
8388b9df 839 rs6000-*-*)
92caaa6a 840 noconfigdirs="$noconfigdirs gprof"
fcf4d286 841 ;;
becf2d8a 842 m68k-apollo-*)
35cb2108 843 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
becf2d8a 844 ;;
04b9315f
ILT
845 mips*-*-irix5*)
846 # The GNU linker does not support shared libraries.
82633710 847 # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
35cb2108 848 noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
04b9315f 849 ;;
79a2d56d 850 mips*-*-irix6*)
07057350 851 # The GNU assembler and linker do not support IRIX 6.
79a2d56d 852 # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
4ceaca77 853 noconfigdirs="$noconfigdirs ld gas gprof emacs target-libgloss"
79a2d56d 854 ;;
af9fa3c1 855 mips*-dec-bsd*)
35cb2108 856 noconfigdirs="$noconfigdirs gprof target-libgloss"
af9fa3c1
ILT
857 ;;
858 mips*-*-bsd*)
35cb2108 859 noconfigdirs="$noconfigdirs gprof target-libgloss"
af9fa3c1 860 ;;
456876c8
DE
861 mipstx39-*-*)
862 noconfigdirs="$noconfigdirs gprof" # same as generic mips
3c2fe201 863 target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
b57c473d 864 ;;
456876c8
DE
865# start-sanitize-sky
866 mips64r5900-sky-elf*)
867 noconfigdirs="$noconfigdirs gprof"
868 extraconfigdirs="$extraconfigdirs gas,dvp-gas,dvp-elf"
869 ;;
7381ab45
DE
870 mips*-skyb-elf*)
871 noconfigdirs="$noconfigdirs gprof" # gcc
872 noconfigdirs="$noconfigdirs target-libiberty" # target-newlib
873 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
874 extraconfigdirs="$extraconfigdirs gas,dvp-gas,dvp-elf"
875 ;;
456876c8 876# end-sanitize-sky
04b9315f 877 mips*-*-*)
52e3ad87 878 noconfigdirs="$noconfigdirs gprof"
fcf4d286 879 ;;
de9117a7 880 romp-*-*)
35cb2108 881 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss"
de9117a7 882 ;;
817382d1 883 sh-*-*)
719cb03f 884 case "${host}" in
f7954d86 885 i[3456]86-*-vsta) ;; # don't add gprof back in
e087efc1
ILT
886 i[3456]86-*-go32*) ;; # don't add gprof back in
887 i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
ca2ce3b3 888 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
719cb03f 889 esac
35cb2108 890 noconfigdirs="$noconfigdirs target-libgloss"
719cb03f 891 ;;
664298e6
BM
892 sparc-*-elf*)
893 if [ x${is_cross_compiler} != xno ] ; then
f4434c50 894 target_configdirs="${target_configdirs} target-libstub target-cygmon"
664298e6
BM
895 fi
896 ;;
ddfa23cb
BM
897 sparc64-*-elf*)
898 if [ x${is_cross_compiler} != xno ] ; then
f4434c50 899 target_configdirs="${target_configdirs} target-libstub target-cygmon"
ddfa23cb
BM
900 fi
901 ;;
48aed924 902 sparclite-*-*)
664298e6 903 if [ x${is_cross_compiler} != xno ] ; then
f4434c50 904 target_configdirs="${target_configdirs} target-libstub target-cygmon"
664298e6
BM
905 fi
906 ;;
719cb03f 907 sparc-*-sunos4*)
2a38983c 908 if [ x${is_cross_compiler} != xno ] ; then
35cb2108 909 noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
2a38983c
DHW
910 else
911 use_gnu_ld=no
912 fi
1f69e88d 913 ;;
69f273d8 914# start-sanitize-sky
e086cc6c 915 dvp-*-elf*)
587c41ae 916 noconfigdirs="$noconfigdirs gcc gdb sim"
83f35963 917 noconfigdirs="$noconfigdirs itcl libgui tk tix"
e086cc6c 918 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty"
7381ab45 919 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
e086cc6c 920 ;;
69f273d8 921# end-sanitize-sky
486e0f0a 922 v810-*-*)
35cb2108 923 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
486e0f0a 924 ;;
3f5d1c2c 925 v850-*-*)
d77852a4 926 noconfigdirs="$noconfigdirs target-libgloss"
3f5d1c2c 927 ;;
c5d09c0f 928 v850e-*-*) # CYGNUS LOCAL v850e
492c2670
NC
929 noconfigdirs="$noconfigdirs target-libgloss"
930 ;;
67a46fe9 931 v850ea-*-*)
492c2670 932 noconfigdirs="$noconfigdirs target-libgloss"
c5d09c0f 933 ;; # END CYGNUS LOCAL
de9117a7 934 vax-*-vms)
35cb2108 935 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
de9117a7
KR
936 ;;
937 vax-*-*)
35cb2108 938 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
8388b9df 939 ;;
de9117a7 940 *-*-lynxos*)
19b1d034 941 # Newlib makes problems for libg++ in crosses.
35cb2108 942 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
19b1d034
SS
943 ;;
944 *-*-macos* | \
945 *-*-mpw*)
946 # Macs want a resource compiler.
947 configdirs="$configdirs grez"
948 ;;
4f5f38f2
RH
949# start-sanitize-beos
950 i[3456]86-*-beos)
951 noconfigdirs="$noconfigdirs target-gperf"
952 ;;
953# end-sanitize-beos
05cd8d98
HS
954esac
955
9a8629d5
ILT
956# If we aren't building newlib, then don't build libgloss, since libgloss
957# depends upon some newlib header files.
958case "${noconfigdirs}" in
959 *target-libgloss*) ;;
960 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
961esac
962
5ea0771f
DE
963# start-sanitize-cygnus
964# Only configure cgen if --enable-cgen-maint.
c55ea9e7 965if [ "x$enable_cgen_maint" != xyes ] ; then
5ea0771f
DE
966 noconfigdirs="$noconfigdirs cgen"
967fi
968
969# end-sanitize-cygnus
d4cf72b3
BK
970# Make sure we don't let GNU ld be added if we didn't want it.
971if [ x$with_gnu_ld = xno ]; then
972 use_gnu_ld=no
973 noconfigdirs="$noconfigdirs ld"
0b0124c6
BK
974fi
975
d4cf72b3
BK
976# Make sure we don't let GNU as be added if we didn't want it.
977if [ x$with_gnu_as = xno ]; then
978 use_gnu_as=no
979 noconfigdirs="$noconfigdirs gas"
0b0124c6
BK
980fi
981
ca2ce3b3
ILT
982# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
983# $target_configdirs.
984# If we have the source for $noconfigdirs entries, add them to $notsupp.
efd7b806 985
52e3ad87 986notsupp=""
ca2ce3b3 987for dir in . $skipdirs $noconfigdirs ; do
b58d9e5d 988 dirname=`echo $dir | sed -e s/target-//g`
1c15a33d 989 if [ $dir != . ] && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
8f30a41e 990 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
b58d9e5d
PB
991 if [ -r $srcdir/$dirname/configure ] \
992 || [ -r $srcdir/$dirname/configure.in ]; then
ca2ce3b3
ILT
993 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
994 true
995 else
996 notsupp="$notsupp $dir"
997 fi
998 fi
999 fi
1000 if [ $dir != . ] && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1001 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
b58d9e5d
PB
1002 if [ -r $srcdir/$dirname/configure ] \
1003 || [ -r $srcdir/$dirname/configure.in ]; then
ca2ce3b3
ILT
1004 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1005 true
1006 else
1007 notsupp="$notsupp $dir"
1008 fi
52e3ad87
KR
1009 fi
1010 fi
1011done
1012
fba66802
ILT
1013# Sometimes the tools are distributed with libiberty but with no other
1014# libraries. In that case, we don't want to build target-libiberty.
1015if [ -n "${target_configdirs}" ]; then
1016 others=
b58d9e5d 1017 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
fba66802
ILT
1018 if [ "$i" != "libiberty" ]; then
1019 if [ -r $srcdir/$i/configure ] || [ -r $srcdir/$i/configure.in ]; then
1020 others=yes;
1021 break;
1022 fi
1023 fi
1024 done
1025 if [ -z "${others}" ]; then
1026 target_configdirs=
1027 fi
1028fi
1029
ca2ce3b3
ILT
1030# Deconfigure all subdirectories, in case we are changing the
1031# configuration from one where a subdirectory is supported to one where it
1032# is not.
8beb827a 1033if [ -z "${norecursion}" ] && [ -n "${configdirs}" ]; then
b58d9e5d 1034 for i in `echo ${configdirs} | sed -e s/target-//g` ; do
ca2ce3b3
ILT
1035 rm -f $i/Makefile
1036 done
1037fi
8beb827a 1038if [ -z "${norecursion}" ] && [ -n "${target_configdirs}" ]; then
9bbc0d58 1039 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
ab1cbc67
PB
1040 rm -f ${target_subdir}/$i/Makefile
1041 done
1042fi
ca2ce3b3 1043
52e3ad87
KR
1044# Produce a warning message for the subdirs we can't configure.
1045# This isn't especially interesting in the Cygnus tree, but in the individual
1046# FSF releases, it's important to let people know when their machine isn't
1047# supported by the one or two programs in a package.
1048
9fe444b5 1049if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
af9fa3c1
ILT
1050 # If $appdirs is non-empty, at least one of those directories must still
1051 # be configured, or we error out. (E.g., if the gas release supports a
1052 # specified target in some subdirs but not the gas subdir, we shouldn't
1053 # pretend that all is well.)
1054 if [ -n "$appdirs" ]; then
1055 for dir in $appdirs ; do
ca2ce3b3
ILT
1056 if [ -r $dir/Makefile.in ]; then
1057 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1058 appdirs=""
1059 break
1060 fi
1061 if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1062 appdirs=""
1063 break
1064 fi
af9fa3c1
ILT
1065 fi
1066 done
1067 if [ -n "$appdirs" ]; then
1068 echo "*** This configuration is not supported by this package." 1>&2
1069 exit 1
1070 fi
1071 fi
1072 # Okay, some application will build, or we don't care to check. Still
1073 # notify of subdirs not getting built.
52e3ad87
KR
1074 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1075 echo " ${notsupp}" 1>&2
1076 echo " (Any other directories should still work fine.)" 1>&2
1077fi
1078
d4cf72b3
BK
1079# Set with_gnu_as and with_gnu_ld as appropriate.
1080#
1081# This is done by determining whether or not the appropriate directory
1082# is available, and by checking whether or not specific configurations
1083# have requested that this magic not happen.
1084#
1085# The command line options always override the explicit settings in
1086# configure.in, and the settings in configure.in override this magic.
1087#
1088# If the default for a toolchain is to use GNU as and ld, and you don't
1089# want to do that, then you should use the --without-gnu-as and
1090# --without-gnu-ld options for the configure script.
1091
1092if [ x${use_gnu_as} = x ] ; then
1093 if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
1094 with_gnu_as=yes
1095 withoptions="$withoptions --with-gnu-as"
1096 fi
1097fi
1098
1099if [ x${use_gnu_ld} = x ] ; then
1100 if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
1101 with_gnu_ld=yes
1102 withoptions="$withoptions --with-gnu-ld"
1103 fi
1104fi
1105
d5a8bfde
ILT
1106# If using newlib, add --with-newlib to the withoptions so that gcc/configure
1107# can detect this case.
1108
1109if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1110 with_newlib=yes
1111 withoptions="$withoptions --with-newlib"
1112fi
1113
d4be7765 1114if [ x${shared} = xyes ]; then
45329a2c 1115 case "${target}" in
9cfb301e
JL
1116 hppa*)
1117 target_makefile_frag="${target_makefile_frag} config/mt-papic"
1118 ;;
1119 i[3456]86-*)
1120 target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
1121 ;;
1122 powerpc*-*)
1123 target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
1124 ;;
bf31116d 1125 alpha*-*-linux*)
9cfb301e
JL
1126 target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
1127 ;;
1128 *)
5a67071d 1129 if test -f ${srcdir}/config/mt-${target_cpu}pic; then
8e123593
JL
1130 target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
1131 fi
9cfb301e 1132 ;;
45329a2c
JM
1133 esac
1134fi
1135
9cfb301e
JL
1136rm -f mt-frag
1137if [ -n "${target_makefile_frag}" ] ; then
1138 for f in ${target_makefile_frag}
1139 do
1140 cat ${srcdir}/$f >> mt-frag
1141 done
1142 target_makefile_frag=mt-frag
1143fi
1144
ca2ce3b3
ILT
1145# post-target:
1146
b5ae8419
ILT
1147# Make sure that the compiler is able to generate an executable. If it
1148# can't, we are probably in trouble. We don't care whether we can run the
1149# executable--we might be using a cross compiler--we only care whether it
1150# can be created. At this point the main configure script has set CC.
1151echo "int main () { return 0; }" > conftest.c
1152${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
51654893 1153if [ $? = 0 ] && [ -s conftest -o -s conftest.exe ]; then
b5ae8419
ILT
1154 :
1155else
1156 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1157 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1158 rm -f conftest*
1159 exit 1
1160fi
1161rm -f conftest*
1162
0e47ce97
ILT
1163# The Solaris /usr/ucb/cc compiler does not appear to work.
1164case "${host}" in
1165 sparc-sun-solaris2*)
e94c0e40
JM
1166 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1167 if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then
0e47ce97
ILT
1168 could_use=
1169 [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
1170 if [ -d /opt/cygnus/bin ] ; then
1171 if [ "$could_use" = "" ] ; then
1172 could_use="/opt/cygnus/bin"
1173 else
1174 could_use="$could_use or /opt/cygnus/bin"
1175 fi
1176 fi
1177 if [ "$could_use" = "" ] ; then
1178 echo "Warning: compilation may fail because you're using"
1179 echo "/usr/ucb/cc. You should change your PATH or CC "
1180 echo "variable and rerun configure."
1181 else
1182 echo "Warning: compilation may fail because you're using"
1183 echo "/usr/ucb/cc, when you should use the C compiler from"
1184 echo "$could_use. You should change your"
1185 echo "PATH or CC variable and rerun configure."
1186 fi
1187 fi
1188 ;;
1189esac
1190
294fde1f
ILT
1191# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1192# binutils tools will find libbfd.so.
d4be7765 1193if [ "${shared}" = "yes" ]; then
294fde1f
ILT
1194 sed -e 's/^SET_LIB_PATH[ ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
1195 Makefile > Makefile.tem
1196 rm -f Makefile
1197 mv -f Makefile.tem Makefile
f2693093
ILT
1198
1199 case "${host}" in
1200 *-*-hpux*)
2ac94d51 1201 sed -e 's/^RPATH_ENVVAR[ ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
f2693093
ILT
1202 Makefile > Makefile.tem
1203 rm -f Makefile
1204 mv -f Makefile.tem Makefile
1205 ;;
1206 esac
294fde1f
ILT
1207fi
1208
ca2ce3b3 1209# Record target_configdirs and the configure arguments in Makefile.
ab1cbc67 1210target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
ca2ce3b3 1211targargs=`echo "${arguments}" | \
72743e37 1212 sed -e 's/--no[^ ]*//' \
7fc36fda
ILT
1213 -e 's/--cache[a-z-]*=[^ ]*//' \
1214 -e 's/--ho[a-z-]*=[^ ]*//' \
41547e90 1215 -e 's/--bu[a-z-]*=[^ ]*//' \
7fc36fda
ILT
1216 -e 's/--ta[a-z-]*=[^ ]*//'`
1217
1218# Passing a --with-cross-host argument lets the target libraries know
1219# whether they are being built with a cross-compiler or being built
1220# native. However, it would be better to use other mechanisms to make the
1221# sorts of decisions they want to make on this basis. Please consider
1222# this option to be deprecated. FIXME.
1223if [ x${is_cross_compiler} = xyes ]; then
41547e90 1224 targargs="--with-cross-host=${host_alias} ${targargs}"
7fc36fda
ILT
1225fi
1226
07057350
JM
1227# Default to --enable-multilib.
1228if [ x${enable_multilib} = x ]; then
1229 targargs="--enable-multilib ${targargs}"
1230fi
1231
ff2664fc
ILT
1232# Pass --with-newlib if appropriate. Note that target_configdirs has
1233# changed from the earlier setting of with_newlib.
1234if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then
1235 targargs="--with-newlib ${targargs}"
1236fi
1237
41547e90 1238targargs="--host=${target_alias} --build=${build_alias} ${targargs}"
ca2ce3b3
ILT
1239sed -e "s:^TARGET_CONFIGDIRS[ ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
1240 -e "s%^CONFIG_ARGUMENTS[ ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
ab1cbc67 1241 -e "s%^TARGET_SUBDIR[ ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \
ca2ce3b3
ILT
1242 Makefile > Makefile.tem
1243rm -f Makefile
1244mv -f Makefile.tem Makefile
1245
bc58b41d
RP
1246#
1247# Local Variables:
1248# fill-column: 131
1249# End:
1250#
This page took 0.412101 seconds and 4 git commands to generate.