]> git.ipfire.org Git - thirdparty/gcc.git/blame - configure.ac
configure.ac: Check for lang_requires_boot_languages in config-lang.in files.
[thirdparty/gcc.git] / configure.ac
CommitLineData
beeaf216 1# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
8927b7c0
RO
2# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
3# Free Software Foundation, Inc.
6599da04
JM
4#
5# This file is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License as published by
309c24a9 7# the Free Software Foundation; either version 3 of the License, or
6599da04
JM
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful, but
11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
309c24a9
JJ
16# along with this program; see the file COPYING3. If not see
17# <http://www.gnu.org/licenses/>.
6599da04
JM
18
19##############################################################################
671aa708
NN
20### WARNING: this file contains embedded tabs. Do not run untabify on this file.
21
7142fb32
PB
22m4_include(config/acx.m4)
23m4_include(config/override.m4)
38d24731 24m4_include(config/proginstall.m4)
7413962d 25m4_include(config/elf.m4)
592c90ff
KG
26m4_include([libtool.m4])
27m4_include([ltoptions.m4])
28m4_include([ltsugar.m4])
29m4_include([ltversion.m4])
30m4_include([lt~obsolete.m4])
d32ef397 31m4_include([config/cloog.m4])
ad6717df 32
671aa708 33AC_INIT(move-if-change)
df58e648 34AC_PREREQ(2.64)
0115d4a3 35AC_DISABLE_OPTION_CHECKING
1c710c3c 36
ad33ff57
RW
37progname=$0
38# if PWD already has a value, it is probably wrong.
39if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
40
41# Export original configure arguments for use by sub-configures.
42# Quote arguments with shell meta charatcers.
43TOPLEVEL_CONFIGURE_ARGUMENTS=
44set -- "$progname" "$@"
45for ac_arg
46do
47 case "$ac_arg" in
48 *" "*|*" "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
49 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
50 # if the argument is of the form -foo=baz, quote the baz part only
51 ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
52 *) ;;
53 esac
54 # Add the quoted argument to the list.
55 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
56done
57if test "$silent" = yes; then
58 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
59fi
60# Remove the initial space we just introduced and, as these will be
61# expanded by make, quote '$'.
62TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
63AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
64
1c710c3c
DJ
65# Find the build, host, and target systems.
66ACX_NONCANONICAL_BUILD
67ACX_NONCANONICAL_HOST
68ACX_NONCANONICAL_TARGET
69
70dnl Autoconf 2.5x and later will set a default program prefix if
71dnl --target was used, even if it was the same as --host. Disable
72dnl that behavior. This must be done before AC_CANONICAL_SYSTEM
73dnl to take effect.
74test "$host_noncanonical" = "$target_noncanonical" &&
75 test "$program_prefix$program_suffix$program_transform_name" = \
76 NONENONEs,x,x, &&
77 program_transform_name=s,y,y,
78
671aa708
NN
79AC_CANONICAL_SYSTEM
80AC_ARG_PROGRAM
81
1c710c3c 82m4_pattern_allow([^AS_FOR_TARGET$])dnl
0999159b 83m4_pattern_allow([^AS_FOR_BUILD$])dnl
1c710c3c 84
775956d0
NN
85# Get 'install' or 'install-sh' and its variants.
86AC_PROG_INSTALL
ad6717df 87ACX_PROG_LN
148907ea 88AC_PROG_LN_S
87264276
PB
89AC_PROG_SED
90AC_PROG_AWK
775956d0 91
671aa708
NN
92### we might need to use some other shell than /bin/sh for running subshells
93### If we are on Windows, search for the shell. This will permit people
94### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
95### without also having to set CONFIG_SHELL. This code will work when
96### using bash, which sets OSTYPE.
97case "${OSTYPE}" in
98*win32*)
99 if test x${CONFIG_SHELL} = x ; then
100 if test ! -f /bin/sh ; then
101 if test x${SHELL} != x && test -f ${SHELL} ; then
102 CONFIG_SHELL=${SHELL}
103 export CONFIG_SHELL
104 else
105 for prog in sh sh.exe bash bash.exe; do
106 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
107 for dir in $PATH; do
108 test -z "$dir" && dir=.
109 if test -f $dir/$prog; then
110 CONFIG_SHELL=$dir/$prog
111 export CONFIG_SHELL
112 break
113 fi
114 done
115 IFS="$save_ifs"
116 test -n "${CONFIG_SHELL}" && break
117 done
118 fi
119 fi
120 fi
121 ;;
122esac
123
124config_shell=${CONFIG_SHELL-/bin/sh}
125
671aa708
NN
126moveifchange=${srcdir}/move-if-change
127
fc45f3fe
DJ
128srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
129
130# We pass INSTALL explicitly to sub-makes. Make sure that it is not
131# a relative path.
132if test "$INSTALL" = "${srcdir}/install-sh -c"; then
133 INSTALL="${srcpwd}/install-sh -c"
134fi
135
671aa708
NN
136# Set srcdir to "." if that's what it is.
137# This is important for multilib support.
138pwd=`${PWDCMD-pwd}`
671aa708
NN
139if test "${pwd}" = "${srcpwd}" ; then
140 srcdir=.
141fi
142
143topsrcdir=$srcpwd
6599da04 144
4977bab6 145extra_host_args=
afabd8e6 146
6599da04
JM
147### To add a new directory to the tree, first choose whether it is a target
148### or a host dependent tool. Then put it into the appropriate list
4977bab6
ZW
149### (library or tools, host or target), doing a dependency sort.
150
151# Subdirs will be configured in the order listed in build_configdirs,
152# configdirs, or target_configdirs; see the serialization section below.
153
154# Dependency sorting is only needed when *configuration* must be done in
155# a particular order. In all cases a dependency should be specified in
156# the Makefile, whether or not it's implicitly specified here.
6599da04 157
4977bab6
ZW
158# Double entries in build_configdirs, configdirs, or target_configdirs may
159# cause circular dependencies and break everything horribly.
6599da04 160
23f6b2f9
PB
161# these library is used by various programs built for the build
162# environment
163#
164build_libs="build-libiberty"
165
166# these tools are built for the build environment
71b5d516 167build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
23f6b2f9 168
6599da04
JM
169# these libraries are used by various programs built for the host environment
170#
f61428ed 171host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv"
6599da04 172
6599da04
JM
173# these tools are built for the host environment
174# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
175# know that we are building the simulator.
4977bab6
ZW
176# binutils, gas and ld appear in that order because it makes sense to run
177# "make check" in that particular order.
38e3d868 178# If --enable-gold is used, "gold" may replace "ld".
8c32c9f0 179host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
5d4a5ee6 180
7743113b
AG
181# libgcj represents the runtime libraries only used by gcj.
182libgcj="target-libffi \
7743113b
AG
183 target-zlib \
184 target-qthreads \
185 target-libjava"
186
6599da04
JM
187# these libraries are built for the target environment, and are built after
188# the host libraries and the host tools (which may be a cross compiler)
189#
291f172e
DJ
190target_libraries="target-libgcc \
191 target-libiberty \
5d4a5ee6
JL
192 target-libgloss \
193 target-newlib \
6d3b5aea 194 target-libgomp \
cb543528 195 target-libstdc++-v3 \
6de9cd9a 196 target-libmudflap \
77008252 197 target-libssp \
1ec601bf 198 target-libquadmath \
6de9cd9a 199 target-libgfortran \
7cd0cf9c 200 target-boehm-gc \
77d187bc 201 ${libgcj} \
d9cdb878 202 target-libobjc \
6d3b5aea 203 target-libada"
6599da04 204
4dbda6f0
NN
205# these tools are built using the target libraries, and are intended to
206# run only in the target environment
6599da04 207#
4dbda6f0 208# note: any program that *uses* libraries that are in the "target_libraries"
6599da04
JM
209# list belongs in this list. those programs are also very likely
210# candidates for the "native_only" list which follows
211#
97286f7f 212target_tools="target-examples target-groff target-gperf target-rda"
6599da04
JM
213
214################################################################################
215
6599da04
JM
216## All tools belong in one of the four categories, and are assigned above
217## We assign ${configdirs} this way to remove all embedded newlines. This
218## is important because configure will choke if they ever get through.
219## ${configdirs} is directories we build using the host tools.
220## ${target_configdirs} is directories we build using the target tools.
6599da04 221configdirs=`echo ${host_libs} ${host_tools}`
4dbda6f0 222target_configdirs=`echo ${target_libraries} ${target_tools}`
71b5d516 223build_configdirs=`echo ${build_libs} ${build_tools}`
8b87bb96 224
ac9e6043 225m4_divert_text([PARSE_ARGS],
87841584
AM
226[case $srcdir in
227 *" "*)
228m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
229 AC_MSG_ERROR([path to source, $srcdir, contains spaces])
230m4_popdef([AS_MESSAGE_LOG_FD])dnl
231 ;;
232esac
233ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
ac9e6043
RW
234])
235
6599da04
JM
236################################################################################
237
6599da04
JM
238srcname="gnu development package"
239
240# This gets set non-empty for some net releases of packages.
241appdirs=""
242
e1848dde
NN
243# Define is_cross_compiler to save on calls to 'test'.
244is_cross_compiler=
245if test x"${host}" = x"${target}" ; then
246 is_cross_compiler=no
247else
248 is_cross_compiler=yes
249fi
250
b4acb5ef 251# Find the build and target subdir names.
8b87bb96 252GCC_TOPLEV_SUBDIRS
0db770bd
RW
253# Be sure to cover against remnants of an in-tree build.
254if test $srcdir != . && test -d $srcdir/host-${host_noncanonical}; then
255 AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
256Use a pristine source tree when building in a separate tree])
257fi
f653f0ab 258
55380b08
NN
259# Skipdirs are removed silently.
260skipdirs=
261# Noconfigdirs are removed loudly.
262noconfigdirs=""
6599da04 263
55380b08
NN
264use_gnu_ld=
265# Make sure we don't let GNU ld be added if we didn't want it.
266if test x$with_gnu_ld = xno ; then
267 use_gnu_ld=no
5afab7ad 268 noconfigdirs="$noconfigdirs ld gold"
6599da04
JM
269fi
270
55380b08
NN
271use_gnu_as=
272# Make sure we don't let GNU as be added if we didn't want it.
273if test x$with_gnu_as = xno ; then
274 use_gnu_as=no
275 noconfigdirs="$noconfigdirs gas"
6599da04
JM
276fi
277
d7f09764
DN
278use_included_zlib=
279# Make sure we don't let ZLIB be added if we didn't want it.
280if test x$with_system_zlib = xyes ; then
281 use_included_zlib=no
282 noconfigdirs="$noconfigdirs zlib"
283fi
284
55380b08
NN
285# some tools are so dependent upon X11 that if we're not building with X,
286# it's not even worth trying to configure, much less build, that tool.
6599da04 287
55380b08
NN
288case ${with_x} in
289 yes | "") ;; # the default value for this tree is that X11 is available
423ce3eb 290 no)
b4f96efe 291 skipdirs="${skipdirs} tk itcl libgui"
423ce3eb
NN
292 # We won't be able to build gdbtk without X.
293 enable_gdbtk=no
294 ;;
55380b08
NN
295 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
296esac
6599da04 297
55380b08 298# Some tools are only suitable for building in a "native" situation.
95ddd785 299# Remove these if host!=target.
9e299237 300native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
95ddd785
NN
301
302# Similarly, some are only suitable for cross toolchains.
303# Remove these if host=target.
304cross_only="target-libgloss target-newlib target-opcodes"
6599da04 305
55380b08
NN
306case $is_cross_compiler in
307 no) skipdirs="${skipdirs} ${cross_only}" ;;
308 yes) skipdirs="${skipdirs} ${native_only}" ;;
309esac
6599da04 310
0c639b89
DD
311# If both --with-headers and --with-libs are specified, default to
312# --without-newlib.
9082a750
MR
313if test x"${with_headers}" != x && test x"${with_headers}" != xno \
314 && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
0c639b89
DD
315 if test x"${with_newlib}" = x ; then
316 with_newlib=no
317 fi
318fi
319
320# Recognize --with-newlib/--without-newlib.
321case ${with_newlib} in
322 no) skipdirs="${skipdirs} target-newlib" ;;
323 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
324esac
325
5afab7ad 326# Handle --enable-gold.
38e3d868
RM
327# --enable-gold Build only gold
328# --disable-gold [default] Build only ld
329# --enable-gold=both Build both gold and ld, ld is default
330# --enable-gold=both/ld Same
331# --enable-gold=both/gold Build both gold and ld, gold is default, ld is renamed ld.bfd
5afab7ad
ILT
332
333AC_ARG_ENABLE(gold,
38e3d868 334[[ --enable-gold[=ARG] build gold [ARG={both}[/{gold,ld}]]]],
5afab7ad
ILT
335ENABLE_GOLD=$enableval,
336ENABLE_GOLD=no)
38e3d868
RM
337 case "${ENABLE_GOLD}" in
338 yes|both|both/gold|both/ld)
339 # Check for ELF target.
340 is_elf=no
341 case "${target}" in
342 *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
343 | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
344 | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
345 case "${target}" in
346 *-*-linux*aout* | *-*-linux*oldld*)
347 ;;
348 *)
349 is_elf=yes
350 ;;
351 esac
352 esac
353
354 if test "$is_elf" = "yes"; then
355 # Check for target supported by gold.
5afab7ad 356 case "${target}" in
38e3d868
RM
357 i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
358 case "${ENABLE_GOLD}" in
359 both*)
360 configdirs="$configdirs gold"
361 ;;
362 *)
86dfbd58 363 configdirs=`echo " ${configdirs} " | sed -e 's/ ld / gold /'`
38e3d868
RM
364 ;;
365 esac
366 ENABLE_GOLD=yes
5afab7ad
ILT
367 ;;
368 esac
38e3d868
RM
369 fi
370 ;;
371 no)
372 ;;
373 *)
374 AC_MSG_ERROR([invalid --enable-gold argument])
375 ;;
5afab7ad
ILT
376 esac
377
6599da04
JM
378# Configure extra directories which are host specific
379
380case "${host}" in
55380b08 381 *-cygwin*)
4977bab6 382 configdirs="$configdirs libtermcap" ;;
6599da04
JM
383esac
384
4fab7234
HPN
385# A target can indicate whether a language isn't supported for some reason.
386# Only spaces may be used in this macro; not newlines or tabs.
387unsupported_languages=
388
6599da04
JM
389# Remove more programs from consideration, based on the host or
390# target this usually means that a port of the program doesn't
391# exist yet.
392
6599da04 393case "${host}" in
18a53ffe
JL
394 hppa*64*-*-*)
395 noconfigdirs="$noconfigdirs byacc"
396 ;;
f2a0e225 397 i[[3456789]]86-*-vsta)
b4f96efe 398 noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext"
6599da04 399 ;;
f2a0e225 400 i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
b4f96efe 401 noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi"
3aa83176 402 ;;
738a52d3
KT
403 x86_64-*-mingw*)
404 noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
405 ;;
f2a0e225 406 i[[3456789]]86-*-mingw32*)
b4f96efe 407 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv"
b91f0a41 408 noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib"
3aa83176 409 ;;
f2a0e225 410 i[[3456789]]86-*-beos*)
b4f96efe 411 noconfigdirs="$noconfigdirs tk itcl libgui gdb"
3aa83176 412 ;;
d207ebef 413 *-*-cygwin*)
a22c2d8d 414 noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
6599da04 415 ;;
5d4a5ee6 416 *-*-netbsd*)
a22c2d8d 417 noconfigdirs="$noconfigdirs rcs"
5d4a5ee6 418 ;;
6599da04 419 ppc*-*-pe)
b4f96efe 420 noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv"
c135ea39 421 ;;
0da3b5a7 422 powerpc-*-beos*)
b4f96efe 423 noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline"
0da3b5a7 424 ;;
6599da04
JM
425esac
426
6de9cd9a 427
d9cdb878 428AC_ARG_ENABLE(libada,
30b74385 429[ --enable-libada build libada directory],
d9cdb878
AC
430ENABLE_LIBADA=$enableval,
431ENABLE_LIBADA=yes)
432if test "${ENABLE_LIBADA}" != "yes" ; then
5395b47b 433 noconfigdirs="$noconfigdirs gnattools"
d9cdb878
AC
434fi
435
ef0087a7 436AC_ARG_ENABLE(libssp,
30b74385 437[ --enable-libssp build libssp directory],
ef0087a7
KH
438ENABLE_LIBSSP=$enableval,
439ENABLE_LIBSSP=yes)
ef0087a7 440
8343765d
AO
441# Save it here so that, even in case of --enable-libgcj, if the Java
442# front-end isn't enabled, we still get libgcj disabled.
443libgcj_saved=$libgcj
444case $enable_libgcj in
445yes)
446 # If we reset it here, it won't get added to noconfigdirs in the
447 # target-specific build rules, so it will be forcibly enabled
448 # (unless the Java language itself isn't enabled).
449 libgcj=
450 ;;
451no)
452 # Make sure we get it printed in the list of not supported target libs.
453 noconfigdirs="$noconfigdirs ${libgcj}"
454 ;;
455esac
456
6de9cd9a 457
27079765
AH
458# Disable libmudflap on some systems.
459if test x$enable_libmudflap = x ; then
dfcada9a 460 case "${target}" in
416ac4d4 461 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
98a5bb3b 462 # Enable libmudflap by default in GNU and friends.
dfcada9a 463 ;;
a3e8d8b4
LR
464 *-*-freebsd*)
465 # Enable libmudflap by default in FreeBSD.
466 ;;
dfcada9a
MM
467 *)
468 # Disable it by default everywhere else.
469 noconfigdirs="$noconfigdirs target-libmudflap"
470 ;;
471 esac
27079765 472fi
6de9cd9a 473
27079765
AH
474# Disable libgomp on non POSIX hosted systems.
475if test x$enable_libgomp = x ; then
953ff289
DN
476 # Enable libgomp by default on hosted POSIX systems.
477 case "${target}" in
416ac4d4 478 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
953ff289
DN
479 ;;
480 *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
481 ;;
04879af3 482 *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
953ff289 483 ;;
cac90078 484 *-*-darwin* | *-*-aix*)
953ff289
DN
485 ;;
486 *)
487 noconfigdirs="$noconfigdirs target-libgomp"
488 ;;
489 esac
27079765 490fi
953ff289 491
c03353e2
RIL
492# Default libgloss CPU subdirectory.
493libgloss_dir="$target_cpu"
6de9cd9a 494
6599da04 495case "${target}" in
3fa03ff9 496 *-*-chorusos)
cb253473 497 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
3fa03ff9 498 ;;
75eeae1a 499 powerpc-*-darwin*)
e1514c3f 500 noconfigdirs="$noconfigdirs ld gas gdb gprof"
9c8f9ec2 501 noconfigdirs="$noconfigdirs sim target-rda"
940cde4d 502 ;;
354ebf88
RW
503 i[[3456789]]86-*-darwin*)
504 noconfigdirs="$noconfigdirs ld gprof"
505 noconfigdirs="$noconfigdirs sim target-rda"
506 ;;
507 x86_64-*-darwin[[912]]*)
0db3a858
TG
508 noconfigdirs="$noconfigdirs ld gas gprof"
509 noconfigdirs="$noconfigdirs sim target-rda"
510 ;;
42c1cd8a
AT
511 *-*-darwin*)
512 noconfigdirs="$noconfigdirs ld gas gdb gprof"
513 noconfigdirs="$noconfigdirs sim target-rda"
514 noconfigdirs="$noconfigdirs ${libgcj}"
515 ;;
671aa708 516 *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
cb253473 517 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
ef98ad7b 518 ;;
c3f84f61 519 *-*-freebsd*)
6de9cd9a
DN
520 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
521 if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
522 && test -f /usr/local/include/gmp.h; then
523 with_gmp=/usr/local
524 fi
525
526 # Skip some stuff that's unsupported on some FreeBSD configurations.
527 case "${target}" in
528 i*86-*-*) ;;
529 alpha*-*-*) ;;
f3f623ae 530 x86_64-*-*) ;;
6de9cd9a 531 *)
cb253473 532 noconfigdirs="$noconfigdirs ${libgcj}"
6de9cd9a
DN
533 ;;
534 esac
535 ;;
ef4e7569
US
536 *-*-kaos*)
537 # Remove unsupported stuff on all kaOS configurations.
cb253473 538 skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
ef4e7569
US
539 skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
540 skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
541 noconfigdirs="$noconfigdirs target-libgloss"
542 ;;
51584787
JT
543 *-*-netbsd*)
544 # Skip some stuff on all NetBSD configurations.
fbf86afb 545 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
51584787
JT
546
547 # Skip some stuff that's unsupported on some NetBSD configurations.
548 case "${target}" in
320d7e7a 549 i*86-*-netbsdelf*) ;;
0590b963 550 arm*-*-netbsdelf*) ;;
51584787 551 *)
cb253473 552 noconfigdirs="$noconfigdirs ${libgcj}"
51584787
JT
553 ;;
554 esac
555 ;;
61fec9ff 556 *-*-netware*)
cb253473 557 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
6599da04 558 ;;
3fbc0b70 559 *-*-rtems*)
e4522f78 560 skipdirs="${skipdirs} target-libiberty"
cb253473 561 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
3fbc0b70 562 ;;
a8ba31f2
EC
563 # The tpf target doesn't support gdb yet.
564 *-*-tpf*)
cb253473 565 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
a8ba31f2 566 ;;
5785c0ed 567 *-*-uclinux*)
cb253473 568 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
5785c0ed 569 ;;
6599da04 570 *-*-vxworks*)
cb253473 571 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
6599da04 572 ;;
b104e095 573 alpha*-dec-osf*)
603606e7
NN
574 # ld works, but does not support shared libraries.
575 # newlib is not 64 bit ready. I'm not sure about fileutils.
6599da04 576 # gas doesn't generate exception information.
603606e7 577 noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
6599da04
JM
578 ;;
579 alpha*-*-*vms*)
8406cb62 580 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
6599da04 581 ;;
9e9af119
MH
582 alpha*-*-linux*)
583 # newlib is not 64 bit ready
d340e0ac 584 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
9e9af119 585 ;;
6599da04
JM
586 alpha*-*-*)
587 # newlib is not 64 bit ready
cb253473 588 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
6599da04 589 ;;
33952f6f 590 am33_2.0-*-linux*)
cb253473 591 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
33952f6f 592 ;;
53b475f0 593 sh-*-linux*)
cb253473 594 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
53b475f0 595 ;;
3a685f6f 596 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
cb253473 597 noconfigdirs="$noconfigdirs ${libgcj}"
7743113b 598 noconfigdirs="$noconfigdirs target-examples"
d207ebef 599 noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
b4f96efe 600 noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
3a685f6f
NC
601 noconfigdirs="$noconfigdirs expect dejagnu"
602 # the C++ libraries don't build on top of CE's C libraries
cb543528 603 noconfigdirs="$noconfigdirs target-libstdc++-v3"
fbf86afb 604 noconfigdirs="$noconfigdirs target-newlib"
3a685f6f
NC
605 case "${host}" in
606 *-*-cygwin*) ;; # keep gdb and readline
aa9c3ab4 607 *) noconfigdirs="$noconfigdirs gdb readline"
3a685f6f
NC
608 ;;
609 esac
c03353e2 610 libgloss_dir=wince
3a685f6f 611 ;;
d207ebef 612 arc-*-*)
cb253473 613 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
d207ebef 614 ;;
9d069a4f 615 arm-semi-aof )
9d069a4f 616 ;;
5831424e 617 arm-*-coff | strongarm-*-coff | xscale-*-coff)
cb253473 618 noconfigdirs="$noconfigdirs ${libgcj}"
c03353e2 619 libgloss_dir=arm
5831424e 620 ;;
b3f8d95d 621 arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
5831424e 622 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
c03353e2 623 libgloss_dir=arm
5831424e 624 ;;
077fc835 625 arm*-*-linux-gnueabi)
c4e9bf2b 626 noconfigdirs="$noconfigdirs target-qthreads"
83f4c19f
DD
627 case ${with_newlib} in
628 no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
629 esac
c03353e2 630 libgloss_dir=arm
077fc835 631 ;;
972974fc 632 arm*-*-symbianelf*)
cb253473 633 noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
c03353e2 634 libgloss_dir=arm
972974fc 635 ;;
6599da04 636 arm-*-pe*)
cb253473 637 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
6599da04 638 ;;
e98e406f 639 thumb-*-coff)
cb253473 640 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
e98e406f 641 ;;
d207ebef 642 thumb-*-elf)
cb253473 643 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
d207ebef 644 ;;
d207ebef 645 thumb-*-pe)
cb253473 646 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
d207ebef 647 ;;
5d4a5ee6 648 arm-*-riscix*)
cb253473 649 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
5d4a5ee6 650 ;;
6ff14f32 651 avr-*-*)
ac3949d9 652 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp"
6ff14f32 653 ;;
6b65a26d 654 bfin-*-*)
1c3c9f12
JZ
655 unsupported_languages="$unsupported_languages java"
656 noconfigdirs="$noconfigdirs target-boehm-gc gdb"
61efc800 657 if test x${is_cross_compiler} != xno ; then
6b65a26d
CM
658 target_configdirs="${target_configdirs} target-bsp target-cygmon"
659 fi
660 ;;
a5a438f5 661 c4x-*-* | tic4x-*-*)
cb253473 662 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
ab50d72b
DD
663 ;;
664 c54x*-*-* | tic54x-*-*)
cb253473 665 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
ab50d72b 666 ;;
c993ae60
SR
667 cr16-*-*)
668 noconfigdirs="$noconfigdirs ${libgcj} gdb"
669 ;;
40d64b5a 670 cris-*-* | crisv32-*-*)
4fab7234 671 unsupported_languages="$unsupported_languages java"
40d64b5a 672 case "${target}" in
c2e0d3a9 673 *-*-aout)
7f26dfa3 674 unsupported_languages="$unsupported_languages fortran"
4fab7234 675 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
c2e0d3a9 676 *-*-elf)
789ec619 677 noconfigdirs="$noconfigdirs target-boehm-gc";;
c2e0d3a9 678 *-*-linux*)
789ec619 679 noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
40d64b5a 680 *)
7f26dfa3 681 unsupported_languages="$unsupported_languages fortran"
cb253473 682 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
40d64b5a 683 esac
c03353e2 684 libgloss_dir=cris
f48a3b5c 685 ;;
25b656e7 686 crx-*-*)
cb253473 687 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}"
25b656e7 688 ;;
6599da04 689 d10v-*-*)
cb253473 690 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
d207ebef
JM
691 ;;
692 d30v-*-*)
cb253473 693 noconfigdirs="$noconfigdirs ${libgcj} gdb"
6599da04 694 ;;
c03353e2
RIL
695 ep9312-*-elf | ep9312-*-coff)
696 libgloss_dir=arm
697 ;;
09b5f8bf 698 fr30-*-elf*)
cb253473 699 noconfigdirs="$noconfigdirs ${libgcj} gdb"
09b5f8bf 700 ;;
ee777171 701 frv-*-*)
cb253473 702 noconfigdirs="$noconfigdirs ${libgcj}"
ee777171 703 ;;
55f2d967
AG
704 moxie-*-*)
705 noconfigdirs="$noconfigdirs ${libgcj}"
706 noconfigdirs="$noconfigdirs gprof"
707 ;;
ab50d72b 708 h8300*-*-*)
cb253473 709 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
ab50d72b 710 ;;
6599da04 711 h8500-*-*)
cb253473 712 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
6599da04 713 ;;
9d069a4f 714 hppa1.1-*-osf* | hppa1.1-*-bsd* )
9d069a4f 715 ;;
cdbff0ab
AM
716 hppa*64*-*-linux* | parisc*64*-*-linux*)
717 # In this case, it's because the hppa64-linux target is for
718 # the kernel only at this point and has no libc, and thus no
719 # headers, crt*.o, etc., all of which are needed by these.
720 noconfigdirs="$noconfigdirs target-zlib"
721 ;;
3e732ba0
JDA
722 parisc*-*-linux* | hppa*-*-linux*)
723 ;;
6599da04 724 hppa*-*-*elf* | \
bae29210 725 hppa*-*-lites* | \
66350331 726 hppa*-*-openbsd* | \
bae29210 727 hppa*64*-*-*)
cb253473 728 noconfigdirs="$noconfigdirs ${libgcj}"
6599da04 729 ;;
2a332582
JDA
730 hppa*-hp-hpux11*)
731 noconfigdirs="$noconfigdirs ld shellutils"
732 ;;
c03353e2
RIL
733 hppa*-*-pro*)
734 libgloss_dir=pa
735 ;;
6599da04 736 hppa*-*-*)
b2964d63
AO
737 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
738 # build on HP-UX 10.20.
cb253473 739 noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
d207ebef 740 ;;
fb87ad5d 741 i960-*-*)
cb253473 742 noconfigdirs="$noconfigdirs ${libgcj} gdb"
fb87ad5d 743 ;;
d207ebef
JM
744 ia64*-*-elf*)
745 # No gdb support yet.
b4f96efe 746 noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb"
d207ebef 747 ;;
ab50d72b
DD
748 ia64*-**-hpux*)
749 # No gdb or ld support yet.
cb253473 750 noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld"
ab50d72b 751 ;;
52535a64
DR
752 ia64*-*-*vms*)
753 # No gdb or ld support yet.
754 noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
755 ;;
9d069a4f 756 i370-*-opened*)
9d069a4f 757 ;;
f2a0e225 758 i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
cb253473 759 noconfigdirs="$noconfigdirs ${libgcj}"
c03353e2 760 libgloss_dir=i386
6599da04 761 ;;
f2a0e225 762 i[[3456789]]86-*-linux*)
d0af82b0
HPN
763 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
764 # not build java stuff by default.
765 case "${target}" in
766 *-*-*libc1*)
cb253473 767 noconfigdirs="$noconfigdirs ${libgcj}";;
d0af82b0
HPN
768 esac
769
9a06dc7d
TF
770 # This section makes it possible to build newlib natively on linux.
771 # If we are using a cross compiler then don't configure newlib.
772 if test x${is_cross_compiler} != xno ; then
3aa83176 773 noconfigdirs="$noconfigdirs target-newlib"
9a06dc7d
TF
774 fi
775 noconfigdirs="$noconfigdirs target-libgloss"
776 # If we are not using a cross compiler, do configure newlib.
777 # Note however, that newlib will only be configured in this situation
778 # if the --with-newlib option has been given, because otherwise
779 # 'target-newlib' will appear in skipdirs.
9a06dc7d 780 ;;
ef4c4300
KT
781 i[[3456789]]86-w64-mingw*)
782 noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
783 ;;
784 i[[3456789]]86-*-mingw*)
b91f0a41
CV
785 target_configdirs="$target_configdirs target-winsup"
786 noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
5d571eaa 787 ;;
738a52d3 788 x86_64-*-mingw*)
738a52d3 789 noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}"
5d571eaa 790 ;;
d207ebef
JM
791 *-*-cygwin*)
792 target_configdirs="$target_configdirs target-libtermcap target-winsup"
449223af 793 noconfigdirs="$noconfigdirs target-gperf target-libgloss"
801e2270 794 # always build newlib if winsup directory is present.
b91f0a41 795 if test -d "$srcdir/winsup/cygwin"; then
801e2270 796 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
c8e6cd41 797 elif test -d "$srcdir/newlib"; then
b91f0a41 798 echo "Warning: winsup/cygwin is missing so newlib can't be built."
801e2270 799 fi
5d571eaa 800 ;;
9d069a4f
PB
801 i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss* | \
802 i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* )
9d069a4f 803 ;;
f2a0e225 804 i[[3456789]]86-*-pe)
cb253473 805 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
6599da04 806 ;;
f2a0e225 807 i[[3456789]]86-*-sco3.2v5*)
6599da04
JM
808 # The linker does not yet know about weak symbols in COFF,
809 # and is not configured to handle mixed ELF and COFF.
cb253473 810 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
6599da04 811 ;;
f2a0e225 812 i[[3456789]]86-*-sco*)
cb253473 813 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
6599da04 814 ;;
f2a0e225 815 i[[3456789]]86-*-solaris2*)
7c01b2b5 816 noconfigdirs="$noconfigdirs target-libgloss"
6599da04 817 ;;
f2a0e225 818 i[[3456789]]86-*-sysv4*)
cb253473 819 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
6599da04 820 ;;
f2a0e225 821 i[[3456789]]86-*-beos*)
cb253473 822 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
3aa83176 823 ;;
d1f8db0c
PB
824 i[[3456789]]86-*-rdos*)
825 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
826 ;;
fb87ad5d 827 m32r-*-*)
cb253473 828 noconfigdirs="$noconfigdirs ${libgcj}"
fb87ad5d 829 ;;
2b997990 830 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
cb253473 831 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
c03353e2 832 libgloss_dir=m68hc11
2b997990 833 ;;
d207ebef 834 m68k-*-elf*)
cb253473 835 noconfigdirs="$noconfigdirs ${libgcj}"
d207ebef
JM
836 ;;
837 m68k-*-coff*)
cb253473 838 noconfigdirs="$noconfigdirs ${libgcj}"
d207ebef 839 ;;
c03353e2
RIL
840 m68*-*-* | fido-*-*)
841 libgloss_dir=m68k
842 ;;
56ae9405
NC
843 mcore-*-pe*)
844 # The EPOC C++ environment does not support exceptions or rtti,
845 # and so building libstdc++-v3 tends not to always work.
846 noconfigdirs="$noconfigdirs target-libstdc++-v3"
847 ;;
d344dce9 848 mmix-*-*)
4fab7234 849 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
7f26dfa3 850 unsupported_languages="$unsupported_languages fortran java"
d344dce9 851 ;;
6599da04 852 mn10200-*-*)
cb253473 853 noconfigdirs="$noconfigdirs ${libgcj}"
6599da04
JM
854 ;;
855 mn10300-*-*)
cb253473 856 noconfigdirs="$noconfigdirs ${libgcj}"
6599da04 857 ;;
ab34901f 858 mt-*-*)
79dd769c
AH
859 noconfigdirs="$noconfigdirs sim"
860 ;;
6599da04
JM
861 powerpc-*-aix*)
862 # copied from rs6000-*-* entry
a891a473 863 noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
6599da04
JM
864 ;;
865 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
866 target_configdirs="$target_configdirs target-winsup"
cb253473 867 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}"
6599da04
JM
868 # always build newlib.
869 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
870 ;;
871 # This is temporary until we can link against shared libraries
872 powerpcle-*-solaris*)
cb253473 873 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}"
c03353e2 874 libgloss_dir=rs6000
6599da04 875 ;;
0da3b5a7 876 powerpc-*-beos*)
cb253473 877 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
0da3b5a7 878 ;;
d207ebef 879 powerpc-*-eabi)
cb253473 880 noconfigdirs="$noconfigdirs ${libgcj}"
c03353e2 881 libgloss_dir=rs6000
9d069a4f
PB
882 ;;
883 powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
c03353e2 884 libgloss_dir=rs6000
d207ebef 885 ;;
6599da04 886 rs6000-*-lynxos*)
cb253473 887 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
6599da04
JM
888 ;;
889 rs6000-*-aix*)
a891a473 890 noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
6599da04
JM
891 ;;
892 rs6000-*-*)
cb253473 893 noconfigdirs="$noconfigdirs gprof ${libgcj}"
6599da04
JM
894 ;;
895 m68k-apollo-*)
cb253473 896 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
6599da04 897 ;;
ca9fe997 898 microblaze*)
80920132 899 noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}"
ca9fe997 900 ;;
d9dced13
RS
901 mips*-sde-elf*)
902 skipdirs="$skipdirs target-libiberty"
903 noconfigdirs="$noconfigdirs ${libgcj}"
904 if test x$with_newlib = xyes; then
905 noconfigdirs="$noconfigdirs gprof"
906 fi
907 libgloss_dir=mips
908 ;;
6599da04 909 mips*-*-irix5*)
cb253473 910 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
6599da04
JM
911 ;;
912 mips*-*-irix6*)
b2964d63
AO
913 # Linking libjava exceeds command-line length limits on at least
914 # IRIX 6.2, but not on IRIX 6.5.
915 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
916 # <oldham@codesourcery.com>
cb253473 917 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
6599da04 918 ;;
6599da04 919 mips*-*-bsd*)
cb253473 920 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
6599da04 921 ;;
9bec4bf0 922 mips*-*-linux*)
c01d477a 923 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
9bec4bf0 924 ;;
6599da04 925 mips*-*-*)
cb253473 926 noconfigdirs="$noconfigdirs gprof ${libgcj}"
c03353e2 927 libgloss_dir=mips
6599da04
JM
928 ;;
929 romp-*-*)
cb253473 930 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
6599da04 931 ;;
669f01d8 932 sh-*-* | sh64-*-*)
6599da04 933 case "${host}" in
f2a0e225
KC
934 i[[3456789]]86-*-vsta) ;; # don't add gprof back in
935 i[[3456789]]86-*-go32*) ;; # don't add gprof back in
936 i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
6599da04
JM
937 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
938 esac
ea2002ba
CB
939 case "${target}" in
940 sh*-*-elf)
941 noconfigdirs="$noconfigdirs ${libgcj}" ;;
942 *)
943 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;;
944 esac
6599da04 945 ;;
c03353e2
RIL
946 sparclet-*-aout* | sparc86x-*-*)
947 libgloss_dir=sparc
948 ;;
5d4a5ee6 949 sparc-*-elf*)
cb253473 950 noconfigdirs="$noconfigdirs ${libgcj}"
5d4a5ee6
JL
951 ;;
952 sparc64-*-elf*)
cb253473 953 noconfigdirs="$noconfigdirs ${libgcj}"
c03353e2 954 libgloss_dir=sparc
5d4a5ee6 955 ;;
d207ebef 956 sparclite-*-*)
cb253473 957 noconfigdirs="$noconfigdirs ${libgcj}"
c03353e2 958 libgloss_dir=sparc
5d4a5ee6 959 ;;
6599da04 960 sparc-*-sunos4*)
cb253473 961 noconfigdirs="$noconfigdirs ${libgcj}"
aeaa0f2f 962 if test x${is_cross_compiler} != xno ; then
e1da1089 963 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
6599da04
JM
964 else
965 use_gnu_ld=no
966 fi
967 ;;
bba5e0ca 968 sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
cb253473 969 noconfigdirs="$noconfigdirs ${libgcj}"
bba5e0ca 970 ;;
b7c13625 971 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
1ace7e15 972 ;;
b42f0d7e
JM
973 tic6x-*-*)
974 noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
975 ;;
6599da04 976 v810-*-*)
cb253473 977 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
6599da04 978 ;;
223a9d64 979 v850*-*-*)
d4c1abb3 980 noconfigdirs="$noconfigdirs ${libgcj}"
d207ebef 981 ;;
6599da04 982 vax-*-vms)
cb253473 983 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
6599da04
JM
984 ;;
985 vax-*-*)
cb253473 986 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
6599da04 987 ;;
aa12a573 988 xtensa*-*-*)
cb253473 989 noconfigdirs="$noconfigdirs ${libgcj}"
0d4f1b4e 990 ;;
b03bcd37 991 ip2k-*-*)
cb253473 992 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
b03bcd37 993 ;;
416ac4d4 994 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
c01d477a
AM
995 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
996 ;;
6599da04 997 *-*-lynxos*)
cb253473 998 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
6599da04 999 ;;
41dfe3a2 1000 *-*-*)
cb253473 1001 noconfigdirs="$noconfigdirs ${libgcj}"
41dfe3a2 1002 ;;
6599da04
JM
1003esac
1004
6599da04
JM
1005# If we aren't building newlib, then don't build libgloss, since libgloss
1006# depends upon some newlib header files.
1007case "${noconfigdirs}" in
1008 *target-libgloss*) ;;
1009 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
55380b08 1010esac
6599da04 1011
55380b08
NN
1012# Work in distributions that contain no compiler tools, like Autoconf.
1013tentative_cc=""
671aa708 1014host_makefile_frag=/dev/null
55380b08
NN
1015if test -d ${srcdir}/config ; then
1016case "${host}" in
1017 m68k-hp-hpux*)
1018 # Avoid "too much defining" errors from HPUX compiler.
1019 tentative_cc="cc -Wp,-H256000"
671aa708
NN
1020 # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
1021 # If it's HP/UX ar, this should be harmless.
1022 RANLIB="ar ts"
55380b08
NN
1023 ;;
1024 m68k-apollo-sysv*)
1025 tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
55380b08
NN
1026 ;;
1027 m68k-apollo-bsd*)
1028 #None of the Apollo compilers can compile gas or binutils. The preprocessor
1029 # chokes on bfd, the compiler won't let you assign integers to enums, and
1030 # other problems. Defining CC to gcc is a questionable way to say "don't use
1031 # the apollo compiler" (the preferred version of GCC could be called cc,
1032 # or whatever), but I'm not sure leaving CC as cc is any better...
1033 #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
671aa708 1034 # Used to have BISON=yacc.
55380b08 1035 tentative_cc=gcc
55380b08
NN
1036 ;;
1037 m88k-dg-dgux*)
1038 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
55380b08
NN
1039 ;;
1040 m88k-harris-cxux*)
1041 # Under CX/UX, we want to tell the compiler to use ANSI mode.
1042 tentative_cc="cc -Xa"
1043 host_makefile_frag="config/mh-cxux"
1044 ;;
1045 m88k-motorola-sysv*)
55380b08
NN
1046 ;;
1047 mips*-dec-ultrix*)
1048 tentative_cc="cc -Wf,-XNg1000"
1049 host_makefile_frag="config/mh-decstation"
1050 ;;
1051 mips*-nec-sysv4*)
1052 # The C compiler on NEC MIPS SVR4 needs bigger tables.
1053 tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
1054 host_makefile_frag="config/mh-necv4"
1055 ;;
55380b08
NN
1056 mips*-sgi-irix4*)
1057 # Tell compiler to use K&R C. We can't compile under the SGI Ansi
1058 # environment. Also bump switch table size so that cp-parse will
1059 # compile. Bump string length limit so linker builds.
1060 tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
1061 ;;
55380b08
NN
1062 mips*-*-sysv4*)
1063 host_makefile_frag="config/mh-sysv4"
1064 ;;
1065 mips*-*-sysv*)
1066 # This is for a MIPS running RISC/os 4.52C.
1067
1068 # This is needed for GDB, but needs to be in the top-level make because
1069 # if a library is compiled with the bsd headers and gets linked with the
1070 # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
1071 # a different size).
1072 # ptrace(2) apparently has problems in the BSD environment. No workaround is
1073 # known except to select the sysv environment. Could we use /proc instead?
1074 # These "sysv environments" and "bsd environments" often end up being a pain.
1075 #
1076 # This is not part of CFLAGS because perhaps not all C compilers have this
1077 # option.
1078 tentative_cc="cc -systype sysv"
55380b08
NN
1079 ;;
1080 i370-ibm-opened*)
1081 tentative_cc="c89"
55380b08 1082 ;;
f2a0e225 1083 i[[3456789]]86-*-sysv5*)
55380b08
NN
1084 host_makefile_frag="config/mh-sysv5"
1085 ;;
f2a0e225 1086 i[[3456789]]86-*-dgux*)
55380b08
NN
1087 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1088 host_makefile_frag="config/mh-dgux386"
1089 ;;
f2a0e225 1090 i[[3456789]]86-ncr-sysv4.3*)
55380b08
NN
1091 # The MetaWare compiler will generate a copyright message unless you
1092 # turn it off by adding the -Hnocopyr flag.
1093 tentative_cc="cc -Hnocopyr"
55380b08 1094 ;;
f2a0e225 1095 i[[3456789]]86-ncr-sysv4*)
55380b08
NN
1096 # for an NCR 3000 (i486/SVR4) system.
1097 # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
1098 # This compiler not only emits obnoxious copyright messages every time
1099 # you run it, but it chokes and dies on a whole bunch of GNU source
1100 # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
1101 tentative_cc="/usr/ccs/ATT/cc"
1102 host_makefile_frag="config/mh-ncr3000"
1103 ;;
f2a0e225 1104 i[[3456789]]86-*-sco3.2v5*)
55380b08 1105 ;;
f2a0e225 1106 i[[3456789]]86-*-sco*)
55380b08
NN
1107 # The native C compiler botches some simple uses of const. Unfortunately,
1108 # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
1109 tentative_cc="cc -Dconst="
1110 host_makefile_frag="config/mh-sco"
1111 ;;
f2a0e225 1112 i[[3456789]]86-*-udk*)
55380b08
NN
1113 host_makefile_frag="config/mh-sysv5"
1114 ;;
f2a0e225 1115 i[[3456789]]86-*-solaris2*)
55380b08
NN
1116 host_makefile_frag="config/mh-sysv4"
1117 ;;
f2a0e225 1118 i[[3456789]]86-*-msdosdjgpp*)
55380b08
NN
1119 host_makefile_frag="config/mh-djgpp"
1120 ;;
1121 *-cygwin*)
2a79c47f 1122 ACX_CHECK_CYGWIN_CAT_WORKS
55380b08
NN
1123 host_makefile_frag="config/mh-cygwin"
1124 ;;
c53a18d3 1125 *-mingw*)
1f5a6b84 1126 host_makefile_frag="config/mh-mingw"
738a52d3 1127 ;;
55380b08
NN
1128 *-interix*)
1129 host_makefile_frag="config/mh-interix"
1130 ;;
1131 vax-*-ultrix2*)
1132 # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1133 tentative_cc=gcc
1134 ;;
1135 *-*-solaris2*)
1136 host_makefile_frag="config/mh-solaris"
1137 ;;
1138 m68k-sun-sunos*)
1139 # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1140 # without overflowing the jump tables (-J says to use a 32 bit table)
1141 tentative_cc="cc -J"
1142 ;;
00afcaa0 1143 hppa*-hp-hpux10*)
55380b08 1144 tentative_cc="cc -Wp,-H256000"
00afcaa0 1145 host_makefile_frag="config/mh-pa-hpux10"
55380b08 1146 ;;
00afcaa0
PB
1147 hppa*-hp-hpux* | hppa*-*-hiux*)
1148 tentative_cc="cc -Wp,-H256000"
1149 host_makefile_frag="config/mh-pa"
1150 ;;
1151 hppa*-*)
1152 host_makefile_frag="config/mh-pa"
1153 ;;
1154 *-hp-hpux* | *-*-hiux*)
55380b08 1155 tentative_cc="cc -Wp,-H256000"
55380b08
NN
1156 ;;
1157 rs6000-*-lynxos*)
1158 # /bin/cc is less than useful for our purposes. Always use GCC
1159 tentative_cc="/usr/cygnus/progressive/bin/gcc"
1160 host_makefile_frag="config/mh-lynxrs6k"
1161 ;;
d8ed14ce
IS
1162 *-*-darwin*)
1163 host_makefile_frag="config/mh-darwin"
be8fff81 1164 ;;
d19bca38
PB
1165 powerpc-*-aix*)
1166 host_makefile_frag="config/mh-ppc-aix"
1167 ;;
1168 rs6000-*-aix*)
1169 host_makefile_frag="config/mh-ppc-aix"
1170 ;;
55380b08
NN
1171 *-*-lynxos*)
1172 # /bin/cc is less than useful for our purposes. Always use GCC
1173 tentative_cc="/bin/gcc"
1174 ;;
1175 *-*-sysv4*)
1176 host_makefile_frag="config/mh-sysv4"
1177 ;;
95c53c62
RS
1178 # This is placed last to prevent interfering with the cases above.
1179 i[[3456789]]86-*-*)
1180 # Build the stage2 and stage3 compilers with -fomit-frame-pointer.
1181 host_makefile_frag="config/mh-x86omitfp"
1182 ;;
55380b08
NN
1183esac
1184fi
1185
e4c9c075
PB
1186# If we aren't going to be using gcc, see if we can extract a definition
1187# of CC from the fragment.
1188# Actually, use the 'pre-extracted' version above.
1189if test -z "${CC}" && test "${build}" = "${host}" ; then
1190 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
1191 found=
1192 for dir in $PATH; do
1193 test -z "$dir" && dir=.
1194 if test -f $dir/gcc; then
1195 found=yes
1196 break
1197 fi
1198 done
1199 IFS="$save_ifs"
1200 if test -z "${found}" && test -n "${tentative_cc}" ; then
1201 CC=$tentative_cc
1202 fi
1203fi
1204
1205if test "${build}" != "${host}" ; then
0999159b
PB
1206 AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1207 AS_FOR_BUILD=${AS_FOR_BUILD-as}
e4c9c075 1208 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
0999159b
PB
1209 CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1210 GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1211 GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
1212 DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1213 LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1214 NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1215 RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1216 WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1217 WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
e4c9c075 1218else
0999159b
PB
1219 AR_FOR_BUILD="\$(AR)"
1220 AS_FOR_BUILD="\$(AS)"
e4c9c075 1221 CC_FOR_BUILD="\$(CC)"
0999159b
PB
1222 CXX_FOR_BUILD="\$(CXX)"
1223 GCJ_FOR_BUILD="\$(GCJ)"
1224 GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
1225 DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1226 LD_FOR_BUILD="\$(LD)"
1227 NM_FOR_BUILD="\$(NM)"
1228 RANLIB_FOR_BUILD="\$(RANLIB)"
1229 WINDRES_FOR_BUILD="\$(WINDRES)"
1230 WINDMC_FOR_BUILD="\$(WINDMC)"
c3a86da9 1231fi
e4c9c075 1232
c3a86da9
DJ
1233AC_PROG_CC
1234AC_PROG_CXX
1235
1236# We must set the default linker to the linker used by gcc for the correct
1237# operation of libtool. If LD is not defined and we are using gcc, try to
1238# set the LD default to the ld used by gcc.
1239if test -z "$LD"; then
1240 if test "$GCC" = yes; then
1241 case $build in
1242 *-*-mingw*)
1243 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1244 *)
1245 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1246 esac
1247 case $gcc_prog_ld in
1248 # Accept absolute paths.
1249 [[\\/]* | [A-Za-z]:[\\/]*)]
1250 LD="$gcc_prog_ld" ;;
1251 esac
1252 fi
e4c9c075
PB
1253fi
1254
1255ACX_PROG_GNAT
a76494aa 1256ACX_PROG_CMP_IGNORE_INITIAL
e4c9c075 1257
00020c16
ILT
1258# See if we are building gcc with C++.
1259AC_ARG_ENABLE(build-with-cxx,
1260[ --enable-build-with-cxx build with C++ compiler instead of C compiler],
1261ENABLE_BUILD_WITH_CXX=$enableval,
1262ENABLE_BUILD_WITH_CXX=no)
1263
592c90ff
KG
1264# Used for setting $lt_cv_objdir
1265_LT_CHECK_OBJDIR
1266
acd26225 1267# Check for GMP, MPFR and MPC
3a5729ea 1268gmplibs="-lmpc -lmpfr -lgmp"
6de9cd9a 1269gmpinc=
e69bf64b 1270have_gmp=no
acd26225
KG
1271
1272# Specify a location for mpc
1273# check for this first so it ends up on the link line before mpfr.
1274AC_ARG_WITH(mpc, [ --with-mpc=PATH specify prefix directory for installed MPC package.
1275 Equivalent to --with-mpc-include=PATH/include
1276 plus --with-mpc-lib=PATH/lib])
9965e3cd 1277AC_ARG_WITH(mpc-include, [ --with-mpc-include=PATH
acd26225 1278 specify directory for installed MPC include files])
9965e3cd 1279AC_ARG_WITH(mpc-lib, [ --with-mpc-lib=PATH specify directory for the installed MPC library])
acd26225
KG
1280
1281if test "x$with_mpc" != x; then
3a5729ea
KG
1282 gmplibs="-L$with_mpc/lib $gmplibs"
1283 gmpinc="-I$with_mpc/include $gmpinc"
acd26225
KG
1284fi
1285if test "x$with_mpc_include" != x; then
3a5729ea 1286 gmpinc="-I$with_mpc_include $gmpinc"
acd26225
KG
1287fi
1288if test "x$with_mpc_lib" != x; then
3a5729ea 1289 gmplibs="-L$with_mpc_lib $gmplibs"
acd26225
KG
1290fi
1291if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
592c90ff 1292 gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
3a5729ea 1293 gmpinc='-I$$s/mpc/src '"$gmpinc"
acd26225
KG
1294 # Do not test the mpc version. Assume that it is sufficient, since
1295 # it is in the source tree, and the library has not been built yet
1296 # but it would be included on the link line in the version check below
1297 # hence making the test fail.
3a5729ea 1298 have_gmp=yes
acd26225 1299fi
e69bf64b 1300
bebf829d
PB
1301# Specify a location for mpfr
1302# check for this first so it ends up on the link line before gmp.
30b74385 1303AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH this option has been REMOVED],
8a877c9c
KG
1304 AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1305Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH]))
bebf829d 1306
30b74385 1307AC_ARG_WITH(mpfr, [ --with-mpfr=PATH specify prefix directory for installed MPFR package.
8a877c9c
KG
1308 Equivalent to --with-mpfr-include=PATH/include
1309 plus --with-mpfr-lib=PATH/lib])
9965e3cd 1310AC_ARG_WITH(mpfr-include, [ --with-mpfr-include=PATH
30b74385 1311 specify directory for installed MPFR include files])
9965e3cd 1312AC_ARG_WITH(mpfr-lib, [ --with-mpfr-lib=PATH specify directory for the installed MPFR library])
bebf829d
PB
1313
1314if test "x$with_mpfr" != x; then
1315 gmplibs="-L$with_mpfr/lib $gmplibs"
3a5729ea 1316 gmpinc="-I$with_mpfr/include $gmpinc"
bebf829d 1317fi
8a877c9c 1318if test "x$with_mpfr_include" != x; then
3a5729ea 1319 gmpinc="-I$with_mpfr_include $gmpinc"
8a877c9c
KG
1320fi
1321if test "x$with_mpfr_lib" != x; then
1322 gmplibs="-L$with_mpfr_lib $gmplibs"
1323fi
e69bf64b 1324if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
592c90ff 1325 gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
e69bf64b 1326 gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
592c90ff 1327 extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
e69bf64b
PB
1328 # Do not test the mpfr version. Assume that it is sufficient, since
1329 # it is in the source tree, and the library has not been built yet
1330 # but it would be included on the link line in the version check below
1331 # hence making the test fail.
1332 have_gmp=yes
1333fi
bebf829d 1334
6de9cd9a 1335# Specify a location for gmp
30b74385 1336AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH this option has been REMOVED],
8a877c9c
KG
1337 AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1338Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH]))
1339
30b74385 1340AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package.
8a877c9c
KG
1341 Equivalent to --with-gmp-include=PATH/include
1342 plus --with-gmp-lib=PATH/lib])
9965e3cd
AS
1343AC_ARG_WITH(gmp-include, [ --with-gmp-include=PATH specify directory for installed GMP include files])
1344AC_ARG_WITH(gmp-lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library])
6de9cd9a 1345
6de9cd9a 1346
bebf829d
PB
1347if test "x$with_gmp" != x; then
1348 gmplibs="-L$with_gmp/lib $gmplibs"
1349 gmpinc="-I$with_gmp/include $gmpinc"
6de9cd9a 1350fi
8a877c9c
KG
1351if test "x$with_gmp_include" != x; then
1352 gmpinc="-I$with_gmp_include $gmpinc"
1353fi
1354if test "x$with_gmp_lib" != x; then
1355 gmplibs="-L$with_gmp_lib $gmplibs"
1356fi
e69bf64b 1357if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
592c90ff 1358 gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
e69bf64b 1359 gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
9183bdcf 1360 extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
592c90ff 1361 extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
e69bf64b
PB
1362 # Do not test the gmp version. Assume that it is sufficient, since
1363 # it is in the source tree, and the library has not been built yet
1364 # but it would be included on the link line in the version check below
1365 # hence making the test fail.
1366 have_gmp=yes
1367fi
6de9cd9a 1368
d943d7c4 1369if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
e69bf64b
PB
1370 have_gmp=yes
1371 saved_CFLAGS="$CFLAGS"
1372 CFLAGS="$CFLAGS $gmpinc"
362c6d2f
KG
1373 # Check for the recommended and required versions of GMP.
1374 AC_MSG_CHECKING([for the correct version of gmp.h])
e69bf64b 1375 AC_TRY_COMPILE([#include "gmp.h"],[
362c6d2f
KG
1376 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1377 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1378 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
e48d66a9 1379 choke me
e69bf64b 1380 #endif
e8fd69bb 1381 ], [AC_TRY_COMPILE([#include <gmp.h>],[
362c6d2f
KG
1382 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1383 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1384 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
1385 choke me
1386 #endif
e8fd69bb 1387 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
362c6d2f 1388 [AC_MSG_RESULT([no]); have_gmp=no])
e69bf64b 1389
acd26225 1390 # If we have GMP, check the MPFR version.
e69bf64b 1391 if test x"$have_gmp" = xyes; then
362c6d2f
KG
1392 # Check for the recommended and required versions of MPFR.
1393 AC_MSG_CHECKING([for the correct version of mpfr.h])
acd26225 1394 AC_TRY_COMPILE([#include <gmp.h>
e69bf64b 1395 #include <mpfr.h>],[
a3337ea2 1396 #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
e69bf64b
PB
1397 choke me
1398 #endif
e8fd69bb 1399 ], [AC_TRY_COMPILE([#include <gmp.h>
acd26225 1400 #include <mpfr.h>],[
362c6d2f 1401 #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
acd26225
KG
1402 choke me
1403 #endif
e8fd69bb 1404 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
acd26225
KG
1405 [AC_MSG_RESULT([no]); have_gmp=no])
1406 fi
1407
1408 # Check for the MPC header version.
3a5729ea 1409 if test x"$have_gmp" = xyes ; then
362c6d2f 1410 # Check for the recommended and required versions of MPC.
acd26225
KG
1411 AC_MSG_CHECKING([for the correct version of mpc.h])
1412 AC_TRY_COMPILE([#include <mpc.h>],[
362c6d2f 1413 #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
acd26225
KG
1414 choke me
1415 #endif
e8fd69bb 1416 ], [AC_TRY_COMPILE([#include <mpc.h>],[
362c6d2f
KG
1417 #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
1418 choke me
1419 #endif
e8fd69bb 1420 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
362c6d2f 1421 [AC_MSG_RESULT([no]); have_gmp=no])
acd26225
KG
1422 fi
1423
1424 # Now check the MPFR library.
1425 if test x"$have_gmp" = xyes; then
1426 saved_LIBS="$LIBS"
1427 LIBS="$LIBS $gmplibs"
3a5729ea
KG
1428 AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
1429 AC_TRY_LINK([#include <mpc.h>],[
54e433bc
MK
1430 mpfr_t n;
1431 mpfr_t x;
3a5729ea 1432 mpc_t c;
e69bf64b 1433 int t;
54e433bc
MK
1434 mpfr_init (n);
1435 mpfr_init (x);
e69bf64b
PB
1436 mpfr_atan2 (n, n, x, GMP_RNDN);
1437 mpfr_erfc (n, x, GMP_RNDN);
1438 mpfr_subnormalize (x, t, GMP_RNDN);
3a5729ea
KG
1439 mpfr_clear(n);
1440 mpfr_clear(x);
1441 mpc_init2 (c, 53);
1442 mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
1443 mpc_cosh (c, c, MPC_RNDNN);
1444 mpc_pow (c, c, c, MPC_RNDNN);
1445 mpc_acosh (c, c, MPC_RNDNN);
1446 mpc_clear (c);
acd26225
KG
1447 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1448 LIBS="$saved_LIBS"
e69bf64b 1449 fi
acd26225 1450
e69bf64b 1451 CFLAGS="$saved_CFLAGS"
6de9cd9a 1452
362c6d2f
KG
1453# The library versions listed in the error message below should match
1454# the HARD-minimums enforced above.
e69bf64b 1455 if test x$have_gmp != xyes; then
362c6d2f 1456 AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
3a5729ea
KG
1457Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
1458their locations. Source code for these libraries can be found at
1459their respective hosting sites as well as at
1460ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
1461http://gcc.gnu.org/install/prerequisites.html for additional info. If
1462you obtained GMP, MPFR and/or MPC from a vendor distribution package,
1463make sure that you have installed both the libraries and the header
1464files. They may be located in separate packages.])
e69bf64b 1465 fi
70ec446f
KG
1466fi
1467
acd26225 1468# Flags needed for both GMP, MPFR and/or MPC.
6de9cd9a
DN
1469AC_SUBST(gmplibs)
1470AC_SUBST(gmpinc)
9e3eba15 1471AC_SUBST(extra_mpfr_configure_flags)
acd26225
KG
1472AC_SUBST(extra_mpc_gmp_configure_flags)
1473AC_SUBST(extra_mpc_mpfr_configure_flags)
6de9cd9a 1474
f38095f3
JM
1475# Allow host libstdc++ to be specified for static linking with PPL.
1476AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
1477 when linking with PPL])
1478
1479case $with_host_libstdcxx in
1480 no|yes)
1481 AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
1482 ;;
1483esac
f8bf9252 1484
00020c16
ILT
1485# Linker flags to use for stage1 or when not boostrapping.
1486AC_ARG_WITH(stage1-ldflags,
1487[ --with-stage1-ldflags=FLAGS Linker flags for stage1],
1488[if test "$withval" = "no" -o "$withval" = "yes"; then
1489 stage1_ldflags=
1490 else
1491 stage1_ldflags=$withval
1492 fi],
1493[stage1_ldflags=])
1494AC_SUBST(stage1_ldflags)
1495
1496# Libraries to use for stage1 or when not bootstrapping.
1497AC_ARG_WITH(stage1-libs,
1498[ -with-stage1-libs=LIBS Libraries for stage1],
1499[if test "$withval" = "no" -o "$withval" = "yes"; then
1500 stage1_libs=
1501 else
1502 stage1_libs=$withval
1503 fi],
1504[stage1_libs=$with_host_libstdcxx])
1505AC_SUBST(stage1_libs)
1506
00020c16
ILT
1507# Libraries to use for stage2 and later builds. This defaults to the
1508# argument passed to --with-host-libstdcxx.
1509AC_ARG_WITH(boot-libs,
e90e6bd7 1510[ --with-boot-libs=LIBS Libraries for stage2 and later],
00020c16
ILT
1511[if test "$withval" = "no" -o "$withval" = "yes"; then
1512 poststage1_libs=
1513 else
e90e6bd7 1514 poststage1_libs=$withval
00020c16
ILT
1515 fi],
1516[poststage1_libs=$with_host_libstdcxx])
1517AC_SUBST(poststage1_libs)
1518
ed2eaa9f
ILT
1519# Linker flags to use for stage2 and later builds.
1520AC_ARG_WITH(boot-ldflags,
1521[ --with-boot-ldflags=FLAGS Linker flags for stage2 and later],
1522[if test "$withval" = "no" -o "$withval" = "yes"; then
1523 poststage1_ldflags=
1524 else
1525 poststage1_ldflags=$withval
1526 fi],
1527[poststage1_ldflags=
1528 # With --enable-build-with-cxx, default to linking libstdc++ and
1529 # libgcc statically. But if the user explicitly specified the
1530 # libraries to use, trust that they are doing what they want.
1531 if test "$ENABLE_BUILD_WITH_CXX" = "yes" -a "$poststage1_libs" = ""; then
1532 poststage1_ldflags="-static-libstdc++ -static-libgcc"
1533 fi])
1534AC_SUBST(poststage1_ldflags)
1535
f8bf9252 1536# Check for PPL
00020c16 1537ppllibs=" -lppl_c -lppl -lgmpxx"
f8bf9252
SP
1538pplinc=
1539
1540AC_ARG_WITH(ppl, [ --with-ppl=PATH Specify prefix directory for the installed PPL package
1541 Equivalent to --with-ppl-include=PATH/include
f61428ed 1542 plus --with-ppl-lib=PATH/lib])
9965e3cd
AS
1543AC_ARG_WITH(ppl-include, [ --with-ppl-include=PATH Specify directory for installed PPL include files])
1544AC_ARG_WITH(ppl-lib, [ --with-ppl-lib=PATH Specify the directory for the installed PPL library])
f8bf9252 1545
53095c56
SP
1546case $with_ppl in
1547 no)
1548 ppllibs=
1549 ;;
f61428ed 1550 "" | yes)
ad0abd3c 1551 ;;
53095c56 1552 *)
00020c16 1553 ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
53095c56 1554 pplinc="-I$with_ppl/include $pplinc"
53095c56
SP
1555 ;;
1556esac
f8bf9252
SP
1557if test "x$with_ppl_include" != x; then
1558 pplinc="-I$with_ppl_include $pplinc"
1559fi
1560if test "x$with_ppl_lib" != x; then
00020c16 1561 ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
f8bf9252
SP
1562fi
1563if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
592c90ff 1564 ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
f61428ed
AO
1565 pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
1566 enable_ppl_version_check=no
f8bf9252
SP
1567fi
1568
d789184e
SP
1569AC_ARG_ENABLE(ppl-version-check,
1570[ --disable-ppl-version-check disable check for PPL version],
1571ENABLE_PPL_CHECK=$enableval,
1572ENABLE_PPL_CHECK=yes)
1573
ad0abd3c 1574if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
d789184e
SP
1575 saved_CFLAGS="$CFLAGS"
1576 CFLAGS="$CFLAGS $pplinc $gmpinc"
f1af9e5f 1577 AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
d789184e 1578 AC_TRY_COMPILE([#include "ppl_c.h"],[
f1af9e5f 1579 #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
d789184e
SP
1580 choke me
1581 #endif
ed3a56f3 1582 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
d789184e
SP
1583 CFLAGS="$saved_CFLAGS"
1584fi
1585
f8bf9252
SP
1586# Flags needed for PPL
1587AC_SUBST(ppllibs)
1588AC_SUBST(pplinc)
1589
1590
1591# Check for CLOOG
f8bf9252 1592
d32ef397
AS
1593dnl Provide configure switches and initialize clooginc & clooglibs
1594dnl with user input.
1595CLOOG_INIT_FLAGS
17e72e5d 1596if test "x$with_ppl" = "xno"; then
ad0abd3c
RG
1597 with_cloog=no
1598fi
d32ef397
AS
1599if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
1600 && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
1601 clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
1602 clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
f8bf9252 1603fi
d32ef397
AS
1604if test "x$with_cloog" != "xno"; then
1605 dnl Version check for CLooG-Org
1606 dnl As long as there is no new release of CLooG,
1607 dnl we will check for 0.14.0.
1608 dnl
1609 dnl The first git revision that will work with
1610 dnl GCC is: bd91b845a65805c290d43fc1bef8139864a163fb
1611 dnl This is enforced implictly, as this is the commit that
1612 dnl introduced the versioning information used within our
1613 dnl checks.
1614 dnl
1615 dnl If we're using CLooG-Legacy, the provided version information
1616 dnl will be ignored.
1617 CLOOG_CHECK_VERSION(0,14,0)
1618
1619 dnl Only execute fail-action, if CLooG has been
1620 dnl requested.
1621 CLOOG_IF_FAILED([
1622 AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
f8bf9252 1623fi
f8bf9252 1624
d7f09764
DN
1625# Check for LTO support.
1626AC_ARG_ENABLE(lto,
1627[ --enable-lto enable link time optimization support],
1628enable_lto=$enableval,
1629enable_lto=yes; default_enable_lto=yes)
1630
48215350
DK
1631ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
1632 build_lto_plugin=yes
1633],[if test x"$default_enable_lto" = x"yes" ; then
bb79486c 1634 case $target in
1cd0b716 1635 *-apple-darwin* | *-cygwin* | *-mingw*) ;;
48215350 1636 # On other non-ELF platforms, LTO has yet to be validated.
bb79486c
JH
1637 *) enable_lto=no ;;
1638 esac
3bec79c5 1639 else
db50fe7d
IS
1640 # Apart from ELF platforms, only Windows and Darwin support LTO so far.
1641 # It would also be nice to check the binutils support, but we don't
3bec79c5
DK
1642 # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just
1643 # warn during gcc/ subconfigure; unless you're bootstrapping with
1644 # -flto it won't be needed until after installation anyway.
1645 case $target in
1cd0b716 1646 *-cygwin* | *-mingw* | *-apple-darwin*) ;;
3bec79c5
DK
1647 *) if test x"$enable_lto" = x"yes"; then
1648 AC_MSG_ERROR([LTO support is not enabled for this target.])
1649 fi
1650 ;;
1651 esac
1652 fi
1cd0b716 1653 # Among non-ELF, only Windows platforms support the lto-plugin so far.
48215350 1654 # Build it unless LTO was explicitly disabled.
1cd0b716 1655 case $target in
48215350 1656 *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
1cd0b716
DK
1657 *) ;;
1658 esac
48215350 1659])
d7f09764 1660
f8bf9252 1661
1e0f07d3 1662# By default, C is the only stage 1 language.
e1888513 1663stage1_languages=,c,
2805b53a 1664
00020c16 1665# Target libraries that we bootstrap.
ad1e5170 1666bootstrap_target_libs=,target-libgcc,
00020c16 1667
e4c9c075
PB
1668# Figure out what language subdirectories are present.
1669# Look if the user specified --enable-languages="..."; if not, use
1670# the environment variable $LANGUAGES if defined. $LANGUAGES might
1671# go away some day.
1672# NB: embedded tabs in this IF block -- do not untabify
1673if test -d ${srcdir}/gcc; then
1674 if test x"${enable_languages+set}" != xset; then
1675 if test x"${LANGUAGES+set}" = xset; then
1676 enable_languages="${LANGUAGES}"
1677 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1678 else
1679 enable_languages=all
1680 fi
1681 else
1682 if test x"${enable_languages}" = x ||
1683 test x"${enable_languages}" = xyes;
1684 then
1685 echo configure.in: --enable-languages needs at least one language argument 1>&2
1686 exit 1
1687 fi
1688 fi
1689 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
1690
7f26dfa3
FXC
1691 # 'f95' is the old name for the 'fortran' language. We issue a warning
1692 # and make the substitution.
1693 case ,${enable_languages}, in
1694 *,f95,*)
1695 echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1696 enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1697 ;;
1698 esac
1699
e4c9c075
PB
1700 # First scan to see if an enabled language requires some other language.
1701 # We assume that a given config-lang.in will list all the language
1702 # front ends it requires, even if some are required indirectly.
1703 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1704 case ${lang_frag} in
1705 ..) ;;
1706 # The odd quoting in the next line works around
1707 # an apparent bug in bash 1.12 on linux.
1708 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1709 *)
69ecd18f
ILT
1710 # From the config-lang.in, get $language, $lang_requires, and
1711 # $lang_requires_boot_languages.
e4c9c075
PB
1712 language=
1713 lang_requires=
69ecd18f 1714 lang_requires_boot_languages=
e4c9c075 1715 . ${lang_frag}
69ecd18f 1716 for other in ${lang_requires} ${lang_requires_boot_languages}; do
e4c9c075
PB
1717 case ,${enable_languages}, in
1718 *,$other,*) ;;
1719 *,all,*) ;;
1720 *,$language,*)
1721 echo " \`$other' language required by \`$language'; enabling" 1>&2
1722 enable_languages="${enable_languages},${other}"
1723 ;;
1724 esac
1725 done
69ecd18f
ILT
1726 for other in ${lang_requires_boot_languages} ; do
1727 if test "$other" != "c"; then
1728 case ,${enable_stage1_languages}, in
1729 *,$other,*) ;;
1730 *,all,*) ;;
1731 *)
1732 case ,${enable_languages}, in
1733 *,$language,*)
1734 echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
1735 enable_stage1_languages="$enable_stage1_languages,${other}"
1736 ;;
1737 esac
1738 ;;
1739 esac
1740 fi
1741 done
e4c9c075
PB
1742 ;;
1743 esac
1744 done
1745
e1888513 1746 new_enable_languages=,c,
d7f09764
DN
1747
1748 # If LTO is enabled, add the LTO front end.
1749 extra_host_libiberty_configure_flags=
1750 if test "$enable_lto" = "yes" ; then
e4c5bd48
RW
1751 case ,${enable_languages}, in
1752 *,lto,*) ;;
1753 *) enable_languages="${enable_languages},lto" ;;
1754 esac
1cd0b716 1755 if test "${build_lto_plugin}" = "yes" ; then
d7f09764
DN
1756 configdirs="$configdirs lto-plugin"
1757 extra_host_libiberty_configure_flags=--enable-shared
1758 fi
1759 fi
1760 AC_SUBST(extra_host_libiberty_configure_flags)
1761
e4c9c075 1762 missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
e1888513 1763 potential_languages=,c,
e4c9c075
PB
1764
1765 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1766 case ${lang_frag} in
1767 ..) ;;
1768 # The odd quoting in the next line works around
1769 # an apparent bug in bash 1.12 on linux.
1770 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1771 *)
1772 # From the config-lang.in, get $language, $target_libs,
2805b53a 1773 # $lang_dirs, $boot_language, and $build_by_default
e4c9c075
PB
1774 language=
1775 target_libs=
1776 lang_dirs=
1546bb64 1777 subdir_requires=
e1888513
PB
1778 boot_language=no
1779 build_by_default=yes
e4c9c075 1780 . ${lang_frag}
e1888513
PB
1781 if test x${language} = x; then
1782 echo "${lang_frag} doesn't set \$language." 1>&2
1783 exit 1
1784 fi
1785
f61428ed
AO
1786 if test "$language" = "c++" \
1787 && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
00020c16
ILT
1788 boot_language=yes
1789 fi
1790
e1888513
PB
1791 case ,${enable_languages}, in
1792 *,${language},*)
e4c9c075
PB
1793 # Language was explicitly selected; include it.
1794 add_this_lang=yes
1795 ;;
e1888513
PB
1796 *,all,*)
1797 # 'all' was selected, select it if it is a default language
1798 add_this_lang=${build_by_default}
e4c9c075
PB
1799 ;;
1800 *)
1801 add_this_lang=no
1802 ;;
1803 esac
6de9cd9a 1804
1546bb64 1805 # Disable languages that need other directories if these aren't available.
95695ad3 1806 for i in $subdir_requires; do
b6348cb3 1807 test -f "$srcdir/gcc/$i/config-lang.in" && continue
1546bb64
PB
1808 case ,${enable_languages}, in
1809 *,${language},*)
1810 # Specifically requested language; tell them.
1811 AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1812 ;;
1813 *)
1814 # Silently disable.
e1888513 1815 add_this_lang=unsupported
1546bb64
PB
1816 ;;
1817 esac
1818 done
1819
e1888513
PB
1820 # Disable Ada if no preexisting GNAT is available.
1821 case ,${enable_languages},:${language}:${have_gnat} in
1822 *,${language},*:ada:no)
1823 # Specifically requested language; tell them.
1824 AC_MSG_ERROR([GNAT is required to build $language])
1825 ;;
1826 *:ada:no)
1827 # Silently disable.
1828 add_this_lang=unsupported
1829 ;;
1830 esac
1831
4fab7234
HPN
1832 # Disable a language that is unsupported by the target.
1833 case " $unsupported_languages " in
1834 *" $language "*)
e1888513 1835 add_this_lang=unsupported
4fab7234
HPN
1836 ;;
1837 esac
1838
6de9cd9a 1839 case $add_this_lang in
e1888513 1840 unsupported)
e4c9c075 1841 # Remove language-dependent dirs.
2805b53a
NN
1842 eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1843 ;;
e1888513
PB
1844 no)
1845 # Remove language-dependent dirs; still show language as supported.
1846 eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1847 potential_languages="${potential_languages}${language},"
1848 ;;
1849 yes)
1850 new_enable_languages="${new_enable_languages}${language},"
1851 potential_languages="${potential_languages}${language},"
2805b53a 1852 missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
ab9dcd0c
RW
1853 case "${boot_language}:,$enable_stage1_languages," in
1854 yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
340de83f 1855 # Add to (comma-separated) list of stage 1 languages.
ab9dcd0c
RW
1856 case ",$stage1_languages," in
1857 *,$language,* | ,yes, | ,all,) ;;
1858 *) stage1_languages="${stage1_languages}${language}," ;;
1859 esac
00020c16
ILT
1860 # We need to bootstrap any supporting libraries.
1861 bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
2805b53a
NN
1862 ;;
1863 esac
1864 ;;
e4c9c075
PB
1865 esac
1866 ;;
1867 esac
1868 done
1869
e1888513 1870 AC_ARG_ENABLE(stage1-languages,
30b74385 1871[ --enable-stage1-languages@<:@=all@:>@ choose additional languages to build during
e1888513
PB
1872 stage1. Mostly useful for compiler development.],
1873 [case ,${enable_stage1_languages}, in
1874 ,no,|,,)
1875 # Set it to something that will have no effect in the loop below
1876 enable_stage1_languages=c ;;
1877 ,yes,)
1878 enable_stage1_languages=`echo $new_enable_languages | \
1879 sed -e "s/^,//" -e "s/,$//" ` ;;
1880 *,all,*)
1881 enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1882 sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
1883 esac
1884
1885 # Add "good" languages from enable_stage1_languages to stage1_languages,
1886 # while "bad" languages go in missing_languages. Leave no duplicates.
1887 for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
1888 case $potential_languages in
1889 *,$i,*)
1890 case $stage1_languages in
1891 *,$i,*) ;;
1892 *) stage1_languages="$stage1_languages$i," ;;
1893 esac ;;
1894 *)
1895 case $missing_languages in
1896 *,$i,*) ;;
1897 *) missing_languages="$missing_languages$i," ;;
1898 esac ;;
1899 esac
1900 done])
1901
1902 # Remove leading/trailing commas that were added for simplicity
1903 potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
79b4b7d2 1904 missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
e1888513
PB
1905 stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
1906 new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
1907
e4c9c075
PB
1908 if test "x$missing_languages" != x; then
1909 AC_MSG_ERROR([
0cf085e4 1910The following requested languages could not be built: ${missing_languages}
e1888513 1911Supported languages are: ${potential_languages}])
e4c9c075 1912 fi
e4c9c075
PB
1913 if test "x$new_enable_languages" != "x$enable_languages"; then
1914 echo The following languages will be built: ${new_enable_languages}
e1888513 1915 enable_languages="$new_enable_languages"
e4c9c075 1916 fi
e1888513
PB
1917
1918 AC_SUBST(stage1_languages)
b2eaac4a 1919 ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
e4c9c075
PB
1920fi
1921
27079765
AH
1922# Handle --disable-<component> generically.
1923for dir in $configdirs $build_configdirs $target_configdirs ; do
1924 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
ac9e6043
RW
1925 varname=`echo $dirname | sed -e s/+/_/g`
1926 if eval test x\${enable_${varname}} "=" xno ; then
27079765
AH
1927 noconfigdirs="$noconfigdirs $dir"
1928 fi
1929done
1930
7cd0cf9c
DA
1931# Check for Boehm's garbage collector
1932AC_ARG_ENABLE(objc-gc,
30b74385
RW
1933[ --enable-objc-gc enable use of Boehm's garbage collector with the
1934 GNU Objective-C runtime],
7cd0cf9c
DA
1935[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
1936 *,objc,*:*:yes:*target-boehm-gc*)
1937 AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
1938 ;;
1939esac])
1940
1941# Make sure we only build Boehm's garbage collector if required.
2a79fd67
DA
1942case ,${enable_languages},:${enable_objc_gc} in
1943 *,objc,*:yes)
7cd0cf9c
DA
1944 # Keep target-boehm-gc if requested for Objective-C.
1945 ;;
7cd0cf9c 1946 *)
2a79fd67
DA
1947 # Otherwise remove target-boehm-gc depending on target-libjava.
1948 if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
1949 noconfigdirs="$noconfigdirs target-boehm-gc"
1950 fi
7cd0cf9c
DA
1951 ;;
1952esac
1953
9d069a4f
PB
1954# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
1955# $build_configdirs and $target_configdirs.
e4c9c075
PB
1956# If we have the source for $noconfigdirs entries, add them to $notsupp.
1957
1958notsupp=""
1959for dir in . $skipdirs $noconfigdirs ; do
9d069a4f 1960 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
e4c9c075
PB
1961 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1962 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1963 if test -r $srcdir/$dirname/configure ; then
1964 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1965 true
1966 else
1967 notsupp="$notsupp $dir"
1968 fi
1969 fi
1970 fi
9d069a4f
PB
1971 if test $dir != . && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1972 build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
1973 if test -r $srcdir/$dirname/configure ; then
1974 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1975 true
1976 else
1977 notsupp="$notsupp $dir"
1978 fi
1979 fi
1980 fi
e4c9c075
PB
1981 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1982 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1983 if test -r $srcdir/$dirname/configure ; then
1984 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1985 true
1986 else
1987 notsupp="$notsupp $dir"
1988 fi
1989 fi
1990 fi
1991done
1992
1993# Sometimes the tools are distributed with libiberty but with no other
1994# libraries. In that case, we don't want to build target-libiberty.
54fdc474 1995# Don't let libgcc imply libiberty either.
e4c9c075 1996if test -n "${target_configdirs}" ; then
54fdc474 1997 libgcc=
e4c9c075
PB
1998 others=
1999 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
54fdc474
DJ
2000 if test "$i" = "libgcc"; then
2001 libgcc=target-libgcc
2002 elif test "$i" != "libiberty" ; then
e4c9c075
PB
2003 if test -r $srcdir/$i/configure ; then
2004 others=yes;
2005 break;
2006 fi
2007 fi
2008 done
2009 if test -z "${others}" ; then
54fdc474 2010 target_configdirs=$libgcc
e4c9c075
PB
2011 fi
2012fi
2013
2014# Quietly strip out all directories which aren't configurable in this tree.
2015# This relies on all configurable subdirectories being autoconfiscated, which
2016# is now the case.
23f6b2f9
PB
2017build_configdirs_all="$build_configdirs"
2018build_configdirs=
2019for i in ${build_configdirs_all} ; do
2020 j=`echo $i | sed -e s/build-//g`
2021 if test -f ${srcdir}/$j/configure ; then
2022 build_configdirs="${build_configdirs} $i"
2023 fi
2024done
2025
e4c9c075
PB
2026configdirs_all="$configdirs"
2027configdirs=
2028for i in ${configdirs_all} ; do
2029 if test -f ${srcdir}/$i/configure ; then
2030 configdirs="${configdirs} $i"
2031 fi
2032done
23f6b2f9 2033
e4c9c075
PB
2034target_configdirs_all="$target_configdirs"
2035target_configdirs=
2036for i in ${target_configdirs_all} ; do
2037 j=`echo $i | sed -e s/target-//g`
2038 if test -f ${srcdir}/$j/configure ; then
2039 target_configdirs="${target_configdirs} $i"
2040 fi
2041done
2042
2043# Produce a warning message for the subdirs we can't configure.
2044# This isn't especially interesting in the Cygnus tree, but in the individual
2045# FSF releases, it's important to let people know when their machine isn't
2046# supported by the one or two programs in a package.
2047
2048if test -n "${notsupp}" && test -z "${norecursion}" ; then
2049 # If $appdirs is non-empty, at least one of those directories must still
2050 # be configured, or we error out. (E.g., if the gas release supports a
2051 # specified target in some subdirs but not the gas subdir, we shouldn't
2052 # pretend that all is well.)
2053 if test -n "$appdirs" ; then
2054 for dir in $appdirs ; do
2055 if test -r $dir/Makefile.in ; then
2056 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
2057 appdirs=""
2058 break
2059 fi
23f6b2f9 2060 if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
e4c9c075
PB
2061 appdirs=""
2062 break
2063 fi
2064 fi
2065 done
2066 if test -n "$appdirs" ; then
2067 echo "*** This configuration is not supported by this package." 1>&2
2068 exit 1
2069 fi
2070 fi
2071 # Okay, some application will build, or we don't care to check. Still
2072 # notify of subdirs not getting built.
2073 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
2074 echo " ${notsupp}" 1>&2
2075 echo " (Any other directories should still work fine.)" 1>&2
2076fi
2077
2078case "$host" in
2079 *msdosdjgpp*)
2080 enable_gdbtk=no ;;
2081esac
2082
c3a86da9
DJ
2083# To find our prefix, in gcc_cv_tool_prefix.
2084ACX_TOOL_DIRS
2085
e4c9c075
PB
2086copy_dirs=
2087
526635cb 2088AC_ARG_WITH([build-sysroot],
30b74385 2089 [ --with-build-sysroot=SYSROOT
526635cb
MM
2090 use sysroot as the system root during the build],
2091 [if test x"$withval" != x ; then
2092 SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2093 fi],
2094 [SYSROOT_CFLAGS_FOR_TARGET=])
2095AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2096
c8aea42c
PB
2097AC_ARG_WITH([debug-prefix-map],
2098 [ --with-debug-prefix-map='A=B C=D ...'
2099 map A to B, C to D ... in debug information],
2100 [if test x"$withval" != x; then
2101 DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2102 for debug_map in $withval; do
2103 DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2104 done
2105 fi],
2106 [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2107AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2108
1c8bd6a3
PB
2109# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2110# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
2111# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2112# We want to ensure that TARGET libraries (which we know are built with
2113# gcc) are built with "-O2 -g", so include those options when setting
2114# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2115if test "x$CFLAGS_FOR_TARGET" = x; then
2116 CFLAGS_FOR_TARGET=$CFLAGS
2117 case " $CFLAGS " in
2118 *" -O2 "*) ;;
2119 *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
2120 esac
2121 case " $CFLAGS " in
2122 *" -g "* | *" -g3 "*) ;;
2123 *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
2124 esac
2125fi
2126AC_SUBST(CFLAGS_FOR_TARGET)
2127
2128if test "x$CXXFLAGS_FOR_TARGET" = x; then
2129 CXXFLAGS_FOR_TARGET=$CXXFLAGS
2130 case " $CXXFLAGS " in
2131 *" -O2 "*) ;;
2132 *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
2133 esac
2134 case " $CXXFLAGS " in
2135 *" -g "* | *" -g3 "*) ;;
2136 *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
2137 esac
2138fi
2139AC_SUBST(CXXFLAGS_FOR_TARGET)
2140
e4c9c075
PB
2141# Handle --with-headers=XXX. If the value is not "yes", the contents of
2142# the named directory are copied to $(tooldir)/sys-include.
2143if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2144 if test x${is_cross_compiler} = xno ; then
2145 echo 1>&2 '***' --with-headers is only supported when cross compiling
2146 exit 1
2147 fi
2148 if test x"${with_headers}" != xyes ; then
c3a86da9 2149 x=${gcc_cv_tool_prefix}
1c710c3c 2150 copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
e4c9c075
PB
2151 fi
2152fi
2153
2154# Handle --with-libs=XXX. If the value is not "yes", the contents of
2155# the name directories are copied to $(tooldir)/lib. Multiple directories
2156# are permitted.
2157if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2158 if test x${is_cross_compiler} = xno ; then
2159 echo 1>&2 '***' --with-libs is only supported when cross compiling
2160 exit 1
2161 fi
2162 if test x"${with_libs}" != xyes ; then
2163 # Copy the libraries in reverse order, so that files in the first named
2164 # library override files in subsequent libraries.
c3a86da9 2165 x=${gcc_cv_tool_prefix}
e4c9c075 2166 for l in ${with_libs}; do
1c710c3c 2167 copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
e4c9c075
PB
2168 done
2169 fi
2170fi
2171
d7f09764 2172# Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
e8b05380
PB
2173#
2174# This is done by determining whether or not the appropriate directory
2175# is available, and by checking whether or not specific configurations
2176# have requested that this magic not happen.
2177#
2178# The command line options always override the explicit settings in
2179# configure.in, and the settings in configure.in override this magic.
2180#
2181# If the default for a toolchain is to use GNU as and ld, and you don't
2182# want to do that, then you should use the --without-gnu-as and
d7f09764
DN
2183# --without-gnu-ld options for the configure script. Similarly, if
2184# the default is to use the included zlib and you don't want to do that,
2185# you should use the --with-system-zlib option for the configure script.
e8b05380
PB
2186
2187if test x${use_gnu_as} = x &&
2188 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2189 with_gnu_as=yes
2190 extra_host_args="$extra_host_args --with-gnu-as"
2191fi
2192
2193if test x${use_gnu_ld} = x &&
5afab7ad 2194 echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
e8b05380
PB
2195 with_gnu_ld=yes
2196 extra_host_args="$extra_host_args --with-gnu-ld"
2197fi
2198
d7f09764
DN
2199if test x${use_included_zlib} = x &&
2200 echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2201 :
2202else
2203 with_system_zlib=yes
2204 extra_host_args="$extra_host_args --with-system-zlib"
2205fi
2206
e8b05380
PB
2207# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2208# can detect this case.
2209
2210if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2211 with_newlib=yes
2212 extra_host_args="$extra_host_args --with-newlib"
2213fi
2214
e4c9c075
PB
2215# Handle ${copy_dirs}
2216set fnord ${copy_dirs}
2217shift
2218while test $# != 0 ; do
2219 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2220 :
2221 else
2222 echo Copying $1 to $2
2223
2224 # Use the install script to create the directory and all required
2225 # parent directories.
2226 if test -d $2 ; then
2227 :
2228 else
2229 echo >config.temp
2230 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2231 fi
2232
2233 # Copy the directory, assuming we have tar.
2234 # FIXME: Should we use B in the second tar? Not all systems support it.
2235 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2236
2237 # It is the responsibility of the user to correctly adjust all
2238 # symlinks. If somebody can figure out how to handle them correctly
2239 # here, feel free to add the code.
2240
2241 echo $1 > $2/COPIED
2242 fi
2243 shift; shift
2244done
2245
e8b05380
PB
2246# Determine a target-dependent exec_prefix that the installed
2247# gcc will search in. Keep this list sorted by triplet, with
2248# the *-*-osname triplets last.
2249md_exec_prefix=
2250case "${target}" in
2251 alpha*-*-*vms*)
2252 md_exec_prefix=/gnu/lib/gcc-lib
2253 ;;
30b74385 2254 i[[34567]]86-pc-msdosdjgpp*)
e8b05380
PB
2255 md_exec_prefix=/dev/env/DJDIR/bin
2256 ;;
30b74385 2257 i[[34567]]86-*-sco3.2v5*)
e8b05380
PB
2258 if test $with_gnu_as = yes; then
2259 md_exec_prefix=/usr/gnu/bin
2260 else
2261 md_exec_prefix=/usr/ccs/bin/elf
2262 fi
2263 ;;
2264
2265 mn10300-*-* | \
2266 powerpc-*-chorusos* | \
2267 powerpc*-*-eabi* | \
2268 powerpc*-*-sysv* | \
2269 powerpc*-*-kaos* | \
2270 s390x-ibm-tpf*)
2271 md_exec_prefix=/usr/ccs/bin
2272 ;;
2273 sparc64-*-elf*)
2274 ;;
2275 v850*-*-*)
2276 md_exec_prefix=/usr/ccs/bin
2277 ;;
aa12a573 2278 xtensa*-*-elf*)
e8b05380
PB
2279 ;;
2280
2281 *-*-beos* | \
2282 *-*-elf* | \
2283 *-*-hpux* | \
2284 *-*-netware* | \
2285 *-*-nto-qnx* | \
2286 *-*-rtems* | \
2287 *-*-solaris2* | \
30b74385 2288 *-*-sysv[[45]]* | \
e8b05380
PB
2289 *-*-vxworks* | \
2290 *-wrs-windiss)
2291 md_exec_prefix=/usr/ccs/bin
2292 ;;
2293esac
2294
4977bab6
ZW
2295extra_arflags_for_target=
2296extra_nmflags_for_target=
2a726918 2297extra_ranlibflags_for_target=
671aa708 2298target_makefile_frag=/dev/null
55380b08 2299case "${target}" in
3e19841a
PB
2300 mep*-*-*)
2301 target_makefile_frag="config/mt-mep"
2302 ;;
58e24147
AM
2303 spu-*-*)
2304 target_makefile_frag="config/mt-spu"
2305 ;;
4bf6c438
RS
2306 mips*-sde-elf*)
2307 target_makefile_frag="config/mt-sde"
2308 ;;
1ec3b87b
RS
2309 mipsisa*-*-elfoabi*)
2310 target_makefile_frag="config/mt-mips-elfoabi"
2311 ;;
08d0963a
RS
2312 mips*-*-*linux* | mips*-*-gnu*)
2313 target_makefile_frag="config/mt-mips-gnu"
2314 ;;
61fec9ff 2315 *-*-netware*)
c3b7d169 2316 target_makefile_frag="config/mt-netware"
55380b08 2317 ;;
416ac4d4 2318 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
98a5bb3b 2319 target_makefile_frag="config/mt-gnu"
55380b08 2320 ;;
671aa708 2321 *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
4977bab6
ZW
2322 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
2323 # commands to handle both 32-bit and 64-bit objects. These flags are
2324 # harmless if we're using GNU nm or ar.
2325 extra_arflags_for_target=" -X32_64"
2326 extra_nmflags_for_target=" -B -X32_64"
55380b08 2327 ;;
0aeb3cc6
JH
2328 *-*-darwin[[3-9]]*)
2329 # ranlib before Darwin10 requires the -c flag to look at common symbols.
2a726918
GK
2330 extra_ranlibflags_for_target=" -c"
2331 ;;
55380b08 2332 mips*-*-pe | sh*-*-pe | *arm-wince-pe)
c3b7d169
NN
2333 target_makefile_frag="config/mt-wince"
2334 ;;
2335esac
2336
671aa708 2337alphaieee_frag=/dev/null
c3b7d169
NN
2338case $target in
2339 alpha*-*-*)
2340 # This just makes sure to use the -mieee option to build target libs.
2341 # This should probably be set individually by each library.
2342 alphaieee_frag="config/mt-alphaieee"
55380b08
NN
2343 ;;
2344esac
701afd4d 2345
55380b08
NN
2346# If --enable-target-optspace always use -Os instead of -O2 to build
2347# the target libraries, similarly if it is not specified, use -Os
2348# on selected platforms.
671aa708 2349ospace_frag=/dev/null
55380b08
NN
2350case "${enable_target_optspace}:${target}" in
2351 yes:*)
c3b7d169 2352 ospace_frag="config/mt-ospace"
55380b08
NN
2353 ;;
2354 :d30v-*)
c3b7d169 2355 ospace_frag="config/mt-d30v"
55380b08
NN
2356 ;;
2357 :m32r-* | :d10v-* | :fr30-*)
c3b7d169 2358 ospace_frag="config/mt-ospace"
55380b08
NN
2359 ;;
2360 no:* | :*)
2361 ;;
2362 *)
2363 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2364 ;;
2365esac
6599da04 2366
55380b08
NN
2367# Default to using --with-stabs for certain targets.
2368if test x${with_stabs} = x ; then
2369 case "${target}" in
89a95129 2370 mips*-*-irix[[56]]*)
55380b08
NN
2371 ;;
2372 mips*-*-* | alpha*-*-osf*)
2373 with_stabs=yes;
4977bab6 2374 extra_host_args="${extra_host_args} --with-stabs"
55380b08
NN
2375 ;;
2376 esac
2377fi
2378
2379# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
2380# them automatically.
2381case "${host}" in
2382 hppa*64*-*-hpux11*)
4977bab6 2383 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
55380b08 2384 ;;
6cdef75d
NN
2385esac
2386
671aa708
NN
2387# Some systems (e.g., one of the i386-aix systems the gas testers are
2388# using) don't handle "\$" correctly, so don't use it here.
1c710c3c 2389tooldir='${exec_prefix}'/${target_noncanonical}
671aa708
NN
2390build_tooldir=${tooldir}
2391
671aa708
NN
2392# Create a .gdbinit file which runs the one in srcdir
2393# and tells GDB to look there for source files.
2394
2395if test -r ${srcdir}/.gdbinit ; then
2396 case ${srcdir} in
2397 .) ;;
2398 *) cat > ./.gdbinit <<EOF
2399# ${NO_EDIT}
2400dir ${srcdir}
2401dir .
2402source ${srcdir}/.gdbinit
2403EOF
2404 ;;
2405 esac
2406fi
2407
6599da04
JM
2408# Make sure that the compiler is able to generate an executable. If it
2409# can't, we are probably in trouble. We don't care whether we can run the
2410# executable--we might be using a cross compiler--we only care whether it
2411# can be created. At this point the main configure script has set CC.
aeaa0f2f 2412we_are_ok=no
6599da04
JM
2413echo "int main () { return 0; }" > conftest.c
2414${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
aeaa0f2f
NN
2415if test $? = 0 ; then
2416 if test -s conftest || test -s conftest.exe ; then
2417 we_are_ok=yes
2418 fi
2419fi
2420case $we_are_ok in
2421 no)
2422 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2423 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2424 rm -f conftest*
2425 exit 1
2426 ;;
2427esac
6599da04
JM
2428rm -f conftest*
2429
2430# The Solaris /usr/ucb/cc compiler does not appear to work.
2431case "${host}" in
2432 sparc-sun-solaris2*)
2433 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
671aa708 2434 if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
6599da04 2435 could_use=
aeaa0f2f
NN
2436 test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
2437 if test -d /opt/cygnus/bin ; then
2438 if test "$could_use" = "" ; then
6599da04
JM
2439 could_use="/opt/cygnus/bin"
2440 else
2441 could_use="$could_use or /opt/cygnus/bin"
2442 fi
2443 fi
aeaa0f2f 2444 if test "$could_use" = "" ; then
6599da04
JM
2445 echo "Warning: compilation may fail because you're using"
2446 echo "/usr/ucb/cc. You should change your PATH or CC "
2447 echo "variable and rerun configure."
2448 else
2449 echo "Warning: compilation may fail because you're using"
2450 echo "/usr/ucb/cc, when you should use the C compiler from"
2451 echo "$could_use. You should change your"
2452 echo "PATH or CC variable and rerun configure."
2453 fi
2454 fi
2455 ;;
2456esac
2457
d89f0ad6 2458# Decide which environment variable is used to find dynamic libraries.
fe3d5b7f
NN
2459case "${host}" in
2460 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
256f7136 2461 *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
d89f0ad6 2462 *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
fe3d5b7f
NN
2463 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2464esac
fe3d5b7f 2465
d89f0ad6
AL
2466# On systems where the dynamic library environment variable is PATH,
2467# gcc/ will put dynamic libraries into a subdirectory to avoid adding
2468# built executables to PATH.
2469if test "$RPATH_ENVVAR" = PATH; then
2470 GCC_SHLIB_SUBDIR=/shlib
2471else
2472 GCC_SHLIB_SUBDIR=
2473fi
2474
4977bab6
ZW
2475# Record target_configdirs and the configure arguments for target and
2476# build configuration in Makefile.
2477target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
23f6b2f9 2478build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
4977bab6 2479
ad1e5170
JR
2480# If we are building libgomp, bootstrap it.
2481if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2482 bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2483fi
2484
4977bab6
ZW
2485# Determine whether gdb needs tk/tcl or not.
2486# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2487# and in that case we want gdb to be built without tk. Ugh!
2488# In fact I believe gdb is the *only* package directly dependent on tk,
2489# so we should be able to put the 'maybe's in unconditionally and
2490# leave out the maybe dependencies when enable_gdbtk is false. I'm not
2491# 100% sure that that's safe though.
e914a571 2492
b4f96efe 2493gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
4977bab6
ZW
2494case "$enable_gdbtk" in
2495 no)
2496 GDB_TK="" ;;
e914a571
AC
2497 yes)
2498 GDB_TK="${gdb_tk}" ;;
4977bab6 2499 *)
e914a571
AC
2500 # Only add the dependency on gdbtk when GDBtk is part of the gdb
2501 # distro. Eventually someone will fix this and move Insight, nee
2502 # gdbtk to a separate directory.
2503 if test -d ${srcdir}/gdb/gdbtk ; then
2504 GDB_TK="${gdb_tk}"
2505 else
2506 GDB_TK=""
2507 fi
2508 ;;
4977bab6 2509esac
ef9db8d5
DJ
2510CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2511INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
4977bab6 2512
60975492 2513# Strip out unwanted targets.
8b87bb96
NN
2514
2515# While at that, we remove Makefiles if we were started for recursive
2516# configuration, so that the top-level Makefile reconfigures them,
2517# like we used to do when configure itself was recursive.
8b87bb96 2518
3e54529c
RW
2519# Loop over modules. We used to use the "$extrasub" feature from Autoconf
2520# but now we're fixing up the Makefile ourselves with the additional
2521# commands passed to AC_CONFIG_FILES. Use separate variables
2522# extrasub-{build,host,target} not because there is any reason to split
2523# the substitutions up that way, but only to remain below the limit of
2524# 99 commands in a script, for HP-UX sed.
2525# Do not nest @if/@endif pairs, because configure will not warn you at all.
8b87bb96 2526
5607edfd 2527AC_ARG_ENABLE([bootstrap],
30b74385 2528[ --enable-bootstrap enable bootstrapping @<:@yes if native build@:>@],,
ce521a9c 2529enable_bootstrap=default)
5607edfd 2530
ce521a9c
PB
2531# Issue errors and warnings for invalid/strange bootstrap combinations.
2532case "$configdirs" in
2533 *gcc*) have_compiler=yes ;;
2534 *) have_compiler=no ;;
2535esac
2536
2537case "$have_compiler:$host:$target:$enable_bootstrap" in
2538 *:*:*:no) ;;
2539
1ca26cd2 2540 # Default behavior. Enable bootstrap if we have a compiler
ce521a9c
PB
2541 # and we are in a native configuration.
2542 yes:$build:$build:default)
1ca26cd2 2543 enable_bootstrap=yes ;;
ce521a9c
PB
2544
2545 *:*:*:default)
2546 enable_bootstrap=no ;;
2547
2548 # We have a compiler and we are in a native configuration, bootstrap is ok
2d309510 2549 yes:$build:$build:yes)
ce521a9c
PB
2550 ;;
2551
2552 # Other configurations, but we have a compiler. Assume the user knows
2553 # what he's doing.
2d309510 2554 yes:*:*:yes)
ce521a9c
PB
2555 AC_MSG_WARN([trying to bootstrap a cross compiler])
2556 ;;
2557
2558 # No compiler: if they passed --enable-bootstrap explicitly, fail
2d309510 2559 no:*:*:yes)
ce521a9c
PB
2560 AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2561
2562 # Fail if wrong command line
2563 *)
2564 AC_MSG_ERROR([invalid option for --enable-bootstrap])
2565 ;;
2566esac
2567
ca6d0d62
RW
2568case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
2569 *,c++,*:yes:yes) ;;
2570 *:yes:yes)
2571 AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
2572 ;;
2573esac
2574
79cd2b23
RW
2575case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2576 yes:yes:*\ gold\ *:*,c++,*) ;;
2577 yes:yes:*\ gold\ *:*)
2578 AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2579 ;;
2580esac
2581
ce521a9c 2582# Adjust the toplevel makefile according to whether bootstrap was selected.
e12c4094 2583case $enable_bootstrap in
5607edfd 2584 yes)
e12c4094
AO
2585 bootstrap_suffix=bootstrap
2586 BUILD_CONFIG=bootstrap-debug
2587 ;;
5607edfd 2588 no)
e12c4094
AO
2589 bootstrap_suffix=no-bootstrap
2590 BUILD_CONFIG=
2591 ;;
5607edfd 2592esac
5607edfd 2593
e12c4094 2594AC_MSG_CHECKING(for default BUILD_CONFIG)
5646b7b9
AO
2595
2596AC_ARG_WITH([build-config],
2597 [--with-build-config='NAME NAME2...'
2598 Use config/NAME.mk build configuration],
2599 [case $with_build_config in
2600 yes) with_build_config= ;;
2601 no) with_build_config= BUILD_CONFIG= ;;
2602 esac])
2603
e12c4094
AO
2604if test "x${with_build_config}" != x; then
2605 BUILD_CONFIG=$with_build_config
2606else
2607 case $BUILD_CONFIG in
2608 bootstrap-debug)
2609 if echo "int f (void) { return 0; }" > conftest.c &&
2610 ${CC} -c conftest.c &&
2611 mv conftest.o conftest.o.g0 &&
2612 ${CC} -c -g conftest.c &&
2613 mv conftest.o conftest.o.g &&
615c8ffa 2614 ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
e12c4094
AO
2615 :
2616 else
2617 BUILD_CONFIG=
2618 fi
2619 rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2620 ;;
2621 esac
2622fi
2623AC_MSG_RESULT($BUILD_CONFIG)
2624AC_SUBST(BUILD_CONFIG)
2625
3e54529c 2626extrasub_build=
23f6b2f9 2627for module in ${build_configdirs} ; do
8b87bb96
NN
2628 if test -z "${no_recursion}" \
2629 && test -f ${build_subdir}/${module}/Makefile; then
2630 echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2631 rm -f ${build_subdir}/${module}/Makefile
2632 fi
3e54529c 2633 extrasub_build="$extrasub_build
60975492 2634/^@if build-$module\$/d
5607edfd
PB
2635/^@endif build-$module\$/d
2636/^@if build-$module-$bootstrap_suffix\$/d
2637/^@endif build-$module-$bootstrap_suffix\$/d"
8b87bb96 2638done
3e54529c 2639extrasub_host=
8b87bb96 2640for module in ${configdirs} ; do
a6fbc1e2 2641 if test -z "${no_recursion}"; then
f063a9ed 2642 for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
a6fbc1e2
AS
2643 if test -f ${file}; then
2644 echo 1>&2 "*** removing ${file} to force reconfigure"
2645 rm -f ${file}
2646 fi
2647 done
8b87bb96 2648 fi
3e54529c 2649 extrasub_host="$extrasub_host
60975492 2650/^@if $module\$/d
5607edfd
PB
2651/^@endif $module\$/d
2652/^@if $module-$bootstrap_suffix\$/d
2653/^@endif $module-$bootstrap_suffix\$/d"
8b87bb96 2654done
3e54529c 2655extrasub_target=
8b87bb96
NN
2656for module in ${target_configdirs} ; do
2657 if test -z "${no_recursion}" \
2658 && test -f ${target_subdir}/${module}/Makefile; then
2659 echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2660 rm -f ${target_subdir}/${module}/Makefile
2661 fi
00020c16
ILT
2662
2663 # We only bootstrap target libraries listed in bootstrap_target_libs.
2664 case $bootstrap_target_libs in
2665 *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2666 *) target_bootstrap_suffix=no-bootstrap ;;
2667 esac
2668
3e54529c 2669 extrasub_target="$extrasub_target
60975492 2670/^@if target-$module\$/d
5607edfd 2671/^@endif target-$module\$/d
00020c16
ILT
2672/^@if target-$module-$target_bootstrap_suffix\$/d
2673/^@endif target-$module-$target_bootstrap_suffix\$/d"
4977bab6 2674done
f516a7da 2675
3e54529c
RW
2676# Do the final fixup along with target modules.
2677extrasub_target="$extrasub_target
60975492 2678/^@if /,/^@endif /d"
4977bab6
ZW
2679
2680# Create the serialization dependencies. This uses a temporary file.
2681
ade82b16 2682AC_ARG_ENABLE([serial-configure],
30b74385
RW
2683[ --enable-serial-@<:@{host,target,build}-@:>@configure
2684 force sequential configuration of
ade82b16 2685 sub-packages for the host, target or build
30b74385 2686 machine, or all sub-packages])
bf1d3e81
NN
2687
2688case ${enable_serial_configure} in
2689 yes)
2690 enable_serial_build_configure=yes
2691 enable_serial_host_configure=yes
2692 enable_serial_target_configure=yes
2693 ;;
2694esac
ade82b16 2695
4977bab6
ZW
2696# These force 'configure's to be done one at a time, to avoid problems
2697# with contention over a shared config.cache.
2698rm -f serdep.tmp
ade82b16 2699echo '# serdep.tmp' > serdep.tmp
4977bab6 2700olditem=
bf1d3e81 2701test "x${enable_serial_build_configure}" = xyes &&
4977bab6
ZW
2702for item in ${build_configdirs} ; do
2703 case ${olditem} in
2704 "") ;;
ade82b16 2705 *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
4977bab6
ZW
2706 esac
2707 olditem=${item}
2708done
2709olditem=
bf1d3e81 2710test "x${enable_serial_host_configure}" = xyes &&
4977bab6
ZW
2711for item in ${configdirs} ; do
2712 case ${olditem} in
2713 "") ;;
ade82b16 2714 *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
4977bab6
ZW
2715 esac
2716 olditem=${item}
2717done
2718olditem=
bf1d3e81 2719test "x${enable_serial_target_configure}" = xyes &&
4977bab6
ZW
2720for item in ${target_configdirs} ; do
2721 case ${olditem} in
2722 "") ;;
ade82b16 2723 *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
4977bab6
ZW
2724 esac
2725 olditem=${item}
2726done
671aa708
NN
2727serialization_dependencies=serdep.tmp
2728AC_SUBST_FILE(serialization_dependencies)
fe3d5b7f 2729
ade82b16 2730# Base args. Strip norecursion, cache-file, srcdir, host, build,
1c710c3c 2731# target, nonopt, and variable assignments. These are the ones we
f1a036e4
NC
2732# might not want to pass down to subconfigures. The exception being
2733# --cache-file=/dev/null, which is used to turn off the use of cache
2734# files altogether, and which should be passed on to subconfigures.
2735# Also strip program-prefix, program-suffix, and program-transform-name,
2736# so that we can pass down a consistent program-transform-name.
1c710c3c
DJ
2737baseargs=
2738keep_next=no
2739skip_next=no
2740eval "set -- $ac_configure_args"
44bfc3ac
DJ
2741for ac_arg
2742do
1c710c3c
DJ
2743 if test X"$skip_next" = X"yes"; then
2744 skip_next=no
2745 continue
2746 fi
2747 if test X"$keep_next" = X"yes"; then
2748 case $ac_arg in
2749 *\'*)
2750 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2751 esac
2752 baseargs="$baseargs '$ac_arg'"
2753 keep_next=no
2754 continue
2755 fi
2756
2757 # Handle separated arguments. Based on the logic generated by
2758 # autoconf 2.59.
2759 case $ac_arg in
2760 *=* | --config-cache | -C | -disable-* | --disable-* \
2761 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2762 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2763 | -with-* | --with-* | -without-* | --without-* | --x)
2764 separate_arg=no
2765 ;;
2766 -*)
2767 separate_arg=yes
2768 ;;
2769 *)
2770 separate_arg=no
2771 ;;
2772 esac
2773
2774 case "$ac_arg" in
f1a036e4
NC
2775 --cache-file=/dev/null | \
2776 -cache-file=/dev/null )
2777 # Handled here to avoid the test to skip args below.
2778 baseargs="$baseargs '$ac_arg'"
2779 # Assert: $separate_arg should always be no.
2780 keep_next=$separate_arg
2781 ;;
1c710c3c
DJ
2782 --no*)
2783 continue
2784 ;;
2785 --c* | \
2786 --sr* | \
2787 --ho* | \
2788 --bu* | \
2789 --t* | \
2790 --program-* | \
2791 -cache_file* | \
2792 -srcdir* | \
2793 -host* | \
2794 -build* | \
2795 -target* | \
2796 -program-prefix* | \
2797 -program-suffix* | \
2798 -program-transform-name* )
2799 skip_next=$separate_arg
2800 continue
2801 ;;
2802 -*)
2803 # An option. Add it.
2804 case $ac_arg in
2805 *\'*)
2806 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2807 esac
2808 baseargs="$baseargs '$ac_arg'"
2809 keep_next=$separate_arg
2810 ;;
2811 *)
2812 # Either a variable assignment, or a nonopt (triplet). Don't
2813 # pass it down; let the Makefile handle this.
2814 continue
2815 ;;
2816 esac
2817done
2818# Remove the initial space we just introduced and, as these will be
2819# expanded by make, quote '$'.
2820baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
6599da04 2821
43bb47c2
DJ
2822# Add in --program-transform-name, after --program-prefix and
2823# --program-suffix have been applied to it. Autoconf has already
2824# doubled dollar signs and backslashes in program_transform_name; we want
2825# the backslashes un-doubled, and then the entire thing wrapped in single
2826# quotes, because this will be expanded first by make and then by the shell.
2827# Also, because we want to override the logic in subdir configure scripts to
2828# choose program_transform_name, replace any s,x,x, with s,y,y,.
2829sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
2830${program_transform_name}
2831EOF_SED
2832gcc_transform_name=`cat conftestsed.out`
2833rm -f conftestsed.out
2834baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
d9acb717
RW
2835if test "$silent" = yes; then
2836 baseargs="$baseargs --silent"
2837fi
0115d4a3 2838baseargs="$baseargs --disable-option-checking"
43bb47c2 2839
ffedf511
RW
2840# Record and document user additions to sub configure arguments.
2841AC_ARG_VAR([build_configargs],
2842 [additional configure arguments for build directories])
2843AC_ARG_VAR([host_configargs],
2844 [additional configure arguments for host directories])
2845AC_ARG_VAR([target_configargs],
2846 [additional configure arguments for target directories])
2847
e490616e
ZW
2848# For the build-side libraries, we just need to pretend we're native,
2849# and not use the same cache file. Multilibs are neither needed nor
2850# desired.
ffedf511 2851build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
e254d6b5 2852
4977bab6
ZW
2853# For host modules, accept cache file option, or specification as blank.
2854case "${cache_file}" in
2855"") # empty
2856 cache_file_option="" ;;
671aa708 2857/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
4977bab6
ZW
2858 cache_file_option="--cache-file=${cache_file}" ;;
2859*) # relative path
2860 cache_file_option="--cache-file=../${cache_file}" ;;
2861esac
2862
09438bde
NN
2863# Host dirs don't like to share a cache file either, horribly enough.
2864# This seems to be due to autoconf 2.5x stupidity.
ffedf511 2865host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
4977bab6 2866
ffedf511 2867target_configargs="$target_configargs ${baseargs}"
e490616e 2868
6599da04
JM
2869# Passing a --with-cross-host argument lets the target libraries know
2870# whether they are being built with a cross-compiler or being built
2871# native. However, it would be better to use other mechanisms to make the
2872# sorts of decisions they want to make on this basis. Please consider
2873# this option to be deprecated. FIXME.
aeaa0f2f 2874if test x${is_cross_compiler} = xyes ; then
1c710c3c 2875 target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
6599da04
JM
2876fi
2877
dc683a3f
RW
2878# Default to --enable-multilib.
2879if test x${enable_multilib} = x ; then
3fedb745 2880 target_configargs="--enable-multilib ${target_configargs}"
dc683a3f 2881fi
6599da04 2882
5d4a5ee6
JL
2883# Pass --with-newlib if appropriate. Note that target_configdirs has
2884# changed from the earlier setting of with_newlib.
aeaa0f2f 2885if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
3fedb745 2886 target_configargs="--with-newlib ${target_configargs}"
5d4a5ee6
JL
2887fi
2888
6b9eb62c
NN
2889# Different target subdirs use different values of certain variables
2890# (notably CXX). Worse, multilibs use *lots* of different values.
2891# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
2892# it doesn't automatically accept command-line overrides of them.
2893# This means it's not safe for target subdirs to share a cache file,
2894# which is disgusting, but there you have it. Hopefully this can be
2895# fixed in future. It's still worthwhile to use a cache file for each
2896# directory. I think.
2897
bebcd931
MS
2898# Pass the appropriate --build, --host, --target and --cache-file arguments.
2899# We need to pass --target, as newer autoconf's requires consistency
2900# for target_alias and gcc doesn't manage it consistently.
e69bf64b 2901target_configargs="--cache-file=./config.cache ${target_configargs}"
e490616e 2902
b87487b6 2903FLAGS_FOR_TARGET=
bb654703 2904case " $target_configdirs " in
7965440a 2905 *" newlib "*)
3fedb745 2906 case " $target_configargs " in
7965440a 2907 *" --with-newlib "*)
b87487b6 2908 case "$target" in
5d571eaa
OS
2909 *-cygwin*)
2910 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'
2911 ;;
b87487b6
AO
2912 esac
2913
afd7db25 2914 # If we're not building GCC, don't discard standard headers.
ef40bc65 2915 if test -d ${srcdir}/gcc; then
d4eb109c 2916 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
afd7db25
AO
2917
2918 if test "${build}" != "${host}"; then
2919 # On Canadian crosses, CC_FOR_TARGET will have already been set
2920 # by `configure', so we won't have an opportunity to add -Bgcc/
2921 # to it. This is right: we don't want to search that directory
2922 # for binaries, but we want the header files in there, so add
2923 # them explicitly.
0463992b 2924 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
afd7db25
AO
2925
2926 # Someone might think of using the pre-installed headers on
2927 # Canadian crosses, in case the installed compiler is not fully
2928 # compatible with the compiler being built. In this case, it
2929 # would be better to flag an error than risking having
2930 # incompatible object files being constructed. We can't
2931 # guarantee that an error will be flagged, but let's hope the
2932 # compiler will do it, when presented with incompatible header
2933 # files.
2934 fi
d4eb109c
AO
2935 fi
2936
ab50d72b 2937 case "${target}-${is_cross_compiler}" in
f2a0e225 2938 i[[3456789]]86-*-linux*-no)
ab50d72b
DD
2939 # Here host == target, so we don't need to build gcc,
2940 # so we don't want to discard standard headers.
2941 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
ab50d72b
DD
2942 ;;
2943 *)
2944 # If we're building newlib, use its generic headers last, but search
2945 # for any libc-related directories first (so make it the last -B
2946 # switch).
2947 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
c03353e2
RIL
2948
2949 # If we're building libgloss, find the startup file, simulator library
2950 # and linker script.
2951 case " $target_configdirs " in
2952 *" libgloss "*)
2953 # Look for startup file, simulator library and maybe linker script.
2954 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
2955 # Look for libnosys.a in case the target needs it.
2956 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
2957 # Most targets have the linker script in the source directory.
2958 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
2959 ;;
2960 esac
ab50d72b
DD
2961 ;;
2962 esac
b87487b6 2963 ;;
7965440a
AO
2964 esac
2965 ;;
b87487b6 2966esac
5d571eaa 2967
b91f0a41 2968case "$target" in
5d571eaa
OS
2969 x86_64-*mingw* | *-w64-mingw*)
2970 # MinGW-w64 does not use newlib, nor does it use winsup. It may,
2971 # however, use a symlink named 'mingw' in ${prefix} .
2972 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
2973 ;;
2974 *-mingw*)
2975 # MinGW can't be handled as Cygwin above since it does not use newlib.
2976 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include'
2977 ;;
b91f0a41 2978esac
d4eb109c 2979
6691a79e
ME
2980# Allow the user to override the flags for
2981# our build compiler if desired.
f019adc1
MF
2982if test x"${build}" = x"${host}" ; then
2983 CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
2984 CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
2985 LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
2986fi
6691a79e 2987
d4eb109c
AO
2988# On Canadian crosses, we'll be searching the right directories for
2989# the previously-installed cross compiler, so don't bother to add
2990# flags for directories within the install tree of the compiler
2991# being built; programs in there won't even run.
ef40bc65 2992if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
b87487b6 2993 # Search for pre-installed headers if nothing else fits.
9124bc53 2994 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
b87487b6 2995fi
d4eb109c 2996
bb654703 2997if test "x${use_gnu_ld}" = x &&
55380b08 2998 echo " ${configdirs} " | grep " ld " > /dev/null ; then
b87487b6 2999 # Arrange for us to find uninstalled linker scripts.
215c351a 3000 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
b87487b6
AO
3001fi
3002
e88a2c09
DD
3003# Search for other target-specific linker scripts and such.
3004case "${target}" in
3e19841a
PB
3005 mep*)
3006 FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
3007 ;;
e88a2c09
DD
3008esac
3009
671aa708 3010# Makefile fragments.
7b61653a
PE
3011for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
3012do
3013 eval fragval=\$$frag
3014 if test $fragval != /dev/null; then
3015 eval $frag=${srcdir}/$fragval
3016 fi
3017done
671aa708
NN
3018AC_SUBST_FILE(host_makefile_frag)
3019AC_SUBST_FILE(target_makefile_frag)
3020AC_SUBST_FILE(alphaieee_frag)
3021AC_SUBST_FILE(ospace_frag)
3022
3023# Miscellanea: directories, flags, etc.
671aa708 3024AC_SUBST(RPATH_ENVVAR)
d89f0ad6 3025AC_SUBST(GCC_SHLIB_SUBDIR)
671aa708
NN
3026AC_SUBST(tooldir)
3027AC_SUBST(build_tooldir)
ef9db8d5 3028AC_SUBST(CONFIGURE_GDB_TK)
671aa708 3029AC_SUBST(GDB_TK)
ef9db8d5 3030AC_SUBST(INSTALL_GDB_TK)
671aa708
NN
3031
3032# Build module lists & subconfigure args.
671aa708 3033AC_SUBST(build_configargs)
23f6b2f9 3034AC_SUBST(build_configdirs)
671aa708
NN
3035
3036# Host module lists & subconfigure args.
3037AC_SUBST(host_configargs)
3038AC_SUBST(configdirs)
aae29963 3039AC_SUBST(target_configdirs)
671aa708
NN
3040
3041# Target module lists & subconfigure args.
671aa708 3042AC_SUBST(target_configargs)
ee2312f3 3043
671aa708
NN
3044
3045# Build tools.
0999159b
PB
3046AC_SUBST(AR_FOR_BUILD)
3047AC_SUBST(AS_FOR_BUILD)
671aa708 3048AC_SUBST(CC_FOR_BUILD)
0999159b
PB
3049AC_SUBST(CFLAGS_FOR_BUILD)
3050AC_SUBST(CXXFLAGS_FOR_BUILD)
3051AC_SUBST(CXX_FOR_BUILD)
3052AC_SUBST(DLLTOOL_FOR_BUILD)
3053AC_SUBST(GCJ_FOR_BUILD)
3054AC_SUBST(GFORTRAN_FOR_BUILD)
3055AC_SUBST(LDFLAGS_FOR_BUILD)
3056AC_SUBST(LD_FOR_BUILD)
3057AC_SUBST(NM_FOR_BUILD)
3058AC_SUBST(RANLIB_FOR_BUILD)
3059AC_SUBST(WINDMC_FOR_BUILD)
3060AC_SUBST(WINDRES_FOR_BUILD)
671aa708
NN
3061AC_SUBST(config_shell)
3062
2abefe3d
PB
3063# Generate default definitions for YACC, M4, LEX and other programs that run
3064# on the build machine. These are used if the Makefile can't locate these
3065# programs in objdir.
3066MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
3067
3068AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
3069case " $build_configdirs " in
3070 *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
3071 *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
3072esac
3073
3074AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
3075case " $build_configdirs " in
3076 *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
3077esac
3078
3079AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
3080case " $build_configdirs " in
3081 *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
3082esac
3083
3084AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
3085case " $build_configdirs " in
3086 *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3087 *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
3088esac
3089
3090AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
3091case " $build_configdirs " in
3092 *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
3093esac
3094
3095AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
3096case " $build_configdirs " in
3097 *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
3098 *)
3099changequote(,)
d18ff35a 3100 # For an installed makeinfo, we require it to be from texinfo 4.7 or
2abefe3d
PB
3101 # higher, else we use the "missing" dummy.
3102 if ${MAKEINFO} --version \
d18ff35a 3103 | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
2abefe3d
PB
3104 :
3105 else
3106 MAKEINFO="$MISSING makeinfo"
3107 fi
3108 ;;
3109changequote([,])
3110esac
3111
3112# FIXME: expect and dejagnu may become build tools?
3113
3114AC_CHECK_PROGS(EXPECT, expect, expect)
3115case " $configdirs " in
3116 *" expect "*)
3117 test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
3118 ;;
3119esac
3120
3121AC_CHECK_PROGS(RUNTEST, runtest, runtest)
3122case " $configdirs " in
3123 *" dejagnu "*)
c394e891 3124 test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
2abefe3d
PB
3125 ;;
3126esac
3127
3128
671aa708 3129# Host tools.
2693c0b0
PB
3130NCN_STRICT_CHECK_TOOLS(AR, ar)
3131NCN_STRICT_CHECK_TOOLS(AS, as)
3132NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
3133NCN_STRICT_CHECK_TOOLS(LD, ld)
2abefe3d 3134NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
2693c0b0 3135NCN_STRICT_CHECK_TOOLS(NM, nm)
8927b7c0
RO
3136NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
3137NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
2693c0b0 3138NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
901119ae 3139NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
2693c0b0
PB
3140NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
3141NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
671aa708
NN
3142AC_SUBST(CC)
3143AC_SUBST(CXX)
3144AC_SUBST(CFLAGS)
3145AC_SUBST(CXXFLAGS)
671aa708 3146
2abefe3d 3147# Target tools.
e8b05380 3148AC_ARG_WITH([build-time-tools],
30b74385 3149 [ --with-build-time-tools=PATH
e8b05380
PB
3150 use given path to find target tools during the build],
3151 [case x"$withval" in
3152 x/*) ;;
3153 *)
3154 with_build_time_tools=
3155 AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
3156 ;;
3157 esac],
3158 [with_build_time_tools=])
3159
2693c0b0
PB
3160NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
3161NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
2693c0b0
PB
3162NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
3163NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
3164NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
e8b05380
PB
3165
3166ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
3167ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
3168ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
3169ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
3170ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
3171ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
3172ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
8927b7c0 3173ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
e8b05380
PB
3174ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
3175ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
901119ae 3176ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
4de997d1 3177
2abefe3d
PB
3178RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
3179
3180GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
3181GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
3182GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3183GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
3184 [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
3185 c++)
3186GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
3187 [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
3188 c++)
3189GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
3190GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
3191GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
3192 [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
3193GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
3194 [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
3195GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
3196GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
3197GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
3198GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
3199GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
3200GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
3201GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
901119ae 3202GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
4de997d1 3203
2abefe3d 3204AC_SUBST(FLAGS_FOR_TARGET)
4de997d1 3205AC_SUBST(RAW_CXX_FOR_TARGET)
be912515 3206
671aa708
NN
3207# Certain tools may need extra flags.
3208AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
3209RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
3210NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
6599da04 3211
2abefe3d
PB
3212# When building target libraries, except in a Canadian cross, we use
3213# the same toolchain as the compiler we just built.
3214COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
3215COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
3216COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
3217if test $host = $build; then
3218 case " $configdirs " in
3219 *" gcc "*)
3220 COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
3221 COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
3222 COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
3223 ;;
3224 esac
3225fi
3226
3227AC_SUBST(COMPILER_AS_FOR_TARGET)
3228AC_SUBST(COMPILER_LD_FOR_TARGET)
3229AC_SUBST(COMPILER_NM_FOR_TARGET)
3230
ee03dc5e
AO
3231AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
3232AC_ARG_ENABLE(maintainer-mode,
3233[ --enable-maintainer-mode enable make rules and dependencies not useful
3234 (and sometimes confusing) to the casual installer],
3235 USE_MAINTAINER_MODE=$enableval,
3236 USE_MAINTAINER_MODE=no)
3237AC_MSG_RESULT($USE_MAINTAINER_MODE)
3238AC_SUBST(MAINTAINER_MODE_TRUE)
3239AC_SUBST(MAINTAINER_MODE_FALSE)
3240if test "$USE_MAINTAINER_MODE" = yes; then
3241 MAINTAINER_MODE_TRUE=
3242 MAINTAINER_MODE_FALSE='#'
3243else
3244 MAINTAINER_MODE_TRUE='#'
3245 MAINTAINER_MODE_FALSE=
3246fi
3247MAINT=$MAINTAINER_MODE_TRUE
3248AC_SUBST(MAINT)dnl
3249
2805b53a
NN
3250# ---------------------
3251# GCC bootstrap support
3252# ---------------------
3253
3254# Stage specific cflags for build.
3255stage1_cflags="-g"
3256case $build in
3257 vax-*-*)
3258 case ${GCC} in
3259 yes) stage1_cflags="-g -Wa,-J" ;;
3260 *) stage1_cflags="-g -J" ;;
3261 esac ;;
2805b53a 3262esac
0b50988a
EB
3263
3264# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
00020c16 3265if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
0b50988a
EB
3266 saved_CFLAGS="$CFLAGS"
3267
3268 # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
3269 CFLAGS="$CFLAGS -fkeep-inline-functions"
3270 AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
9cc1244e
JJ
3271 AC_TRY_COMPILE([
3272#if (__GNUC__ < 3) \
3273 || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
3274 || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
3275#error http://gcc.gnu.org/PR29382
3276#endif
3277 ],,
0b50988a
EB
3278 [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
3279 [AC_MSG_RESULT([no])])
3280
3281 CFLAGS="$saved_CFLAGS"
3282fi
3283
2805b53a
NN
3284AC_SUBST(stage1_cflags)
3285
8efea775
PB
3286# Enable --enable-checking in stage1 of the compiler.
3287AC_ARG_ENABLE(stage1-checking,
30b74385
RW
3288[ --enable-stage1-checking@<:@=all@:>@ choose additional checking for stage1
3289 of the compiler],
8efea775 3290[stage1_checking=--enable-checking=${enable_stage1_checking}],
e643dc23 3291[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
7e98624c 3292 stage1_checking=--enable-checking=yes,types
8efea775 3293else
e643dc23 3294 stage1_checking=--enable-checking=$enable_checking,types
8efea775
PB
3295fi])
3296AC_SUBST(stage1_checking)
3297
2805b53a 3298# Enable -Werror in bootstrap stage2 and later.
2805b53a
NN
3299AC_ARG_ENABLE(werror,
3300[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
416cfb5e 3301[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
88fceb68
PB
3302 enable_werror=yes
3303else
3304 enable_werror=no
3305fi])
09a9c095
NN
3306case ${enable_werror} in
3307 yes) stage2_werror_flag="--enable-werror-always" ;;
3308 *) stage2_werror_flag="" ;;
2805b53a 3309esac
09a9c095 3310AC_SUBST(stage2_werror_flag)
2805b53a 3311
f2689b09
SE
3312# Specify what files to not compare during bootstrap.
3313
3314compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
3315case "$target" in
3316 hppa*64*-*-hpux*) ;;
3317 hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
3318esac
f61428ed
AO
3319case " $configdirs " in
3320*" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
3321esac
f2689b09
SE
3322AC_SUBST(compare_exclusions)
3323
3e54529c
RW
3324AC_CONFIG_FILES([Makefile],
3325 [sed "$extrasub_build" Makefile |
3326 sed "$extrasub_host" |
3327 sed "$extrasub_target" > mf$$
3328 mv -f mf$$ Makefile],
3329 [extrasub_build="$extrasub_build"
3330 extrasub_host="$extrasub_host"
3331 extrasub_target="$extrasub_target"])
3332AC_OUTPUT