# If --enable-gold is used, "gold" may replace "ld".
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
-# libgcj represents the runtime libraries only used by gcj.
-libgcj="target-libffi \
- target-zlib \
- target-libjava"
-
# 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-libssp \
target-libquadmath \
target-libgfortran \
- target-boehm-gc \
- ${libgcj} \
+ target-libffi \
target-libobjc \
target-libada \
target-libgo"
fi])
AC_SUBST(extra_liboffloadmic_configure_flags)
-# Save it here so that, even in case of --enable-libgcj, if the Java
-# front-end isn't enabled, we still get libgcj disabled.
-libgcj_saved=$libgcj
-case $enable_libgcj in
-yes)
- # If we reset it here, it won't get added to noconfigdirs in the
- # target-specific build rules, so it will be forcibly enabled
- # (unless the Java language itself isn't enabled).
- libgcj=
- ;;
-no)
- # Make sure we get it printed in the list of not supported target libs.
- # Don't disable libffi, though, other languages use it.
- noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
- # Clear libgcj_saved so that even if java is enabled libffi won't be
- # built.
- libgcj_saved=
- ;;
-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)
-
# Enable libgomp by default on hosted POSIX systems, and a few others.
if test x$enable_libgomp = x ; then
case "${target}" in
;;
esac
-# Disable Java if libffi is not supported.
-case "${target}" in
- aarch64-*-*)
- ;;
- alpha*-*-*)
- ;;
- arm*-*-*)
- ;;
- cris-*-*)
- ;;
- frv-*-*)
- ;;
- hppa*-*-linux*)
- ;;
- hppa*-*-hpux*)
- ;;
- i?86-*-*)
- ;;
- ia64*-*-*)
- ;;
- m32r*-*-*)
- ;;
- m68k-*-*)
- ;;
- mips*-*-rtems*)
- ;;
- mips*-*-linux*)
- ;;
- powerpc*-*-linux*)
- ;;
- powerpc-*-darwin*)
- ;;
- powerpc-*-aix* | rs6000-*-aix*)
- ;;
- powerpc-*-freebsd*)
- ;;
- powerpc64-*-freebsd*)
- ;;
- powerpc*-*-rtems*)
- ;;
- s390-*-* | s390x-*-*)
- ;;
- sh-*-* | sh[[34]]*-*-*)
- ;;
- sparc*-*-*)
- ;;
- x86_64-*-*)
- ;;
- *-*-*)
- unsupported_languages="$unsupported_languages java"
- ;;
-esac
-
-# Disable Java, libgcj or related libraries for some systems.
+# Disable libffi for some systems.
case "${target}" in
powerpc-*-darwin*)
;;
x86_64-*-darwin[[912]]*)
;;
*-*-darwin*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-netware*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-phoenix*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-rtems*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-tpf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-uclinux*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-vxworks*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
+ ;;
+ aarch64*-*-freebsd*)
+ noconfigdirs="$noconfigdirs target-libffi"
;;
alpha*-*-*vms*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
arm*-*-freebsd*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
arm-wince-pe)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
arm*-*-symbianelf*)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
- bfin-*-*)
- noconfigdirs="$noconfigdirs target-boehm-gc"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
cris-*-* | crisv32-*-*)
- unsupported_languages="$unsupported_languages java"
case "${target}" in
*-*-linux*)
;;
*) # See PR46792 regarding target-libffi.
- noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+ noconfigdirs="$noconfigdirs target-libffi";;
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"
- ;;
hppa*64*-*-hpux*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
hppa*-hp-hpux11*)
;;
hppa*-*-hpux*)
- # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
- # build on HP-UX 10.20.
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
ia64*-*-*vms*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
i[[3456789]]86-w64-mingw*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
i[[3456789]]86-*-mingw*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
x86_64-*-mingw*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
mmix-*-*)
- noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
rs6000-*-aix*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
ft32-*-*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-lynxos*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
esac
AS_FOR_BUILD=${AS_FOR_BUILD-as}
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
- GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
AS_FOR_BUILD="\$(AS)"
CC_FOR_BUILD="\$(CC)"
CXX_FOR_BUILD="\$(CXX)"
- GCJ_FOR_BUILD="\$(GCJ)"
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
GOC_FOR_BUILD="\$(GOC)"
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
AC_ARG_ENABLE(objc-gc,
[AS_HELP_STRING([--enable-objc-gc],
[enable use of Boehm's garbage collector with the
- GNU Objective-C runtime])],
-[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
- *,objc,*:*:yes:*target-boehm-gc*)
- AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
- ;;
-esac])
-
-# Make sure we only build Boehm's garbage collector if required.
-case ,${enable_languages},:${enable_objc_gc} in
- *,objc,*:yes)
- # Keep target-boehm-gc if requested for Objective-C.
- ;;
- *)
- # Otherwise remove target-boehm-gc depending on target-libjava.
- if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
- noconfigdirs="$noconfigdirs target-boehm-gc"
+ GNU Objective-C runtime])])
+AC_ARG_WITH([target-bdw-gc],
+[AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
+ [specify prefix directory for installed bdw-gc package.
+ Equivalent to --with-target-bdw-gc-include=PATH/include
+ plus --with-target-bdw-gc-lib=PATH/lib])])
+AC_ARG_WITH([target-bdw-gc-include],
+[AS_HELP_STRING([--with-target-bdw-gc-include=PATHLIST],
+ [specify directories for installed bdw-gc include files])])
+AC_ARG_WITH([target-bdw-gc-lib],
+[AS_HELP_STRING([--with-target-bdw-gc-lib=PATHLIST],
+ [specify directories for installed bdw-gc library])])
+
+case ,${enable_languages},:${enable_objc_gc} in *,objc,*:yes|*,objc,*:auto)
+ AC_MSG_CHECKING([for bdw garbage collector])
+ if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
+ dnl no bdw-gw options, assume default locations
+ AC_MSG_RESULT([using bdw-gc in default locations])
+ else
+ dnl bdw-gw options, first error checking, complete checking in libobjc
+ if test "x$with_target_bdw_gc_include" = x && test "x$with_target_bdw_gc_lib" != x; then
+ AC_MSG_ERROR([found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing])
+ elif test "x$with_target_bdw_gc_include" != x && test "x$with_target_bdw_gc_lib" = x; then
+ AC_MSG_ERROR([found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing])
+ else
+ AC_MSG_RESULT([using paths configured with --with-target-bdw-gc options])
fi
- ;;
+ fi
esac
# Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
fi
done
-# Exclude target-zlib if target-libjava isn't built.
-case ${target_configdirs} in
-*target-libjava*)
- ;;
-*)
- target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`"
- ;;
-esac
-
# libiberty-linker-plugin is special: it doesn't have its own source directory,
# so we have to add it after the preceding checks.
if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x
AC_SUBST(CXXFLAGS_FOR_BUILD)
AC_SUBST(CXX_FOR_BUILD)
AC_SUBST(DLLTOOL_FOR_BUILD)
-AC_SUBST(GCJ_FOR_BUILD)
AC_SUBST(GFORTRAN_FOR_BUILD)
AC_SUBST(GOC_FOR_BUILD)
AC_SUBST(LDFLAGS_FOR_BUILD)
NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
-NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
c++)
GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
-GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
- [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,