* avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the
[deliverable/binutils-gdb.git] / configure.in
... / ...
CommitLineData
1# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2# 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
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##############################################################################
19### WARNING: this file contains embedded tabs. Do not run untabify on this file.
20
21AC_INIT(move-if-change)
22AC_PREREQ(2.13)
23AC_CANONICAL_SYSTEM
24AC_ARG_PROGRAM
25
26sinclude(config/acx.m4)
27
28# clear some things potentially inherited from environment.
29
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
69progname=$0
70# if PWD already has a value, it is probably wrong.
71if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
72
73# Export original configure arguments for use by sub-configures.
74TOPLEVEL_CONFIGURE_ARGUMENTS="$progname $@"
75AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
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
88
89extra_host_args=
90# Define the trigger file to make sure configure will re-run whenever
91# the gcc version number changes.
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/'`
95else
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.
105 ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
106 ;;
107 esac
108 fi
109fi
110
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
113### (library or tools, host or target), doing a dependency sort.
114
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.
124
125# these libraries are used by various programs built for the host environment
126#
127host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib"
128
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.
132# binutils, gas and ld appear in that order because it makes sense to run
133# "make check" in that particular order.
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"
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"
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 \
149 target-libstdc++-v3 \
150 target-libf2c \
151 ${libgcj} \
152 target-libobjc"
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#
161target_tools="target-examples target-groff target-gperf target-rda"
162
163################################################################################
164
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
176srcname="gnu development package"
177
178# This gets set non-empty for some net releases of packages.
179appdirs=""
180
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
189# We always want to use the same name for this directory, so that dejagnu
190# can reliably find it.
191target_subdir=${target_alias}
192
193if test ! -d ${target_subdir} ; then
194 if mkdir ${target_subdir} ; then true
195 else
196 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
197 exit 1
198 fi
199fi
200
201build_prefix=build-
202build_subdir=${build_prefix}${build_alias}
203
204if test x"${build_alias}" != x"${host}" ; then
205 if test ! -d ${build_subdir} ; then
206 if mkdir ${build_subdir} ; then true
207 else
208 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
209 exit 1
210 fi
211 fi
212fi
213
214# Skipdirs are removed silently.
215skipdirs=
216# Noconfigdirs are removed loudly.
217noconfigdirs=""
218
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"
224fi
225
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"
231fi
232
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.
235
236case ${with_x} in
237 yes | "") ;; # the default value for this tree is that X11 is available
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 ;;
243 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
244esac
245
246# Some tools are only suitable for building in a "native" situation.
247# Remove these if host!=target.
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"
249
250# Similarly, some are only suitable for cross toolchains.
251# Remove these if host=target.
252cross_only="target-libgloss target-newlib target-opcodes"
253
254case $is_cross_compiler in
255 no) skipdirs="${skipdirs} ${cross_only}" ;;
256 yes) skipdirs="${skipdirs} ${native_only}" ;;
257esac
258
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
273# Configure extra directories which are host specific
274
275case "${host}" in
276 *-cygwin*)
277 configdirs="$configdirs libtermcap" ;;
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
284case "${host}" in
285 hppa*64*-*-*)
286 noconfigdirs="$noconfigdirs byacc"
287 ;;
288 i[[3456]]86-*-vsta)
289 noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
290 ;;
291 i[[3456]]86-*-go32* | i[[3456]]86-*-msdosdjgpp*)
292 noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
293 ;;
294 i[[3456]]86-*-mingw32*)
295 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
296 noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
297 ;;
298 i[[3456]]86-*-beos*)
299 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
300 ;;
301 *-*-cygwin*)
302 noconfigdirs="autoconf automake send-pr rcs guile perl"
303 ;;
304 *-*-netbsd*)
305 noconfigdirs="rcs"
306 ;;
307 ppc*-*-pe)
308 noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv"
309 ;;
310 powerpc-*-beos*)
311 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
312 ;;
313 *-*-darwin*)
314 noconfigdirs="$noconfigdirs tk itcl tix libgui"
315 ;;
316esac
317
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
334case "${target}" in
335 *-*-chorusos)
336 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
337 ;;
338 *-*-darwin*)
339 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
340 noconfigdirs="$noconfigdirs target-libobjc ${libgcj}"
341 ;;
342 *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
343 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
344 ;;
345 *-*-kaos*)
346 # Remove unsupported stuff on all kaOS configurations.
347 skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-libf2c target-librx"
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 ;;
352 *-*-netbsd*)
353 # Skip some stuff on all NetBSD configurations.
354 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
355
356 # Skip some stuff that's unsupported on some NetBSD configurations.
357 case "${target}" in
358 i*86-*-netbsdelf*) ;;
359 *)
360 noconfigdirs="$noconfigdirs ${libgcj}"
361 ;;
362 esac
363 ;;
364 *-*-netware)
365 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-newlib target-libiberty target-libgloss ${libgcj}"
366 ;;
367 *-*-rtems*)
368 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
369 case ${target} in
370 h8300*-*-* | h8500-*-*)
371 noconfigdirs="$noconfigdirs target-libf2c"
372 ;;
373 *) ;;
374 esac
375 ;;
376 *-*-vxworks*)
377 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
378 ;;
379 alpha*-dec-osf*)
380 # ld works, but does not support shared libraries.
381 # newlib is not 64 bit ready. I'm not sure about fileutils.
382 # gas doesn't generate exception information.
383 noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
384 ;;
385 alpha*-*-*vms*)
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"
391 ;;
392 alpha*-*-freebsd*)
393 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
394 ;;
395 alpha*-*-*)
396 # newlib is not 64 bit ready
397 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
398 ;;
399 sh-*-linux*)
400 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
401 ;;
402 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
403 noconfigdirs="$noconfigdirs ${libgcj}"
404 noconfigdirs="$noconfigdirs target-examples"
405 noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
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
409 noconfigdirs="$noconfigdirs target-libstdc++-v3"
410 noconfigdirs="$noconfigdirs target-newlib"
411 case "${host}" in
412 *-*-cygwin*) ;; # keep gdb and readline
413 *) noconfigdirs="$noconfigdirs gdb readline"
414 ;;
415 esac
416 ;;
417 arc-*-*)
418 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
419 ;;
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 ;;
426 arm-*-pe*)
427 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
428 ;;
429 arm-*-oabi*)
430 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
431 ;;
432 thumb-*-coff)
433 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
434 ;;
435 thumb-*-elf)
436 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
437 ;;
438 thumb-*-oabi)
439 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
440 ;;
441 thumb-*-pe)
442 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
443 ;;
444 arm-*-riscix*)
445 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
446 ;;
447 avr-*-*)
448 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
449 ;;
450 c4x-*-* | tic4x-*-*)
451 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
452 ;;
453 c54x*-*-* | tic54x-*-*)
454 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
455 ;;
456 cris-*-*)
457 noconfigdirs="$noconfigdirs ${libgcj}"
458 ;;
459 d10v-*-*)
460 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
461 ;;
462 d30v-*-*)
463 noconfigdirs="$noconfigdirs ${libgcj}"
464 ;;
465 fr30-*-elf*)
466 noconfigdirs="$noconfigdirs ${libgcj}"
467 ;;
468 frv-*-*)
469 noconfigdirs="$noconfigdirs ${libgcj}"
470 ;;
471 h8300*-*-*)
472 noconfigdirs="$noconfigdirs target-libgloss"
473 ;;
474 h8500-*-*)
475 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} target-libf2c"
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"
482 ;;
483 hppa*-*-*elf* | \
484 parisc*-*-linux* | hppa*-*-linux* | \
485 hppa*-*-lites* | \
486 hppa*-*-openbsd* | \
487 hppa*64*-*-*)
488 noconfigdirs="$noconfigdirs ${libgcj}"
489 # Do configure ld/binutils/gas for this case.
490 ;;
491 hppa*-*-*)
492 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
493 # build on HP-UX 10.20.
494 noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
495 ;;
496 ia64*-*-elf*)
497 # No gdb support yet.
498 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
499 ;;
500 ia64*-**-hpux*)
501 # No gdb or ld support yet.
502 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
503 ;;
504 i[[3456]]86-*-coff | i[[3456]]86-*-elf)
505 noconfigdirs="$noconfigdirs ${libgcj}"
506 ;;
507 i[[34567]]86-*-freebsd*)
508 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
509 ;;
510 i[[3456]]86-*-linux*)
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
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.
520 if test x${is_cross_compiler} != xno ; then
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.
528 ;;
529 i[[3456]]86-*-mingw32*)
530 target_configdirs="$target_configdirs target-mingw"
531 noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
532
533 # Can't build gdb for mingw32 if not native.
534 case "${host}" in
535 i[[3456]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
536 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
537 ;;
538 esac
539 ;;
540 *-*-cygwin*)
541 target_configdirs="$target_configdirs target-libtermcap target-winsup"
542 noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
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.
549 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv"
550 ;;
551 esac
552 ;;
553 i[[3456]]86-*-pe)
554 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
555 ;;
556 i[[3456]]86-*-sco3.2v5*)
557 # The linker does not yet know about weak symbols in COFF,
558 # and is not configured to handle mixed ELF and COFF.
559 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
560 ;;
561 i[[3456]]86-*-sco*)
562 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
563 ;;
564 i[[3456]]86-*-solaris2*)
565 noconfigdirs="$noconfigdirs target-libgloss"
566 ;;
567 i[[3456]]86-*-sysv4*)
568 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
569 ;;
570 i[[3456]]86-*-beos*)
571 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
572 ;;
573 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
574 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
575 ;;
576 m68k-*-elf*)
577 noconfigdirs="$noconfigdirs ${libgcj}"
578 ;;
579 m68k-*-coff*)
580 noconfigdirs="$noconfigdirs ${libgcj}"
581 ;;
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-*-*)
588 noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
589 ;;
590 mn10200-*-*)
591 noconfigdirs="$noconfigdirs ${libgcj}"
592 ;;
593 mn10300-*-*)
594 noconfigdirs="$noconfigdirs ${libgcj}"
595 ;;
596 powerpc-*-aix*)
597 # copied from rs6000-*-* entry
598 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
599 ;;
600 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
601 target_configdirs="$target_configdirs target-winsup"
602 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}"
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*)
608 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}"
609 ;;
610 powerpc-*-beos*)
611 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
612 ;;
613 powerpc-*-eabi)
614 noconfigdirs="$noconfigdirs ${libgcj}"
615 ;;
616 powerpc64*-*-linux*)
617 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
618 # not yet ported.
619 noconfigdirs="$noconfigdirs target-libffi"
620 ;;
621 rs6000-*-lynxos*)
622 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
623 ;;
624 rs6000-*-aix*)
625 noconfigdirs="$noconfigdirs gprof ${libgcj}"
626 ;;
627 rs6000-*-*)
628 noconfigdirs="$noconfigdirs gprof ${libgcj}"
629 ;;
630 m68k-apollo-*)
631 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
632 ;;
633 mips*-*-irix5*)
634 # The GNU linker does not support shared libraries.
635 noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
636 ;;
637 mips*-*-irix6*)
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>
642 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
643 ;;
644 mips*-dec-bsd*)
645 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
646 ;;
647 mips*-*-bsd*)
648 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
649 ;;
650 mipstx39-*-*)
651 noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
652 ;;
653 mips*-*-linux*)
654 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
655 ;;
656 mips*-*-*)
657 noconfigdirs="$noconfigdirs gprof ${libgcj}"
658 ;;
659 romp-*-*)
660 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
661 ;;
662 sh-*-*)
663 case "${host}" in
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
667 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
668 esac
669 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
670 ;;
671 sh64-*-*)
672 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
673 ;;
674 sparc-*-elf*)
675 noconfigdirs="$noconfigdirs ${libgcj}"
676 ;;
677 sparc64-*-elf*)
678 noconfigdirs="$noconfigdirs ${libgcj}"
679 ;;
680 sparclite-*-*)
681 noconfigdirs="$noconfigdirs ${libgcj}"
682 ;;
683 sparc-*-sunos4*)
684 noconfigdirs="$noconfigdirs ${libgcj}"
685 if test x${is_cross_compiler} != xno ; then
686 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
687 else
688 use_gnu_ld=no
689 fi
690 ;;
691 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
692 ;;
693 v810-*-*)
694 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
695 ;;
696 v850-*-*)
697 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
698 ;;
699 v850e-*-*)
700 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
701 ;;
702 v850ea-*-*)
703 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
704 ;;
705 vax-*-vms)
706 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
707 ;;
708 vax-*-*)
709 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
710 ;;
711 ip2k-*-*)
712 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
713 ;;
714 *-*-linux*)
715 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
716 ;;
717 *-*-lynxos*)
718 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
719 ;;
720 *-*-*)
721 noconfigdirs="$noconfigdirs ${libgcj}"
722 ;;
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" ;;
730esac
731
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.
736# NB: embedded tabs in this IF block -- do not untabify
737if test x"${enable_languages+set}" != xset; then
738 if test x"${LANGUAGES+set}" = xset; then
739 enable_languages="${LANGUAGES}"
740 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
741 else
742 enable_languages=all
743 fi
744else
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
749 exit 1
750 fi
751fi
752enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
753
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.
764 ${srcdir}/gcc/[[*]]/config-lang.in)
765 ;;
766 *)
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`
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
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.
793 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
794 *)
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`
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
813 eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
814 fi
815 ;;
816 esac
817done
818
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`
826 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
827 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
828 if test -r $srcdir/$dirname/configure ; then
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
836 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
837 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
838 if test -r $srcdir/$dirname/configure ; then
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.
850if test -n "${target_configdirs}" ; then
851 others=
852 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
853 if test "$i" != "libiberty" ; then
854 if test -r $srcdir/$i/configure ; then
855 others=yes;
856 break;
857 fi
858 fi
859 done
860 if test -z "${others}" ; then
861 target_configdirs=
862 fi
863fi
864
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
923
924copy_dirs=
925
926# Handle --with-headers=XXX. If the value is not "yes", the contents of
927# the named directory are copied to $(tooldir)/sys-include.
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
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
940fi
941
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.
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
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
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=""
996host_makefile_frag=/dev/null
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"
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"
1005 ;;
1006 m68k-apollo-sysv*)
1007 tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
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
1016 # Used to have BISON=yacc.
1017 tentative_cc=gcc
1018 ;;
1019 m88k-dg-dgux*)
1020 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
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*)
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 ;;
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 ;;
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"
1061 ;;
1062 i370-ibm-opened*)
1063 tentative_cc="c89"
1064 ;;
1065 i[[3456]]86-*-sysv5*)
1066 host_makefile_frag="config/mh-sysv5"
1067 ;;
1068 i[[3456]]86-*-dgux*)
1069 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1070 host_makefile_frag="config/mh-dgux386"
1071 ;;
1072 i[[3456]]86-ncr-sysv4.3*)
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"
1076 ;;
1077 i[[3456]]86-ncr-sysv4*)
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 ;;
1086 i[[3456]]86-*-sco3.2v5*)
1087 ;;
1088 i[[3456]]86-*-sco*)
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 ;;
1094 i[[3456]]86-*-udk*)
1095 host_makefile_frag="config/mh-sysv5"
1096 ;;
1097 i[[3456]]86-*-solaris2*)
1098 host_makefile_frag="config/mh-sysv4"
1099 ;;
1100 i[[3456]]86-*-msdosdjgpp*)
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 ;;
1124 *-hp-hpux*)
1125 tentative_cc="cc -Wp,-H256000"
1126 ;;
1127 *-*-hiux*)
1128 tentative_cc="cc -Wp,-H256000"
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 ;;
1142esac
1143fi
1144
1145extra_arflags_for_target=
1146extra_nmflags_for_target=
1147extra_ranlibflags_for_target=
1148target_makefile_frag=/dev/null
1149case "${target}" in
1150 i[[3456]]86-*-netware*)
1151 target_makefile_frag="config/mt-netware"
1152 ;;
1153 powerpc-*-netware*)
1154 target_makefile_frag="config/mt-netware"
1155 ;;
1156 *-*-linux*)
1157 target_makefile_frag="config/mt-linux"
1158 ;;
1159 *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
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"
1165 ;;
1166 *-*-darwin*)
1167 # ranlib from Darwin requires the -c flag to look at common symbols.
1168 extra_ranlibflags_for_target=" -c"
1169 ;;
1170 mips*-*-pe | sh*-*-pe | *arm-wince-pe)
1171 target_makefile_frag="config/mt-wince"
1172 ;;
1173esac
1174
1175alphaieee_frag=/dev/null
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"
1181 ;;
1182esac
1183
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.
1187ospace_frag=/dev/null
1188case "${enable_target_optspace}:${target}" in
1189 yes:*)
1190 ospace_frag="config/mt-ospace"
1191 ;;
1192 :d30v-*)
1193 ospace_frag="config/mt-d30v"
1194 ;;
1195 :m32r-* | :d10v-* | :fr30-*)
1196 ospace_frag="config/mt-ospace"
1197 ;;
1198 no:* | :*)
1199 ;;
1200 *)
1201 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1202 ;;
1203esac
1204
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
1218if test x${use_gnu_as} = x &&
1219 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1220 with_gnu_as=yes
1221 extra_host_args="$extra_host_args --with-gnu-as"
1222fi
1223
1224if test x${use_gnu_ld} = x &&
1225 echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1226 with_gnu_ld=yes
1227 extra_host_args="$extra_host_args --with-gnu-ld"
1228fi
1229
1230# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
1231# can detect this case.
1232
1233if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
1234 with_newlib=yes
1235 extra_host_args="$extra_host_args --with-newlib"
1236fi
1237
1238
1239# Default to using --with-stabs for certain targets.
1240if test x${with_stabs} = x ; then
1241 case "${target}" in
1242 mips*-*-irix6*o32)
1243 with_stabs=yes;
1244 extra_host_args="${extra_host_args} --with-stabs"
1245 ;;
1246 mips*-*-irix6*)
1247 ;;
1248 mips*-*-* | alpha*-*-osf*)
1249 with_stabs=yes;
1250 extra_host_args="${extra_host_args} --with-stabs"
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*)
1259 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
1260 ;;
1261esac
1262
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
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.
1421 cc_prog_is_gcc=
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"
1428 cc_prog_is_gcc=yes
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
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
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.
1457 if test "$cc_prog_is_gcc" = yes; then
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*
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" ;;
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
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.
1565we_are_ok=no
1566echo "int main () { return 0; }" > conftest.c
1567${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
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
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/ .*$//'`"
1587 if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
1588 could_use=
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
1592 could_use="/opt/cygnus/bin"
1593 else
1594 could_use="$could_use or /opt/cygnus/bin"
1595 fi
1596 fi
1597 if test "$could_use" = "" ; then
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.
1613case "${enable_shared}" in
1614 no | "") SET_LIB_PATH= ;;
1615 *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
1616esac
1617
1618case "${host}" in
1619 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1620 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1621esac
1622
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.
1629
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
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
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
1648fi
1649
1650all_host_modules=
1651check_host_modules=
1652install_host_modules=
1653configure_host_modules=
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}"
1658 configure_host_modules="${configure_host_modules} configure-${module}"
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
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=
1670configure_target_modules=
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}"
1675 configure_target_modules="${configure_target_modules} configure-target-${module}"
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
1681done
1682
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.
1690
1691gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui"
1692case "$enable_gdbtk" in
1693 no)
1694 GDB_TK="" ;;
1695 yes)
1696 GDB_TK="${gdb_tk}" ;;
1697 *)
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 ;;
1707esac
1708
1709# Create the 'maybe dependencies'. This uses a temporary file.
1710rm -f maybedep.tmp
1711echo '# maybedep.tmp' > maybedep.tmp
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
1718maybe_dependencies=maybedep.tmp
1719AC_SUBST_FILE(maybe_dependencies)
1720
1721# Create the serialization dependencies. This uses a temporary file.
1722
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
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
1732echo '# serdep.tmp' > serdep.tmp
1733olditem=
1734test "x${enable_serial_configure}" = xno ||
1735test "x${enable_serial_build_configure}" = xno ||
1736for item in ${build_configdirs} ; do
1737 case ${olditem} in
1738 "") ;;
1739 *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
1740 esac
1741 olditem=${item}
1742done
1743olditem=
1744test "x${enable_serial_configure}" = xno ||
1745test "x${enable_serial_host_configure}" = xno ||
1746for item in ${configdirs} ; do
1747 case ${olditem} in
1748 "") ;;
1749 *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
1750 esac
1751 olditem=${item}
1752done
1753olditem=
1754test "x${enable_serial_configure}" = xno ||
1755test "x${enable_serial_target_configure}" = xno ||
1756for item in ${target_configdirs} ; do
1757 case ${olditem} in
1758 "") ;;
1759 *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
1760 esac
1761 olditem=${item}
1762done
1763serialization_dependencies=serdep.tmp
1764AC_SUBST_FILE(serialization_dependencies)
1765
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[[^ ]]* / /' \
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[[= ]][[^ ]]* / /' \
1781 -e 's/ [[^ -][^ ]*] / /' \
1782 -e 's/^ *//;s/ *$//'`
1783
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.
1787build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
1788
1789# For host modules, accept cache file option, or specification as blank.
1790case "${cache_file}" in
1791"") # empty
1792 cache_file_option="" ;;
1793/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
1794 cache_file_option="--cache-file=${cache_file}" ;;
1795*) # relative path
1796 cache_file_option="--cache-file=../${cache_file}" ;;
1797esac
1798
1799host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
1800
1801target_configargs=${baseargs}
1802
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.
1808if test x${is_cross_compiler} = xyes ; then
1809 target_configargs="--with-cross-host=${host_alias} ${target_configargs}"
1810fi
1811
1812# Default to --enable-multilib.
1813if test x${enable_multilib} = x ; then
1814 target_configargs="--enable-multilib ${target_configargs}"
1815fi
1816
1817# Pass --with-newlib if appropriate. Note that target_configdirs has
1818# changed from the earlier setting of with_newlib.
1819if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
1820 target_configargs="--with-newlib ${target_configargs}"
1821fi
1822
1823# Pass the appropriate --host, --build, and --cache-file arguments.
1824target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
1825
1826# provide a proper gxx_include_dir.
1827# Note, if you change the default, make sure to fix both here and in
1828# the gcc and libstdc++-v3 subdirectories.
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
1846 gxx_include_dir='${libsubdir}/include/c++'
1847 else
1848 . ${srcdir}/config.if
1849 gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
1850 fi
1851else
1852 gxx_include_dir=${gxx_include_dir}
1853fi
1854
1855FLAGS_FOR_TARGET=
1856case " $target_configdirs " in
1857 *" newlib "*)
1858 case " $target_configargs " in
1859 *" --with-newlib "*)
1860 case "$target" in
1861 *-cygwin*)
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
1865 # If we're not building GCC, don't discard standard headers.
1866 if test -d ${srcdir}/gcc; then
1867 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
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
1886 fi
1887
1888 case "${target}-${is_cross_compiler}" in
1889 i[[3456]]86-*-linux*-no)
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 / /'`
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
1901 ;;
1902 esac
1903 ;;
1904esac
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.
1910if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
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
1914
1915if test "x${use_gnu_ld}" = x &&
1916 echo " ${configdirs} " | grep " ld " > /dev/null ; then
1917 # Arrange for us to find uninstalled linker scripts.
1918 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
1919fi
1920
1921if test "x${CC_FOR_TARGET+set}" = xset; then
1922 :
1923elif test -d ${srcdir}/gcc; then
1924 CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
1925elif test "$host" = "$target"; then
1926 CC_FOR_TARGET='$(CC)'
1927else
1928 CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
1929fi
1930CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
1931
1932if test "x${GCJ_FOR_TARGET+set}" = xset; then
1933 :
1934elif test -d ${srcdir}/gcc; then
1935 GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
1936elif test "$host" = "$target"; then
1937 GCJ_FOR_TARGET='gcj'
1938else
1939 GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
1940fi
1941GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
1942
1943# Don't use libstdc++-v3's flags to configure/build itself.
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'
1946
1947if test "x${CXX_FOR_TARGET+set}" = xset; then
1948 :
1949elif test -d ${srcdir}/gcc; then
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.
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
1957elif test "$host" = "$target"; then
1958 CXX_FOR_TARGET='$(CXX)'
1959 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
1960else
1961 CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
1962 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
1963fi
1964CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
1965RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
1966
1967qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
1968qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
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.
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)
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.
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)
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.
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)
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}
2100
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
2120AC_OUTPUT(Makefile)
This page took 0.029685 seconds and 4 git commands to generate.