2 ##############################################################################
4 ## This file is a shell script fragment that supplies the information
5 ## necessary to tailor a template configure script into the configure
6 ## script appropriate for this directory. For more information, check
7 ## any existing configure script.
9 ## Be warned, there are two types of configure.in files. There are those
10 ## used by Autoconf, which are macros which are expanded into a configure
11 ## script by autoconf. The other sort, of which this is one, is executed
12 ## by Cygnus configure.
14 ## For more information on these two systems, check out the documentation
15 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
17 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
18 # 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
20 # This file is free software; you can redistribute it and/or modify it
21 # under the terms of the GNU General Public License as published by
22 # the Free Software Foundation; either version 2 of the License, or
23 # (at your option) any later version.
25 # This program is distributed in the hope that it will be useful, but
26 # WITHOUT ANY WARRANTY; without even the implied warranty of
27 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 # General Public License for more details.
30 # You should have received a copy of the GNU General Public License
31 # along with this program; if not, write to the Free Software
32 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 ##############################################################################
37 # Define the trigger file to make sure configure will re-run whenever
38 # the gcc version number changes.
39 if [ "${with_gcc_version_trigger+set}" = set ]; then
40 gcc_version_trigger
="$with_gcc_version_trigger"
41 gcc_version
=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
43 # If gcc's sources are available, define the trigger file.
44 if [ -f ${topsrcdir}/gcc
/version.c
] ; then
45 gcc_version_trigger
=${topsrcdir}/gcc
/version.c
46 gcc_version
=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
48 *--with-gcc-version-trigger=$gcc_version_trigger* )
51 # Add to all subconfigure arguments: build, host, and target.
52 arguments
="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
55 # This will be redundant when we start all subconfigures from the Makefile.
56 extra_host_args
="--with-gcc-version-trigger=$gcc_version_trigger $extra_host_args"
60 ### To add a new directory to the tree, first choose whether it is a target
61 ### or a host dependent tool. Then put it into the appropriate list
62 ### (library or tools, host or target), doing a dependency sort.
64 # Subdirs will be configured in the order listed in build_configdirs,
65 # configdirs, or target_configdirs; see the serialization section below.
67 # Dependency sorting is only needed when *configuration* must be done in
68 # a particular order. In all cases a dependency should be specified in
69 # the Makefile, whether or not it's implicitly specified here.
71 # Double entries in build_configdirs, configdirs, or target_configdirs may
72 # cause circular dependencies and break everything horribly.
74 # these libraries are used by various programs built for the host environment
76 host_libs
="intl mmalloc libiberty opcodes bfd readline db tcl tk itcl tix libgui zlib"
78 libstdcxx_version
="target-libstdc++-v3"
80 # these tools are built for the host environment
81 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
82 # know that we are building the simulator.
83 # binutils, gas and ld appear in that order because it makes sense to run
84 # "make check" in that particular order.
85 host_tools
="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator gettext zip fastjar"
87 # libgcj represents the runtime libraries only used by gcj.
88 libgcj
="target-libffi \
94 # these libraries are built for the target environment, and are built after
95 # the host libraries and the host tools (which may be a cross compiler)
97 target_libs
="target-libiberty \
100 ${libstdcxx_version} \
105 # these tools are built using the target libs, and are intended to run only
106 # in the target environment
108 # note: any program that *uses* libraries that are in the "target_libs"
109 # list belongs in this list. those programs are also very likely
110 # candidates for the "native_only" list which follows
112 target_tools
="target-examples target-groff target-gperf target-rda"
114 ################################################################################
116 ## All tools belong in one of the four categories, and are assigned above
117 ## We assign ${configdirs} this way to remove all embedded newlines. This
118 ## is important because configure will choke if they ever get through.
119 ## ${configdirs} is directories we build using the host tools.
120 ## ${target_configdirs} is directories we build using the target tools.
122 configdirs
=`echo ${host_libs} ${host_tools}`
123 target_configdirs
=`echo ${target_libs} ${target_tools}`
125 ################################################################################
127 srctrigger
=move-if-change
128 srcname
="gnu development package"
130 # This gets set non-empty for some net releases of packages.
135 # There is no longer anything interesting in the per-host section.
139 # Define is_cross_compiler to save on calls to 'test'.
141 if test x
"${host}" = x
"${target}" ; then
144 is_cross_compiler
=yes
147 # We always want to use the same name for this directory, so that dejagnu
148 # can reliably find it.
149 target_subdir
=${target_alias}
151 if test ! -d ${target_subdir} ; then
152 if mkdir
${target_subdir} ; then true
154 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
159 build_subdir
=${build_alias}
161 if test x
"${build_alias}" != x
"${host}" ; then
162 if test ! -d ${build_subdir} ; then
163 if mkdir
${build_subdir} ; then true
165 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
171 # Skipdirs are removed silently.
173 # Noconfigdirs are removed loudly.
177 # Make sure we don't let GNU ld be added if we didn't want it.
178 if test x
$with_gnu_ld = xno
; then
180 noconfigdirs
="$noconfigdirs ld"
184 # Make sure we don't let GNU as be added if we didn't want it.
185 if test x
$with_gnu_as = xno
; then
187 noconfigdirs
="$noconfigdirs gas"
190 # some tools are so dependent upon X11 that if we're not building with X,
191 # it's not even worth trying to configure, much less build, that tool.
194 yes |
"") ;; # the default value for this tree is that X11 is available
196 skipdirs
="${skipdirs} tk tix itcl libgui"
197 # We won't be able to build gdbtk without X.
200 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
203 # Some tools are only suitable for building in a "native" situation.
204 # Remove these if host!=target.
205 native_only
="autoconf automake libtool fileutils find gawk gettext grep gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms snavigator gnuserv target-gperf"
207 # Similarly, some are only suitable for cross toolchains.
208 # Remove these if host=target.
209 cross_only
="target-libgloss target-newlib target-opcodes"
211 case $is_cross_compiler in
212 no
) skipdirs
="${skipdirs} ${cross_only}" ;;
213 yes) skipdirs
="${skipdirs} ${native_only}" ;;
216 # If both --with-headers and --with-libs are specified, default to
218 if test x
"${with_headers}" != x
&& test x
"${with_libs}" != x
; then
219 if test x
"${with_newlib}" = x
; then
224 # Recognize --with-newlib/--without-newlib.
225 case ${with_newlib} in
226 no
) skipdirs
="${skipdirs} target-newlib" ;;
227 yes) skipdirs
=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
230 # Configure extra directories which are host specific
234 configdirs
="$configdirs libtermcap" ;;
237 # Remove more programs from consideration, based on the host or
238 # target this usually means that a port of the program doesn't
243 noconfigdirs
="$noconfigdirs byacc"
246 noconfigdirs
="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv gettext"
248 i
[3456]86-*-go32* | i
[3456]86-*-msdosdjgpp*)
249 noconfigdirs
="tcl tk expect dejagnu send-pr uudecode guile itcl tix db snavigator gnuserv libffi"
251 i
[3456]86-*-mingw32*)
252 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv"
253 noconfigdirs
="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
256 noconfigdirs
="$noconfigdirs tk itcl tix libgui gdb"
259 noconfigdirs
="autoconf automake send-pr rcs guile perl"
265 noconfigdirs
="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix db snavigator gnuserv"
268 noconfigdirs
="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
271 noconfigdirs
="$noconfigdirs tk itcl tix libgui"
275 # Save it here so that, even in case of --enable-libgcj, if the Java
276 # front-end isn't enabled, we still get libgcj disabled.
278 case $enable_libgcj in
280 # If we reset it here, it won't get added to noconfigdirs in the
281 # target-specific build rules, so it will be forcibly enabled
282 # (unless the Java language itself isn't enabled).
286 # Make sure we get it printed in the list of not supported target libs.
287 noconfigdirs
="$noconfigdirs ${libgcj}"
293 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
295 *-*-freebsd[12] |
*-*-freebsd[12].
* |
*-*-freebsd*aout
*)
296 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
299 # Skip some stuff on all NetBSD configurations.
300 noconfigdirs
="$noconfigdirs target-newlib target-libiberty target-libgloss"
302 # Skip some stuff that's unsupported on some NetBSD configurations.
304 i
*86-*-netbsdelf*) ;;
306 noconfigdirs
="$noconfigdirs ${libgcj}"
311 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss ${libgcj}"
314 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
316 h8300
*-*-* | h8500-
*-*)
317 noconfigdirs
="$noconfigdirs target-libf2c"
323 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
326 # ld works, but does not support shared libraries.
327 # newlib is not 64 bit ready. I'm not sure about fileutils.
328 # gas doesn't generate exception information.
329 noconfigdirs
="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
332 noconfigdirs
="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
335 # newlib is not 64 bit ready
336 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
339 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
342 # newlib is not 64 bit ready
343 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
346 noconfigdirs
="$noconfigdirs ${libgcj} target-newlib target-libgloss"
348 sh
*-*-pe|mips
*-*-pe|
*arm-wince-pe
)
349 noconfigdirs
="$noconfigdirs ${libgcj}"
350 noconfigdirs
="$noconfigdirs target-examples"
351 noconfigdirs
="$noconfigdirs target-libiberty texinfo send-pr"
352 noconfigdirs
="$noconfigdirs tcl tix tk itcl libgui sim"
353 noconfigdirs
="$noconfigdirs expect dejagnu"
354 # the C++ libraries don't build on top of CE's C libraries
355 noconfigdirs
="$noconfigdirs ${libstdcxx_version}"
356 noconfigdirs
="$noconfigdirs target-newlib"
358 *-*-cygwin*) ;; # keep gdb and readline
359 *) noconfigdirs
="$noconfigdirs gdb readline ${libstdcxx_version}"
364 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
366 arm-
*-coff | strongarm-
*-coff | xscale-
*-coff)
367 noconfigdirs
="$noconfigdirs ${libgcj}"
369 arm-
*-elf* | strongarm-
*-elf* | xscale-
*-elf*)
370 noconfigdirs
="$noconfigdirs target-libffi target-qthreads"
373 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
376 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
379 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
382 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
385 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
388 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
391 noconfigdirs
="$noconfigdirs ld target-libgloss ${libgcj}"
394 noconfigdirs
="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
397 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
399 c54x
*-*-* | tic54x-
*-*)
400 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
403 noconfigdirs
="$noconfigdirs ${libgcj}"
406 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
409 noconfigdirs
="$noconfigdirs ${libgcj}"
412 noconfigdirs
="$noconfigdirs ${libgcj}"
415 noconfigdirs
="$noconfigdirs ${libgcj}"
418 noconfigdirs
="$noconfigdirs target-libgloss"
421 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} target-libf2c"
423 hppa
*64*-*-linux* | parisc
*64*-*-linux*)
424 # In this case, it's because the hppa64-linux target is for
425 # the kernel only at this point and has no libc, and thus no
426 # headers, crt*.o, etc., all of which are needed by these.
427 noconfigdirs
="$noconfigdirs target-zlib"
430 parisc
*-*-linux* | hppa
*-*-linux* | \
434 noconfigdirs
="$noconfigdirs ${libgcj}"
435 # Do configure ld/binutils/gas for this case.
438 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
439 # build on HP-UX 10.20.
440 noconfigdirs
="$noconfigdirs ld shellutils ${libgcj}"
443 # No gdb support yet.
444 noconfigdirs
="$noconfigdirs tix readline mmalloc libgui itcl gdb"
447 # No gdb or ld support yet.
448 noconfigdirs
="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
450 i
[3456]86-*-coff | i
[3456]86-*-elf)
451 noconfigdirs
="$noconfigdirs ${libgcj}"
453 i
[34567]86-*-freebsd*)
454 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
457 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
458 # not build java stuff by default.
461 noconfigdirs
="$noconfigdirs ${libgcj}";;
464 # This section makes it possible to build newlib natively on linux.
465 # If we are using a cross compiler then don't configure newlib.
466 if test x
${is_cross_compiler} != xno
; then
467 noconfigdirs
="$noconfigdirs target-newlib"
469 noconfigdirs
="$noconfigdirs target-libgloss"
470 # If we are not using a cross compiler, do configure newlib.
471 # Note however, that newlib will only be configured in this situation
472 # if the --with-newlib option has been given, because otherwise
473 # 'target-newlib' will appear in skipdirs.
475 i
[3456]86-*-mingw32*)
476 target_configdirs
="$target_configdirs target-mingw"
477 noconfigdirs
="$noconfigdirs expect target-libgloss ${libgcj}"
479 # Can't build gdb for mingw32 if not native.
481 i
[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
482 *) noconfigdirs
="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
487 target_configdirs
="$target_configdirs target-libtermcap target-winsup"
488 noconfigdirs
="$noconfigdirs target-gperf target-libgloss ${libgcj}"
489 # always build newlib.
490 skipdirs
=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
492 # Can't build gdb for Cygwin if not native.
494 *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
495 *) noconfigdirs
="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
500 noconfigdirs
="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
502 i
[3456]86-*-sco3.2v5
*)
503 # The linker does not yet know about weak symbols in COFF,
504 # and is not configured to handle mixed ELF and COFF.
505 noconfigdirs
="$noconfigdirs ld target-libgloss ${libgcj}"
508 noconfigdirs
="$noconfigdirs gprof target-libgloss ${libgcj}"
510 i
[3456]86-*-solaris2*)
511 noconfigdirs
="$noconfigdirs target-libgloss"
514 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
517 noconfigdirs
="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
519 m68hc11-
*-*|m6811-
*-*|m68hc12-
*-*|m6812-
*-*)
520 noconfigdirs
="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
523 noconfigdirs
="$noconfigdirs ${libgcj}"
526 noconfigdirs
="$noconfigdirs ${libgcj}"
529 # The EPOC C++ environment does not support exceptions or rtti,
530 # and so building libstdc++-v3 tends not to always work.
531 noconfigdirs
="$noconfigdirs target-libstdc++-v3"
534 noconfigdirs
="$noconfigdirs ${libgcj}"
537 noconfigdirs
="$noconfigdirs ${libgcj}"
540 noconfigdirs
="$noconfigdirs ${libgcj}"
543 # copied from rs6000-*-* entry
544 noconfigdirs
="$noconfigdirs gprof target-libgloss ${libgcj}"
546 powerpc
*-*-winnt* | powerpc
*-*-pe* | ppc
*-*-pe)
547 target_configdirs
="$target_configdirs target-winsup"
548 noconfigdirs
="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
549 # always build newlib.
550 skipdirs
=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
552 # This is temporary until we can link against shared libraries
553 powerpcle-
*-solaris*)
554 noconfigdirs
="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
557 noconfigdirs
="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
560 noconfigdirs
="$noconfigdirs bfd binutils ld gas opcodes gdb gprof ${libgcj}"
563 noconfigdirs
="$noconfigdirs ${libgcj}"
566 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
568 noconfigdirs
="$noconfigdirs target-libffi"
571 noconfigdirs
="$noconfigdirs target-newlib gprof ${libgcj}"
574 noconfigdirs
="$noconfigdirs gprof ${libgcj}"
577 noconfigdirs
="$noconfigdirs gprof ${libgcj}"
580 noconfigdirs
="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
583 # The GNU linker does not support shared libraries.
584 noconfigdirs
="$noconfigdirs ld gprof target-libgloss ${libgcj}"
587 # The GNU assembler does not support IRIX 6.
588 # Linking libjava exceeds command-line length limits on at least
589 # IRIX 6.2, but not on IRIX 6.5.
590 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
591 # <oldham@codesourcery.com>
592 noconfigdirs
="$noconfigdirs gas gprof target-libgloss ${libgcj}"
595 noconfigdirs
="$noconfigdirs gprof target-libgloss ${libgcj}"
598 noconfigdirs
="$noconfigdirs gprof target-libgloss ${libgcj}"
601 noconfigdirs
="$noconfigdirs gprof ${libgcj}" # same as generic mips
604 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
607 noconfigdirs
="$noconfigdirs gprof ${libgcj}"
610 noconfigdirs
="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
614 i
[3456]86-*-vsta) ;; # don't add gprof back in
615 i
[3456]86-*-go32*) ;; # don't add gprof back in
616 i
[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
617 *) skipdirs
=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
619 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
622 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
625 noconfigdirs
="$noconfigdirs ${libgcj}"
628 noconfigdirs
="$noconfigdirs ${libgcj}"
631 noconfigdirs
="$noconfigdirs ${libgcj}"
634 noconfigdirs
="$noconfigdirs ${libgcj}"
635 if test x
${is_cross_compiler} != xno
; then
636 noconfigdirs
="$noconfigdirs gdb target-newlib target-libgloss"
641 sparc-
*-solaris* | sparc64-
*-solaris* | sparcv9-
*-solaris*)
644 noconfigdirs
="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
647 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
650 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
653 noconfigdirs
="$noconfigdirs target-libgloss ${libgcj}"
656 noconfigdirs
="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
659 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
662 noconfigdirs
="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
665 noconfigdirs
="$noconfigdirs target-newlib target-libgloss"
668 noconfigdirs
="$noconfigdirs target-newlib target-libgloss ${libgcj}"
671 noconfigdirs
="$noconfigdirs ${libgcj}"
675 # If we aren't building newlib, then don't build libgloss, since libgloss
676 # depends upon some newlib header files.
677 case "${noconfigdirs}" in
678 *target-libgloss
*) ;;
679 *target-newlib
*) noconfigdirs
="$noconfigdirs target-libgloss" ;;
682 # Figure out what language subdirectories are present.
683 # Look if the user specified --enable-languages="..."; if not, use
684 # the environment variable $LANGUAGES if defined. $LANGUAGES might
686 # NB: embedded tabs in this IF block -- do not untabify
687 if test x
"${enable_languages+set}" != xset
; then
688 if test x
"${LANGUAGES+set}" = xset
; then
689 enable_languages
="${LANGUAGES}"
690 echo configure.
in: warning
: setting LANGUAGES is deprecated
, use
--enable-languages instead
1>&2
695 if test x
"${enable_languages}" = x ||
696 test x
"${enable_languages}" = xyes
;
698 echo configure.
in: --enable-languages needs
at least one language argument
1>&2
702 enable_languages
=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
704 # First scan to see if an enabled language requires some other language.
705 # We assume that a given config-lang.in will list all the language
706 # front ends it requires, even if some are required indirectly.
707 for lang
in ${srcdir}/gcc
/*/config-lang.
in ..
712 # The odd quoting in the next line works around
713 # an apparent bug in bash 1.12 on linux.
714 ${srcdir}/gcc
/[*]/config-lang.
in)
717 lang_alias
=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
718 this_lang_requires
=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
719 for other
in $this_lang_requires
721 case ,${enable_languages}, in
727 echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
728 enable_languages
="$enable_languages,$other"
737 for lang
in ${srcdir}/gcc
/*/config-lang.
in ..
741 # The odd quoting in the next line works around
742 # an apparent bug in bash 1.12 on linux.
743 ${srcdir}/gcc
/[*]/config-lang.
in) ;;
745 lang_alias
=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
746 this_lang_libs
=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
747 this_lang_dirs
=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^ ]*\).*$,\1,p' $lang`
748 build_by_default
=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
749 if test "x$lang_alias" = x
751 echo "$lang doesn't set \$language." 1>&2
754 case ${build_by_default},${enable_languages}, in
755 *,$lang_alias,*) add_this_lang
=yes ;;
756 no
,*) add_this_lang
=no
;;
757 *,all
,*) add_this_lang
=yes ;;
758 *) add_this_lang
=no
;;
760 if test x
"${add_this_lang}" = xyes
; then
761 eval target_libs
='"$target_libs "'\"$this_lang_libs\"
763 eval noconfigdirs
='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
769 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
770 # $target_configdirs.
771 # If we have the source for $noconfigdirs entries, add them to $notsupp.
774 for dir
in .
$skipdirs $noconfigdirs ; do
775 dirname=`echo $dir | sed -e s/target-//g`
776 if test $dir != .
&& echo " ${configdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
777 configdirs
=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
778 if test -r $srcdir/$dirname/configure
; then
779 if echo " ${skipdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
782 notsupp
="$notsupp $dir"
786 if test $dir != .
&& echo " ${target_configdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
787 target_configdirs
=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
788 if test -r $srcdir/$dirname/configure
; then
789 if echo " ${skipdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
792 notsupp
="$notsupp $dir"
798 # Sometimes the tools are distributed with libiberty but with no other
799 # libraries. In that case, we don't want to build target-libiberty.
800 if test -n "${target_configdirs}" ; then
802 for i
in `echo ${target_configdirs} | sed -e s/target-//g` ; do
803 if test "$i" != "libiberty" ; then
804 if test -r $srcdir/$i/configure
; then
810 if test -z "${others}" ; then
815 # Deconfigure all subdirectories, in case we are changing the
816 # configuration from one where a subdirectory is supported to one where it
818 if test -z "${norecursion}" && test -n "${configdirs}" ; then
819 for i
in `echo ${configdirs} | sed -e s/target-//g` ; do
823 if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
824 for i
in `echo ${target_configdirs} | sed -e s/target-//g` ; do
825 rm -f ${target_subdir}/$i/Makefile
829 # Quietly strip out all directories which aren't configurable in this tree.
830 # This relies on all configurable subdirectories being autoconfiscated, which
832 configdirs_all
="$configdirs"
834 for i
in ${configdirs_all} ; do
835 if test -f ${srcdir}/$i/configure
; then
836 configdirs
="${configdirs} $i"
839 target_configdirs_all
="$target_configdirs"
841 for i
in ${target_configdirs_all} ; do
842 j
=`echo $i | sed -e s/target-//g`
843 if test -f ${srcdir}/$j/configure
; then
844 target_configdirs
="${target_configdirs} $i"
848 # Produce a warning message for the subdirs we can't configure.
849 # This isn't especially interesting in the Cygnus tree, but in the individual
850 # FSF releases, it's important to let people know when their machine isn't
851 # supported by the one or two programs in a package.
853 if test -n "${notsupp}" && test -z "${norecursion}" ; then
854 # If $appdirs is non-empty, at least one of those directories must still
855 # be configured, or we error out. (E.g., if the gas release supports a
856 # specified target in some subdirs but not the gas subdir, we shouldn't
857 # pretend that all is well.)
858 if test -n "$appdirs" ; then
859 for dir
in $appdirs ; do
860 if test -r $dir/Makefile.
in ; then
861 if echo " ${configdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
865 if echo " ${target_configdirs} " |
grep " ${dir} " >/dev
/null
2>&1; then
871 if test -n "$appdirs" ; then
872 echo "*** This configuration is not supported by this package." 1>&2
876 # Okay, some application will build, or we don't care to check. Still
877 # notify of subdirs not getting built.
878 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
879 echo " ${notsupp}" 1>&2
880 echo " (Any other directories should still work fine.)" 1>&2
890 # Handle --with-headers=XXX. If the value is not "yes", the contents of
891 # the named directory are copied to $(tooldir)/sys-include.
892 if test x
"${with_headers}" != x
; then
893 if test x
${is_cross_compiler} = xno
; then
894 echo 1>&2 '***' --with-headers is only supported when cross compiling
897 if test x
"${with_headers}" != xyes
; then
898 case "${exec_prefixoption}" in
900 *) x
=${exec_prefix} ;;
902 copy_dirs
="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
906 # Handle --with-libs=XXX. If the value is not "yes", the contents of
907 # the name directories are copied to $(tooldir)/lib. Multiple directories
909 if test x
"${with_libs}" != x
; then
910 if test x
${is_cross_compiler} = xno
; then
911 echo 1>&2 '***' --with-libs is only supported when cross compiling
914 if test x
"${with_libs}" != xyes
; then
915 # Copy the libraries in reverse order, so that files in the first named
916 # library override files in subsequent libraries.
917 case "${exec_prefixoption}" in
919 *) x
=${exec_prefix} ;;
921 for l
in ${with_libs}; do
922 copy_dirs
="$l $x/${target_alias}/lib ${copy_dirs}"
927 # Handle ${copy_dirs}
928 set fnord
${copy_dirs}
930 while test $# != 0 ; do
931 if test -f $2/COPIED
&& test x
"`cat $2/COPIED`" = x
"$1" ; then
934 echo Copying
$1 to
$2
936 # Use the install script to create the directory and all required
937 # parent directories.
942 ${srcdir}/install-sh
-c -m 644 config.temp
$2/COPIED
945 # Copy the directory, assuming we have tar.
946 # FIXME: Should we use B in the second tar? Not all systems support it.
947 (cd $1; tar -cf - .
) |
(cd $2; tar -xpf -)
949 # It is the responsibility of the user to correctly adjust all
950 # symlinks. If somebody can figure out how to handle them correctly
951 # here, feel free to add the code.
958 # Work in distributions that contain no compiler tools, like Autoconf.
960 if test -d ${srcdir}/config
; then
963 # Avoid "too much defining" errors from HPUX compiler.
964 tentative_cc
="cc -Wp,-H256000"
965 host_makefile_frag
="config/mh-hp300"
968 tentative_cc
="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
969 host_makefile_frag
="config/mh-apollo68"
972 #None of the Apollo compilers can compile gas or binutils. The preprocessor
973 # chokes on bfd, the compiler won't let you assign integers to enums, and
974 # other problems. Defining CC to gcc is a questionable way to say "don't use
975 # the apollo compiler" (the preferred version of GCC could be called cc,
976 # or whatever), but I'm not sure leaving CC as cc is any better...
977 #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
979 host_makefile_frag
="config/mh-a68bsd"
982 tentative_cc
="gcc -Wall -ansi -D__using_DGUX"
983 host_makefile_frag
="config/mh-dgux"
986 # Under CX/UX, we want to tell the compiler to use ANSI mode.
987 tentative_cc
="cc -Xa"
988 host_makefile_frag
="config/mh-cxux"
991 host_makefile_frag
="config/mh-delta88"
994 tentative_cc
="cc -Wf,-XNg1000"
995 host_makefile_frag
="config/mh-decstation"
998 # The C compiler on NEC MIPS SVR4 needs bigger tables.
999 tentative_cc
="cc -ZXNd=5000 -ZXNg=1000"
1000 host_makefile_frag
="config/mh-necv4"
1003 host_makefile_frag
="config/mh-irix6"
1006 host_makefile_frag
="config/mh-irix5"
1009 # Tell compiler to use K&R C. We can't compile under the SGI Ansi
1010 # environment. Also bump switch table size so that cp-parse will
1011 # compile. Bump string length limit so linker builds.
1012 tentative_cc
="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
1015 host_makefile_frag
="config/mh-sysv"
1018 host_makefile_frag
="config/mh-sysv4"
1021 # This is for a MIPS running RISC/os 4.52C.
1023 # This is needed for GDB, but needs to be in the top-level make because
1024 # if a library is compiled with the bsd headers and gets linked with the
1025 # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
1026 # a different size).
1027 # ptrace(2) apparently has problems in the BSD environment. No workaround is
1028 # known except to select the sysv environment. Could we use /proc instead?
1029 # These "sysv environments" and "bsd environments" often end up being a pain.
1031 # This is not part of CFLAGS because perhaps not all C compilers have this
1033 tentative_cc
="cc -systype sysv"
1034 host_makefile_frag
="config/mh-riscos"
1038 host_makefile_frag
="config/mh-openedition"
1041 host_makefile_frag
="config/mh-sysv5"
1044 tentative_cc
="gcc -Wall -ansi -D__using_DGUX"
1045 host_makefile_frag
="config/mh-dgux386"
1047 i
[3456]86-ncr-sysv4.3
*)
1048 # The MetaWare compiler will generate a copyright message unless you
1049 # turn it off by adding the -Hnocopyr flag.
1050 tentative_cc
="cc -Hnocopyr"
1051 host_makefile_frag
="config/mh-ncrsvr43"
1053 i
[3456]86-ncr-sysv4*)
1054 # for an NCR 3000 (i486/SVR4) system.
1055 # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
1056 # This compiler not only emits obnoxious copyright messages every time
1057 # you run it, but it chokes and dies on a whole bunch of GNU source
1058 # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
1059 tentative_cc
="/usr/ccs/ATT/cc"
1060 host_makefile_frag
="config/mh-ncr3000"
1062 i
[3456]86-*-sco3.2v5
*)
1063 host_makefile_frag
="config/mh-sysv"
1066 # The native C compiler botches some simple uses of const. Unfortunately,
1067 # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
1068 tentative_cc
="cc -Dconst="
1069 host_makefile_frag
="config/mh-sco"
1072 host_makefile_frag
="config/mh-sysv5"
1075 host_makefile_frag
="config/mh-sysv"
1077 i
[3456]86-*-solaris2*)
1078 host_makefile_frag
="config/mh-sysv4"
1081 host_makefile_frag
="config/mh-aix386"
1083 i
[3456]86-*-msdosdjgpp*)
1084 host_makefile_frag
="config/mh-djgpp"
1087 host_makefile_frag
="config/mh-cygwin"
1090 host_makefile_frag
="config/mh-mingw32"
1093 host_makefile_frag
="config/mh-interix"
1096 # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1100 host_makefile_frag
="config/mh-solaris"
1103 # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1104 # without overflowing the jump tables (-J says to use a 32 bit table)
1105 tentative_cc
="cc -J"
1108 tentative_cc
="cc -Wp,-H256000"
1109 host_makefile_frag
="config/mh-hpux8"
1112 tentative_cc
="cc -Wp,-H256000"
1113 host_makefile_frag
="config/mh-hpux"
1116 tentative_cc
="cc -Wp,-H256000"
1117 host_makefile_frag
="config/mh-hpux"
1120 # /bin/cc is less than useful for our purposes. Always use GCC
1121 tentative_cc
="/usr/cygnus/progressive/bin/gcc"
1122 host_makefile_frag
="config/mh-lynxrs6k"
1125 # /bin/cc is less than useful for our purposes. Always use GCC
1126 tentative_cc
="/bin/gcc"
1129 host_makefile_frag
="config/mh-sysv4"
1132 host_makefile_frag
="config/mh-sysv"
1138 if test -n "${host_makefile_frag}" ; then
1139 for f
in ${host_makefile_frag}
1141 cat ${srcdir}/$f >> mh-frag
1143 host_makefile_frag
=mh-frag
1146 extra_arflags_for_target
=
1147 extra_nmflags_for_target
=
1149 i
[3456]86-*-netware*)
1150 target_makefile_frag
="config/mt-netware"
1153 target_makefile_frag
="config/mt-netware"
1156 target_makefile_frag
="config/mt-linux"
1158 *-*-aix4.
[3456789]* |
*-*-aix[56789].
*)
1159 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
1160 # commands to handle both 32-bit and 64-bit objects. These flags are
1161 # harmless if we're using GNU nm or ar.
1162 extra_arflags_for_target
=" -X32_64"
1163 extra_nmflags_for_target
=" -B -X32_64"
1165 mips
*-*-pe | sh
*-*-pe |
*arm-wince-pe
)
1166 target_makefile_frag
="config/mt-wince"
1173 # This just makes sure to use the -mieee option to build target libs.
1174 # This should probably be set individually by each library.
1175 alphaieee_frag
="config/mt-alphaieee"
1179 # If --enable-target-optspace always use -Os instead of -O2 to build
1180 # the target libraries, similarly if it is not specified, use -Os
1181 # on selected platforms.
1183 case "${enable_target_optspace}:${target}" in
1185 ospace_frag
="config/mt-ospace"
1188 ospace_frag
="config/mt-d30v"
1190 :m32r-
* |
:d10v-
* |
:fr30-
*)
1191 ospace_frag
="config/mt-ospace"
1196 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1201 if test -n "${target_makefile_frag}${alphaieee_frag}${ospace_frag}" ; then
1202 for f
in ${target_makefile_frag} ${alphaieee_frag} ${ospace_frag}
1204 cat ${srcdir}/$f >> mt-frag
1206 target_makefile_frag
=mt-frag
1209 # Set with_gnu_as and with_gnu_ld as appropriate.
1211 # This is done by determining whether or not the appropriate directory
1212 # is available, and by checking whether or not specific configurations
1213 # have requested that this magic not happen.
1215 # The command line options always override the explicit settings in
1216 # configure.in, and the settings in configure.in override this magic.
1218 # If the default for a toolchain is to use GNU as and ld, and you don't
1219 # want to do that, then you should use the --without-gnu-as and
1220 # --without-gnu-ld options for the configure script.
1222 if test x
${use_gnu_as} = x
&&
1223 echo " ${configdirs} " |
grep " gas " > /dev
/null
2>&1 ; then
1225 extra_host_args
="$extra_host_args --with-gnu-as"
1228 if test x
${use_gnu_ld} = x
&&
1229 echo " ${configdirs} " |
grep " ld " > /dev
/null
2>&1 ; then
1231 extra_host_args
="$extra_host_args --with-gnu-ld"
1234 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
1235 # can detect this case.
1237 if test x
${with_newlib} != xno
&& echo " ${target_configdirs} " |
grep " target-newlib " > /dev
/null
2>&1 ; then
1239 extra_host_args
="$extra_host_args --with-newlib"
1242 # We default to --with-shared on platforms where -fpic is meaningless.
1243 # Well, we don't yet, but we will.
1244 if false
&& test "${host}" = "${target}" && test x${enable_shared} = x ; then
1246 alpha*-dec-osf*) enable_shared=yes ;;
1247 alpha*-*-linux*) enable_shared=yes ;;
1248 mips-sgi-irix5*) enable_shared=yes ;;
1249 *) enable_shared=no ;;
1253 case "${enable_shared}" in
1261 # Default to using --with-stabs for certain targets.
1262 if test x${with_stabs} = x ; then
1266 extra_host_args="${extra_host_args} --with-stabs"
1270 mips*-*-* | alpha*-*-osf*)
1272 extra_host_args="${extra_host_args} --with-stabs"
1277 # hpux11 in 64bit mode has libraries in a weird place. Arrange to find
1278 # them automatically.
1281 extra_host_args="$extra_host_args -x-libraries=/usr
/lib
/pa20_64
-x-includes=/usr
/X11R
6/include
"
1285 # This will go away when we start subconfigures from the Makefile.
1286 withoptions="${withoptions} ${extra_host_args}"
1288 # If we aren't going to be using gcc, see if we can extract a definition
1289 # of CC from the fragment.
1290 # Actually, use the 'pre-extracted' version above.
1291 if test -z "${CC}" && test "${build}" = "${host}" ; then
1292 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
1294 for dir in $PATH; do
1295 test -z "$dir" && dir=.
1296 if test -f $dir/gcc; then
1302 if test -z "${found}" && test -n "${tentative_cc}" ; then
1309 # Make sure that the compiler is able to generate an executable. If it
1310 # can't, we are probably in trouble. We don't care whether we can run the
1311 # executable--we might be using a cross compiler--we only care whether it
1312 # can be created. At this point the main configure script has set CC.
1314 echo "int main
() { return 0; }" > conftest.c
1315 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1316 if test $? = 0 ; then
1317 if test -s conftest || test -s conftest.exe ; then
1323 echo 1>&2 "*** The
command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed.
"
1324 echo 1>&2 "*** You must
set the environment variable CC to a working compiler.
"
1331 # The Solaris /usr/ucb/cc compiler does not appear to work.
1333 sparc-sun-solaris2*)
1334 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1335 if test "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr
/ucb
/cc
" ; then
1337 test -d /opt/SUNWspro/bin && could_use="/opt
/SUNWspro
/bin
"
1338 if test -d /opt/cygnus/bin ; then
1339 if test "$could_use" = "" ; then
1340 could_use="/opt
/cygnus
/bin
"
1342 could_use="$could_use or
/opt
/cygnus
/bin
"
1345 if test "$could_use" = "" ; then
1346 echo "Warning
: compilation may fail because you
're using"
1347 echo "/usr/ucb/cc. You should change your PATH or CC "
1348 echo "variable and rerun configure."
1350 echo "Warning: compilation may fail because you're using
"
1351 echo "/usr
/ucb
/cc
, when you should use the C compiler from
"
1352 echo "$could_use. You should change your
"
1353 echo "PATH or CC variable and rerun configure.
"
1359 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1360 # binutils tools will find libbfd.so.
1361 if test "${shared}" = "yes" ; then
1362 SET_LIB_PATH="\$
(REALLY_SET_LIB_PATH
)"
1366 sed -e "s
/@SET_LIB_PATH@
/${SET_LIB_PATH}/" Makefile > Makefile.tem
1368 mv -f Makefile.tem Makefile
1372 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1373 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1375 sed -e "s
/@RPATH_ENVVAR@
/${RPATH_ENVVAR}/" Makefile > Makefile.tem
1377 mv -f Makefile.tem Makefile
1379 # Record target_configdirs and the configure arguments for target and
1380 # build configuration in Makefile.
1381 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1383 # This is the final value for target_configdirs. configdirs already
1384 # has its final value. It's time to create some lists of valid targets.
1387 configure_build_modules=
1388 # Only make build modules if build != host.
1389 # This should be done more generally, but at the moment it doesn't matter.
1390 if test ${host_alias} != ${build_alias} ; then
1391 all_build_modules=all-build-libiberty
1392 configure_build_modules=configure-build-libiberty
1397 install_host_modules=
1398 configure_host_modules=
1399 for module in ${configdirs} ; do
1400 all_host_modules="${all_host_modules} all-
${module}"
1401 check_host_modules="${check_host_modules} check-
${module}"
1402 install_host_modules="${install_host_modules} install-
${module}"
1403 configure_host_modules="${configure_host_modules} configure-
${module}"
1405 install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
1408 check_target_modules=
1409 install_target_modules=
1410 configure_target_modules=
1411 for module in ${target_configdirs} ; do
1412 all_target_modules="${all_target_modules} all-target-
${module}"
1413 check_target_modules="${check_target_modules} check-target-
${module}"
1414 install_target_modules="${install_target_modules} install-target-
${module}"
1415 configure_target_modules="${configure_target_modules} configure-target-
${module}"
1418 # Determine whether gdb needs tk/tcl or not.
1419 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
1420 # and in that case we want gdb to be built without tk. Ugh!
1421 # In fact I believe gdb is the *only* package directly dependent on tk,
1422 # so we should be able to put the 'maybe's in unconditionally and
1423 # leave out the maybe dependencies when enable_gdbtk is false. I'm not
1424 # 100% sure that that's safe though.
1425 case "$enable_gdbtk" in
1429 GDB_TK="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui
" ;;
1432 # Create the 'maybe dependencies'. This uses a temporary file.
1434 for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
1435 ${install_host_modules} ${install_target_modules} \
1436 ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
1438 echo "maybe-
${item}: ${item}" >> maybedep.tmp
1440 sed -e '/@maybe_dependencies@/r maybedep.tmp' \
1441 -e 's/@maybe_dependencies@//' Makefile > Makefile.tem
1443 mv -f Makefile.tem Makefile
1446 # Create the serialization dependencies. This uses a temporary file.
1448 # These force 'configure's to be done one at a time, to avoid problems
1449 # with contention over a shared config.cache.
1452 for item in ${build_configdirs} ; do
1455 *) echo "\$
(BUILD_SUBDIR
)/${item}/Makefile
: \$
(BUILD_SUBDIR
)/${olditem}/Makefile
" >> serdep.tmp ;;
1460 for item in ${configdirs} ; do
1463 *) echo "${item}/Makefile
: ${olditem}/Makefile
" >> serdep.tmp ;;
1468 for item in ${target_configdirs} ; do
1471 *) echo "\$
(TARGET_SUBDIR
)/${item}/Makefile
: \$
(TARGET_SUBDIR
)/${olditem}/Makefile
" >> serdep.tmp ;;
1475 sed -e '/@serialization_dependencies@/r serdep.tmp' \
1476 -e 's/@serialization_dependencies@//' Makefile > Makefile.tem
1478 mv -f Makefile.tem Makefile
1481 # Base args. Strip norecursion, cache-file, srcdir, host, build, target.
1482 # These are the ones we might not want to pass down to subconfigures.
1483 baseargs=`echo "${arguments}" | \
1484 sed -e 's/--no[^ ]*//' \
1485 -e 's/--cache[a-z-]*=[^ ]*//' \
1486 -e 's/--sr[a-z-]*=[^ ]*//' \
1487 -e 's/--ho[a-z-]*=[^ ]*//' \
1488 -e 's/--bu[a-z-]*=[^ ]*//' \
1489 -e 's/--ta[a-z-]*=[^ ]*//'`
1491 # For the build-side libraries, we just need to pretend we're native,
1492 # and not use the same cache file. Multilibs are neither needed nor
1494 buildargs="--cache-file=..
/config.cache
--build=${build_alias} --host=${build_alias} ${baseargs}"
1496 # For host modules, accept cache file option, or specification as blank.
1497 case "${cache_file}" in
1499 cache_file_option="" ;;
1500 /* | [A-Za-z]:[\\/]* ) # absolute path
1501 cache_file_option="--cache-file=${cache_file}" ;;
1503 cache_file_option="--cache-file=..
/${cache_file}" ;;
1506 hostargs="${cache_file_option} ${buildopt} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
1508 targargs=${baseargs}
1510 # Passing a --with-cross-host argument lets the target libraries know
1511 # whether they are being built with a cross-compiler or being built
1512 # native. However, it would be better to use other mechanisms to make the
1513 # sorts of decisions they want to make on this basis. Please consider
1514 # this option to be deprecated. FIXME.
1515 if test x${is_cross_compiler} = xyes ; then
1516 targargs="--with-cross-host=${host_alias} ${targargs}"
1519 # Default to --enable-multilib.
1520 if test x${enable_multilib} = x ; then
1521 targargs="--enable-multilib ${targargs}"
1524 # Pass --with-newlib if appropriate. Note that target_configdirs has
1525 # changed from the earlier setting of with_newlib.
1526 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
1527 targargs="--with-newlib ${targargs}"
1530 # Pass the appropriate --host, --build, and --cache-file arguments.
1531 targargs="--cache-file=..
/config.cache
--host=${target_alias} --build=${build_alias} ${targargs}"
1533 # provide a proper gxx_include_dir.
1534 # Note, if you change the default, make sure to fix both here and in
1535 # the gcc and libstdc++-v3 subdirectories.
1536 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
1538 if test -n "${with_gxx_include_dir}"; then
1539 case "${with_gxx_include_dir}" in
1541 echo "configure.
in: error
: bad value
${withval} given
for g
++ include directory
" 1>&2
1547 gxx_include_dir=${with_gxx_include_dir}
1551 if test x${gxx_include_dir} = x; then
1552 if test x${enable_version_specific_runtime_libs} = xyes; then
1553 gxx_include_dir='${libsubdir}/include/c++'
1555 . ${srcdir}/config.if
1556 gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
1559 gxx_include_dir=${gxx_include_dir}
1563 case " $target_configdirs " in
1565 case " $targargs " in
1566 *" --with-newlib "*)
1569 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' ;;
1572 # If we're not building GCC, don't discard standard headers.
1573 if test -d ${srcdir}/gcc; then
1574 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
1576 if test "${build}" != "${host}"; then
1577 # On Canadian crosses, CC_FOR_TARGET will have already been set
1578 # by `configure', so we won't have an opportunity to add -Bgcc/
1579 # to it. This is right: we don't want to search that directory
1580 # for binaries, but we want the header files in there, so add
1582 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1584 # Someone might think of using the pre-installed headers on
1585 # Canadian crosses, in case the installed compiler is not fully
1586 # compatible with the compiler being built. In this case, it
1587 # would be better to flag an error than risking having
1588 # incompatible object files being constructed. We can't
1589 # guarantee that an error will be flagged, but let's hope the
1590 # compiler will do it, when presented with incompatible header
1595 case "${target}-${is_cross_compiler}" in
1596 i[3456]86-*-linux*-no)
1597 # Here host == target, so we don't need to build gcc,
1598 # so we don't want to discard standard headers.
1599 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
1602 # If we're building newlib, use its generic headers last, but search
1603 # for any libc-related directories first (so make it the last -B
1605 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
1613 # On Canadian crosses, we'll be searching the right directories for
1614 # the previously-installed cross compiler, so don't bother to add
1615 # flags for directories within the install tree of the compiler
1616 # being built; programs in there won't even run.
1617 if test "${build}" = "${host}" && test -d ${srcdir}/gcc
; then
1618 # Search for pre-installed headers if nothing else fits.
1619 FLAGS_FOR_TARGET
=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
1622 if test "x${use_gnu_ld}" = x
&&
1623 echo " ${configdirs} " |
grep " ld " > /dev
/null
; then
1624 # Arrange for us to find uninstalled linker scripts.
1625 FLAGS_FOR_TARGET
=$FLAGS_FOR_TARGET' -L$$r/ld'
1628 if test "x${CC_FOR_TARGET+set}" = xset
; then
1630 elif test -d ${srcdir}/gcc
; then
1631 CC_FOR_TARGET
='$$r/gcc/xgcc -B$$r/gcc/'
1632 elif test "$host" = "$target"; then
1633 CC_FOR_TARGET
='$(CC)'
1635 CC_FOR_TARGET
=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
1637 # On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,
1638 # if Makefile exists. Prevent $(FLAGS_FOR_TARGET) from being duplicated.
1639 case $CC_FOR_TARGET in
1640 *' $(FLAGS_FOR_TARGET)') ;;
1641 *) CC_FOR_TARGET
=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1644 if test "x${GCJ_FOR_TARGET+set}" = xset
; then
1646 elif test -d ${srcdir}/gcc
; then
1647 GCJ_FOR_TARGET
='$$r/gcc/gcj -B$$r/gcc/'
1648 elif test "$host" = "$target"; then
1649 GCJ_FOR_TARGET
='gcj'
1651 GCJ_FOR_TARGET
=`echo gcj | sed -e 's/x/x/' ${program_transform_name}`
1653 case $GCJ_FOR_TARGET in
1654 *' $(FLAGS_FOR_TARGET)') ;;
1655 *) GCJ_FOR_TARGET
=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1658 # Don't use libstdc++-v3's flags to configure/build itself.
1659 libstdcxx_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'
1660 raw_libstdcxx_flags
=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
1662 if test "x${CXX_FOR_TARGET+set}" = xset
; then
1664 elif test -d ${srcdir}/gcc
; then
1665 # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
1666 # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
1667 # default whereas gcc does not.
1668 # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
1670 CXX_FOR_TARGET
='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
1671 RAW_CXX_FOR_TARGET
='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
1672 elif test "$host" = "$target"; then
1673 CXX_FOR_TARGET
='$(CXX)'
1674 RAW_CXX_FOR_TARGET
=${CXX_FOR_TARGET}
1676 CXX_FOR_TARGET
=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
1677 RAW_CXX_FOR_TARGET
=${CXX_FOR_TARGET}
1679 case $CXX_FOR_TARGET in
1680 *' $(FLAGS_FOR_TARGET)') ;;
1681 *) CXX_FOR_TARGET
=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1683 case $RAW_CXX_FOR_TARGET in
1684 *' $(FLAGS_FOR_TARGET)') ;;
1685 *) RAW_CXX_FOR_TARGET
=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1688 qCXX_FOR_TARGET
=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
1689 qRAW_CXX_FOR_TARGET
=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
1691 # We want to defer the evaluation of `cmd`s and shell variables in
1692 # CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
1693 # bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
1694 # quotes, but we still have to duplicate `$'s so that shell variables
1695 # can be expanded by the nested make as shell variables, not as make
1697 qqCXX_FOR_TARGET
=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
1698 qqRAW_CXX_FOR_TARGET
=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
1700 # BASE_CC_FOR_TARGET is the actual program file of CC_FOR_TARGET,
1701 # for use in dependencies. Replace $$r with a relative
1702 # path if it's present.
1703 set dummy
$CC_FOR_TARGET; cc_for_target_first_word
=$2
1704 BASE_CC_FOR_TARGET
=`echo "$cc_for_target_first_word" | sed -e 's,[$][$]r,.,'`
1708 s%@GDB_TK@%${GDB_TK}%
1709 s%@configure_build_modules@%${configure_build_modules}%
1710 s%@all_build_modules@%${all_build_modules}%
1711 s%@configure_host_modules@%${configure_host_modules}%
1712 s%@all_host_modules@%${all_host_modules}%
1713 s%@check_host_modules@%${check_host_modules}%
1714 s%@install_host_modules@%${install_host_modules}%
1715 s%@install_host_modules_nogcc@%${install_host_modules_nogcc}%
1716 s%@configure_target_modules@%${configure_target_modules}%
1717 s%@all_target_modules@%${all_target_modules}%
1718 s%@check_target_modules@%${check_target_modules}%
1719 s%@install_target_modules@%${install_target_modules}%
1720 s:@target_configdirs@:${target_configdirs}:
1721 s%@target_configargs@%${targargs}%
1722 s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
1723 s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
1724 s%@BASE_CC_FOR_TARGET@%${BASE_CC_FOR_TARGET}%
1725 s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
1726 s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
1727 s%@RAW_CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}%
1728 s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
1729 s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}%
1730 s%@target_subdir@%${target_subdir}%
1731 s%@build_subdir@%${build_subdir}%
1732 s%@build_configargs@%${buildargs}%
1733 s%@gxx_include_dir@%${gxx_include_dir}%
1734 s%@host_configargs@%${hostargs}%
1736 sed -f $sedtemp Makefile
> Makefile.tem
1737 rm -f Makefile
$sedtemp
1738 mv -f Makefile.tem Makefile