* config/pa/tm-hppah.h (SNAP1): Remove unused macro.
[deliverable/binutils-gdb.git] / configure.in
CommitLineData
252b5132
RH
1#! /bin/bash
2##############################################################################
3
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.
8
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.
13
14## For more information on these two systems, check out the documentation
15## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
16
75205f78
DD
17# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
18# 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
252b5132
RH
19#
20# This file is free software; you can redistribute it and/or modify it
21# under the terms of the GNU General Public License as published by
22# the Free Software Foundation; either version 2 of the License, or
23# (at your option) any later version.
24#
25# This program is distributed in the hope that it will be useful, but
26# WITHOUT ANY WARRANTY; without even the implied warranty of
27# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28# General Public License for more details.
29#
30# You should have received a copy of the GNU General Public License
31# along with this program; if not, write to the Free Software
32# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33
34##############################################################################
35
ae831be5
NN
36extra_host_args=
37# Define the trigger file to make sure configure will re-run whenever
38# the gcc version number changes.
39if [ "${with_gcc_version_trigger+set}" = set ]; then
40 gcc_version_trigger="$with_gcc_version_trigger"
41 gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
42else
43 # If gcc's sources are available, define the trigger file.
44 if [ -f ${topsrcdir}/gcc/version.c ] ; then
45 gcc_version_trigger=${topsrcdir}/gcc/version.c
46 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
47 case "$arguments" in
48 *--with-gcc-version-trigger=$gcc_version_trigger* )
49 ;;
50 * )
51 # Add to all subconfigure arguments: build, host, and target.
52 arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
53 ;;
54 esac
55 # This will be redundant when we start all subconfigures from the Makefile.
56 extra_host_args="--with-gcc-version-trigger=$gcc_version_trigger $extra_host_args"
57 fi
58fi
59
252b5132
RH
60### To add a new directory to the tree, first choose whether it is a target
61### or a host dependent tool. Then put it into the appropriate list
62### (library or tools, host or target), doing a dependency sort. For
63### example, gdb requires that byacc (or bison) be built first, so it is in
64### the ${host_tools} list after byacc and bison.
65
66
67# these libraries are used by various programs built for the host environment
68#
fd8958d5 69host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tclX itcl tix libgui zlib"
252b5132 70
2e8357fc 71libstdcxx_version="target-libstdc++-v3"
ba73c63f 72
252b5132
RH
73# these tools are built for the host environment
74# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
75# know that we are building the simulator.
07637366 76host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
75205f78
DD
77
78# libgcj represents the runtime libraries only used by gcj.
79libgcj="target-libffi \
80 target-boehm-gc \
81 target-zlib \
82 target-qthreads \
83 target-libjava"
252b5132
RH
84
85# these libraries are built for the target environment, and are built after
86# the host libraries and the host tools (which may be a cross compiler)
87#
88target_libs="target-libiberty \
89 target-libgloss \
90 target-newlib \
ba73c63f
JM
91 ${libstdcxx_version} \
92 target-libf2c \
75205f78 93 ${libgcj}
ba73c63f 94 target-libobjc"
252b5132
RH
95
96# these tools are built using the target libs, and are intended to run only
97# in the target environment
98#
99# note: any program that *uses* libraries that are in the "target_libs"
100# list belongs in this list. those programs are also very likely
101# candidates for the "native_only" list which follows
102#
dd2768ff 103target_tools="target-examples target-groff target-gperf target-rda"
252b5132
RH
104
105################################################################################
106
252b5132
RH
107## All tools belong in one of the four categories, and are assigned above
108## We assign ${configdirs} this way to remove all embedded newlines. This
109## is important because configure will choke if they ever get through.
110## ${configdirs} is directories we build using the host tools.
111## ${target_configdirs} is directories we build using the target tools.
112#
113configdirs=`echo ${host_libs} ${host_tools}`
114target_configdirs=`echo ${target_libs} ${target_tools}`
115
116################################################################################
117
118srctrigger=move-if-change
119srcname="gnu development package"
120
121# This gets set non-empty for some net releases of packages.
122appdirs=""
123
124# per-host:
125
9ee1a75c
DD
126# There is no longer anything interesting in the per-host section.
127
128# per-target:
129
c712250a
DD
130# Define is_cross_compiler to save on calls to 'test'.
131is_cross_compiler=
132if test x"${host}" = x"${target}" ; then
133 is_cross_compiler=no
134else
135 is_cross_compiler=yes
136fi
137
252b5132
RH
138# We always want to use the same name for this directory, so that dejagnu
139# can reliably find it.
140target_subdir=${target_alias}
141
a0c4f3a0 142if test ! -d ${target_subdir} ; then
252b5132
RH
143 if mkdir ${target_subdir} ; then true
144 else
d5de0a84 145 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
252b5132
RH
146 exit 1
147 fi
148fi
149
49b7683b
DD
150build_subdir=${build_alias}
151
a0c4f3a0
DD
152if test x"${build_alias}" != x"${host}" ; then
153 if test ! -d ${build_subdir} ; then
49b7683b
DD
154 if mkdir ${build_subdir} ; then true
155 else
d5de0a84 156 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
49b7683b
DD
157 exit 1
158 fi
159 fi
160fi
161
f48556b1
DD
162# Skipdirs are removed silently.
163skipdirs=
164# Noconfigdirs are removed loudly.
165noconfigdirs=""
252b5132 166
f48556b1
DD
167use_gnu_ld=
168# Make sure we don't let GNU ld be added if we didn't want it.
169if test x$with_gnu_ld = xno ; then
170 use_gnu_ld=no
171 noconfigdirs="$noconfigdirs ld"
252b5132
RH
172fi
173
f48556b1
DD
174use_gnu_as=
175# Make sure we don't let GNU as be added if we didn't want it.
176if test x$with_gnu_as = xno ; then
177 use_gnu_as=no
178 noconfigdirs="$noconfigdirs gas"
252b5132
RH
179fi
180
f48556b1
DD
181# some tools are so dependent upon X11 that if we're not building with X,
182# it's not even worth trying to configure, much less build, that tool.
252b5132 183
f48556b1
DD
184case ${with_x} in
185 yes | "") ;; # the default value for this tree is that X11 is available
ff0a3bf8
DD
186 no)
187 skipdirs="${skipdirs} tk tix itcl libgui"
188 # We won't be able to build gdbtk without X.
189 enable_gdbtk=no
190 ;;
f48556b1
DD
191 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
192esac
252b5132 193
f48556b1 194# Some tools are only suitable for building in a "native" situation.
405ea7a0
NN
195# Remove these if host!=target.
196native_only="autoconf automake libtool fileutils find gawk gettext grep gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms snavigator gnuserv target-gperf"
197
198# Similarly, some are only suitable for cross toolchains.
199# Remove these if host=target.
200cross_only="target-libgloss target-newlib target-opcodes"
252b5132 201
f48556b1
DD
202case $is_cross_compiler in
203 no) skipdirs="${skipdirs} ${cross_only}" ;;
204 yes) skipdirs="${skipdirs} ${native_only}" ;;
205esac
252b5132 206
a32d391c
DD
207# If both --with-headers and --with-libs are specified, default to
208# --without-newlib.
209if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
210 if test x"${with_newlib}" = x ; then
211 with_newlib=no
212 fi
213fi
214
215# Recognize --with-newlib/--without-newlib.
216case ${with_newlib} in
217 no) skipdirs="${skipdirs} target-newlib" ;;
218 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
219esac
220
252b5132
RH
221# Configure extra directories which are host specific
222
223case "${host}" in
f48556b1 224 *-cygwin*)
3866be5d 225 configdirs="$configdirs libtermcap" ;;
252b5132
RH
226esac
227
228# Remove more programs from consideration, based on the host or
229# target this usually means that a port of the program doesn't
230# exist yet.
231
252b5132 232case "${host}" in
75205f78
DD
233 hppa*64*-*-*)
234 noconfigdirs="$noconfigdirs byacc"
235 ;;
252b5132 236 i[3456]86-*-vsta)
07637366 237 noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv gettext"
252b5132
RH
238 ;;
239 i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
07637366 240 noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix db snavigator gnuserv libffi"
252b5132
RH
241 ;;
242 i[3456]86-*-mingw32*)
07637366
DD
243 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv"
244 noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
252b5132
RH
245 ;;
246 i[3456]86-*-beos*)
247 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
248 ;;
249 *-*-cygwin*)
07637366 250 noconfigdirs="autoconf automake send-pr rcs guile perl"
252b5132
RH
251 ;;
252 *-*-netbsd*)
253 noconfigdirs="rcs"
254 ;;
255 ppc*-*-pe)
07637366 256 noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix db snavigator gnuserv"
252b5132 257 ;;
ba73c63f
JM
258 powerpc-*-beos*)
259 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
260 ;;
bbf7c8ac
NN
261 *-*-darwin*)
262 noconfigdirs="$noconfigdirs tk itcl tix libgui"
263 ;;
252b5132
RH
264esac
265
96111c10
AO
266# Save it here so that, even in case of --enable-libgcj, if the Java
267# front-end isn't enabled, we still get libgcj disabled.
268libgcj_saved=$libgcj
269case $enable_libgcj in
270yes)
271 # If we reset it here, it won't get added to noconfigdirs in the
272 # target-specific build rules, so it will be forcibly enabled
273 # (unless the Java language itself isn't enabled).
274 libgcj=
275 ;;
276no)
277 # Make sure we get it printed in the list of not supported target libs.
278 noconfigdirs="$noconfigdirs ${libgcj}"
279 ;;
280esac
281
252b5132 282case "${target}" in
75205f78
DD
283 *-*-chorusos)
284 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
285 ;;
ffb97b2f
DD
286 *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
287 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
288 ;;
e82380cc
JT
289 *-*-netbsd*)
290 # Skip some stuff on all NetBSD configurations.
ae03d6e2 291 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
e82380cc
JT
292
293 # Skip some stuff that's unsupported on some NetBSD configurations.
294 case "${target}" in
75205f78 295 i*86-*-netbsdelf*) ;;
e82380cc 296 *)
75205f78 297 noconfigdirs="$noconfigdirs ${libgcj}"
e82380cc
JT
298 ;;
299 esac
300 ;;
252b5132 301 *-*-netware)
e3b0c936 302 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss ${libgcj}"
252b5132
RH
303 ;;
304 *-*-rtems*)
75205f78 305 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
d5ec694c
DD
306 case ${target} in
307 h8300*-*-* | h8500-*-*)
308 noconfigdirs="$noconfigdirs target-libf2c"
309 ;;
310 *) ;;
311 esac
252b5132
RH
312 ;;
313 *-*-vxworks*)
75205f78 314 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
252b5132
RH
315 ;;
316 alpha*-dec-osf*)
e99daf2b
DD
317 # ld works, but does not support shared libraries.
318 # newlib is not 64 bit ready. I'm not sure about fileutils.
252b5132 319 # gas doesn't generate exception information.
e99daf2b 320 noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
252b5132
RH
321 ;;
322 alpha*-*-*vms*)
75205f78
DD
323 noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
324 ;;
325 alpha*-*-linux*)
326 # newlib is not 64 bit ready
327 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
252b5132 328 ;;
ffb97b2f
DD
329 alpha*-*-freebsd*)
330 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
331 ;;
252b5132
RH
332 alpha*-*-*)
333 # newlib is not 64 bit ready
75205f78 334 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
252b5132 335 ;;
75205f78
DD
336 sh-*-linux*)
337 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
75205f78 338 ;;
2fb651f6 339 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
75205f78
DD
340 noconfigdirs="$noconfigdirs ${libgcj}"
341 noconfigdirs="$noconfigdirs target-examples"
ba73c63f 342 noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
2fb651f6
NC
343 noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
344 noconfigdirs="$noconfigdirs expect dejagnu"
345 # the C++ libraries don't build on top of CE's C libraries
ba73c63f 346 noconfigdirs="$noconfigdirs ${libstdcxx_version}"
ae03d6e2 347 noconfigdirs="$noconfigdirs target-newlib"
2fb651f6
NC
348 case "${host}" in
349 *-*-cygwin*) ;; # keep gdb and readline
ba73c63f 350 *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
2fb651f6
NC
351 ;;
352 esac
353 ;;
252b5132 354 arc-*-*)
75205f78 355 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 356 ;;
f03b4789
NN
357 arm-*-coff | strongarm-*-coff | xscale-*-coff)
358 noconfigdirs="$noconfigdirs ${libgcj}"
359 ;;
360 arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
361 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
362 ;;
252b5132 363 arm-*-pe*)
75205f78 364 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 365 ;;
252b5132 366 arm-*-oabi*)
75205f78 367 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 368 ;;
252b5132 369 thumb-*-coff)
75205f78 370 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 371 ;;
252b5132 372 thumb-*-elf)
75205f78 373 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
374 ;;
375 thumb-*-oabi)
75205f78 376 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 377 ;;
347dad9e 378 thumb-*-pe)
75205f78 379 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
380 ;;
381 arm-*-riscix*)
75205f78 382 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
252b5132 383 ;;
c95f53ae
MM
384 avr-*-*)
385 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
386 ;;
ff72e302 387 c4x-*-* | tic4x-*-*)
e3b0c936 388 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
077b8428
NC
389 ;;
390 c54x*-*-* | tic54x-*-*)
75205f78
DD
391 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
392 ;;
393 cris-*-*)
394 noconfigdirs="$noconfigdirs ${libgcj}"
077b8428 395 ;;
252b5132 396 d10v-*-*)
e3b0c936 397 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
252b5132 398 ;;
252b5132 399 d30v-*-*)
75205f78 400 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 401 ;;
252b5132 402 fr30-*-elf*)
75205f78 403 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 404 ;;
d2a86414
DB
405 frv-*-*)
406 noconfigdirs="$noconfigdirs ${libgcj}"
d2a86414 407 ;;
dd1e52a4
JH
408 h8300*-*-*)
409 noconfigdirs="$noconfigdirs target-libgloss"
410 ;;
252b5132 411 h8500-*-*)
e3b0c936 412 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} target-libf2c"
75205f78
DD
413 ;;
414 hppa*64*-*-linux* | parisc*64*-*-linux*)
415 # In this case, it's because the hppa64-linux target is for
416 # the kernel only at this point and has no libc, and thus no
417 # headers, crt*.o, etc., all of which are needed by these.
418 noconfigdirs="$noconfigdirs target-zlib"
252b5132
RH
419 ;;
420 hppa*-*-*elf* | \
75205f78 421 parisc*-*-linux* | hppa*-*-linux* | \
09e90eb4 422 hppa*-*-lites* | \
17240c1f 423 hppa*-*-openbsd* | \
09e90eb4 424 hppa*64*-*-*)
75205f78 425 noconfigdirs="$noconfigdirs ${libgcj}"
ba73c63f 426 # Do configure ld/binutils/gas for this case.
252b5132
RH
427 ;;
428 hppa*-*-*)
b3ed1d6b
AO
429 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
430 # build on HP-UX 10.20.
431 noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
252b5132 432 ;;
2315914d
JW
433 ia64*-*-elf*)
434 # No gdb support yet.
435 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
436 ;;
a0c1c920
NC
437 ia64*-**-hpux*)
438 # No gdb or ld support yet.
439 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
440 ;;
252b5132 441 i[3456]86-*-coff | i[3456]86-*-elf)
75205f78 442 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 443 ;;
ffb97b2f
DD
444 i[34567]86-*-freebsd*)
445 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
446 ;;
c72f388d 447 i[3456]86-*-linux*)
28f46298
HPN
448 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
449 # not build java stuff by default.
450 case "${target}" in
451 *-*-*libc1*)
452 noconfigdirs="$noconfigdirs ${libgcj}";;
453 esac
454
c72f388d
TF
455 # This section makes it possible to build newlib natively on linux.
456 # If we are using a cross compiler then don't configure newlib.
a018e15b 457 if test x${is_cross_compiler} != xno ; then
c72f388d
TF
458 noconfigdirs="$noconfigdirs target-newlib"
459 fi
460 noconfigdirs="$noconfigdirs target-libgloss"
461 # If we are not using a cross compiler, do configure newlib.
462 # Note however, that newlib will only be configured in this situation
463 # if the --with-newlib option has been given, because otherwise
464 # 'target-newlib' will appear in skipdirs.
c72f388d 465 ;;
252b5132
RH
466 i[3456]86-*-mingw32*)
467 target_configdirs="$target_configdirs target-mingw"
b1af961c 468 noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
252b5132
RH
469
470 # Can't build gdb for mingw32 if not native.
471 case "${host}" in
472 i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
473 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
474 ;;
475 esac
476 ;;
477 *-*-cygwin*)
478 target_configdirs="$target_configdirs target-libtermcap target-winsup"
b1af961c 479 noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
252b5132
RH
480 # always build newlib.
481 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
482
483 # Can't build gdb for Cygwin if not native.
484 case "${host}" in
485 *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
486 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
487 ;;
488 esac
489 ;;
490 i[3456]86-*-pe)
e3b0c936 491 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
252b5132
RH
492 ;;
493 i[3456]86-*-sco3.2v5*)
494 # The linker does not yet know about weak symbols in COFF,
495 # and is not configured to handle mixed ELF and COFF.
75205f78 496 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
252b5132
RH
497 ;;
498 i[3456]86-*-sco*)
75205f78 499 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
500 ;;
501 i[3456]86-*-solaris2*)
502 noconfigdirs="$noconfigdirs target-libgloss"
503 ;;
504 i[3456]86-*-sysv4*)
e99daf2b 505 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
506 ;;
507 i[3456]86-*-beos*)
b1af961c 508 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
252b5132 509 ;;
75205f78
DD
510 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
511 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
f9e0997d 512 ;;
75205f78
DD
513 m68k-*-elf*)
514 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
515 ;;
516 m68k-*-coff*)
75205f78 517 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 518 ;;
75205f78
DD
519 mcore-*-pe*)
520 # The EPOC C++ environment does not support exceptions or rtti,
521 # and so building libstdc++-v3 tends not to always work.
522 noconfigdirs="$noconfigdirs target-libstdc++-v3"
523 ;;
524 mmix-*-*)
525 noconfigdirs="$noconfigdirs ${libgcj}"
526 ;;
252b5132 527 mn10200-*-*)
75205f78 528 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
529 ;;
530 mn10300-*-*)
75205f78 531 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
532 ;;
533 powerpc-*-aix*)
534 # copied from rs6000-*-* entry
07637366 535 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
536 ;;
537 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
538 target_configdirs="$target_configdirs target-winsup"
75205f78 539 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
252b5132
RH
540 # always build newlib.
541 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
542 ;;
543 # This is temporary until we can link against shared libraries
544 powerpcle-*-solaris*)
75205f78 545 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
ba73c63f
JM
546 ;;
547 powerpc-*-beos*)
75205f78 548 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
252b5132 549 ;;
c0292023 550 powerpc-*-darwin*)
bbf7c8ac 551 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof ${libgcj}"
c0292023 552 ;;
252b5132 553 powerpc-*-eabi)
75205f78 554 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 555 ;;
574e6d11
DD
556 powerpc64*-*-linux*)
557 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
558 # not yet ported.
559 noconfigdirs="$noconfigdirs target-libffi"
560 ;;
252b5132 561 rs6000-*-lynxos*)
07637366 562 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
252b5132
RH
563 ;;
564 rs6000-*-aix*)
75205f78 565 noconfigdirs="$noconfigdirs gprof ${libgcj}"
252b5132
RH
566 ;;
567 rs6000-*-*)
75205f78 568 noconfigdirs="$noconfigdirs gprof ${libgcj}"
252b5132
RH
569 ;;
570 m68k-apollo-*)
75205f78 571 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
252b5132
RH
572 ;;
573 mips*-*-irix5*)
574 # The GNU linker does not support shared libraries.
e99daf2b 575 noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
252b5132
RH
576 ;;
577 mips*-*-irix6*)
106117aa 578 # The GNU assembler does not support IRIX 6.
b3ed1d6b
AO
579 # Linking libjava exceeds command-line length limits on at least
580 # IRIX 6.2, but not on IRIX 6.5.
581 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
582 # <oldham@codesourcery.com>
e99daf2b 583 noconfigdirs="$noconfigdirs gas gprof target-libgloss ${libgcj}"
252b5132
RH
584 ;;
585 mips*-dec-bsd*)
75205f78 586 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
587 ;;
588 mips*-*-bsd*)
75205f78 589 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
590 ;;
591 mipstx39-*-*)
75205f78 592 noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
252b5132 593 ;;
fad93c55 594 mips*-*-linux*)
574e6d11 595 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
fad93c55 596 ;;
252b5132 597 mips*-*-*)
75205f78 598 noconfigdirs="$noconfigdirs gprof ${libgcj}"
252b5132
RH
599 ;;
600 romp-*-*)
75205f78 601 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
252b5132
RH
602 ;;
603 sh-*-*)
604 case "${host}" in
605 i[3456]86-*-vsta) ;; # don't add gprof back in
606 i[3456]86-*-go32*) ;; # don't add gprof back in
607 i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
608 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
609 esac
75205f78 610 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 611 ;;
20a5393b
AO
612 sh64-*-*)
613 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
614 ;;
252b5132 615 sparc-*-elf*)
d5ec694c 616 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
617 ;;
618 sparc64-*-elf*)
d5ec694c 619 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
620 ;;
621 sparclite-*-*)
75205f78 622 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
623 ;;
624 sparc-*-sunos4*)
75205f78 625 noconfigdirs="$noconfigdirs ${libgcj}"
a0c4f3a0 626 if test x${is_cross_compiler} != xno ; then
c74222f7 627 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
252b5132
RH
628 else
629 use_gnu_ld=no
630 fi
631 ;;
3a036cdc 632 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
b3ed1d6b 633 ;;
252b5132 634 v810-*-*)
75205f78 635 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
252b5132
RH
636 ;;
637 v850-*-*)
75205f78 638 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 639 ;;
347dad9e 640 v850e-*-*)
75205f78 641 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
642 ;;
643 v850ea-*-*)
75205f78 644 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
347dad9e 645 ;;
252b5132 646 vax-*-vms)
75205f78 647 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
252b5132
RH
648 ;;
649 vax-*-*)
75205f78 650 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
96ce09a7 651 ;;
f48556b1
DD
652 ip2k-*-*)
653 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
654 ;;
574e6d11
DD
655 *-*-linux*)
656 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
657 ;;
252b5132 658 *-*-lynxos*)
75205f78 659 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
252b5132 660 ;;
75205f78
DD
661 *-*-*)
662 noconfigdirs="$noconfigdirs ${libgcj}"
663 ;;
252b5132
RH
664esac
665
666# If we aren't building newlib, then don't build libgloss, since libgloss
667# depends upon some newlib header files.
668case "${noconfigdirs}" in
669 *target-libgloss*) ;;
670 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
f48556b1 671esac
252b5132 672
6ee6cea6
AO
673# Figure out what language subdirectories are present.
674# Look if the user specified --enable-languages="..."; if not, use
675# the environment variable $LANGUAGES if defined. $LANGUAGES might
676# go away some day.
922b2485 677# NB: embedded tabs in this IF block -- do not untabify
6ee6cea6
AO
678if test x"${enable_languages+set}" != xset; then
679 if test x"${LANGUAGES+set}" = xset; then
922b2485
DD
680 enable_languages="${LANGUAGES}"
681 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
6ee6cea6
AO
682 else
683 enable_languages=all
684 fi
685else
922b2485
DD
686 if test x"${enable_languages}" = x ||
687 test x"${enable_languages}" = xyes;
688 then
689 echo configure.in: --enable-languages needs at least one language argument 1>&2
6ee6cea6
AO
690 exit 1
691 fi
692fi
922b2485
DD
693enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
694
75205f78
DD
695# First scan to see if an enabled language requires some other language.
696# We assume that a given config-lang.in will list all the language
697# front ends it requires, even if some are required indirectly.
698for lang in ${srcdir}/gcc/*/config-lang.in ..
699do
700 case $lang in
701 ..)
702 ;;
703 # The odd quoting in the next line works around
704 # an apparent bug in bash 1.12 on linux.
705 ${srcdir}/gcc/[*]/config-lang.in)
706 ;;
707 *)
708 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
709 this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
710 for other in $this_lang_requires
711 do
712 case ,${enable_languages}, in
713 *,$other,*)
714 ;;
715 *,all,*)
716 ;;
717 *,$lang_alias,*)
718 echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
719 enable_languages="$enable_languages,$other"
720 ;;
721 esac
722 done
723 ;;
724 esac
725done
726
6ee6cea6
AO
727subdirs=
728for lang in ${srcdir}/gcc/*/config-lang.in ..
729do
730 case $lang in
731 ..) ;;
732 # The odd quoting in the next line works around
733 # an apparent bug in bash 1.12 on linux.
734 ${srcdir}/gcc/[*]/config-lang.in) ;;
735 *)
736 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
737 this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
75205f78 738 this_lang_dirs=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^ ]*\).*$,\1,p' $lang`
6ee6cea6
AO
739 build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
740 if test "x$lang_alias" = x
741 then
742 echo "$lang doesn't set \$language." 1>&2
743 exit 1
744 fi
745 case ${build_by_default},${enable_languages}, in
746 *,$lang_alias,*) add_this_lang=yes ;;
747 no,*) add_this_lang=no ;;
748 *,all,*) add_this_lang=yes ;;
749 *) add_this_lang=no ;;
750 esac
751 if test x"${add_this_lang}" = xyes; then
752 eval target_libs='"$target_libs "'\"$this_lang_libs\"
753 else
75205f78 754 eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
6ee6cea6
AO
755 fi
756 ;;
757 esac
758done
759
252b5132
RH
760# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
761# $target_configdirs.
762# If we have the source for $noconfigdirs entries, add them to $notsupp.
763
764notsupp=""
765for dir in . $skipdirs $noconfigdirs ; do
766 dirname=`echo $dir | sed -e s/target-//g`
a0c4f3a0 767 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
252b5132 768 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
405ea7a0 769 if test -r $srcdir/$dirname/configure ; then
252b5132
RH
770 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
771 true
772 else
773 notsupp="$notsupp $dir"
774 fi
775 fi
776 fi
a0c4f3a0 777 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
252b5132 778 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
405ea7a0 779 if test -r $srcdir/$dirname/configure ; then
252b5132
RH
780 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
781 true
782 else
783 notsupp="$notsupp $dir"
784 fi
785 fi
786 fi
787done
788
789# Sometimes the tools are distributed with libiberty but with no other
790# libraries. In that case, we don't want to build target-libiberty.
a0c4f3a0 791if test -n "${target_configdirs}" ; then
252b5132
RH
792 others=
793 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
a0c4f3a0 794 if test "$i" != "libiberty" ; then
405ea7a0 795 if test -r $srcdir/$i/configure ; then
252b5132
RH
796 others=yes;
797 break;
798 fi
799 fi
800 done
a0c4f3a0 801 if test -z "${others}" ; then
252b5132
RH
802 target_configdirs=
803 fi
804fi
805
f48556b1
DD
806# Deconfigure all subdirectories, in case we are changing the
807# configuration from one where a subdirectory is supported to one where it
808# is not.
809if test -z "${norecursion}" && test -n "${configdirs}" ; then
810 for i in `echo ${configdirs} | sed -e s/target-//g` ; do
811 rm -f $i/Makefile
812 done
813fi
814if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
815 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
816 rm -f ${target_subdir}/$i/Makefile
817 done
818fi
819
820# Quietly strip out all directories which aren't configurable in this tree.
821# This relies on all configurable subdirectories being autoconfiscated, which
822# is now the case.
823configdirs_all="$configdirs"
824configdirs=
825for i in ${configdirs_all} ; do
826 if test -f ${srcdir}/$i/configure ; then
827 configdirs="${configdirs} $i"
828 fi
829done
830target_configdirs_all="$target_configdirs"
831target_configdirs=
832for i in ${target_configdirs_all} ; do
833 j=`echo $i | sed -e s/target-//g`
834 if test -f ${srcdir}/$j/configure ; then
835 target_configdirs="${target_configdirs} $i"
836 fi
837done
838
839# Produce a warning message for the subdirs we can't configure.
840# This isn't especially interesting in the Cygnus tree, but in the individual
841# FSF releases, it's important to let people know when their machine isn't
842# supported by the one or two programs in a package.
843
844if test -n "${notsupp}" && test -z "${norecursion}" ; then
845 # If $appdirs is non-empty, at least one of those directories must still
846 # be configured, or we error out. (E.g., if the gas release supports a
847 # specified target in some subdirs but not the gas subdir, we shouldn't
848 # pretend that all is well.)
849 if test -n "$appdirs" ; then
850 for dir in $appdirs ; do
851 if test -r $dir/Makefile.in ; then
852 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
853 appdirs=""
854 break
855 fi
856 if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
857 appdirs=""
858 break
859 fi
860 fi
861 done
862 if test -n "$appdirs" ; then
863 echo "*** This configuration is not supported by this package." 1>&2
864 exit 1
865 fi
866 fi
867 # Okay, some application will build, or we don't care to check. Still
868 # notify of subdirs not getting built.
869 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
870 echo " ${notsupp}" 1>&2
871 echo " (Any other directories should still work fine.)" 1>&2
872fi
873
874case "$host" in
875 *msdosdjgpp*)
876 enable_gdbtk=no ;;
877esac
f48556b1
DD
878
879copy_dirs=
880
bdc57bfd
JT
881# Handle --with-headers=XXX. If the value is not "yes", the contents of
882# the named directory are copied to $(tooldir)/sys-include.
f48556b1
DD
883if test x"${with_headers}" != x ; then
884 if test x${is_cross_compiler} = xno ; then
885 echo 1>&2 '***' --with-headers is only supported when cross compiling
886 exit 1
887 fi
bdc57bfd
JT
888 if test x"${with_headers}" != xyes ; then
889 case "${exec_prefixoption}" in
890 "") x=${prefix} ;;
891 *) x=${exec_prefix} ;;
892 esac
893 copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
894 fi
f48556b1
DD
895fi
896
bdc57bfd
JT
897# Handle --with-libs=XXX. If the value is not "yes", the contents of
898# the name directories are copied to $(tooldir)/lib. Multiple directories
899# are permitted.
f48556b1
DD
900if test x"${with_libs}" != x ; then
901 if test x${is_cross_compiler} = xno ; then
902 echo 1>&2 '***' --with-libs is only supported when cross compiling
903 exit 1
904 fi
bdc57bfd
JT
905 if test x"${with_libs}" != xyes ; then
906 # Copy the libraries in reverse order, so that files in the first named
907 # library override files in subsequent libraries.
908 case "${exec_prefixoption}" in
909 "") x=${prefix} ;;
910 *) x=${exec_prefix} ;;
911 esac
912 for l in ${with_libs}; do
913 copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
914 done
915 fi
f48556b1
DD
916fi
917
918# Handle ${copy_dirs}
919set fnord ${copy_dirs}
920shift
921while test $# != 0 ; do
922 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
923 :
924 else
925 echo Copying $1 to $2
926
927 # Use the install script to create the directory and all required
928 # parent directories.
929 if test -d $2 ; then
930 :
931 else
932 echo >config.temp
933 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
934 fi
935
936 # Copy the directory, assuming we have tar.
937 # FIXME: Should we use B in the second tar? Not all systems support it.
938 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
939
940 # It is the responsibility of the user to correctly adjust all
941 # symlinks. If somebody can figure out how to handle them correctly
942 # here, feel free to add the code.
943
944 echo $1 > $2/COPIED
945 fi
946 shift; shift
947done
948
949# Work in distributions that contain no compiler tools, like Autoconf.
950tentative_cc=""
951if test -d ${srcdir}/config ; then
952case "${host}" in
953 m68k-hp-hpux*)
954 # Avoid "too much defining" errors from HPUX compiler.
955 tentative_cc="cc -Wp,-H256000"
956 host_makefile_frag="config/mh-hp300"
957 ;;
958 m68k-apollo-sysv*)
959 tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
960 host_makefile_frag="config/mh-apollo68"
961 ;;
962 m68k-apollo-bsd*)
963 #None of the Apollo compilers can compile gas or binutils. The preprocessor
964 # chokes on bfd, the compiler won't let you assign integers to enums, and
965 # other problems. Defining CC to gcc is a questionable way to say "don't use
966 # the apollo compiler" (the preferred version of GCC could be called cc,
967 # or whatever), but I'm not sure leaving CC as cc is any better...
968 #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
969 tentative_cc=gcc
970 host_makefile_frag="config/mh-a68bsd"
971 ;;
972 m88k-dg-dgux*)
973 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
974 host_makefile_frag="config/mh-dgux"
975 ;;
976 m88k-harris-cxux*)
977 # Under CX/UX, we want to tell the compiler to use ANSI mode.
978 tentative_cc="cc -Xa"
979 host_makefile_frag="config/mh-cxux"
980 ;;
981 m88k-motorola-sysv*)
982 host_makefile_frag="config/mh-delta88"
983 ;;
984 mips*-dec-ultrix*)
985 tentative_cc="cc -Wf,-XNg1000"
986 host_makefile_frag="config/mh-decstation"
987 ;;
988 mips*-nec-sysv4*)
989 # The C compiler on NEC MIPS SVR4 needs bigger tables.
990 tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
991 host_makefile_frag="config/mh-necv4"
992 ;;
993 mips*-sgi-irix6*)
994 host_makefile_frag="config/mh-irix6"
995 ;;
996 mips*-sgi-irix5*)
997 host_makefile_frag="config/mh-irix5"
998 ;;
999 mips*-sgi-irix4*)
1000 # Tell compiler to use K&R C. We can't compile under the SGI Ansi
1001 # environment. Also bump switch table size so that cp-parse will
1002 # compile. Bump string length limit so linker builds.
1003 tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
1004 ;;
1005 mips*-sgi-irix3*)
1006 host_makefile_frag="config/mh-sysv"
1007 ;;
1008 mips*-*-sysv4*)
1009 host_makefile_frag="config/mh-sysv4"
1010 ;;
1011 mips*-*-sysv*)
1012 # This is for a MIPS running RISC/os 4.52C.
1013
1014 # This is needed for GDB, but needs to be in the top-level make because
1015 # if a library is compiled with the bsd headers and gets linked with the
1016 # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
1017 # a different size).
1018 # ptrace(2) apparently has problems in the BSD environment. No workaround is
1019 # known except to select the sysv environment. Could we use /proc instead?
1020 # These "sysv environments" and "bsd environments" often end up being a pain.
1021 #
1022 # This is not part of CFLAGS because perhaps not all C compilers have this
1023 # option.
1024 tentative_cc="cc -systype sysv"
1025 host_makefile_frag="config/mh-riscos"
1026 ;;
1027 i370-ibm-opened*)
1028 tentative_cc="c89"
1029 host_makefile_frag="config/mh-openedition"
1030 ;;
1031 i[3456]86-*-sysv5*)
1032 host_makefile_frag="config/mh-sysv5"
1033 ;;
1034 i[3456]86-*-dgux*)
1035 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1036 host_makefile_frag="config/mh-dgux386"
1037 ;;
1038 i[3456]86-ncr-sysv4.3*)
1039 # The MetaWare compiler will generate a copyright message unless you
1040 # turn it off by adding the -Hnocopyr flag.
1041 tentative_cc="cc -Hnocopyr"
1042 host_makefile_frag="config/mh-ncrsvr43"
1043 ;;
1044 i[3456]86-ncr-sysv4*)
1045 # for an NCR 3000 (i486/SVR4) system.
1046 # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
1047 # This compiler not only emits obnoxious copyright messages every time
1048 # you run it, but it chokes and dies on a whole bunch of GNU source
1049 # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
1050 tentative_cc="/usr/ccs/ATT/cc"
1051 host_makefile_frag="config/mh-ncr3000"
1052 ;;
1053 i[3456]86-*-sco3.2v5*)
1054 host_makefile_frag="config/mh-sysv"
1055 ;;
1056 i[3456]86-*-sco*)
1057 # The native C compiler botches some simple uses of const. Unfortunately,
1058 # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
1059 tentative_cc="cc -Dconst="
1060 host_makefile_frag="config/mh-sco"
1061 ;;
1062 i[3456]86-*-udk*)
1063 host_makefile_frag="config/mh-sysv5"
1064 ;;
1065 i[3456]86-*-isc*)
1066 host_makefile_frag="config/mh-sysv"
1067 ;;
1068 i[3456]86-*-solaris2*)
1069 host_makefile_frag="config/mh-sysv4"
1070 ;;
1071 i[3456]86-*-aix*)
1072 host_makefile_frag="config/mh-aix386"
1073 ;;
1074 i[3456]86-*-msdosdjgpp*)
1075 host_makefile_frag="config/mh-djgpp"
1076 ;;
1077 *-cygwin*)
1078 host_makefile_frag="config/mh-cygwin"
1079 ;;
1080 *-mingw32*)
1081 host_makefile_frag="config/mh-mingw32"
1082 ;;
1083 *-interix*)
1084 host_makefile_frag="config/mh-interix"
1085 ;;
1086 vax-*-ultrix2*)
1087 # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1088 tentative_cc=gcc
1089 ;;
1090 *-*-solaris2*)
1091 host_makefile_frag="config/mh-solaris"
1092 ;;
1093 m68k-sun-sunos*)
1094 # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1095 # without overflowing the jump tables (-J says to use a 32 bit table)
1096 tentative_cc="cc -J"
1097 ;;
1098 *-hp-hpux[78]*)
1099 tentative_cc="cc -Wp,-H256000"
1100 host_makefile_frag="config/mh-hpux8"
1101 ;;
1102 *-hp-hpux*)
1103 tentative_cc="cc -Wp,-H256000"
1104 host_makefile_frag="config/mh-hpux"
1105 ;;
1106 *-*-hiux*)
1107 tentative_cc="cc -Wp,-H256000"
1108 host_makefile_frag="config/mh-hpux"
1109 ;;
1110 rs6000-*-lynxos*)
1111 # /bin/cc is less than useful for our purposes. Always use GCC
1112 tentative_cc="/usr/cygnus/progressive/bin/gcc"
1113 host_makefile_frag="config/mh-lynxrs6k"
1114 ;;
1115 *-*-lynxos*)
1116 # /bin/cc is less than useful for our purposes. Always use GCC
1117 tentative_cc="/bin/gcc"
1118 ;;
1119 *-*-sysv4*)
1120 host_makefile_frag="config/mh-sysv4"
1121 ;;
1122 *-*-sysv*)
1123 host_makefile_frag="config/mh-sysv"
1124 ;;
1125esac
1126fi
1127
1128rm -f mh-frag
1129if test -n "${host_makefile_frag}" ; then
1130 for f in ${host_makefile_frag}
1131 do
1132 cat ${srcdir}/$f >> mh-frag
252b5132 1133 done
f48556b1 1134 host_makefile_frag=mh-frag
252b5132 1135fi
f48556b1 1136
874e38b4
NN
1137extra_arflags_for_target=
1138extra_nmflags_for_target=
f48556b1 1139case "${target}" in
f48556b1 1140 i[3456]86-*-netware*)
b6f83f2a 1141 target_makefile_frag="config/mt-netware"
f48556b1
DD
1142 ;;
1143 powerpc-*-netware*)
b6f83f2a 1144 target_makefile_frag="config/mt-netware"
f48556b1
DD
1145 ;;
1146 *-*-linux*)
b6f83f2a 1147 target_makefile_frag="config/mt-linux"
f48556b1
DD
1148 ;;
1149 *-*-aix4.[3456789]* | *-*-aix[56789].*)
874e38b4
NN
1150 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
1151 # commands to handle both 32-bit and 64-bit objects. These flags are
1152 # harmless if we're using GNU nm or ar.
1153 extra_arflags_for_target=" -X32_64"
1154 extra_nmflags_for_target=" -B -X32_64"
f48556b1
DD
1155 ;;
1156 mips*-*-pe | sh*-*-pe | *arm-wince-pe)
b6f83f2a
DD
1157 target_makefile_frag="config/mt-wince"
1158 ;;
1159esac
1160
1161alphaieee_frag=
1162case $target in
1163 alpha*-*-*)
1164 # This just makes sure to use the -mieee option to build target libs.
1165 # This should probably be set individually by each library.
1166 alphaieee_frag="config/mt-alphaieee"
f48556b1
DD
1167 ;;
1168esac
a0a2c6c6 1169
f48556b1
DD
1170# If --enable-target-optspace always use -Os instead of -O2 to build
1171# the target libraries, similarly if it is not specified, use -Os
1172# on selected platforms.
b6f83f2a 1173ospace_frag=
f48556b1
DD
1174case "${enable_target_optspace}:${target}" in
1175 yes:*)
b6f83f2a 1176 ospace_frag="config/mt-ospace"
f48556b1
DD
1177 ;;
1178 :d30v-*)
b6f83f2a 1179 ospace_frag="config/mt-d30v"
f48556b1
DD
1180 ;;
1181 :m32r-* | :d10v-* | :fr30-*)
b6f83f2a 1182 ospace_frag="config/mt-ospace"
f48556b1
DD
1183 ;;
1184 no:* | :*)
1185 ;;
1186 *)
1187 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1188 ;;
1189esac
252b5132 1190
f48556b1 1191rm -f mt-frag
b6f83f2a
DD
1192if test -n "${target_makefile_frag}${alphaieee_frag}${ospace_frag}" ; then
1193 for f in ${target_makefile_frag} ${alphaieee_frag} ${ospace_frag}
f48556b1
DD
1194 do
1195 cat ${srcdir}/$f >> mt-frag
1196 done
1197 target_makefile_frag=mt-frag
252b5132
RH
1198fi
1199
1200# Set with_gnu_as and with_gnu_ld as appropriate.
1201#
1202# This is done by determining whether or not the appropriate directory
1203# is available, and by checking whether or not specific configurations
1204# have requested that this magic not happen.
1205#
1206# The command line options always override the explicit settings in
1207# configure.in, and the settings in configure.in override this magic.
1208#
1209# If the default for a toolchain is to use GNU as and ld, and you don't
1210# want to do that, then you should use the --without-gnu-as and
1211# --without-gnu-ld options for the configure script.
1212
f48556b1
DD
1213if test x${use_gnu_as} = x &&
1214 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1215 with_gnu_as=yes
ae831be5 1216 extra_host_args="$extra_host_args --with-gnu-as"
252b5132
RH
1217fi
1218
f48556b1
DD
1219if test x${use_gnu_ld} = x &&
1220 echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1221 with_gnu_ld=yes
ae831be5 1222 extra_host_args="$extra_host_args --with-gnu-ld"
252b5132
RH
1223fi
1224
ae831be5 1225# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
252b5132
RH
1226# can detect this case.
1227
f48556b1 1228if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
252b5132 1229 with_newlib=yes
ae831be5 1230 extra_host_args="$extra_host_args --with-newlib"
252b5132
RH
1231fi
1232
f48556b1
DD
1233# We default to --with-shared on platforms where -fpic is meaningless.
1234# Well, we don't yet, but we will.
1235if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
1236 case "${target}" in
1237 alpha*-dec-osf*) enable_shared=yes ;;
1238 alpha*-*-linux*) enable_shared=yes ;;
1239 mips-sgi-irix5*) enable_shared=yes ;;
1240 *) enable_shared=no ;;
1241 esac
252b5132
RH
1242fi
1243
f48556b1
DD
1244case "${enable_shared}" in
1245 yes) shared=yes ;;
1246 no) shared=no ;;
1247 "") shared=no ;;
1248 *) shared=yes ;;
c92a0210 1249esac
f48556b1
DD
1250
1251
1252# Default to using --with-stabs for certain targets.
1253if test x${with_stabs} = x ; then
1254 case "${target}" in
d7cf5d30
DD
1255 mips*-*-irix6*o32)
1256 with_stabs=yes;
ae831be5 1257 extra_host_args="${extra_host_args} --with-stabs"
d7cf5d30 1258 ;;
f48556b1
DD
1259 mips*-*-irix6*)
1260 ;;
1261 mips*-*-* | alpha*-*-osf*)
1262 with_stabs=yes;
ae831be5 1263 extra_host_args="${extra_host_args} --with-stabs"
f48556b1
DD
1264 ;;
1265 esac
1266fi
1267
1268# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
1269# them automatically.
1270case "${host}" in
1271 hppa*64*-*-hpux11*)
ae831be5 1272 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
f48556b1 1273 ;;
c92a0210
DD
1274esac
1275
ae831be5
NN
1276# This will go away when we start subconfigures from the Makefile.
1277withoptions="${withoptions} ${extra_host_args}"
1278
227d98f5
NN
1279# If we aren't going to be using gcc, see if we can extract a definition
1280# of CC from the fragment.
1281# Actually, use the 'pre-extracted' version above.
1282if test -z "${CC}" && test "${build}" = "${host}" ; then
1283 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
1284 found=
1285 for dir in $PATH; do
1286 test -z "$dir" && dir=.
1287 if test -f $dir/gcc; then
1288 found=yes
1289 break
1290 fi
1291 done
1292 IFS="$save_ifs"
1293 if test -z "${found}" && test -n "${tentative_cc}" ; then
1294 CC=$tentative_cc
1295 fi
1296fi
1297
252b5132
RH
1298# post-target:
1299
1300# Make sure that the compiler is able to generate an executable. If it
1301# can't, we are probably in trouble. We don't care whether we can run the
1302# executable--we might be using a cross compiler--we only care whether it
1303# can be created. At this point the main configure script has set CC.
a0c4f3a0 1304we_are_ok=no
252b5132
RH
1305echo "int main () { return 0; }" > conftest.c
1306${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
a0c4f3a0
DD
1307if test $? = 0 ; then
1308 if test -s conftest || test -s conftest.exe ; then
1309 we_are_ok=yes
1310 fi
1311fi
1312case $we_are_ok in
1313 no)
1314 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1315 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1316 rm -f conftest*
1317 exit 1
1318 ;;
1319esac
252b5132
RH
1320rm -f conftest*
1321
1322# The Solaris /usr/ucb/cc compiler does not appear to work.
1323case "${host}" in
1324 sparc-sun-solaris2*)
1325 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
a0c4f3a0 1326 if test "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr/ucb/cc" ; then
252b5132 1327 could_use=
a0c4f3a0
DD
1328 test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
1329 if test -d /opt/cygnus/bin ; then
1330 if test "$could_use" = "" ; then
252b5132
RH
1331 could_use="/opt/cygnus/bin"
1332 else
1333 could_use="$could_use or /opt/cygnus/bin"
1334 fi
1335 fi
a0c4f3a0 1336 if test "$could_use" = "" ; then
252b5132
RH
1337 echo "Warning: compilation may fail because you're using"
1338 echo "/usr/ucb/cc. You should change your PATH or CC "
1339 echo "variable and rerun configure."
1340 else
1341 echo "Warning: compilation may fail because you're using"
1342 echo "/usr/ucb/cc, when you should use the C compiler from"
1343 echo "$could_use. You should change your"
1344 echo "PATH or CC variable and rerun configure."
1345 fi
1346 fi
1347 ;;
1348esac
1349
1350# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1351# binutils tools will find libbfd.so.
a0c4f3a0 1352if test "${shared}" = "yes" ; then
8607b6c9
NN
1353 SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)"
1354else
1355 SET_LIB_PATH=
252b5132 1356fi
8607b6c9
NN
1357sed -e "s/@SET_LIB_PATH@/${SET_LIB_PATH}/" Makefile > Makefile.tem
1358rm -f Makefile
1359mv -f Makefile.tem Makefile
1360
1361
1362case "${host}" in
1363 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1364 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1365esac
1366sed -e "s/@RPATH_ENVVAR@/${RPATH_ENVVAR}/" Makefile > Makefile.tem
1367rm -f Makefile
1368mv -f Makefile.tem Makefile
1369
3866be5d
NN
1370# Record target_configdirs and the configure arguments for target and
1371# build configuration in Makefile.
1372target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1373
1374# This is the final value for target_configdirs. configdirs already
1375# has its final value. It's time to create some lists of valid targets.
930314a4
NN
1376
1377all_build_modules=
1378configure_build_modules=
1379# Only make build modules if build != host.
1380# This should be done more generally, but at the moment it doesn't matter.
1381if test ${host_alias} != ${build_alias} ; then
1382 all_build_modules=all-build-libiberty
1383 configure_build_modules=configure-build-libiberty
1384fi
1385
3866be5d
NN
1386all_host_modules=
1387check_host_modules=
1388install_host_modules=
930314a4 1389configure_host_modules=
3866be5d
NN
1390for module in ${configdirs} ; do
1391 all_host_modules="${all_host_modules} all-${module}"
1392 check_host_modules="${check_host_modules} check-${module}"
1393 install_host_modules="${install_host_modules} install-${module}"
930314a4 1394 configure_host_modules="${configure_host_modules} configure-${module}"
3866be5d
NN
1395done
1396install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
1397
1398all_target_modules=
1399check_target_modules=
1400install_target_modules=
930314a4 1401configure_target_modules=
3866be5d
NN
1402for module in ${target_configdirs} ; do
1403 all_target_modules="${all_target_modules} all-target-${module}"
1404 check_target_modules="${check_target_modules} check-target-${module}"
1405 install_target_modules="${install_target_modules} install-target-${module}"
930314a4 1406 configure_target_modules="${configure_target_modules} configure-target-${module}"
3866be5d 1407done
252b5132 1408
930314a4
NN
1409# Determine whether gdb needs tk/tcl or not.
1410# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
1411# and in that case we want gdb to be built without tk. Ugh!
1412# In fact I believe gdb is the *only* package directly dependent on tk,
1413# so we should be able to put the 'maybe's in unconditionally and
1414# leave out the maybe dependencies when enable_gdbtk is false. I'm not
1415# 100% sure that that's safe though.
1416case "$enable_gdbtk" in
1417 no)
1418 GDB_TK="" ;;
1419 *)
1420 GDB_TK="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" ;;
1421esac
1422
1423# Create the 'maybe dependencies'. This uses a temporary file.
1424rm -f maybedep.tmp
1425for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
1426 ${install_host_modules} ${install_target_modules} \
1427 ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
1428 ; do
1429 echo "maybe-${item}: ${item}" >> maybedep.tmp
1430done
1431sed -e '/@maybe_dependencies@/r maybedep.tmp' \
1432 -e 's/@maybe_dependencies@//' Makefile > Makefile.tem
1433rm -f Makefile
1434mv -f Makefile.tem Makefile
1435rm -f maybedep.tmp
1436
91e060aa
DD
1437# Base args. Strip norecursion, cache-file, srcdir, host, build, target.
1438# These are the ones we might not want to pass down to subconfigures.
1439baseargs=`echo "${arguments}" | \
252b5132
RH
1440 sed -e 's/--no[^ ]*//' \
1441 -e 's/--cache[a-z-]*=[^ ]*//' \
91e060aa 1442 -e 's/--sr[a-z-]*=[^ ]*//' \
252b5132
RH
1443 -e 's/--ho[a-z-]*=[^ ]*//' \
1444 -e 's/--bu[a-z-]*=[^ ]*//' \
1445 -e 's/--ta[a-z-]*=[^ ]*//'`
1446
49b7683b
DD
1447# For the build-side libraries, we just need to pretend we're native,
1448# and not use the same cache file. Multilibs are neither needed nor
1449# desired.
91e060aa
DD
1450buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
1451
ae831be5
NN
1452# For host modules, accept cache file option, or specification as blank.
1453case "${cache_file}" in
1454"") # empty
1455 cache_file_option="" ;;
1456/* | [A-Za-z]:[\\/]* ) # absolute path
1457 cache_file_option="--cache-file=${cache_file}" ;;
1458*) # relative path
1459 cache_file_option="--cache-file=../${cache_file}" ;;
1460esac
1461
1462hostargs="${cache_file_option} ${buildopt} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
1463
91e060aa 1464targargs=${baseargs}
49b7683b 1465
252b5132
RH
1466# Passing a --with-cross-host argument lets the target libraries know
1467# whether they are being built with a cross-compiler or being built
1468# native. However, it would be better to use other mechanisms to make the
1469# sorts of decisions they want to make on this basis. Please consider
1470# this option to be deprecated. FIXME.
a0c4f3a0 1471if test x${is_cross_compiler} = xyes ; then
252b5132
RH
1472 targargs="--with-cross-host=${host_alias} ${targargs}"
1473fi
1474
1475# Default to --enable-multilib.
a0c4f3a0 1476if test x${enable_multilib} = x ; then
252b5132
RH
1477 targargs="--enable-multilib ${targargs}"
1478fi
1479
1480# Pass --with-newlib if appropriate. Note that target_configdirs has
1481# changed from the earlier setting of with_newlib.
a0c4f3a0 1482if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
252b5132
RH
1483 targargs="--with-newlib ${targargs}"
1484fi
1485
49b7683b
DD
1486# Pass the appropriate --host, --build, and --cache-file arguments.
1487targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"
1488
252b5132
RH
1489# provide a proper gxx_include_dir.
1490# Note, if you change the default, make sure to fix both here and in
75205f78 1491# the gcc and libstdc++-v3 subdirectories.
252b5132
RH
1492# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
1493gxx_include_dir=
1494if test -n "${with_gxx_include_dir}"; then
1495 case "${with_gxx_include_dir}" in
1496 yes )
1497 echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
1498 exit 1
1499 ;;
1500 no )
1501 ;;
1502 * )
1503 gxx_include_dir=${with_gxx_include_dir}
1504 ;;
1505 esac
1506fi
1507if test x${gxx_include_dir} = x; then
1508 if test x${enable_version_specific_runtime_libs} = xyes; then
edd1b227 1509 gxx_include_dir='${libsubdir}/include/c++'
252b5132 1510 else
4d5fd396 1511 . ${srcdir}/config.if
75205f78 1512 gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
252b5132
RH
1513 fi
1514else
1515 gxx_include_dir=${gxx_include_dir}
1516fi
1517
9e449d3e 1518FLAGS_FOR_TARGET=
7c1f909c 1519case " $target_configdirs " in
75205f78
DD
1520 *" newlib "*)
1521 case " $targargs " in
1522 *" --with-newlib "*)
9e449d3e 1523 case "$target" in
63266560 1524 *-cygwin*)
9e449d3e
AO
1525 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;;
1526 esac
1527
7450026c 1528 # If we're not building GCC, don't discard standard headers.
4d5fd396 1529 if test -d ${srcdir}/gcc; then
63266560 1530 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
7450026c
AO
1531
1532 if test "${build}" != "${host}"; then
1533 # On Canadian crosses, CC_FOR_TARGET will have already been set
1534 # by `configure', so we won't have an opportunity to add -Bgcc/
1535 # to it. This is right: we don't want to search that directory
1536 # for binaries, but we want the header files in there, so add
1537 # them explicitly.
1538 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1539
1540 # Someone might think of using the pre-installed headers on
1541 # Canadian crosses, in case the installed compiler is not fully
1542 # compatible with the compiler being built. In this case, it
1543 # would be better to flag an error than risking having
1544 # incompatible object files being constructed. We can't
1545 # guarantee that an error will be flagged, but let's hope the
1546 # compiler will do it, when presented with incompatible header
1547 # files.
1548 fi
63266560
DD
1549 fi
1550
0a0d0041 1551 case "${target}-${is_cross_compiler}" in
c72f388d 1552 i[3456]86-*-linux*-no)
0a0d0041
TF
1553 # Here host == target, so we don't need to build gcc,
1554 # so we don't want to discard standard headers.
1555 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
0a0d0041
TF
1556 ;;
1557 *)
1558 # If we're building newlib, use its generic headers last, but search
1559 # for any libc-related directories first (so make it the last -B
1560 # switch).
1561 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
1562 ;;
1563 esac
9e449d3e 1564 ;;
75205f78
DD
1565 esac
1566 ;;
9e449d3e 1567esac
63266560
DD
1568
1569# On Canadian crosses, we'll be searching the right directories for
1570# the previously-installed cross compiler, so don't bother to add
1571# flags for directories within the install tree of the compiler
1572# being built; programs in there won't even run.
4d5fd396 1573if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
9e449d3e
AO
1574 # Search for pre-installed headers if nothing else fits.
1575 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
1576fi
63266560 1577
7c1f909c 1578if test "x${use_gnu_ld}" = x &&
f48556b1 1579 echo " ${configdirs} " | grep " ld " > /dev/null ; then
9e449d3e
AO
1580 # Arrange for us to find uninstalled linker scripts.
1581 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
1582fi
1583
63266560
DD
1584if test "x${CC_FOR_TARGET+set}" = xset; then
1585 :
4d5fd396 1586elif test -d ${srcdir}/gcc; then
98fbe43f 1587 CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
9e449d3e
AO
1588elif test "$host" = "$target"; then
1589 CC_FOR_TARGET='$(CC)'
1590else
1591 CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
1592fi
63266560
DD
1593# On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,
1594# if Makefile exists. Prevent $(FLAGS_FOR_TARGET) from being duplicated.
1595case $CC_FOR_TARGET in
1596*' $(FLAGS_FOR_TARGET)') ;;
1597*) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1598esac
9e449d3e 1599
75205f78
DD
1600if test "x${GCJ_FOR_TARGET+set}" = xset; then
1601 :
4d5fd396 1602elif test -d ${srcdir}/gcc; then
75205f78
DD
1603 GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
1604elif test "$host" = "$target"; then
1605 GCJ_FOR_TARGET='gcj'
1606else
1607 GCJ_FOR_TARGET=`echo gcj | sed -e 's/x/x/' ${program_transform_name}`
1608fi
1609case $GCJ_FOR_TARGET in
1610*' $(FLAGS_FOR_TARGET)') ;;
1611*) GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1612esac
1613
8ee424c0 1614# Don't use libstdc++-v3's flags to configure/build itself.
930314a4
NN
1615libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
1616raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
8ee424c0 1617
63266560
DD
1618if test "x${CXX_FOR_TARGET+set}" = xset; then
1619 :
4d5fd396 1620elif test -d ${srcdir}/gcc; then
2e8357fc
AO
1621 # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
1622 # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
1623 # default whereas gcc does not.
930314a4
NN
1624 # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
1625 # all other cases.
1626 CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
1627 RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
9e449d3e
AO
1628elif test "$host" = "$target"; then
1629 CXX_FOR_TARGET='$(CXX)'
930314a4 1630 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
9e449d3e
AO
1631else
1632 CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
930314a4 1633 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
9e449d3e 1634fi
63266560
DD
1635case $CXX_FOR_TARGET in
1636*' $(FLAGS_FOR_TARGET)') ;;
1637*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1638esac
930314a4
NN
1639case $RAW_CXX_FOR_TARGET in
1640*' $(FLAGS_FOR_TARGET)') ;;
1641*) RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1642esac
1643
dec0cb0c 1644qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
930314a4 1645qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
dec0cb0c
AO
1646
1647# We want to defer the evaluation of `cmd`s and shell variables in
1648# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
1649# bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
1650# quotes, but we still have to duplicate `$'s so that shell variables
1651# can be expanded by the nested make as shell variables, not as make
1652# macros.
1653qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
930314a4 1654qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
9e449d3e 1655
15723a45
NN
1656# BASE_CC_FOR_TARGET is the actual program file of CC_FOR_TARGET,
1657# for use in dependencies. Replace $$r with a relative
1658# path if it's present.
1659set dummy $CC_FOR_TARGET; cc_for_target_first_word=$2
1660BASE_CC_FOR_TARGET=`echo "$cc_for_target_first_word" | sed -e 's,[$][$]r,.,'`
1661
75205f78
DD
1662sedtemp=sed.$$
1663cat >$sedtemp <<EOF
930314a4
NN
1664s%@GDB_TK@%${GDB_TK}%
1665s%@all_build_modules@%${all_build_modules}%
1666s%@configure_build_modules@%${configure_build_modules}%
3866be5d
NN
1667s%@all_host_modules@%${all_host_modules}%
1668s%@check_host_modules@%${check_host_modules}%
1669s%@install_host_modules@%${install_host_modules}%
1670s%@install_host_modules_nogcc@%${install_host_modules_nogcc}%
1671s%@all_target_modules@%${all_target_modules}%
1672s%@check_target_modules@%${check_target_modules}%
1673s%@install_target_modules@%${install_target_modules}%
58daee98
NN
1674s:@target_configdirs@:${target_configdirs}:
1675s%@target_configargs@%${targargs}%
1676s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
1677s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
15723a45 1678s%@BASE_CC_FOR_TARGET@%${BASE_CC_FOR_TARGET}%
58daee98
NN
1679s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
1680s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
930314a4 1681s%@RAW_CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}%
58daee98 1682s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
930314a4 1683s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}%
58daee98
NN
1684s%@target_subdir@%${target_subdir}%
1685s%@build_subdir@%${build_subdir}%
1686s%@build_configargs@%${buildargs}%
1687s%@gxx_include_dir@%${gxx_include_dir}%
ae831be5 1688s%@host_configargs@%${hostargs}%
75205f78
DD
1689EOF
1690sed -f $sedtemp Makefile > Makefile.tem
1691rm -f Makefile $sedtemp
252b5132
RH
1692mv -f Makefile.tem Makefile
1693
1694#
This page took 0.23107 seconds and 4 git commands to generate.