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