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