aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac277
1 files changed, 86 insertions, 191 deletions
diff --git a/configure.ac b/configure.ac
index 3ec86c1..532c5c2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-# 2014, 2015, 2016 Free Software Foundation, Inc.
+# 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -142,11 +142,6 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr
# 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.
@@ -166,8 +161,7 @@ target_libraries="target-libgcc \
target-libssp \
target-libquadmath \
target-libgfortran \
- target-boehm-gc \
- ${libgcj} \
+ target-libffi \
target-libobjc \
target-libada \
target-libgo"
@@ -507,41 +501,6 @@ else
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
@@ -738,62 +697,7 @@ 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]]*-*-*)
- ;;
- sh64-*-* | sh5*-*-*)
- ;;
- 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*)
;;
@@ -802,90 +706,84 @@ case "${target}" in
x86_64-*-darwin[[912]]*)
;;
*-*-darwin*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
;;
*-*-netware*)
- noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libffi"
+ ;;
+ *-*-phoenix*)
+ 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
@@ -1063,6 +961,9 @@ case "${target}" in
;;
*-*-netware*)
;;
+ *-*-phoenix*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
*-*-rtems*)
noconfigdirs="$noconfigdirs target-libgloss"
# this is not caught below because this stanza matches earlier
@@ -1094,8 +995,8 @@ case "${target}" in
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
;;
- arc-*-*|arceb-*-*)
- noconfigdirs="$noconfigdirs target-libgloss"
+ arc*-*-*)
+ noconfigdirs="$noconfigdirs sim"
;;
arm-*-pe*)
noconfigdirs="$noconfigdirs target-libgloss"
@@ -1103,8 +1004,6 @@ case "${target}" in
arm-*-riscix*)
noconfigdirs="$noconfigdirs ld target-libgloss"
;;
- avr-*-rtems*)
- ;;
avr-*-*)
if test x${with_avrlibc} != xno; then
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
@@ -1279,7 +1178,7 @@ case "${target}" in
or1k*-*-*)
noconfigdirs="$noconfigdirs gdb"
;;
- sh-*-* | sh64-*-*)
+ sh-*-*)
case "${target}" in
sh*-*-elf)
;;
@@ -1295,12 +1194,9 @@ case "${target}" in
tic6x-*-*)
noconfigdirs="$noconfigdirs sim"
;;
- tilegx*-*-*)
+ tilepro*-*-* | tilegx*-*-*)
noconfigdirs="$noconfigdirs sim"
;;
- tilepro*-*-*)
- noconfigdirs="$noconfigdirs gdb sim"
- ;;
v810-*-*)
noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
;;
@@ -1359,7 +1255,6 @@ if test "${build}" != "${host}" ; then
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}
@@ -1373,7 +1268,6 @@ else
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)"
@@ -1551,15 +1445,13 @@ if test "x$with_mpfr_lib" != x; then
fi
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
# MPFR v3.1.0 moved the sources into a src sub-directory.
- if test -d ${srcdir}/mpfr/src; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
- else
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
+ if ! test -d ${srcdir}/mpfr/src; then
+ AC_MSG_ERROR([dnl
+Building GCC with MPFR in the source tree is only handled for MPFR 3.1.0+.])
fi
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
+ gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
# Do not test the mpfr version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -2167,24 +2059,34 @@ done
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++
@@ -2271,15 +2173,6 @@ for i in ${target_configdirs_all} ; do
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
@@ -2750,9 +2643,14 @@ if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
fi
-# If we are building libmpx, bootstrap it.
+# If we are building libmpx and $BUILD_CONFIG contains bootstrap-mpx,
+# bootstrap it.
if echo " ${target_configdirs} " | grep " libmpx " > /dev/null 2>&1; then
- bootstrap_target_libs=${bootstrap_target_libs}target-libmpx,
+ case "$BUILD_CONFIG" in
+ *bootstrap-mpx* )
+ bootstrap_target_libs=${bootstrap_target_libs}target-libmpx,
+ ;;
+ esac
fi
# Determine whether gdb needs tk/tcl or not.
@@ -3299,7 +3197,6 @@ AC_SUBST(CFLAGS_FOR_BUILD)
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)
@@ -3409,7 +3306,6 @@ AC_ARG_WITH([build-time-tools],
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)
@@ -3441,8 +3337,6 @@ GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
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,
@@ -3530,16 +3424,17 @@ AC_ARG_ENABLE(stage1-checking,
# For --disable-checking or implicit --enable-checking=release, avoid
# setting --enable-checking=gc in the default stage1 checking for LTO
# bootstraps. See PR62077.
- stage1_checking=--enable-checking=release,misc,gimple,rtlflag,tree,types
case $BUILD_CONFIG in
*lto*)
- if test "x$enable_checking" = x && \
- test -d ${srcdir}/gcc && \
- test x"`cat ${srcdir}/gcc/DEV-PHASE`" = xexperimental; then
- stage1_checking=--enable-checking=yes,types
- fi;;
- *) stage1_checking=--enable-checking=yes,types;;
+ stage1_checking=--enable-checking=release,misc,gimple,rtlflag,tree,types;;
+ *)
+ stage1_checking=--enable-checking=yes,types;;
esac
+ if test "x$enable_checking" = x && \
+ test -d ${srcdir}/gcc && \
+ test x"`cat ${srcdir}/gcc/DEV-PHASE`" = xexperimental; then
+ stage1_checking=--enable-checking=yes,types,extra
+ fi
else
stage1_checking=--enable-checking=$enable_checking,types
fi])