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