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