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