* lib/gdb.exp (gdb_test_multiple): Improve regexp matching the
[deliverable/binutils-gdb.git] / configure.in
CommitLineData
75205f78 1# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
e31d1ea3 2# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
252b5132
RH
3#
4# This file is free software; you can redistribute it and/or modify it
5# under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful, but
10# WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12# General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18##############################################################################
a0da8069
NN
19### WARNING: this file contains embedded tabs. Do not run untabify on this file.
20
21AC_INIT(move-if-change)
75778ec4 22AC_PREREQ(2.13)
a0da8069
NN
23AC_CANONICAL_SYSTEM
24AC_ARG_PROGRAM
25
e5c3f801
NN
26# Get 'install' or 'install-sh' and its variants.
27AC_PROG_INSTALL
28
a0da8069
NN
29sinclude(config/acx.m4)
30
a0da8069
NN
31### we might need to use some other shell than /bin/sh for running subshells
32### If we are on Windows, search for the shell. This will permit people
33### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
34### without also having to set CONFIG_SHELL. This code will work when
35### using bash, which sets OSTYPE.
36case "${OSTYPE}" in
37*win32*)
38 if test x${CONFIG_SHELL} = x ; then
39 if test ! -f /bin/sh ; then
40 if test x${SHELL} != x && test -f ${SHELL} ; then
41 CONFIG_SHELL=${SHELL}
42 export CONFIG_SHELL
43 else
44 for prog in sh sh.exe bash bash.exe; do
45 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
46 for dir in $PATH; do
47 test -z "$dir" && dir=.
48 if test -f $dir/$prog; then
49 CONFIG_SHELL=$dir/$prog
50 export CONFIG_SHELL
51 break
52 fi
53 done
54 IFS="$save_ifs"
55 test -n "${CONFIG_SHELL}" && break
56 done
57 fi
58 fi
59 fi
60 ;;
61esac
62
63config_shell=${CONFIG_SHELL-/bin/sh}
64
a0da8069
NN
65progname=$0
66# if PWD already has a value, it is probably wrong.
67if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
68
d2cc0e0d 69# Export original configure arguments for use by sub-configures. These
8ff944f6
DJ
70# will be expanded by make, so quote '$'.
71tmp="$progname $@"
72sed -e 's,\$,$$,g' <<EOF_SED > conftestsed.out
73$tmp
d2cc0e0d 74EOF_SED
8ff944f6
DJ
75TOPLEVEL_CONFIGURE_ARGUMENTS=`cat conftestsed.out`
76rm -f conftestsed.out
586c0873 77AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
a0da8069
NN
78
79moveifchange=${srcdir}/move-if-change
80
81# Set srcdir to "." if that's what it is.
82# This is important for multilib support.
83pwd=`${PWDCMD-pwd}`
84srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
85if test "${pwd}" = "${srcpwd}" ; then
86 srcdir=.
87fi
88
89topsrcdir=$srcpwd
252b5132 90
ae831be5
NN
91extra_host_args=
92# Define the trigger file to make sure configure will re-run whenever
93# the gcc version number changes.
a0da8069
NN
94if test "${with_gcc_version_trigger+set}" = set ; then
95 gcc_version_trigger="$with_gcc_version_trigger"
96 gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
ae831be5 97else
a0da8069
NN
98 # If gcc's sources are available, define the trigger file.
99 if test -f ${topsrcdir}/gcc/version.c ; then
100 gcc_version_trigger=${topsrcdir}/gcc/version.c
101 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
102 case "$ac_configure_args" in
103 *--with-gcc-version-trigger=$gcc_version_trigger* )
104 ;;
105 * )
106 # Add to all subconfigure arguments: build, host, and target.
e6bfb94a 107 ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
a0da8069
NN
108 ;;
109 esac
110 fi
ae831be5
NN
111fi
112
252b5132
RH
113### To add a new directory to the tree, first choose whether it is a target
114### or a host dependent tool. Then put it into the appropriate list
a2cc058a 115### (library or tools, host or target), doing a dependency sort.
252b5132 116
a2cc058a
NN
117# Subdirs will be configured in the order listed in build_configdirs,
118# configdirs, or target_configdirs; see the serialization section below.
119
120# Dependency sorting is only needed when *configuration* must be done in
121# a particular order. In all cases a dependency should be specified in
122# the Makefile, whether or not it's implicitly specified here.
123
124# Double entries in build_configdirs, configdirs, or target_configdirs may
125# cause circular dependencies and break everything horribly.
252b5132
RH
126
127# these libraries are used by various programs built for the host environment
128#
4b1cb4fe 129host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib libbanshee"
252b5132 130
252b5132
RH
131# these tools are built for the host environment
132# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
133# know that we are building the simulator.
2af579c4
NN
134# binutils, gas and ld appear in that order because it makes sense to run
135# "make check" in that particular order.
91f0e695 136host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
75205f78
DD
137
138# libgcj represents the runtime libraries only used by gcj.
139libgcj="target-libffi \
140 target-boehm-gc \
141 target-zlib \
142 target-qthreads \
143 target-libjava"
252b5132
RH
144
145# these libraries are built for the target environment, and are built after
146# the host libraries and the host tools (which may be a cross compiler)
147#
9c14acb8 148target_libraries="target-libiberty \
252b5132
RH
149 target-libgloss \
150 target-newlib \
b9459e83 151 target-libstdc++-v3 \
4b1cb4fe 152 target-libmudflap \
4b1cb4fe 153 target-libgfortran \
83326456 154 ${libgcj} \
a2592b1b
DD
155 target-libobjc \
156 target-libada"
252b5132 157
9c14acb8
NN
158# these tools are built using the target libraries, and are intended to
159# run only in the target environment
252b5132 160#
9c14acb8 161# note: any program that *uses* libraries that are in the "target_libraries"
252b5132
RH
162# list belongs in this list. those programs are also very likely
163# candidates for the "native_only" list which follows
164#
a3dd767d 165target_tools="target-examples target-groff target-gperf target-rda"
252b5132
RH
166
167################################################################################
168
252b5132
RH
169## All tools belong in one of the four categories, and are assigned above
170## We assign ${configdirs} this way to remove all embedded newlines. This
171## is important because configure will choke if they ever get through.
172## ${configdirs} is directories we build using the host tools.
173## ${target_configdirs} is directories we build using the target tools.
174#
175configdirs=`echo ${host_libs} ${host_tools}`
9c14acb8 176target_configdirs=`echo ${target_libraries} ${target_tools}`
252b5132 177
dd12c3a8
NN
178# Only make build modules if build != host.
179# This should be done more generally, but at the moment it doesn't matter.
180if test ${host_alias} != ${build_alias} ; then
181 # This is the only build module.
182 build_modules=libiberty
183else
184 build_modules=
185fi
186
187
252b5132
RH
188################################################################################
189
252b5132
RH
190srcname="gnu development package"
191
192# This gets set non-empty for some net releases of packages.
193appdirs=""
194
c712250a
DD
195# Define is_cross_compiler to save on calls to 'test'.
196is_cross_compiler=
197if test x"${host}" = x"${target}" ; then
198 is_cross_compiler=no
199else
200 is_cross_compiler=yes
201fi
202
9175bfc0 203# Find the build and target subdir names.
dd12c3a8 204GCC_TOPLEV_SUBDIRS
252b5132 205
f48556b1
DD
206# Skipdirs are removed silently.
207skipdirs=
208# Noconfigdirs are removed loudly.
209noconfigdirs=""
252b5132 210
f48556b1
DD
211use_gnu_ld=
212# Make sure we don't let GNU ld be added if we didn't want it.
213if test x$with_gnu_ld = xno ; then
214 use_gnu_ld=no
215 noconfigdirs="$noconfigdirs ld"
252b5132
RH
216fi
217
f48556b1
DD
218use_gnu_as=
219# Make sure we don't let GNU as be added if we didn't want it.
220if test x$with_gnu_as = xno ; then
221 use_gnu_as=no
222 noconfigdirs="$noconfigdirs gas"
252b5132
RH
223fi
224
f48556b1
DD
225# some tools are so dependent upon X11 that if we're not building with X,
226# it's not even worth trying to configure, much less build, that tool.
252b5132 227
f48556b1
DD
228case ${with_x} in
229 yes | "") ;; # the default value for this tree is that X11 is available
ff0a3bf8
DD
230 no)
231 skipdirs="${skipdirs} tk tix itcl libgui"
232 # We won't be able to build gdbtk without X.
233 enable_gdbtk=no
234 ;;
f48556b1
DD
235 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
236esac
252b5132 237
f48556b1 238# Some tools are only suitable for building in a "native" situation.
405ea7a0 239# Remove these if host!=target.
91f0e695 240native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
405ea7a0
NN
241
242# Similarly, some are only suitable for cross toolchains.
243# Remove these if host=target.
244cross_only="target-libgloss target-newlib target-opcodes"
252b5132 245
f48556b1
DD
246case $is_cross_compiler in
247 no) skipdirs="${skipdirs} ${cross_only}" ;;
248 yes) skipdirs="${skipdirs} ${native_only}" ;;
249esac
252b5132 250
a32d391c
DD
251# If both --with-headers and --with-libs are specified, default to
252# --without-newlib.
d2cc0e0d
GK
253if test x"${with_headers}" != x && test x"${with_headers} != xno \
254 && test x"${with_libs}" != x && test x"${with_libs} != xno ; then
a32d391c
DD
255 if test x"${with_newlib}" = x ; then
256 with_newlib=no
257 fi
258fi
259
260# Recognize --with-newlib/--without-newlib.
261case ${with_newlib} in
262 no) skipdirs="${skipdirs} target-newlib" ;;
263 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
264esac
265
252b5132
RH
266# Configure extra directories which are host specific
267
268case "${host}" in
f48556b1 269 *-cygwin*)
3866be5d 270 configdirs="$configdirs libtermcap" ;;
252b5132
RH
271esac
272
273# Remove more programs from consideration, based on the host or
274# target this usually means that a port of the program doesn't
275# exist yet.
276
252b5132 277case "${host}" in
75205f78
DD
278 hppa*64*-*-*)
279 noconfigdirs="$noconfigdirs byacc"
280 ;;
ec11bdc6 281 i[[3456789]]86-*-vsta)
a92834c8 282 noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
252b5132 283 ;;
ec11bdc6 284 i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
a92834c8 285 noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
bba45b8b 286 ;;
ec11bdc6 287 i[[3456789]]86-*-mingw32*)
91f0e695 288 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
a92834c8 289 noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
bba45b8b 290 ;;
ec11bdc6 291 i[[3456789]]86-*-beos*)
bba45b8b
NN
292 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
293 ;;
252b5132 294 *-*-cygwin*)
a92834c8 295 noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl"
252b5132
RH
296 ;;
297 *-*-netbsd*)
a92834c8 298 noconfigdirs="$noconfigdirs rcs"
252b5132
RH
299 ;;
300 ppc*-*-pe)
a92834c8 301 noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv"
252b5132 302 ;;
ba73c63f
JM
303 powerpc-*-beos*)
304 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
305 ;;
bbf7c8ac
NN
306 *-*-darwin*)
307 noconfigdirs="$noconfigdirs tk itcl tix libgui"
308 ;;
252b5132
RH
309esac
310
4b1cb4fe
DD
311AC_ARG_WITH(libbanshee,
312[ --without-libbanshee Don't build with libbanshee])
313case ${with_libbanshee} in
314 no)
315 noconfigdirs="$noconfigdirs libbanshee" ;;
316 yes|"")
317 with_libbanshee=yes
318 ;;
319 *)
320 AC_MSG_ERROR([--with-libbanshee can only be empty, "yes" or "no" (empty defaults to "yes".])
321esac
322
a2592b1b
DD
323AC_ARG_ENABLE(libada,
324[ --enable-libada Builds libada directory],
325ENABLE_LIBADA=$enableval,
326ENABLE_LIBADA=yes)
327if test "${ENABLE_LIBADA}" != "yes" ; then
328 noconfigdirs="$noconfigdirs target-libada"
329fi
330
96111c10
AO
331# Save it here so that, even in case of --enable-libgcj, if the Java
332# front-end isn't enabled, we still get libgcj disabled.
333libgcj_saved=$libgcj
334case $enable_libgcj in
335yes)
336 # If we reset it here, it won't get added to noconfigdirs in the
337 # target-specific build rules, so it will be forcibly enabled
338 # (unless the Java language itself isn't enabled).
339 libgcj=
340 ;;
341no)
342 # Make sure we get it printed in the list of not supported target libs.
343 noconfigdirs="$noconfigdirs ${libgcj}"
344 ;;
345esac
346
4b1cb4fe
DD
347
348# Allow --disable-libmudflap to exclude target-libmudflap
349case $enable_libmudflap in
350yes | "")
351 # By default it's enabled
352 ;;
353no)
354 noconfigdirs="$noconfigdirs target-libmudflap"
355 ;;
356esac
357
358
252b5132 359case "${target}" in
75205f78
DD
360 *-*-chorusos)
361 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
362 ;;
04d1ab34 363 powerpc-*-darwin*)
b3f16a9b 364 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
b2884a0c 365 noconfigdirs="$noconfigdirs target-libobjc"
b3f16a9b 366 ;;
04d1ab34
GK
367 *-*-darwin*)
368 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
369 noconfigdirs="$noconfigdirs target-libobjc ${libgcj}"
370 ;;
a0da8069 371 *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
ffb97b2f
DD
372 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
373 ;;
4b1cb4fe
DD
374 *-*-freebsd* | *-*-kfreebsd*-gnu)
375 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
376 if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
377 && test -f /usr/local/include/gmp.h; then
378 with_gmp=/usr/local
379 fi
380
381 # Skip some stuff that's unsupported on some FreeBSD configurations.
382 case "${target}" in
383 i*86-*-*) ;;
384 alpha*-*-*) ;;
385 *)
386 noconfigdirs="$noconfigdirs ${libgcj}"
387 ;;
388 esac
389 ;;
f8a495c8
NC
390 *-*-kaos*)
391 # Remove unsupported stuff on all kaOS configurations.
80b200a1 392 skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
f8a495c8
NC
393 skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
394 skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
395 noconfigdirs="$noconfigdirs target-libgloss"
396 ;;
e82380cc
JT
397 *-*-netbsd*)
398 # Skip some stuff on all NetBSD configurations.
ae03d6e2 399 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
e82380cc
JT
400
401 # Skip some stuff that's unsupported on some NetBSD configurations.
402 case "${target}" in
75205f78 403 i*86-*-netbsdelf*) ;;
5b474aa8 404 arm*-*-netbsdelf*) ;;
e82380cc 405 *)
75205f78 406 noconfigdirs="$noconfigdirs ${libgcj}"
e82380cc
JT
407 ;;
408 esac
409 ;;
252b5132 410 *-*-netware)
b9459e83 411 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-newlib target-libiberty target-libgloss ${libgcj}"
252b5132
RH
412 ;;
413 *-*-rtems*)
75205f78 414 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 415 ;;
c1968181
DD
416 *-*-uclinux*)
417 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
418 ;;
252b5132 419 *-*-vxworks*)
3a48a978 420 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
252b5132
RH
421 ;;
422 alpha*-dec-osf*)
e99daf2b
DD
423 # ld works, but does not support shared libraries.
424 # newlib is not 64 bit ready. I'm not sure about fileutils.
252b5132 425 # gas doesn't generate exception information.
e99daf2b 426 noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
252b5132
RH
427 ;;
428 alpha*-*-*vms*)
75205f78
DD
429 noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
430 ;;
431 alpha*-*-linux*)
432 # newlib is not 64 bit ready
433 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
252b5132
RH
434 ;;
435 alpha*-*-*)
436 # newlib is not 64 bit ready
75205f78 437 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
252b5132 438 ;;
4a18bd6b
AO
439 am33_2.0-*-linux*)
440 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
441 ;;
75205f78
DD
442 sh-*-linux*)
443 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
75205f78 444 ;;
2fb651f6 445 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
75205f78
DD
446 noconfigdirs="$noconfigdirs ${libgcj}"
447 noconfigdirs="$noconfigdirs target-examples"
ba73c63f 448 noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
2fb651f6
NC
449 noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
450 noconfigdirs="$noconfigdirs expect dejagnu"
451 # the C++ libraries don't build on top of CE's C libraries
b9459e83 452 noconfigdirs="$noconfigdirs target-libstdc++-v3"
ae03d6e2 453 noconfigdirs="$noconfigdirs target-newlib"
2fb651f6
NC
454 case "${host}" in
455 *-*-cygwin*) ;; # keep gdb and readline
b9459e83 456 *) noconfigdirs="$noconfigdirs gdb readline"
2fb651f6
NC
457 ;;
458 esac
459 ;;
252b5132 460 arc-*-*)
75205f78 461 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 462 ;;
f03b4789
NN
463 arm-*-coff | strongarm-*-coff | xscale-*-coff)
464 noconfigdirs="$noconfigdirs ${libgcj}"
465 ;;
466 arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
467 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
468 ;;
252b5132 469 arm-*-pe*)
75205f78 470 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 471 ;;
252b5132 472 arm-*-oabi*)
75205f78 473 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 474 ;;
252b5132 475 thumb-*-coff)
75205f78 476 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 477 ;;
252b5132 478 thumb-*-elf)
75205f78 479 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
480 ;;
481 thumb-*-oabi)
75205f78 482 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 483 ;;
347dad9e 484 thumb-*-pe)
75205f78 485 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
486 ;;
487 arm-*-riscix*)
75205f78 488 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
252b5132 489 ;;
c95f53ae 490 avr-*-*)
b9459e83 491 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
c95f53ae 492 ;;
ff72e302 493 c4x-*-* | tic4x-*-*)
b9459e83 494 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
077b8428
NC
495 ;;
496 c54x*-*-* | tic54x-*-*)
b9459e83 497 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
75205f78
DD
498 ;;
499 cris-*-*)
b07c2aad 500 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
077b8428 501 ;;
252b5132 502 d10v-*-*)
b9459e83 503 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
252b5132 504 ;;
252b5132 505 d30v-*-*)
b07c2aad 506 noconfigdirs="$noconfigdirs ${libgcj} gdb"
252b5132 507 ;;
252b5132 508 fr30-*-elf*)
b07c2aad 509 noconfigdirs="$noconfigdirs ${libgcj} gdb"
252b5132 510 ;;
d2a86414
DB
511 frv-*-*)
512 noconfigdirs="$noconfigdirs ${libgcj}"
d2a86414 513 ;;
dd1e52a4 514 h8300*-*-*)
80b200a1 515 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
dd1e52a4 516 ;;
252b5132 517 h8500-*-*)
80b200a1 518 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
75205f78
DD
519 ;;
520 hppa*64*-*-linux* | parisc*64*-*-linux*)
521 # In this case, it's because the hppa64-linux target is for
522 # the kernel only at this point and has no libc, and thus no
523 # headers, crt*.o, etc., all of which are needed by these.
524 noconfigdirs="$noconfigdirs target-zlib"
252b5132
RH
525 ;;
526 hppa*-*-*elf* | \
75205f78 527 parisc*-*-linux* | hppa*-*-linux* | \
09e90eb4 528 hppa*-*-lites* | \
17240c1f 529 hppa*-*-openbsd* | \
09e90eb4 530 hppa*64*-*-*)
75205f78 531 noconfigdirs="$noconfigdirs ${libgcj}"
ba73c63f 532 # Do configure ld/binutils/gas for this case.
252b5132
RH
533 ;;
534 hppa*-*-*)
b3ed1d6b
AO
535 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
536 # build on HP-UX 10.20.
537 noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
252b5132 538 ;;
b07c2aad
HPN
539 i960-*-*)
540 noconfigdirs="$noconfigdirs ${libgcj} gdb"
541 ;;
2315914d
JW
542 ia64*-*-elf*)
543 # No gdb support yet.
544 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
545 ;;
a0c1c920
NC
546 ia64*-**-hpux*)
547 # No gdb or ld support yet.
08c1856b 548 noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
a0c1c920 549 ;;
ec11bdc6 550 i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
75205f78 551 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 552 ;;
ec11bdc6 553 i[[3456789]]86-*-linux*)
28f46298
HPN
554 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
555 # not build java stuff by default.
556 case "${target}" in
557 *-*-*libc1*)
558 noconfigdirs="$noconfigdirs ${libgcj}";;
559 esac
560
c72f388d
TF
561 # This section makes it possible to build newlib natively on linux.
562 # If we are using a cross compiler then don't configure newlib.
a018e15b 563 if test x${is_cross_compiler} != xno ; then
bba45b8b 564 noconfigdirs="$noconfigdirs target-newlib"
c72f388d
TF
565 fi
566 noconfigdirs="$noconfigdirs target-libgloss"
567 # If we are not using a cross compiler, do configure newlib.
568 # Note however, that newlib will only be configured in this situation
569 # if the --with-newlib option has been given, because otherwise
570 # 'target-newlib' will appear in skipdirs.
c72f388d 571 ;;
ec11bdc6 572 i[[3456789]]86-*-mingw32*)
252b5132 573 target_configdirs="$target_configdirs target-mingw"
b1af961c 574 noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
252b5132
RH
575
576 # Can't build gdb for mingw32 if not native.
577 case "${host}" in
ec11bdc6 578 i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
91f0e695 579 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
252b5132
RH
580 ;;
581 esac
582 ;;
583 *-*-cygwin*)
584 target_configdirs="$target_configdirs target-libtermcap target-winsup"
b1af961c 585 noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
252b5132
RH
586 # always build newlib.
587 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
588
589 # Can't build gdb for Cygwin if not native.
590 case "${host}" in
591 *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
91f0e695 592 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv"
252b5132
RH
593 ;;
594 esac
595 ;;
ec11bdc6 596 i[[3456789]]86-*-pe)
b9459e83 597 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
252b5132 598 ;;
ec11bdc6 599 i[[3456789]]86-*-sco3.2v5*)
252b5132
RH
600 # The linker does not yet know about weak symbols in COFF,
601 # and is not configured to handle mixed ELF and COFF.
75205f78 602 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
252b5132 603 ;;
ec11bdc6 604 i[[3456789]]86-*-sco*)
75205f78 605 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132 606 ;;
ec11bdc6 607 i[[3456789]]86-*-solaris2*)
252b5132
RH
608 noconfigdirs="$noconfigdirs target-libgloss"
609 ;;
ec11bdc6 610 i[[3456789]]86-*-sysv4*)
e99daf2b 611 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 612 ;;
ec11bdc6 613 i[[3456789]]86-*-beos*)
bba45b8b
NN
614 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
615 ;;
b07c2aad 616 m32r-*-*)
970f29af 617 noconfigdirs="$noconfigdirs ${libgcj}"
b07c2aad 618 ;;
75205f78 619 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
b9459e83 620 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
f9e0997d 621 ;;
75205f78
DD
622 m68k-*-elf*)
623 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
624 ;;
625 m68k-*-coff*)
75205f78 626 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132 627 ;;
75205f78
DD
628 mcore-*-pe*)
629 # The EPOC C++ environment does not support exceptions or rtti,
630 # and so building libstdc++-v3 tends not to always work.
631 noconfigdirs="$noconfigdirs target-libstdc++-v3"
632 ;;
633 mmix-*-*)
95c72c44 634 noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
75205f78 635 ;;
252b5132 636 mn10200-*-*)
75205f78 637 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
638 ;;
639 mn10300-*-*)
75205f78 640 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
641 ;;
642 powerpc-*-aix*)
643 # copied from rs6000-*-* entry
54752a6b 644 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
645 ;;
646 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
647 target_configdirs="$target_configdirs target-winsup"
91f0e695 648 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}"
252b5132
RH
649 # always build newlib.
650 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
651 ;;
652 # This is temporary until we can link against shared libraries
653 powerpcle-*-solaris*)
91f0e695 654 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}"
ba73c63f
JM
655 ;;
656 powerpc-*-beos*)
75205f78 657 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
252b5132
RH
658 ;;
659 powerpc-*-eabi)
75205f78 660 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
661 ;;
662 rs6000-*-lynxos*)
07637366 663 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
252b5132
RH
664 ;;
665 rs6000-*-aix*)
54752a6b 666 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
667 ;;
668 rs6000-*-*)
75205f78 669 noconfigdirs="$noconfigdirs gprof ${libgcj}"
252b5132
RH
670 ;;
671 m68k-apollo-*)
75205f78 672 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
252b5132
RH
673 ;;
674 mips*-*-irix5*)
0f260896 675 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
676 ;;
677 mips*-*-irix6*)
b3ed1d6b
AO
678 # Linking libjava exceeds command-line length limits on at least
679 # IRIX 6.2, but not on IRIX 6.5.
680 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
681 # <oldham@codesourcery.com>
aa236487 682 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
683 ;;
684 mips*-dec-bsd*)
75205f78 685 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
686 ;;
687 mips*-*-bsd*)
75205f78 688 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
252b5132
RH
689 ;;
690 mipstx39-*-*)
75205f78 691 noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
bba45b8b 692 ;;
1712ab83
RS
693 mips64*-*-linux*)
694 noconfigdirs="$noconfigdirs target-newlib ${libgcj}"
695 ;;
fad93c55 696 mips*-*-linux*)
574e6d11 697 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
fad93c55 698 ;;
252b5132 699 mips*-*-*)
75205f78 700 noconfigdirs="$noconfigdirs gprof ${libgcj}"
252b5132
RH
701 ;;
702 romp-*-*)
75205f78 703 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
252b5132
RH
704 ;;
705 sh-*-*)
706 case "${host}" in
ec11bdc6
DD
707 i[[3456789]]86-*-vsta) ;; # don't add gprof back in
708 i[[3456789]]86-*-go32*) ;; # don't add gprof back in
709 i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
252b5132
RH
710 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
711 esac
75205f78 712 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 713 ;;
20a5393b
AO
714 sh64-*-*)
715 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
716 ;;
252b5132 717 sparc-*-elf*)
d5ec694c 718 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
719 ;;
720 sparc64-*-elf*)
d5ec694c 721 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
722 ;;
723 sparclite-*-*)
75205f78 724 noconfigdirs="$noconfigdirs ${libgcj}"
252b5132
RH
725 ;;
726 sparc-*-sunos4*)
75205f78 727 noconfigdirs="$noconfigdirs ${libgcj}"
a0c4f3a0 728 if test x${is_cross_compiler} != xno ; then
c74222f7 729 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
252b5132
RH
730 else
731 use_gnu_ld=no
732 fi
733 ;;
3a036cdc 734 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
b3ed1d6b 735 ;;
252b5132 736 v810-*-*)
b9459e83 737 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
252b5132
RH
738 ;;
739 v850-*-*)
75205f78 740 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132 741 ;;
347dad9e 742 v850e-*-*)
75205f78 743 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
252b5132
RH
744 ;;
745 v850ea-*-*)
75205f78 746 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
347dad9e 747 ;;
252b5132 748 vax-*-vms)
75205f78 749 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
252b5132
RH
750 ;;
751 vax-*-*)
75205f78 752 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
96ce09a7 753 ;;
fbd1054d
BW
754 xtensa-*-*)
755 noconfigdirs="$noconfigdirs ${libgcj}"
756 ;;
f48556b1 757 ip2k-*-*)
b9459e83 758 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
f48556b1 759 ;;
574e6d11
DD
760 *-*-linux*)
761 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
762 ;;
252b5132 763 *-*-lynxos*)
75205f78 764 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
252b5132 765 ;;
75205f78
DD
766 *-*-*)
767 noconfigdirs="$noconfigdirs ${libgcj}"
768 ;;
252b5132
RH
769esac
770
771# If we aren't building newlib, then don't build libgloss, since libgloss
772# depends upon some newlib header files.
773case "${noconfigdirs}" in
774 *target-libgloss*) ;;
775 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
f48556b1 776esac
252b5132 777
f48556b1
DD
778# Work in distributions that contain no compiler tools, like Autoconf.
779tentative_cc=""
a0da8069 780host_makefile_frag=/dev/null
f48556b1
DD
781if test -d ${srcdir}/config ; then
782case "${host}" in
783 m68k-hp-hpux*)
784 # Avoid "too much defining" errors from HPUX compiler.
785 tentative_cc="cc -Wp,-H256000"
a0da8069
NN
786 # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
787 # If it's HP/UX ar, this should be harmless.
788 RANLIB="ar ts"
f48556b1
DD
789 ;;
790 m68k-apollo-sysv*)
791 tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
f48556b1
DD
792 ;;
793 m68k-apollo-bsd*)
794 #None of the Apollo compilers can compile gas or binutils. The preprocessor
795 # chokes on bfd, the compiler won't let you assign integers to enums, and
796 # other problems. Defining CC to gcc is a questionable way to say "don't use
797 # the apollo compiler" (the preferred version of GCC could be called cc,
798 # or whatever), but I'm not sure leaving CC as cc is any better...
799 #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
a0da8069 800 # Used to have BISON=yacc.
f48556b1 801 tentative_cc=gcc
f48556b1
DD
802 ;;
803 m88k-dg-dgux*)
804 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
f48556b1
DD
805 ;;
806 m88k-harris-cxux*)
807 # Under CX/UX, we want to tell the compiler to use ANSI mode.
808 tentative_cc="cc -Xa"
809 host_makefile_frag="config/mh-cxux"
810 ;;
811 m88k-motorola-sysv*)
f48556b1
DD
812 ;;
813 mips*-dec-ultrix*)
814 tentative_cc="cc -Wf,-XNg1000"
815 host_makefile_frag="config/mh-decstation"
816 ;;
817 mips*-nec-sysv4*)
818 # The C compiler on NEC MIPS SVR4 needs bigger tables.
819 tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
820 host_makefile_frag="config/mh-necv4"
821 ;;
f48556b1
DD
822 mips*-sgi-irix4*)
823 # Tell compiler to use K&R C. We can't compile under the SGI Ansi
824 # environment. Also bump switch table size so that cp-parse will
825 # compile. Bump string length limit so linker builds.
826 tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
827 ;;
f48556b1
DD
828 mips*-*-sysv4*)
829 host_makefile_frag="config/mh-sysv4"
830 ;;
831 mips*-*-sysv*)
832 # This is for a MIPS running RISC/os 4.52C.
833
834 # This is needed for GDB, but needs to be in the top-level make because
835 # if a library is compiled with the bsd headers and gets linked with the
836 # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
837 # a different size).
838 # ptrace(2) apparently has problems in the BSD environment. No workaround is
839 # known except to select the sysv environment. Could we use /proc instead?
840 # These "sysv environments" and "bsd environments" often end up being a pain.
841 #
842 # This is not part of CFLAGS because perhaps not all C compilers have this
843 # option.
844 tentative_cc="cc -systype sysv"
f48556b1
DD
845 ;;
846 i370-ibm-opened*)
847 tentative_cc="c89"
f48556b1 848 ;;
ec11bdc6 849 i[[3456789]]86-*-sysv5*)
f48556b1
DD
850 host_makefile_frag="config/mh-sysv5"
851 ;;
ec11bdc6 852 i[[3456789]]86-*-dgux*)
f48556b1
DD
853 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
854 host_makefile_frag="config/mh-dgux386"
855 ;;
ec11bdc6 856 i[[3456789]]86-ncr-sysv4.3*)
f48556b1
DD
857 # The MetaWare compiler will generate a copyright message unless you
858 # turn it off by adding the -Hnocopyr flag.
859 tentative_cc="cc -Hnocopyr"
f48556b1 860 ;;
ec11bdc6 861 i[[3456789]]86-ncr-sysv4*)
f48556b1
DD
862 # for an NCR 3000 (i486/SVR4) system.
863 # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
864 # This compiler not only emits obnoxious copyright messages every time
865 # you run it, but it chokes and dies on a whole bunch of GNU source
866 # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
867 tentative_cc="/usr/ccs/ATT/cc"
868 host_makefile_frag="config/mh-ncr3000"
869 ;;
ec11bdc6 870 i[[3456789]]86-*-sco3.2v5*)
f48556b1 871 ;;
ec11bdc6 872 i[[3456789]]86-*-sco*)
f48556b1
DD
873 # The native C compiler botches some simple uses of const. Unfortunately,
874 # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
875 tentative_cc="cc -Dconst="
876 host_makefile_frag="config/mh-sco"
877 ;;
ec11bdc6 878 i[[3456789]]86-*-udk*)
f48556b1
DD
879 host_makefile_frag="config/mh-sysv5"
880 ;;
ec11bdc6 881 i[[3456789]]86-*-solaris2*)
f48556b1
DD
882 host_makefile_frag="config/mh-sysv4"
883 ;;
ec11bdc6 884 i[[3456789]]86-*-msdosdjgpp*)
f48556b1
DD
885 host_makefile_frag="config/mh-djgpp"
886 ;;
887 *-cygwin*)
888 host_makefile_frag="config/mh-cygwin"
889 ;;
890 *-mingw32*)
891 host_makefile_frag="config/mh-mingw32"
892 ;;
893 *-interix*)
894 host_makefile_frag="config/mh-interix"
895 ;;
896 vax-*-ultrix2*)
897 # The old BSD pcc isn't up to compiling parts of gdb so use gcc
898 tentative_cc=gcc
899 ;;
900 *-*-solaris2*)
901 host_makefile_frag="config/mh-solaris"
902 ;;
903 m68k-sun-sunos*)
904 # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
905 # without overflowing the jump tables (-J says to use a 32 bit table)
906 tentative_cc="cc -J"
907 ;;
f48556b1
DD
908 *-hp-hpux*)
909 tentative_cc="cc -Wp,-H256000"
f48556b1
DD
910 ;;
911 *-*-hiux*)
912 tentative_cc="cc -Wp,-H256000"
f48556b1
DD
913 ;;
914 rs6000-*-lynxos*)
915 # /bin/cc is less than useful for our purposes. Always use GCC
916 tentative_cc="/usr/cygnus/progressive/bin/gcc"
917 host_makefile_frag="config/mh-lynxrs6k"
918 ;;
919 *-*-lynxos*)
920 # /bin/cc is less than useful for our purposes. Always use GCC
921 tentative_cc="/bin/gcc"
922 ;;
923 *-*-sysv4*)
924 host_makefile_frag="config/mh-sysv4"
925 ;;
f48556b1
DD
926esac
927fi
928
9e07f89d
NN
929# If we aren't going to be using gcc, see if we can extract a definition
930# of CC from the fragment.
931# Actually, use the 'pre-extracted' version above.
932if test -z "${CC}" && test "${build}" = "${host}" ; then
933 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
934 found=
935 for dir in $PATH; do
936 test -z "$dir" && dir=.
937 if test -f $dir/gcc; then
938 found=yes
939 break
940 fi
941 done
942 IFS="$save_ifs"
943 if test -z "${found}" && test -n "${tentative_cc}" ; then
944 CC=$tentative_cc
945 fi
946fi
947
948if test "${build}" != "${host}" ; then
949 # If we are doing a Canadian Cross, in which the host and build systems
950 # are not the same, we set reasonable default values for the tools.
951
952 BISON=${BISON-bison}
953 CC=${CC-${host_alias}-gcc}
954 CFLAGS=${CFLAGS-"-g -O2"}
955 CXX=${CXX-${host_alias}-c++}
956 CXXFLAGS=${CXXFLAGS-"-g -O2"}
957 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
958 CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
959 CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
960 GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
961 GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
962 BUILD_PREFIX=${build_alias}-
963 BUILD_PREFIX_1=${build_alias}-
964 MAKEINFO=${MAKEINFO-makeinfo}
965
966 if test -z "${YACC}" ; then
967 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
968 for dir in $PATH; do
969 test -z "$dir" && dir=.
970 if test -f $dir/bison; then
971 YACC="bison -y"
972 break
973 fi
974 if test -f $dir/byacc; then
975 YACC=byacc
976 break
977 fi
978 if test -f $dir/yacc; then
979 YACC=yacc
980 break
981 fi
982 done
983 IFS="$save_ifs"
984 if test -z "${YACC}" ; then
985 YACC="bison -y"
986 fi
987 fi
988
989 if test -z "${LEX}" ; then
990 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
991 for dir in $PATH; do
992 test -z "$dir" && dir=.
993 if test -f $dir/flex; then
994 LEX=flex
995 break
996 fi
997 if test -f $dir/lex; then
998 LEX=lex
999 break
1000 fi
1001 done
1002 IFS="$save_ifs"
1003 LEX=${LEX-flex}
1004 fi
1005
1006else
1007 # Set reasonable default values for some tools even if not Canadian.
1008 # Of course, these are different reasonable default values, originally
1009 # specified directly in the Makefile.
1010 # We don't export, so that autoconf can do its job.
1011 # Note that all these settings are above the fragment inclusion point
1012 # in Makefile.in, so can still be overridden by fragments.
1013 # This is all going to change when we autoconfiscate...
1014
1015 BISON="\$(USUAL_BISON)"
1016 CC_FOR_BUILD="\$(CC)"
1017 GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
1018 BUILD_PREFIX=
1019 BUILD_PREFIX_1=loser-
1020 MAKEINFO="\$(USUAL_MAKEINFO)"
1021 LEX="\$(USUAL_LEX)"
1022 YACC="\$(USUAL_YACC)"
1023
1024 # If CC is still not set, try to get gcc.
1025 cc_prog_is_gcc=
1026 if test -z "${CC}" ; then
1027 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
1028 for dir in $PATH; do
1029 test -z "$dir" && dir=.
1030 if test -f $dir/gcc; then
1031 CC="gcc"
1032 cc_prog_is_gcc=yes
1033 echo 'void f(){}' > conftest.c
1034 if test -z "`${CC} -g -c conftest.c 2>&1`"; then
1035 CFLAGS=${CFLAGS-"-g -O2"}
1036 CXXFLAGS=${CXXFLAGS-"-g -O2"}
1037 else
1038 CFLAGS=${CFLAGS-"-O2"}
1039 CXXFLAGS=${CXXFLAGS-"-O2"}
1040 fi
1041 rm -f conftest*
1042 break
1043 fi
1044 done
1045 IFS="$save_ifs"
1046 CC=${CC-cc}
1047 else
1048 # Determine if we are using gcc.
1049 cat > conftest.c <<EOF
1050#ifdef __GNUC__
1051 yes;
1052#endif
1053EOF
1054 if ${CC} -E conftest.c | grep yes >/dev/null 2>&1; then
1055 cc_prog_is_gcc=yes
1056 fi
1057 rm -f conftest.c
1058 if test -z "${CFLAGS}"; then
1059 # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC
1060 # is set to a version of gcc.
1061 if test "$cc_prog_is_gcc" = yes; then
1062 echo 'void f(){}' > conftest.c
1063 if test -z "`${CC} -g -c conftest.c 2>&1`"; then
1064 CFLAGS=${CFLAGS-"-g -O2"}
1065 CXXFLAGS=${CXXFLAGS-"-g -O2"}
1066 else
1067 CFLAGS=${CFLAGS-"-O2"}
1068 CXXFLAGS=${CXXFLAGS-"-O2"}
1069 fi
1070 rm -f conftest*
1071 fi
1072 fi
1073 fi
1074
1075 # We must set the default linker to the linker used by gcc for the correct
1076 # operation of libtool. If LD is not defined and we are using gcc, try to
1077 # set the LD default to the ld used by gcc.
1078 if test -z "$LD"; then
1079 if test "$cc_prog_is_gcc" = yes; then
1080 case $build in
1081 *-*-mingw*)
1082 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1083 *)
1084 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1085 esac
1086 case $gcc_prog_ld in
1087 # Accept absolute paths.
1088 [[\\/]* | [A-Za-z]:[\\/]*)]
1089 LD="$gcc_prog_ld" ;;
1090 esac
1091 fi
1092 fi
1093
1094 CXX=${CXX-"c++"}
1095 CFLAGS=${CFLAGS-"-g"}
1096 CXXFLAGS=${CXXFLAGS-"-g -O2"}
1097fi
1098
1099ACX_PROG_GNAT
b8908782 1100ACX_PROG_CMP_IGNORE_INITIAL
9e07f89d 1101
4b1cb4fe
DD
1102# Check for GMP
1103gmplibs=
1104gmpinc=
1105have_gmp=yes
1106# Specify a location for gmp
1107AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library])
1108
1109if test "x$with_gmp_dir" != x && test -f "$with_gmp_dir/gmp.h"; then
1110 gmpinc="-I$with_gmp_dir"
1111 if test -f "$with_gmp_dir/.libs/libgmp.a"; then
1112 gmplibs="$with_gmp_dir/.libs/libgmp.a"
1113 elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
1114 gmplibs="$with_gmp_dir/_libs/libgmp.a"
1115 fi
1116 # One of the later tests will catch the error if neither library is present.
1117fi
1118
1119AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library])
1120
1121if test "x$with_gmp" != x && test -d "$with_gmp"; then
1122 gmplibs="-L$with_gmp/lib -lgmp"
1123 gmpinc="-I$with_gmp/include"
1124fi
1125
1126# Use system gmp if nothing else specified
1127if test "x$gmplibs" = x; then
1128 gmplibs="-lgmp"
1129fi
1130
1131saved_CFLAGS="$CFLAGS"
1132CFLAGS="$CFLAGS $gmpinc"
1133# Check GMP actually works
1134AC_MSG_CHECKING([for correct version of gmp.h])
1135AC_TRY_COMPILE([#include "gmp.h"],[
1136#if __GNU_MP_VERSION < 3
1137choke me
1138#endif
1139], [AC_MSG_RESULT([yes])],
1140 [AC_MSG_RESULT([no]); have_gmp=no])
1141
1142if test x"$have_gmp" = xyes; then
1143 AC_MSG_CHECKING([for mpf_init in -lgmp])
1144
1145 saved_LIBS="$LIBS"
1146 LIBS="$LIBS $gmplibs"
1147 AC_TRY_LINK([#include <gmp.h>], [mpf_t n; mpf_init(n);],
1148 [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1149 LIBS="$saved_LIBS"
1150 CFLAGS="$saved_CFLAGS"
1151fi
1152
1153AC_SUBST(gmplibs)
1154AC_SUBST(gmpinc)
1155
947f426e 1156# By default, C is the only stage 1 language.
1d39f329
NN
1157stage1_languages=c
1158AC_SUBST(stage1_languages)
1159
9e07f89d
NN
1160# Figure out what language subdirectories are present.
1161# Look if the user specified --enable-languages="..."; if not, use
1162# the environment variable $LANGUAGES if defined. $LANGUAGES might
1163# go away some day.
1164# NB: embedded tabs in this IF block -- do not untabify
1165if test -d ${srcdir}/gcc; then
1166 if test x"${enable_languages+set}" != xset; then
1167 if test x"${LANGUAGES+set}" = xset; then
1168 enable_languages="${LANGUAGES}"
1169 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1170 else
1171 enable_languages=all
1172 fi
1173 else
1174 if test x"${enable_languages}" = x ||
1175 test x"${enable_languages}" = xyes;
1176 then
1177 echo configure.in: --enable-languages needs at least one language argument 1>&2
1178 exit 1
1179 fi
1180 fi
1181 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
1182
1183 # First scan to see if an enabled language requires some other language.
1184 # We assume that a given config-lang.in will list all the language
1185 # front ends it requires, even if some are required indirectly.
1186 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1187 case ${lang_frag} in
1188 ..) ;;
1189 # The odd quoting in the next line works around
1190 # an apparent bug in bash 1.12 on linux.
1191 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1192 *)
1193 # From the config-lang.in, get $language, $lang_requires
1194 language=
1195 lang_requires=
1196 . ${lang_frag}
1197 for other in ${lang_requires} ; do
1198 case ,${enable_languages}, in
1199 *,$other,*) ;;
1200 *,all,*) ;;
1201 *,$language,*)
1202 echo " \`$other' language required by \`$language'; enabling" 1>&2
1203 enable_languages="${enable_languages},${other}"
1204 ;;
1205 esac
1206 done
1207 ;;
1208 esac
1209 done
1210
1211 new_enable_languages=c
1212 missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
1213
1214 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1215 case ${lang_frag} in
1216 ..) ;;
1217 # The odd quoting in the next line works around
1218 # an apparent bug in bash 1.12 on linux.
1219 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1220 *)
1221 # From the config-lang.in, get $language, $target_libs,
1d39f329 1222 # $lang_dirs, $boot_language, and $build_by_default
9e07f89d
NN
1223 language=
1224 target_libs=
1225 lang_dirs=
1d39f329 1226 boot_language=
9e07f89d 1227 build_by_default=
4b1cb4fe 1228 need_gmp=
9e07f89d
NN
1229 . ${lang_frag}
1230 # This is quite sensitive to the ordering of the case statement arms.
1231 case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in
1232 *::*:*)
1233 echo "${lang_frag} doesn't set \$language." 1>&2
1234 exit 1
1235 ;;
1236 *:ada:no:*)
1237 # Ada was requested with no preexisting GNAT. Disable unconditionally.
1238 add_this_lang=no
1239 ;;
1240 *,${language},*:*:*:*)
1241 # Language was explicitly selected; include it.
1242 add_this_lang=yes
1243 ;;
1244 *,all,*:*:*:no)
1245 # 'all' was selected, but this is not a default language
1246 # so do not include it.
1247 add_this_lang=no
1248 ;;
1249 *,all,*:*:*:*)
1250 # 'all' was selected and this is a default language; include it.
1251 add_this_lang=yes
1252 ;;
1253 *)
1254 add_this_lang=no
1255 ;;
1256 esac
4b1cb4fe
DD
1257
1258 # Disable language that need GMP if it isn't available.
1259 if test x"$need_gmp" = xyes && test x"$have_gmp" = xno; then
1260 add_this_lang=no
1261 fi
1262
1263 case $add_this_lang in
9e07f89d
NN
1264 no)
1265 # Remove language-dependent dirs.
1d39f329
NN
1266 eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
1267 ;;
9e07f89d
NN
1268 *)
1269 new_enable_languages="$new_enable_languages,$language"
1d39f329
NN
1270 missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
1271 case ${boot_language} in
1272 yes)
4fa63067
NN
1273 # Add to (comma-separated) list of stage 1 languages.
1274 stage1_languages="${stage1_languages},${language}"
1d39f329
NN
1275 ;;
1276 esac
1277 ;;
9e07f89d
NN
1278 esac
1279 ;;
1280 esac
1281 done
1282
4b0ac75d 1283 missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
9e07f89d
NN
1284 if test "x$missing_languages" != x; then
1285 AC_MSG_ERROR([
1286The following requested languages were not found: ${missing_languages}])
1287 fi
1288
1289 if test "x$new_enable_languages" != "x$enable_languages"; then
1290 echo The following languages will be built: ${new_enable_languages}
1291 fi
1292 enable_languages="$new_enable_languages"
2e70b094 1293 ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
9e07f89d
NN
1294fi
1295
1296# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
1297# $target_configdirs.
1298# If we have the source for $noconfigdirs entries, add them to $notsupp.
1299
1300notsupp=""
1301for dir in . $skipdirs $noconfigdirs ; do
1302 dirname=`echo $dir | sed -e s/target-//g`
1303 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1304 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1305 if test -r $srcdir/$dirname/configure ; then
1306 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1307 true
1308 else
1309 notsupp="$notsupp $dir"
1310 fi
1311 fi
1312 fi
1313 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1314 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1315 if test -r $srcdir/$dirname/configure ; then
1316 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1317 true
1318 else
1319 notsupp="$notsupp $dir"
1320 fi
1321 fi
1322 fi
1323done
1324
1325# Sometimes the tools are distributed with libiberty but with no other
1326# libraries. In that case, we don't want to build target-libiberty.
1327if test -n "${target_configdirs}" ; then
1328 others=
1329 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
1330 if test "$i" != "libiberty" ; then
1331 if test -r $srcdir/$i/configure ; then
1332 others=yes;
1333 break;
1334 fi
1335 fi
1336 done
1337 if test -z "${others}" ; then
1338 target_configdirs=
1339 fi
1340fi
1341
1342# Quietly strip out all directories which aren't configurable in this tree.
1343# This relies on all configurable subdirectories being autoconfiscated, which
1344# is now the case.
1345configdirs_all="$configdirs"
1346configdirs=
1347for i in ${configdirs_all} ; do
1348 if test -f ${srcdir}/$i/configure ; then
1349 configdirs="${configdirs} $i"
1350 fi
1351done
1352target_configdirs_all="$target_configdirs"
1353target_configdirs=
1354for i in ${target_configdirs_all} ; do
1355 j=`echo $i | sed -e s/target-//g`
1356 if test -f ${srcdir}/$j/configure ; then
1357 target_configdirs="${target_configdirs} $i"
1358 fi
1359done
1360
1361# Produce a warning message for the subdirs we can't configure.
1362# This isn't especially interesting in the Cygnus tree, but in the individual
1363# FSF releases, it's important to let people know when their machine isn't
1364# supported by the one or two programs in a package.
1365
1366if test -n "${notsupp}" && test -z "${norecursion}" ; then
1367 # If $appdirs is non-empty, at least one of those directories must still
1368 # be configured, or we error out. (E.g., if the gas release supports a
1369 # specified target in some subdirs but not the gas subdir, we shouldn't
1370 # pretend that all is well.)
1371 if test -n "$appdirs" ; then
1372 for dir in $appdirs ; do
1373 if test -r $dir/Makefile.in ; then
1374 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1375 appdirs=""
1376 break
1377 fi
1378 if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1379 appdirs=""
1380 break
1381 fi
1382 fi
1383 done
1384 if test -n "$appdirs" ; then
1385 echo "*** This configuration is not supported by this package." 1>&2
1386 exit 1
1387 fi
1388 fi
1389 # Okay, some application will build, or we don't care to check. Still
1390 # notify of subdirs not getting built.
1391 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1392 echo " ${notsupp}" 1>&2
1393 echo " (Any other directories should still work fine.)" 1>&2
1394fi
1395
1396case "$host" in
1397 *msdosdjgpp*)
1398 enable_gdbtk=no ;;
1399esac
1400
1401copy_dirs=
1402
1403# Handle --with-headers=XXX. If the value is not "yes", the contents of
1404# the named directory are copied to $(tooldir)/sys-include.
1405if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
1406 if test x${is_cross_compiler} = xno ; then
1407 echo 1>&2 '***' --with-headers is only supported when cross compiling
1408 exit 1
1409 fi
1410 if test x"${with_headers}" != xyes ; then
1411 case "${exec_prefixoption}" in
1412 "") x=${prefix} ;;
1413 *) x=${exec_prefix} ;;
1414 esac
1415 copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
1416 fi
1417fi
1418
1419# Handle --with-libs=XXX. If the value is not "yes", the contents of
1420# the name directories are copied to $(tooldir)/lib. Multiple directories
1421# are permitted.
1422if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
1423 if test x${is_cross_compiler} = xno ; then
1424 echo 1>&2 '***' --with-libs is only supported when cross compiling
1425 exit 1
1426 fi
1427 if test x"${with_libs}" != xyes ; then
1428 # Copy the libraries in reverse order, so that files in the first named
1429 # library override files in subsequent libraries.
1430 case "${exec_prefixoption}" in
1431 "") x=${prefix} ;;
1432 *) x=${exec_prefix} ;;
1433 esac
1434 for l in ${with_libs}; do
1435 copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
1436 done
1437 fi
1438fi
1439
1440# Handle ${copy_dirs}
1441set fnord ${copy_dirs}
1442shift
1443while test $# != 0 ; do
1444 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
1445 :
1446 else
1447 echo Copying $1 to $2
1448
1449 # Use the install script to create the directory and all required
1450 # parent directories.
1451 if test -d $2 ; then
1452 :
1453 else
1454 echo >config.temp
1455 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
1456 fi
1457
1458 # Copy the directory, assuming we have tar.
1459 # FIXME: Should we use B in the second tar? Not all systems support it.
1460 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
1461
1462 # It is the responsibility of the user to correctly adjust all
1463 # symlinks. If somebody can figure out how to handle them correctly
1464 # here, feel free to add the code.
1465
1466 echo $1 > $2/COPIED
1467 fi
1468 shift; shift
1469done
1470
874e38b4
NN
1471extra_arflags_for_target=
1472extra_nmflags_for_target=
1086bc09 1473extra_ranlibflags_for_target=
a0da8069 1474target_makefile_frag=/dev/null
f48556b1 1475case "${target}" in
ec11bdc6 1476 i[[3456789]]86-*-netware*)
b6f83f2a 1477 target_makefile_frag="config/mt-netware"
f48556b1
DD
1478 ;;
1479 powerpc-*-netware*)
b6f83f2a 1480 target_makefile_frag="config/mt-netware"
f48556b1
DD
1481 ;;
1482 *-*-linux*)
b6f83f2a 1483 target_makefile_frag="config/mt-linux"
f48556b1 1484 ;;
a0da8069 1485 *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
874e38b4
NN
1486 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
1487 # commands to handle both 32-bit and 64-bit objects. These flags are
1488 # harmless if we're using GNU nm or ar.
1489 extra_arflags_for_target=" -X32_64"
1490 extra_nmflags_for_target=" -B -X32_64"
f48556b1 1491 ;;
1086bc09
NN
1492 *-*-darwin*)
1493 # ranlib from Darwin requires the -c flag to look at common symbols.
1494 extra_ranlibflags_for_target=" -c"
1495 ;;
f48556b1 1496 mips*-*-pe | sh*-*-pe | *arm-wince-pe)
b6f83f2a
DD
1497 target_makefile_frag="config/mt-wince"
1498 ;;
1499esac
1500
a0da8069 1501alphaieee_frag=/dev/null
b6f83f2a
DD
1502case $target in
1503 alpha*-*-*)
1504 # This just makes sure to use the -mieee option to build target libs.
1505 # This should probably be set individually by each library.
1506 alphaieee_frag="config/mt-alphaieee"
f48556b1
DD
1507 ;;
1508esac
a0a2c6c6 1509
f48556b1
DD
1510# If --enable-target-optspace always use -Os instead of -O2 to build
1511# the target libraries, similarly if it is not specified, use -Os
1512# on selected platforms.
a0da8069 1513ospace_frag=/dev/null
f48556b1
DD
1514case "${enable_target_optspace}:${target}" in
1515 yes:*)
b6f83f2a 1516 ospace_frag="config/mt-ospace"
f48556b1
DD
1517 ;;
1518 :d30v-*)
b6f83f2a 1519 ospace_frag="config/mt-d30v"
f48556b1
DD
1520 ;;
1521 :m32r-* | :d10v-* | :fr30-*)
b6f83f2a 1522 ospace_frag="config/mt-ospace"
f48556b1
DD
1523 ;;
1524 no:* | :*)
1525 ;;
1526 *)
1527 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1528 ;;
1529esac
252b5132 1530
252b5132
RH
1531# Set with_gnu_as and with_gnu_ld as appropriate.
1532#
1533# This is done by determining whether or not the appropriate directory
1534# is available, and by checking whether or not specific configurations
1535# have requested that this magic not happen.
1536#
1537# The command line options always override the explicit settings in
1538# configure.in, and the settings in configure.in override this magic.
1539#
1540# If the default for a toolchain is to use GNU as and ld, and you don't
1541# want to do that, then you should use the --without-gnu-as and
1542# --without-gnu-ld options for the configure script.
1543
f48556b1
DD
1544if test x${use_gnu_as} = x &&
1545 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1546 with_gnu_as=yes
ae831be5 1547 extra_host_args="$extra_host_args --with-gnu-as"
252b5132
RH
1548fi
1549
f48556b1
DD
1550if test x${use_gnu_ld} = x &&
1551 echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1552 with_gnu_ld=yes
ae831be5 1553 extra_host_args="$extra_host_args --with-gnu-ld"
252b5132
RH
1554fi
1555
ae831be5 1556# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
252b5132
RH
1557# can detect this case.
1558
f48556b1 1559if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
252b5132 1560 with_newlib=yes
ae831be5 1561 extra_host_args="$extra_host_args --with-newlib"
252b5132
RH
1562fi
1563
4b1cb4fe
DD
1564if test x${with_libbanshee} = xyes && echo " ${configdirs} " | grep " libbanshee " >/dev/null 2>&1; then
1565 extra_host_args="$extra_host_args --with-libbanshee"
1566fi
f48556b1
DD
1567
1568# Default to using --with-stabs for certain targets.
1569if test x${with_stabs} = x ; then
1570 case "${target}" in
e31d1ea3 1571 mips*-*-irix[[56]]*)
f48556b1
DD
1572 ;;
1573 mips*-*-* | alpha*-*-osf*)
1574 with_stabs=yes;
ae831be5 1575 extra_host_args="${extra_host_args} --with-stabs"
f48556b1
DD
1576 ;;
1577 esac
1578fi
1579
1580# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
1581# them automatically.
1582case "${host}" in
1583 hppa*64*-*-hpux11*)
ae831be5 1584 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
f48556b1 1585 ;;
c92a0210
DD
1586esac
1587
a0da8069
NN
1588# Some systems (e.g., one of the i386-aix systems the gas testers are
1589# using) don't handle "\$" correctly, so don't use it here.
8013444f 1590tooldir='${exec_prefix}'/${target_alias}
a0da8069
NN
1591build_tooldir=${tooldir}
1592
947f426e
NN
1593# Generate default definitions for YACC, M4, LEX. These are used if the
1594# Makefile can't locate these programs in objdir.
1595MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
1596AC_CHECK_PROGS([DEFAULT_YACC], ['bison -y' byacc yacc], [$MISSING bison])
1597AC_CHECK_PROGS([DEFAULT_M4], [gm4 gnum4 m4], [$MISSING m4])
1598AC_CHECK_PROGS([DEFAULT_LEX], [flex lex], [$MISSING flex])
a0da8069 1599
a0da8069
NN
1600# Create a .gdbinit file which runs the one in srcdir
1601# and tells GDB to look there for source files.
1602
1603if test -r ${srcdir}/.gdbinit ; then
1604 case ${srcdir} in
1605 .) ;;
1606 *) cat > ./.gdbinit <<EOF
1607# ${NO_EDIT}
1608dir ${srcdir}
1609dir .
1610source ${srcdir}/.gdbinit
1611EOF
1612 ;;
1613 esac
1614fi
1615
252b5132
RH
1616# Make sure that the compiler is able to generate an executable. If it
1617# can't, we are probably in trouble. We don't care whether we can run the
1618# executable--we might be using a cross compiler--we only care whether it
1619# can be created. At this point the main configure script has set CC.
a0c4f3a0 1620we_are_ok=no
252b5132
RH
1621echo "int main () { return 0; }" > conftest.c
1622${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
a0c4f3a0
DD
1623if test $? = 0 ; then
1624 if test -s conftest || test -s conftest.exe ; then
1625 we_are_ok=yes
1626 fi
1627fi
1628case $we_are_ok in
1629 no)
1630 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1631 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1632 rm -f conftest*
1633 exit 1
1634 ;;
1635esac
252b5132
RH
1636rm -f conftest*
1637
1638# The Solaris /usr/ucb/cc compiler does not appear to work.
1639case "${host}" in
1640 sparc-sun-solaris2*)
1641 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
a0da8069 1642 if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
252b5132 1643 could_use=
a0c4f3a0
DD
1644 test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
1645 if test -d /opt/cygnus/bin ; then
1646 if test "$could_use" = "" ; then
252b5132
RH
1647 could_use="/opt/cygnus/bin"
1648 else
1649 could_use="$could_use or /opt/cygnus/bin"
1650 fi
1651 fi
a0c4f3a0 1652 if test "$could_use" = "" ; then
252b5132
RH
1653 echo "Warning: compilation may fail because you're using"
1654 echo "/usr/ucb/cc. You should change your PATH or CC "
1655 echo "variable and rerun configure."
1656 else
1657 echo "Warning: compilation may fail because you're using"
1658 echo "/usr/ucb/cc, when you should use the C compiler from"
1659 echo "$could_use. You should change your"
1660 echo "PATH or CC variable and rerun configure."
1661 fi
1662 fi
1663 ;;
1664esac
1665
1666# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1667# binutils tools will find libbfd.so.
b9459e83
NN
1668case "${enable_shared}" in
1669 no | "") SET_LIB_PATH= ;;
1670 *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
1671esac
8607b6c9
NN
1672
1673case "${host}" in
1674 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1675 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1676esac
8607b6c9 1677
3866be5d
NN
1678# Record target_configdirs and the configure arguments for target and
1679# build configuration in Makefile.
1680target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1681
1682# This is the final value for target_configdirs. configdirs already
dd12c3a8
NN
1683# has its final value, as does build_modules. It's time to create some
1684# lists of valid targets.
bfbe5519 1685
930314a4
NN
1686all_build_modules=
1687configure_build_modules=
dd12c3a8
NN
1688for module in ${build_modules} ; do
1689 all_build_modules=all-build-${module}
1690 configure_build_modules=configure-build-${module}
1691done
930314a4 1692
930314a4
NN
1693# Determine whether gdb needs tk/tcl or not.
1694# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
1695# and in that case we want gdb to be built without tk. Ugh!
1696# In fact I believe gdb is the *only* package directly dependent on tk,
1697# so we should be able to put the 'maybe's in unconditionally and
1698# leave out the maybe dependencies when enable_gdbtk is false. I'm not
1699# 100% sure that that's safe though.
c180f501
AC
1700
1701gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui"
930314a4
NN
1702case "$enable_gdbtk" in
1703 no)
1704 GDB_TK="" ;;
c180f501
AC
1705 yes)
1706 GDB_TK="${gdb_tk}" ;;
930314a4 1707 *)
c180f501
AC
1708 # Only add the dependency on gdbtk when GDBtk is part of the gdb
1709 # distro. Eventually someone will fix this and move Insight, nee
1710 # gdbtk to a separate directory.
1711 if test -d ${srcdir}/gdb/gdbtk ; then
1712 GDB_TK="${gdb_tk}"
1713 else
1714 GDB_TK=""
1715 fi
1716 ;;
930314a4
NN
1717esac
1718
1719# Create the 'maybe dependencies'. This uses a temporary file.
dd12c3a8
NN
1720
1721# While at that, we remove Makefiles if we were started for recursive
1722# configuration, so that the top-level Makefile reconfigures them,
1723# like we used to do when configure itself was recursive.
930314a4 1724rm -f maybedep.tmp
e6bfb94a 1725echo '# maybedep.tmp' > maybedep.tmp
dd12c3a8
NN
1726
1727# Make-targets which may need maybe dependencies.
2a4cbe27
NN
1728mts="configure all install check clean distclean dvi info install-info"
1729mts="${mts} installcheck mostlyclean maintainer-clean TAGS"
dd12c3a8
NN
1730
1731# Loop over modules and make-targets.
1732for module in ${build_modules} ; do
1733 if test -z "${no_recursion}" \
1734 && test -f ${build_subdir}/${module}/Makefile; then
1735 echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
1736 rm -f ${build_subdir}/${module}/Makefile
1737 fi
1738 for mt in ${mts} ; do
1739 case ${mt} in
1740 install) ;; # No installing build modules.
1741 *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;;
1742 esac
1743 done
1744done
1745for module in ${configdirs} ; do
1746 if test -z "${no_recursion}" \
1747 && test -f ${module}/Makefile; then
1748 echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
1749 rm -f ${module}/Makefile
1750 fi
1751 for mt in ${mts} ; do
1752 echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp
1753 done
1754done
1755for module in ${target_configdirs} ; do
1756 if test -z "${no_recursion}" \
1757 && test -f ${target_subdir}/${module}/Makefile; then
1758 echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
1759 rm -f ${target_subdir}/${module}/Makefile
1760 fi
1761 for mt in ${mts} ; do
1762 echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp
1763 done
930314a4 1764done
a0da8069
NN
1765maybe_dependencies=maybedep.tmp
1766AC_SUBST_FILE(maybe_dependencies)
930314a4 1767
a2cc058a
NN
1768# Create the serialization dependencies. This uses a temporary file.
1769
e6bfb94a 1770AC_ARG_ENABLE([serial-configure],
1047cb91
DD
1771[ --enable-serial-[{host,target,build}-]configure
1772 Force sequential configuration of
e6bfb94a 1773 sub-packages for the host, target or build
1047cb91
DD
1774 machine, or all sub-packages])
1775
1776case ${enable_serial_configure} in
1777 yes)
1778 enable_serial_build_configure=yes
1779 enable_serial_host_configure=yes
1780 enable_serial_target_configure=yes
1781 ;;
1782esac
e6bfb94a 1783
a2cc058a
NN
1784# These force 'configure's to be done one at a time, to avoid problems
1785# with contention over a shared config.cache.
1786rm -f serdep.tmp
e6bfb94a 1787echo '# serdep.tmp' > serdep.tmp
a2cc058a 1788olditem=
1047cb91 1789test "x${enable_serial_build_configure}" = xyes &&
a2cc058a
NN
1790for item in ${build_configdirs} ; do
1791 case ${olditem} in
1792 "") ;;
e6bfb94a 1793 *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
a2cc058a
NN
1794 esac
1795 olditem=${item}
1796done
1797olditem=
1047cb91 1798test "x${enable_serial_host_configure}" = xyes &&
a2cc058a
NN
1799for item in ${configdirs} ; do
1800 case ${olditem} in
1801 "") ;;
e6bfb94a 1802 *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
a2cc058a
NN
1803 esac
1804 olditem=${item}
1805done
1806olditem=
1047cb91 1807test "x${enable_serial_target_configure}" = xyes &&
a2cc058a
NN
1808for item in ${target_configdirs} ; do
1809 case ${olditem} in
1810 "") ;;
e6bfb94a 1811 *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
a2cc058a
NN
1812 esac
1813 olditem=${item}
1814done
a0da8069
NN
1815serialization_dependencies=serdep.tmp
1816AC_SUBST_FILE(serialization_dependencies)
a2cc058a 1817
e6bfb94a
AO
1818# Base args. Strip norecursion, cache-file, srcdir, host, build,
1819# target and nonopt. These are the ones we might not want to pass
f27d4f92
DJ
1820# down to subconfigures. Also strip program-prefix, program-suffix,
1821# and program-transform-name, so that we can pass down a consistent
1822# program-transform-name. If autoconf has put single quotes around
1823# any of these arguments (because they contain shell metacharacters)
1824# then this will fail; in practice this only happens for
1825# --program-transform-name, so be sure to override --program-transform-name
1826# at the end of the argument list.
1827# These will be expanded by make, so quote '$'.
d2cc0e0d 1828cat <<\EOF_SED > conftestsed
54752a6b
NN
1829s/ --no[[^ ]]*/ /g
1830s/ --c[[a-z-]]*[[= ]][[^ ]]*//g
1831s/ --sr[[a-z-]]*[[= ]][[^ ]]*//g
1832s/ --ho[[a-z-]]*[[= ]][[^ ]]*//g
1833s/ --bu[[a-z-]]*[[= ]][[^ ]]*//g
1834s/ --t[[a-z-]]*[[= ]][[^ ]]*//g
1835s/ --program-[[pst]][[a-z-]]*[[= ]][[^ ]]*//g
1836s/ -cache-file[[= ]][[^ ]]*//g
1837s/ -srcdir[[= ]][[^ ]]*//g
1838s/ -host[[= ]][[^ ]]*//g
1839s/ -build[[= ]][[^ ]]*//g
1840s/ -target[[= ]][[^ ]]*//g
1841s/ -program-prefix[[= ]][[^ ]]*//g
1842s/ -program-suffix[[= ]][[^ ]]*//g
1843s/ -program-transform-name[[= ]][[^ ]]*//g
d2cc0e0d
GK
1844s/ [[^' -][^ ]*] / /
1845s/^ *//;s/ *$//
8ff944f6
DJ
1846s,\$,$$,g
1847EOF_SED
1848sed -f conftestsed <<EOF_SED > conftestsed.out
1849 ${ac_configure_args}
d2cc0e0d 1850EOF_SED
8ff944f6
DJ
1851baseargs=`cat conftestsed.out`
1852rm -f conftestsed conftestsed.out
252b5132 1853
f27d4f92
DJ
1854# Add in --program-transform-name, after --program-prefix and
1855# --program-suffix have been applied to it. Autoconf has already
1856# doubled dollar signs and backslashes in program_transform_name; we want
1857# the backslashes un-doubled, and then the entire thing wrapped in single
1858# quotes, because this will be expanded first by make and then by the shell.
1859# Also, because we want to override the logic in subdir configure scripts to
1860# choose program_transform_name, replace any s,x,x, with s,y,y,.
1861sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
1862${program_transform_name}
1863EOF_SED
1864gcc_transform_name=`cat conftestsed.out`
1865rm -f conftestsed.out
1866baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
1867
49b7683b
DD
1868# For the build-side libraries, we just need to pretend we're native,
1869# and not use the same cache file. Multilibs are neither needed nor
1870# desired.
a0da8069 1871build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
91e060aa 1872
ae831be5
NN
1873# For host modules, accept cache file option, or specification as blank.
1874case "${cache_file}" in
1875"") # empty
1876 cache_file_option="" ;;
a0da8069 1877/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
ae831be5
NN
1878 cache_file_option="--cache-file=${cache_file}" ;;
1879*) # relative path
1880 cache_file_option="--cache-file=../${cache_file}" ;;
1881esac
1882
82252c06
NN
1883# Host dirs don't like to share a cache file either, horribly enough.
1884# This seems to be due to autoconf 2.5x stupidity.
bb5dca17 1885host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
ae831be5 1886
a0da8069 1887target_configargs=${baseargs}
49b7683b 1888
252b5132
RH
1889# Passing a --with-cross-host argument lets the target libraries know
1890# whether they are being built with a cross-compiler or being built
1891# native. However, it would be better to use other mechanisms to make the
1892# sorts of decisions they want to make on this basis. Please consider
1893# this option to be deprecated. FIXME.
a0c4f3a0 1894if test x${is_cross_compiler} = xyes ; then
a0da8069 1895 target_configargs="--with-cross-host=${host_alias} ${target_configargs}"
252b5132
RH
1896fi
1897
1898# Default to --enable-multilib.
a0c4f3a0 1899if test x${enable_multilib} = x ; then
a0da8069 1900 target_configargs="--enable-multilib ${target_configargs}"
252b5132
RH
1901fi
1902
1903# Pass --with-newlib if appropriate. Note that target_configdirs has
1904# changed from the earlier setting of with_newlib.
a0c4f3a0 1905if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
a0da8069 1906 target_configargs="--with-newlib ${target_configargs}"
252b5132
RH
1907fi
1908
95036d20
NN
1909# Different target subdirs use different values of certain variables
1910# (notably CXX). Worse, multilibs use *lots* of different values.
1911# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
1912# it doesn't automatically accept command-line overrides of them.
1913# This means it's not safe for target subdirs to share a cache file,
1914# which is disgusting, but there you have it. Hopefully this can be
1915# fixed in future. It's still worthwhile to use a cache file for each
1916# directory. I think.
1917
49b7683b 1918# Pass the appropriate --host, --build, and --cache-file arguments.
bb5dca17 1919target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
49b7683b 1920
252b5132
RH
1921# provide a proper gxx_include_dir.
1922# Note, if you change the default, make sure to fix both here and in
75205f78 1923# the gcc and libstdc++-v3 subdirectories.
252b5132 1924# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
3db0a37f
NN
1925case "${with_gxx_include_dir}" in
1926 yes)
1927 AC_MSG_ERROR([--with-gxx-include-dir=[[dir]] requires a directory])
1928 ;;
1929 no | "")
1930 case "${enable_version_specific_runtime_libs}" in
1931 yes) gxx_include_dir='${libsubdir}/include/c++' ;;
1932 *)
1933 . ${srcdir}/config.if
1934 gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
1935 esac ;;
1936 *) gxx_include_dir=${with_gxx_include_dir} ;;
1937esac
252b5132 1938
9e449d3e 1939FLAGS_FOR_TARGET=
7c1f909c 1940case " $target_configdirs " in
75205f78 1941 *" newlib "*)
a0da8069 1942 case " $target_configargs " in
75205f78 1943 *" --with-newlib "*)
9e449d3e 1944 case "$target" in
63266560 1945 *-cygwin*)
564b43e5 1946 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' ;;
9e449d3e
AO
1947 esac
1948
7450026c 1949 # If we're not building GCC, don't discard standard headers.
4d5fd396 1950 if test -d ${srcdir}/gcc; then
63266560 1951 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
7450026c
AO
1952
1953 if test "${build}" != "${host}"; then
1954 # On Canadian crosses, CC_FOR_TARGET will have already been set
1955 # by `configure', so we won't have an opportunity to add -Bgcc/
1956 # to it. This is right: we don't want to search that directory
1957 # for binaries, but we want the header files in there, so add
1958 # them explicitly.
1959 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1960
1961 # Someone might think of using the pre-installed headers on
1962 # Canadian crosses, in case the installed compiler is not fully
1963 # compatible with the compiler being built. In this case, it
1964 # would be better to flag an error than risking having
1965 # incompatible object files being constructed. We can't
1966 # guarantee that an error will be flagged, but let's hope the
1967 # compiler will do it, when presented with incompatible header
1968 # files.
1969 fi
63266560
DD
1970 fi
1971
0a0d0041 1972 case "${target}-${is_cross_compiler}" in
ec11bdc6 1973 i[[3456789]]86-*-linux*-no)
0a0d0041
TF
1974 # Here host == target, so we don't need to build gcc,
1975 # so we don't want to discard standard headers.
1976 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
0a0d0041
TF
1977 ;;
1978 *)
1979 # If we're building newlib, use its generic headers last, but search
1980 # for any libc-related directories first (so make it the last -B
1981 # switch).
1982 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
1983 ;;
1984 esac
9e449d3e 1985 ;;
75205f78
DD
1986 esac
1987 ;;
9e449d3e 1988esac
63266560 1989
5fbad20a
DD
1990# Allow the user to override the flags for
1991# our build compiler if desired.
1992CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
1993
63266560
DD
1994# On Canadian crosses, we'll be searching the right directories for
1995# the previously-installed cross compiler, so don't bother to add
1996# flags for directories within the install tree of the compiler
1997# being built; programs in there won't even run.
4d5fd396 1998if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
9e449d3e 1999 # Search for pre-installed headers if nothing else fits.
bba45b8b 2000 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
9e449d3e 2001fi
63266560 2002
7c1f909c 2003if test "x${use_gnu_ld}" = x &&
f48556b1 2004 echo " ${configdirs} " | grep " ld " > /dev/null ; then
9e449d3e
AO
2005 # Arrange for us to find uninstalled linker scripts.
2006 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
2007fi
2008
63266560
DD
2009if test "x${CC_FOR_TARGET+set}" = xset; then
2010 :
4d5fd396 2011elif test -d ${srcdir}/gcc; then
98fbe43f 2012 CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
9e449d3e
AO
2013elif test "$host" = "$target"; then
2014 CC_FOR_TARGET='$(CC)'
2015else
e78b5cfe 2016 CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
9e449d3e 2017fi
a0da8069 2018CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
9e449d3e 2019
75205f78
DD
2020if test "x${GCJ_FOR_TARGET+set}" = xset; then
2021 :
4d5fd396 2022elif test -d ${srcdir}/gcc; then
75205f78
DD
2023 GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
2024elif test "$host" = "$target"; then
2025 GCJ_FOR_TARGET='gcj'
2026else
e78b5cfe 2027 GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
75205f78 2028fi
a0da8069 2029GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
75205f78 2030
4b1cb4fe
DD
2031if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
2032 :
2033elif test -d ${srcdir}/gcc; then
2034 GFORTRAN_FOR_TARGET='$$r/gcc/gfortran -B$$r/gcc/'
2035elif test "$host" = "$target"; then
2036 GFORTRAN_FOR_TARGET='gfortran'
2037else
2038 GFORTRAN_FOR_TARGET=`echo gfortran | sed -e 's/x/x/' ${program_transform_name}`
2039fi
2040case $GFORTRAN_FOR_TARGET in
2041*' $(FLAGS_FOR_TARGET)') ;;
2042*) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
2043esac
2044
8ee424c0 2045# Don't use libstdc++-v3's flags to configure/build itself.
56f25033 2046libstdcxx_flags='`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'
f2ab5990 2047raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
8ee424c0 2048
63266560 2049if test "x${CXX_FOR_TARGET+set}" = xset; then
75addda2
DJ
2050 if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
2051 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
2052 fi
4d5fd396 2053elif test -d ${srcdir}/gcc; then
2e8357fc
AO
2054 # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
2055 # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
2056 # default whereas gcc does not.
930314a4
NN
2057 # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
2058 # all other cases.
2059 CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
2060 RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
9e449d3e
AO
2061elif test "$host" = "$target"; then
2062 CXX_FOR_TARGET='$(CXX)'
930314a4 2063 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
9e449d3e 2064else
e78b5cfe 2065 CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
930314a4 2066 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
9e449d3e 2067fi
a0da8069
NN
2068CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
2069RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
930314a4 2070
a0da8069
NN
2071qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
2072qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
dec0cb0c
AO
2073
2074# We want to defer the evaluation of `cmd`s and shell variables in
2075# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
2076# bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
2077# quotes, but we still have to duplicate `$'s so that shell variables
2078# can be expanded by the nested make as shell variables, not as make
2079# macros.
a0da8069
NN
2080qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
2081qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
2082
2083# Wrap CC_FOR_TARGET and friends, for certain types of builds.
2084CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
2085GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
4b1cb4fe 2086GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
a0da8069
NN
2087CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
2088RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
2089CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
2090RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
2091
2092# Makefile fragments.
2093host_makefile_frag=${srcdir}/${host_makefile_frag}
2094target_makefile_frag=${srcdir}/${target_makefile_frag}
2095alphaieee_frag=${srcdir}/${alphaieee_frag}
2096ospace_frag=${srcdir}/${ospace_frag}
2097AC_SUBST_FILE(host_makefile_frag)
2098AC_SUBST_FILE(target_makefile_frag)
2099AC_SUBST_FILE(alphaieee_frag)
2100AC_SUBST_FILE(ospace_frag)
2101
2102# Miscellanea: directories, flags, etc.
2103AC_SUBST(SET_LIB_PATH)
2104AC_SUBST(RPATH_ENVVAR)
2105AC_SUBST(BUILD_PREFIX)
2106AC_SUBST(BUILD_PREFIX_1)
a0da8069
NN
2107AC_SUBST(gcc_version_trigger)
2108AC_SUBST(gcc_version)
2109AC_SUBST(tooldir)
2110AC_SUBST(build_tooldir)
2111AC_SUBST(GDB_TK)
2112AC_SUBST(gxx_include_dir)
2113AC_SUBST(libstdcxx_incdir)
2114
2115# Build module lists & subconfigure args.
a0da8069
NN
2116AC_SUBST(build_configargs)
2117AC_SUBST(configure_build_modules)
2118AC_SUBST(all_build_modules)
2119
2120# Host module lists & subconfigure args.
2121AC_SUBST(host_configargs)
2122AC_SUBST(configdirs)
a0da8069
NN
2123
2124# Target module lists & subconfigure args.
a0da8069
NN
2125AC_SUBST(target_configargs)
2126AC_SUBST(target_configdirs)
a0da8069
NN
2127
2128# Build tools.
2129AC_SUBST(BISON)
2130AC_SUBST(CC_FOR_BUILD)
2131AC_SUBST(LEX)
2132AC_SUBST(MAKEINFO)
2133AC_SUBST(YACC)
2134AC_SUBST(config_shell)
2135
2136# Host tools.
d18f1c9f
NN
2137NCN_STRICT_CHECK_TOOL(AR, ar)
2138NCN_STRICT_CHECK_TOOL(AS, as)
2139NCN_STRICT_CHECK_TOOL(DLLTOOL, dlltool)
2140NCN_STRICT_CHECK_TOOL(LD, ld)
2141NCN_STRICT_CHECK_TOOL(NM, nm)
2142NCN_STRICT_CHECK_TOOL(RANLIB, ranlib, :)
2143NCN_STRICT_CHECK_TOOL(WINDRES, windres)
2144NCN_STRICT_CHECK_TOOL(OBJCOPY, objcopy)
2145NCN_STRICT_CHECK_TOOL(OBJDUMP, objdump)
a0da8069
NN
2146AC_SUBST(CC)
2147AC_SUBST(CXX)
2148AC_SUBST(CFLAGS)
5fbad20a 2149AC_SUBST(CFLAGS_FOR_BUILD)
a0da8069
NN
2150AC_SUBST(CXXFLAGS)
2151AC_SUBST(DEFAULT_YACC)
2152AC_SUBST(DEFAULT_LEX)
2153AC_SUBST(DEFAULT_M4)
2154
2155# Target tools.
54752a6b
NN
2156NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar)
2157NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as)
2158NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool)
2159NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld)
2160NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm)
2161NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :)
2162NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres)
a0da8069
NN
2163
2164AC_SUBST(GCC_FOR_TARGET)
2165AC_SUBST(FLAGS_FOR_TARGET)
2166AC_SUBST(CC_FOR_TARGET)
2167AC_SUBST(GCJ_FOR_TARGET)
4b1cb4fe 2168AC_SUBST(GFORTRAN_FOR_TARGET)
a0da8069
NN
2169AC_SUBST(CXX_FOR_TARGET)
2170AC_SUBST(RAW_CXX_FOR_TARGET)
2171AC_SUBST(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
2172AC_SUBST(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
2173
2174# Fix up target tools.
2175if test "x${build}" = "x${host}" ; then
2176 # In this case, the newly built tools can and should be used,
2177 # so we override the results of the autoconf tests.
2178 # This should really only happen when the tools are actually being built,
2179 # but that's a further refinement. The new build scheme, where
2180 # tools are built into a structure paralleling where they're installed,
2181 # should also eliminate all of this cleanly.
2182 AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
2183 AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
2184 DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
2185 LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
2186 NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
2187 RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
2188 WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
54752a6b
NN
2189else
2190 # Just use the ones we found.
2191 AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
2192 AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
2193 DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
2194 LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
2195 NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
2196 RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
2197 WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"
a0da8069 2198fi
54752a6b
NN
2199AC_SUBST(AR_FOR_TARGET)
2200AC_SUBST(AS_FOR_TARGET)
2201AC_SUBST(DLLTOOL_FOR_TARGET)
2202AC_SUBST(LD_FOR_TARGET)
2203AC_SUBST(NM_FOR_TARGET)
2204AC_SUBST(RANLIB_FOR_TARGET)
2205AC_SUBST(WINDRES_FOR_TARGET)
2206
a0da8069
NN
2207# Certain tools may need extra flags.
2208AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
2209RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
2210NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
252b5132 2211
6b784d9f
AO
2212AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
2213AC_ARG_ENABLE(maintainer-mode,
2214[ --enable-maintainer-mode enable make rules and dependencies not useful
2215 (and sometimes confusing) to the casual installer],
2216 USE_MAINTAINER_MODE=$enableval,
2217 USE_MAINTAINER_MODE=no)
2218AC_MSG_RESULT($USE_MAINTAINER_MODE)
2219AC_SUBST(MAINTAINER_MODE_TRUE)
2220AC_SUBST(MAINTAINER_MODE_FALSE)
2221if test "$USE_MAINTAINER_MODE" = yes; then
2222 MAINTAINER_MODE_TRUE=
2223 MAINTAINER_MODE_FALSE='#'
2224else
2225 MAINTAINER_MODE_TRUE='#'
2226 MAINTAINER_MODE_FALSE=
2227fi
2228MAINT=$MAINTAINER_MODE_TRUE
2229AC_SUBST(MAINT)dnl
2230
1d39f329
NN
2231# ---------------------
2232# GCC bootstrap support
2233# ---------------------
2234
2235# Stage specific cflags for build.
2236stage1_cflags="-g"
2237case $build in
2238 vax-*-*)
2239 case ${GCC} in
2240 yes) stage1_cflags="-g -Wa,-J" ;;
2241 *) stage1_cflags="-g -J" ;;
2242 esac ;;
2243 powerpc-*-darwin*)
2244 # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
2245 # sources; use -no-cpp-precomp to get to GNU cpp.
2246 # Apple's GCC has bugs in designated initializer handling, so disable
2247 # that too.
2248 stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
2249 ;;
2250esac
2251AC_SUBST(stage1_cflags)
2252
2253# Enable -Werror in bootstrap stage2 and later.
2254# Change the default to "no" on release branches.
2255AC_ARG_ENABLE(werror,
2256[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
2257[enable_werror=yes])
1a6f2dc7
NN
2258case ${enable_werror} in
2259 yes) stage2_werror_flag="--enable-werror-always" ;;
2260 *) stage2_werror_flag="" ;;
1d39f329 2261esac
1a6f2dc7 2262AC_SUBST(stage2_werror_flag)
1d39f329 2263
a0da8069 2264AC_OUTPUT(Makefile)
This page took 0.328552 seconds and 4 git commands to generate.