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