# these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler)
-#
+# Note that libiberty is not a target library.
target_libraries="target-libgcc \
- target-libiberty \
target-libgloss \
target-newlib \
target-libgomp \
;;
esac
+AC_ARG_ENABLE(static-libjava,
+[AS_HELP_STRING([[--enable-static-libjava[=ARG]]],
+ [build static libjava @<:@default=no@:>@])],
+ENABLE_STATIC_LIBJAVA=$enableval,
+ENABLE_STATIC_LIBJAVA=no)
+enable_static_libjava=
+if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then
+ enable_static_libjava=yes
+fi
+
+if test x$enable_static_libjava != xyes ; then
+ EXTRA_CONFIGARGS_LIBJAVA=--disable-static
+fi
+AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
# Disable libmudflap on some systems.
if test x$enable_libmudflap = x ; then
;;
esac
-# Disable target libiberty for some systems.
+# Disable libstdc++-v3 for some systems.
case "${target}" in
- *-*-kaos*)
- # Remove unsupported stuff on all kaOS configurations.
- skipdirs="target-libiberty"
+ *-*-vxworks*)
+ # VxWorks uses the Dinkumware C++ library.
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
- *-*-netbsd*)
- # Skip some stuff on all NetBSD configurations.
- noconfigdirs="$noconfigdirs target-libiberty"
+ arm*-wince-pe*)
+ # the C++ libraries don't build on top of CE's C libraries
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+ avr-*-*)
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+esac
+
+# Disable Fortran for some systems.
+case "${target}" in
+ mmix-*-*)
+ # See <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00572.html>.
+ unsupported_languages="$unsupported_languages fortran"
+ ;;
+esac
+
+# Disable Java if libffi is not supported.
+case "${target}" in
+ alpha*-*-*)
+ ;;
+ arm*-*-*)
+ ;;
+ cris-*-*)
+ ;;
+ frv-*-*)
+ ;;
+ hppa*-*-linux*)
+ ;;
+ hppa*-*-hpux*)
+ ;;
+ i?86-*-*)
+ ;;
+ ia64*-*-*)
+ ;;
+ m32r*-*-*)
+ ;;
+ m68k-*-*)
+ ;;
+ mips-sgi-irix6.* | mips*-*-rtems*)
+ ;;
+ mips*-*-linux*)
+ ;;
+ powerpc*-*-linux*)
+ ;;
+ powerpc-*-darwin*)
+ ;;
+ powerpc-*-aix* | rs6000-*-aix*)
+ ;;
+ powerpc-*-freebsd*)
+ ;;
+ powerpc64-*-freebsd*)
+ ;;
+ powerpc*-*-rtems*)
+ ;;
+ s390-*-* | s390x-*-*)
+ ;;
+ sh-*-* | sh[[34]]*-*-*)
+ ;;
+ sh64-*-* | sh5*-*-*)
+ ;;
+ sparc*-*-*)
+ ;;
+ x86_64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages java"
+ ;;
+esac
+
+# Disable Java, libgcj or related libraries for some systems.
+case "${target}" in
+ powerpc-*-darwin*)
+ ;;
+ i[[3456789]]86-*-darwin*)
+ ;;
+ x86_64-*-darwin[[912]]*)
+ ;;
+ *-*-darwin*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-netware*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-rtems*)
- skipdirs="${skipdirs} target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-tpf*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-vxworks*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
- noconfigdirs="$noconfigdirs target-libiberty"
+ alpha*-*-*vms*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ arm-wince-pe)
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
arm*-*-symbianelf*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
- avr-*-*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ bfin-*-*)
+ noconfigdirs="$noconfigdirs target-boehm-gc"
;;
- m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ cris-*-* | crisv32-*-*)
+ unsupported_languages="$unsupported_languages java"
+ case "${target}" in
+ *-*-linux*)
+ ;;
+ *) # See PR46792 regarding target-libffi.
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+ esac
+ ;;
+ hppa*64*-*-linux*)
+ # In this case, it's because the hppa64-linux target is for
+ # the kernel only at this point and has no libc, and thus no
+ # headers, crt*.o, etc., all of which are needed by these.
+ unsupported_languages="$unsupported_languages java"
;;
- picochip-*-*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ hppa*64*-*-hpux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
- mips*-sde-elf*)
- skipdirs="$skipdirs target-libiberty"
+ hppa*-hp-hpux11*)
+ ;;
+ hppa*-*-hpux*)
+ # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
+ # build on HP-UX 10.20.
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ ia64*-*-*vms*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ i[[3456789]]86-w64-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ i[[3456789]]86-*-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ x86_64-*-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ mmix-*-*)
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
;;
- ip2k-*-*)
- noconfigdirs="$noconfigdirs target-libiberty"
+ powerpc-*-aix*)
+ # copied from rs6000-*-* entry
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ rs6000-*-aix*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ mips*-*-irix6*)
+ # Linking libjava exceeds command-line length limits on at least
+ # IRIX 6.2, but not on IRIX 6.5.
+ # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
+ # <oldham@codesourcery.com>
+ noconfigdirs="$noconfigdirs ${libgcj}"
;;
+ *-*-lynxos*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
esac
-# Disable libstdc++-v3 for some systems.
+# Default libgloss CPU subdirectory.
+libgloss_dir="$target_cpu"
+
case "${target}" in
- *-*-vxworks*)
- # VxWorks uses the Dinkumware C++ library.
- noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+ libgloss_dir=wince
;;
- arm*-wince-pe*)
- # the C++ libraries don't build on top of CE's C libraries
- noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ arm*-*-*)
+ libgloss_dir=arm
;;
- avr-*-*)
- noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ cris-*-* | crisv32-*-*)
+ libgloss_dir=cris
+ ;;
+ hppa*-*-*)
+ libgloss_dir=pa
+ ;;
+ i[[3456789]]86-*-*)
+ libgloss_dir=i386
+ ;;
+ m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
+ libgloss_dir=m68hc11
+ ;;
+ m68*-*-* | fido-*-*)
+ libgloss_dir=m68k
+ ;;
+ mips*-*-*)
+ libgloss_dir=mips
+ ;;
+ powerpc*-*-*)
+ libgloss_dir=rs6000
+ ;;
+ sparc*-*-*)
+ libgloss_dir=sparc
;;
esac
-# Disable Fortran for some systems.
+# Disable newlib and libgloss for various target OSes.
case "${target}" in
- mmix-*-*)
- # See <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00572.html>.
- unsupported_languages="$unsupported_languages fortran"
+ alpha*-dec-osf*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ i[[3456789]]86-*-linux*)
+ # This section makes it possible to build newlib natively on linux.
+ # If we are using a cross compiler then don't configure newlib.
+ if test x${is_cross_compiler} != xno ; then
+ noconfigdirs="$noconfigdirs target-newlib"
+ fi
+ noconfigdirs="$noconfigdirs target-libgloss"
+ # If we are not using a cross compiler, do configure newlib.
+ # Note however, that newlib will only be configured in this situation
+ # if the --with-newlib option has been given, because otherwise
+ # 'target-newlib' will appear in skipdirs.
+ ;;
+ i[[3456789]]86-*-rdos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|arm-wince-pe)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ sparc-*-sunos4*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-aix*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-beos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-chorusos)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-dragonfly*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-freebsd*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-lynxos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-mingw*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-netbsd*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-netware*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-vxworks*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
esac
-# Default libgloss CPU subdirectory.
-libgloss_dir="$target_cpu"
-
case "${target}" in
*-*-chorusos)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
powerpc-*-darwin*)
noconfigdirs="$noconfigdirs ld gas gdb gprof"
*-*-darwin*)
noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
- noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-dragonfly*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-freebsd*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
&& test -f /usr/local/include/gmp.h; then
with_gmp=/usr/local
fi
-
- # Skip some stuff that's unsupported on some FreeBSD configurations.
- case "${target}" in
- i*86-*-*) ;;
- alpha*-*-*) ;;
- x86_64-*-*) ;;
- *)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- esac
;;
*-*-kaos*)
# Remove unsupported stuff on all kaOS configurations.
noconfigdirs="$noconfigdirs target-libgloss"
;;
*-*-netbsd*)
- # Skip some stuff on all NetBSD configurations.
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-
- # Skip some stuff that's unsupported on some NetBSD configurations.
- case "${target}" in
- i*86-*-netbsdelf*) ;;
- arm*-*-netbsdelf*) ;;
- *)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- esac
;;
*-*-netware*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
*-*-rtems*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libgloss"
;;
# The tpf target doesn't support gdb yet.
*-*-tpf*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} gdb tcl tk libgui itcl"
+ noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl"
;;
*-*-uclinux*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
+ noconfigdirs="$noconfigdirs target-rda"
;;
*-*-vxworks*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
alpha*-dec-osf*)
# ld works, but does not support shared libraries.
- # newlib is not 64 bit ready.
# gas doesn't generate exception information.
- noconfigdirs="$noconfigdirs gas ld target-newlib target-libgloss"
+ noconfigdirs="$noconfigdirs gas ld"
;;
alpha*-*-*vms*)
- noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
- ;;
- alpha*-*-linux*)
- # newlib is not 64 bit ready
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
;;
alpha*-*-*)
# newlib is not 64 bit ready
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
- ;;
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
- sh-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
- noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
- noconfigdirs="$noconfigdirs target-newlib"
- libgloss_dir=wince
;;
arc-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
- arm-*-coff)
- libgloss_dir=arm
- ;;
- arm-*-elf* | arm*-*-eabi* )
- noconfigdirs="$noconfigdirs target-libffi"
- libgloss_dir=arm
- ;;
- arm*-*-linux-gnueabi)
- case ${with_newlib} in
- no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
- esac
- libgloss_dir=arm
- ;;
- arm*-*-symbianelf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- libgloss_dir=arm
- ;;
arm-*-pe*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libgloss"
;;
arm-*-riscix*)
noconfigdirs="$noconfigdirs ld target-libgloss"
;;
- avr-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- bfin-*-*)
- unsupported_languages="$unsupported_languages java"
- noconfigdirs="$noconfigdirs target-boehm-gc"
- ;;
c4x-*-* | tic4x-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
noconfigdirs="$noconfigdirs target-libgloss gdb"
;;
cr16-*-*)
- noconfigdirs="$noconfigdirs ${libgcj} gdb"
- ;;
- cris-*-* | crisv32-*-*)
- unsupported_languages="$unsupported_languages java"
- case "${target}" in
- *-*-linux*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
- *) # See PR46792 regarding target-libffi.
- noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
- esac
- libgloss_dir=cris
+ noconfigdirs="$noconfigdirs gdb"
;;
d10v-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
noconfigdirs="$noconfigdirs gdb"
;;
fr30-*-elf*)
- noconfigdirs="$noconfigdirs ${libgcj} gdb"
- ;;
- frv-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs gdb"
;;
moxie-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs gprof"
;;
h8300*-*-*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libgloss"
;;
h8500-*-*)
noconfigdirs="$noconfigdirs target-libgloss"
hppa1.1-*-osf* | hppa1.1-*-bsd* )
;;
hppa*64*-*-linux*)
- # In this case, it's because the hppa64-linux target is for
- # the kernel only at this point and has no libc, and thus no
- # headers, crt*.o, etc., all of which are needed by these.
- noconfigdirs="$noconfigdirs target-zlib"
;;
hppa*-*-linux*)
;;
hppa*-*-lites* | \
hppa*-*-openbsd* | \
hppa*64*-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
;;
hppa*-hp-hpux11*)
noconfigdirs="$noconfigdirs ld"
;;
hppa*-*-pro*)
- libgloss_dir=pa
;;
hppa*-*-*)
- # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
- # build on HP-UX 10.20.
- noconfigdirs="$noconfigdirs ld ${libgcj}"
+ noconfigdirs="$noconfigdirs ld"
;;
i960-*-*)
noconfigdirs="$noconfigdirs gdb"
;;
ia64*-**-hpux*)
# No ld support yet.
- noconfigdirs="$noconfigdirs ${libgcj} libgui itcl ld"
+ noconfigdirs="$noconfigdirs libgui itcl ld"
;;
ia64*-*-*vms*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs ${libgcj} readline libgui itcl gdb ld"
- ;;
- i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
- noconfigdirs="$noconfigdirs ${libgcj}"
- libgloss_dir=i386
- ;;
- i[[3456789]]86-*-linux*)
- # This section makes it possible to build newlib natively on linux.
- # If we are using a cross compiler then don't configure newlib.
- if test x${is_cross_compiler} != xno ; then
- noconfigdirs="$noconfigdirs target-newlib"
- fi
- noconfigdirs="$noconfigdirs target-libgloss"
- # If we are not using a cross compiler, do configure newlib.
- # Note however, that newlib will only be configured in this situation
- # if the --with-newlib option has been given, because otherwise
- # 'target-newlib' will appear in skipdirs.
+ noconfigdirs="$noconfigdirs readline libgui itcl gdb ld"
;;
i[[3456789]]86-w64-mingw*)
- noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
;;
i[[3456789]]86-*-mingw*)
target_configdirs="$target_configdirs target-winsup"
- noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
- ;;
- x86_64-*-mingw*)
- noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
;;
*-*-cygwin*)
target_configdirs="$target_configdirs target-libtermcap target-winsup"
echo "Warning: winsup/cygwin is missing so newlib can't be built."
fi
;;
- i[[3456789]]86-*-interix* )
- ;;
i[[3456789]]86-*-pe)
noconfigdirs="$noconfigdirs target-libgloss"
;;
i[[3456789]]86-*-sco*)
noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
- i[[3456789]]86-*-solaris2*)
+ i[[3456789]]86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
i[[3456789]]86-*-sysv4*)
noconfigdirs="$noconfigdirs target-libgloss"
;;
i[[3456789]]86-*-beos*)
- noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
+ noconfigdirs="$noconfigdirs gdb"
;;
i[[3456789]]86-*-rdos*)
- noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
- ;;
- m32r-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
- libgloss_dir=m68hc11
- ;;
- m68k-*-elf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- m68*-*-* | fido-*-*)
- libgloss_dir=m68k
+ noconfigdirs="$noconfigdirs gdb"
;;
mmix-*-*)
- noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb"
- unsupported_languages="$unsupported_languages java"
+ noconfigdirs="$noconfigdirs gdb"
;;
mt-*-*)
noconfigdirs="$noconfigdirs sim"
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
- noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof"
;;
powerpc*-*-winnt* | powerpc*-*-pe*)
target_configdirs="$target_configdirs target-winsup"
# This is temporary until we can link against shared libraries
powerpcle-*-solaris*)
noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
- libgloss_dir=rs6000
;;
powerpc-*-beos*)
- noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
- ;;
- powerpc-*-eabi)
- noconfigdirs="$noconfigdirs ${libgcj}"
- libgloss_dir=rs6000
- ;;
- powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
- libgloss_dir=rs6000
+ noconfigdirs="$noconfigdirs gdb"
;;
rs6000-*-lynxos*)
- noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof"
;;
rs6000-*-aix*)
- noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof"
;;
rs6000-*-*)
- noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof"
;;
m68k-apollo-*)
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
;;
microblaze*)
- noconfigdirs="$noconfigdirs gprof ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof"
;;
mips*-sde-elf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
if test x$with_newlib = xyes; then
noconfigdirs="$noconfigdirs gprof"
fi
- libgloss_dir=mips
;;
mips*-*-irix5*)
noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
mips*-*-irix6*)
- # Linking libjava exceeds command-line length limits on at least
- # IRIX 6.2, but not on IRIX 6.5.
- # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
- # <oldham@codesourcery.com>
- noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
mips*-*-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss"
;;
mips*-*-linux*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
mips*-*-*)
- noconfigdirs="$noconfigdirs gprof ${libgcj}"
- libgloss_dir=mips
+ noconfigdirs="$noconfigdirs gprof"
;;
sh-*-* | sh64-*-*)
case "${target}" in
sh*-*-elf)
- noconfigdirs="$noconfigdirs ${libgcj}" ;;
+ ;;
*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;;
+ noconfigdirs="$noconfigdirs target-libgloss" ;;
esac
;;
- sparclet-*-aout* | sparc86x-*-*)
- libgloss_dir=sparc
- ;;
- sparc-*-elf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- sparc64-*-elf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- libgloss_dir=sparc
- ;;
- sparclite-*-*)
- libgloss_dir=sparc
- ;;
sparc-*-sunos4*)
- if test x${is_cross_compiler} != xno ; then
- noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
- else
+ if test x${is_cross_compiler} = xno ; then
use_gnu_ld=no
fi
;;
- sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
- ;;
tic6x-*-*)
- noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
+ noconfigdirs="$noconfigdirs sim"
+ ;;
+ tilepro-*-* | tilegx-*-*)
+ noconfigdirs="$noconfigdirs sim"
;;
v810-*-*)
noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
;;
vax-*-*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
- ;;
- *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
- *-*-lynxos*)
- noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
- ;;
- *-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
esac
# If we aren't building newlib, then don't build libgloss, since libgloss
ACX_PROG_GNAT
ACX_PROG_CMP_IGNORE_INITIAL
+AC_ARG_ENABLE([bootstrap],
+[AS_HELP_STRING([--enable-bootstrap],
+ [enable bootstrapping @<:@yes if native build@:>@])],,
+enable_bootstrap=default)
+
+# Issue errors and warnings for invalid/strange bootstrap combinations.
+if test -r $srcdir/gcc/configure; then
+ have_compiler=yes
+else
+ have_compiler=no
+fi
+
+case "$have_compiler:$host:$target:$enable_bootstrap" in
+ *:*:*:no) ;;
+
+ # Default behavior. Enable bootstrap if we have a compiler
+ # and we are in a native configuration.
+ yes:$build:$build:default)
+ enable_bootstrap=yes ;;
+
+ *:*:*:default)
+ enable_bootstrap=no ;;
+
+ # We have a compiler and we are in a native configuration, bootstrap is ok
+ yes:$build:$build:yes)
+ ;;
+
+ # Other configurations, but we have a compiler. Assume the user knows
+ # what he's doing.
+ yes:*:*:yes)
+ AC_MSG_WARN([trying to bootstrap a cross compiler])
+ ;;
+
+ # No compiler: if they passed --enable-bootstrap explicitly, fail
+ no:*:*:yes)
+ AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
+
+ # Fail if wrong command line
+ *)
+ AC_MSG_ERROR([invalid option for --enable-bootstrap])
+ ;;
+esac
+
# See if we are building gcc with C++.
AC_ARG_ENABLE(build-with-cxx,
[AS_HELP_STRING([--enable-build-with-cxx],
ENABLE_BUILD_WITH_CXX=$enableval,
ENABLE_BUILD_WITH_CXX=no)
+# Build stage1 with C and build stages 2 and 3 with C++.
+AC_ARG_ENABLE(build-poststage1-with-cxx,
+[AS_HELP_STRING([--enable-build-poststage1-with-cxx],
+ [build stages 2 and 3 with C++, not C])],
+ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval,
+ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes)
+
# Used for setting $lt_cv_objdir
_LT_CHECK_OBJDIR
build_lto_plugin=yes
],[if test x"$default_enable_lto" = x"yes" ; then
case $target in
- *-apple-darwin9 | *-cygwin* | *-mingw*) ;;
+ *-apple-darwin9* | *-cygwin* | *-mingw*) ;;
# On other non-ELF platforms, LTO has yet to be validated.
*) enable_lto=no ;;
esac
;;
esac
+ # If bootstrapping, then using --enable-build-with-cxx or
+ # --enable-build-poststage1-with-cxx requires enabling C++.
+ case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in
+ *,c++,*:*:*) ;;
+ *:*,yes,*:yes)
+ if test -f ${srcdir}/gcc/cp/config-lang.in; then
+ enable_languages="${enable_languages},c++"
+ else
+ AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources])
+ fi
+ ;;
+ esac
+
# First scan to see if an enabled language requires some other language.
# We assume that a given config-lang.in will list all the language
# front ends it requires, even if some are required indirectly.
exit 1
fi
- if test "$language" = "c++" \
- && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
- boot_language=yes
+ if test "$language" = "c++"; then
+ if test "$ENABLE_BUILD_WITH_CXX" = "yes" \
+ || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
+ boot_language=yes
+ fi
fi
case ,${enable_languages}, in
fi
done
-# Sometimes the tools are distributed with libiberty but with no other
-# libraries. In that case, we don't want to build target-libiberty.
-# Don't let libgcc imply libiberty either.
-if test -n "${target_configdirs}" ; then
- libgcc=
- others=
- for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
- if test "$i" = "libgcc"; then
- libgcc=target-libgcc
- elif test "$i" != "libiberty" ; then
- if test -r $srcdir/$i/configure ; then
- others=yes;
- break;
- fi
- fi
- done
- if test -z "${others}" ; then
- target_configdirs=$libgcc
- fi
-fi
-
# Quietly strip out all directories which aren't configurable in this tree.
# This relies on all configurable subdirectories being autoconfiscated, which
# is now the case.
fi
AC_SUBST(CXXFLAGS_FOR_TARGET)
+AC_SUBST(LDFLAGS_FOR_TARGET)
+
# Handle --with-headers=XXX. If the value is not "yes", the contents of
# the named directory are copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
esac
fi
-# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
-# them automatically.
-case "${host}" in
- hppa*64*-*-hpux11*)
- extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
- ;;
-esac
-
# Some systems (e.g., one of the i386-aix systems the gas testers are
# using) don't handle "\$" correctly, so don't use it here.
tooldir='${exec_prefix}'/${target_noncanonical}
esac
rm -f conftest*
-# The Solaris /usr/ucb/cc compiler does not appear to work.
-case "${host}" in
- sparc-sun-solaris2*)
- CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
- if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
- could_use=
- test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
- if test -d /opt/cygnus/bin ; then
- if test "$could_use" = "" ; then
- could_use="/opt/cygnus/bin"
- else
- could_use="$could_use or /opt/cygnus/bin"
- fi
- fi
- if test "$could_use" = "" ; then
- echo "Warning: compilation may fail because you're using"
- echo "/usr/ucb/cc. You should change your PATH or CC "
- echo "variable and rerun configure."
- else
- echo "Warning: compilation may fail because you're using"
- echo "/usr/ucb/cc, when you should use the C compiler from"
- echo "$could_use. You should change your"
- echo "PATH or CC variable and rerun configure."
- fi
- fi
- ;;
-esac
-
# Decide which environment variable is used to find dynamic libraries.
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
# 99 commands in a script, for HP-UX sed.
# Do not nest @if/@endif pairs, because configure will not warn you at all.
-AC_ARG_ENABLE([bootstrap],
-[AS_HELP_STRING([--enable-bootstrap],
- [enable bootstrapping @<:@yes if native build@:>@])],,
-enable_bootstrap=default)
-
-# Issue errors and warnings for invalid/strange bootstrap combinations.
-case "$configdirs" in
- *gcc*) have_compiler=yes ;;
- *) have_compiler=no ;;
-esac
-
-case "$have_compiler:$host:$target:$enable_bootstrap" in
- *:*:*:no) ;;
-
- # Default behavior. Enable bootstrap if we have a compiler
- # and we are in a native configuration.
- yes:$build:$build:default)
- enable_bootstrap=yes ;;
-
- *:*:*:default)
- enable_bootstrap=no ;;
-
- # We have a compiler and we are in a native configuration, bootstrap is ok
- yes:$build:$build:yes)
- ;;
-
- # Other configurations, but we have a compiler. Assume the user knows
- # what he's doing.
- yes:*:*:yes)
- AC_MSG_WARN([trying to bootstrap a cross compiler])
- ;;
-
- # No compiler: if they passed --enable-bootstrap explicitly, fail
- no:*:*:yes)
- AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
-
- # Fail if wrong command line
- *)
- AC_MSG_ERROR([invalid option for --enable-bootstrap])
- ;;
-esac
-
-case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
- *,c++,*:yes:yes) ;;
- *:yes:yes)
- AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
- ;;
-esac
-
case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
yes:yes:*\ gold\ *:*,c++,*) ;;
yes:yes:*\ gold\ *:*)
esac
AC_SUBST(stage2_werror_flag)
+# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass
+# --enable-build-with-cxx after stage1.
+if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
+ POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx
+else
+ POSTSTAGE1_CONFIGURE_FLAGS=
+fi
+AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS)
+
# Specify what files to not compare during bootstrap.
compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"