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