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