X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=configure.ac;h=532c5c27f9b9e3c0adc9bbb1eea50164f68bb730;hb=fe50e98c9a22a89ca2e032b17aa7162452c3ad3b;hp=a4e4c7d835a21e9b512a03997ec90ec734d53874;hpb=091021faaa699c11dd50d9ff56d8713953666f65;p=deliverable%2Fbinutils-gdb.git diff --git a/configure.ac b/configure.ac index a4e4c7d835..532c5c27f9 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 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" @@ -245,6 +239,8 @@ if test x$with_gnu_as = xno ; then fi use_included_zlib= +AC_ARG_WITH(system-zlib, +[AS_HELP_STRING([--with-system-zlib], [use installed libz])]) # Make sure we don't let ZLIB be added if we didn't want it. if test x$with_system_zlib = xyes ; then use_included_zlib=no @@ -335,7 +331,7 @@ case "${ENABLE_GOLD}" in *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ - | *-*-solaris2* | *-*-nto* | *-*-nacl*) + | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-fuchsia*) case "${target}" in *-*-linux*aout* | *-*-linux*oldld*) ;; @@ -349,7 +345,7 @@ case "${ENABLE_GOLD}" in # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \ - | aarch64*-*-* | tilegx*-*-*) + | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-*) configdirs="$configdirs gold" if test x${ENABLE_GOLD} = xdefault; then default_ld=gold @@ -391,6 +387,19 @@ case "${ENABLE_LD}" in ;; esac +# PR gas/19109 +# Decide the default method for compressing debug sections. +# Provide a configure time option to override our default. +AC_ARG_ENABLE(compressed_debug_sections, +[AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld,none}], + [Enable compressed debug sections for gas, gold or ld by + default])], +[ + if test x"$enable_compressed_debug_sections" = xyes; then + AC_MSG_ERROR([no program with compressed debug sections specified]) + fi +], [enable_compressed_debug_sections=]) + # Configure extra directories which are host specific case "${host}" in @@ -492,44 +501,8 @@ 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) - -# Disable libgomp on non POSIX hosted systems. +# Enable libgomp by default on hosted POSIX systems, and a few others. if test x$enable_libgomp = x ; then - # Enable libgomp by default on hosted POSIX systems. case "${target}" in *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) ;; @@ -539,6 +512,8 @@ if test x$enable_libgomp = x ; then ;; *-*-darwin* | *-*-aix*) ;; + nvptx*-*-*) + ;; *) noconfigdirs="$noconfigdirs target-libgomp" ;; @@ -644,7 +619,7 @@ fi # Enable libmpx on supported systems by request. if test -d ${srcdir}/libmpx; then - if test x$enable_libmpx = xyes; then + if test x$enable_libmpx = x; then AC_MSG_CHECKING([for libmpx support]) if (srcdir=${srcdir}/libmpx; \ . ${srcdir}/configure.tgt; \ @@ -655,8 +630,6 @@ if test -d ${srcdir}/libmpx; then else AC_MSG_RESULT([yes]) fi - else - noconfigdirs="$noconfigdirs target-libmpx" fi fi @@ -710,6 +683,9 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then avr-*-*) noconfigdirs="$noconfigdirs target-libstdc++-v3" ;; + ft32-*-*) + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; esac fi @@ -721,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*) ;; @@ -785,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 , 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 @@ -1006,6 +921,14 @@ esac case "${target}" in *-*-chorusos) ;; + aarch64-*-darwin*) + noconfigdirs="$noconfigdirs ld gas gdb gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; + arm-*-darwin*) + noconfigdirs="$noconfigdirs ld gas gdb gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" @@ -1038,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 @@ -1069,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" @@ -1078,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" @@ -1114,6 +1038,12 @@ case "${target}" in ;; hppa1.1-*-osf* | hppa1.1-*-bsd* ) ;; + hppa*64*-*-hpux*) + noconfigdirs="$noconfigdirs gdb" + ;; + hppa*-*-hpux11*) + noconfigdirs="$noconfigdirs gdb ld" + ;; hppa*64*-*-linux*) ;; hppa*-*-linux*) @@ -1123,9 +1053,6 @@ case "${target}" in hppa*-*-openbsd* | \ hppa*64*-*-*) ;; - hppa*-hp-hpux11*) - noconfigdirs="$noconfigdirs ld" - ;; hppa*-*-pro*) ;; hppa*-*-*) @@ -1140,7 +1067,7 @@ case "${target}" in ;; ia64*-**-hpux*) # No ld support yet. - noconfigdirs="$noconfigdirs libgui itcl ld" + noconfigdirs="$noconfigdirs gdb libgui itcl ld" ;; ia64*-*-*vms*) # No ld support yet. @@ -1245,17 +1172,13 @@ case "${target}" in mips*-*-*) noconfigdirs="$noconfigdirs gprof" ;; - nds32*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; nvptx*-*-*) - # nvptx is just a compiler noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; - sh-*-* | sh64-*-*) + sh-*-*) case "${target}" in sh*-*-elf) ;; @@ -1303,6 +1226,9 @@ case "${host}" in *-mingw*) host_makefile_frag="config/mh-mingw" ;; + alpha*-linux*) + host_makefile_frag="config/mh-alpha-linux" + ;; hppa*-hp-hpux10*) host_makefile_frag="config/mh-pa-hpux10" ;; @@ -1329,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} @@ -1343,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)" @@ -1442,6 +1366,12 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in ;; esac +# When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a +# C++98 compiler can still start the bootstrap. +if test "$enable_bootstrap:$GXX" = "yes:yes"; then + CXX="$CXX -std=gnu++98" +fi + # Used for setting $lt_cv_objdir _LT_CHECK_OBJDIR @@ -1515,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 @@ -1680,18 +1608,6 @@ AC_SUBST(extra_mpc_gmp_configure_flags) AC_SUBST(extra_mpc_mpfr_configure_flags) AC_SUBST(extra_isl_gmp_configure_flags) -# Allow host libstdc++ to be specified for static linking with PPL. -AC_ARG_WITH(host-libstdcxx, -[AS_HELP_STRING([--with-host-libstdcxx=L], - [use linker arguments L to link with libstdc++ - when linking with PPL])]) - -case $with_host_libstdcxx in - no|yes) - AC_MSG_ERROR([-with-host-libstdcxx needs an argument]) - ;; -esac - # Libraries to use for stage1 or when not bootstrapping. AC_ARG_WITH(stage1-libs, [AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])], @@ -1700,7 +1616,7 @@ AC_ARG_WITH(stage1-libs, else stage1_libs=$withval fi], -[stage1_libs=$with_host_libstdcxx]) +[stage1_libs=]) AC_SUBST(stage1_libs) # Linker flags to use for stage1 or when not bootstrapping. @@ -1720,8 +1636,7 @@ AC_ARG_WITH(stage1-ldflags, fi]) AC_SUBST(stage1_ldflags) -# Libraries to use for stage2 and later builds. This defaults to the -# argument passed to --with-host-libstdcxx. +# Libraries to use for stage2 and later builds. AC_ARG_WITH(boot-libs, [AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])], [if test "$withval" = "no" -o "$withval" = "yes"; then @@ -1729,7 +1644,7 @@ AC_ARG_WITH(boot-libs, else poststage1_libs=$withval fi], -[poststage1_libs=$with_host_libstdcxx]) +[poststage1_libs=]) AC_SUBST(poststage1_libs) # Linker flags to use for stage2 and later builds. @@ -1750,31 +1665,31 @@ AC_ARG_WITH(boot-ldflags, fi]) AC_SUBST(poststage1_ldflags) -# GCC GRAPHITE dependency ISL. +# GCC GRAPHITE dependency isl. # Basic setup is inlined here, actual checks are in config/isl.m4 AC_ARG_WITH(isl, [AS_HELP_STRING( [--with-isl=PATH], - [Specify prefix directory for the installed ISL package. + [Specify prefix directory for the installed isl package. Equivalent to --with-isl-include=PATH/include plus --with-isl-lib=PATH/lib])]) # Treat --without-isl as a request to disable # GRAPHITE support and skip all following checks. if test "x$with_isl" != "xno"; then - # Check for ISL + # Check for isl dnl Provide configure switches and initialize islinc & isllibs dnl with user input. ISL_INIT_FLAGS - dnl The versions of ISL that work for Graphite + dnl The versions of isl that work for Graphite ISL_CHECK_VERSION() - dnl Only execute fail-action, if ISL has been requested. + dnl Only execute fail-action, if isl has been requested. ISL_IF_FAILED([ - AC_MSG_ERROR([Unable to find a usable ISL. See config.log for details.])]) + AC_MSG_ERROR([Unable to find a usable isl. See config.log for details.])]) fi -# If the ISL check failed, disable builds of in-tree variant of ISL +# If the isl check failed, disable builds of in-tree variant of isl if test "x$with_isl" = xno || test "x$gcc_cv_isl" = xno; then noconfigdirs="$noconfigdirs isl" @@ -1794,7 +1709,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. build_lto_plugin=yes ],[if test x"$default_enable_lto" = x"yes" ; then case $target in - *-apple-darwin9* | *-cygwin* | *-mingw*) ;; + *-apple-darwin9* | *-cygwin* | *-mingw* | *djgpp*) ;; # On other non-ELF platforms, LTO has yet to be validated. *) enable_lto=no ;; esac @@ -1805,7 +1720,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. # warn during gcc/ subconfigure; unless you're bootstrapping with # -flto it won't be needed until after installation anyway. case $target in - *-cygwin* | *-mingw* | *-apple-darwin*) ;; + *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;; *) if test x"$enable_lto" = x"yes"; then AC_MSG_ERROR([LTO support is not enabled for this target.]) fi @@ -1849,7 +1764,7 @@ if test -d ${srcdir}/gcc; then if test x"${enable_languages+set}" != xset; then if test x"${LANGUAGES+set}" = xset; then enable_languages="${LANGUAGES}" - echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 + echo configure.ac: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2 else enable_languages=all fi @@ -1857,7 +1772,7 @@ if test -d ${srcdir}/gcc; then if test x"${enable_languages}" = x || test x"${enable_languages}" = xyes; then - echo configure.in: --enable-languages needs at least one language argument 1>&2 + echo configure.ac: --enable-languages needs at least one language argument 1>&2 exit 1 fi fi @@ -1867,7 +1782,7 @@ if test -d ${srcdir}/gcc; then # and make the substitution. case ,${enable_languages}, in *,f95,*) - echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2 + echo configure.ac: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2 enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'` ;; esac @@ -2144,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++ @@ -2248,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 @@ -2274,14 +2190,23 @@ fi # Sometimes we have special requirements for the host libiberty. extra_host_libiberty_configure_flags= +extra_host_zlib_configure_flags= case " $configdirs " in *" lto-plugin "* | *" libcc1 "*) # When these are to be built as shared libraries, the same applies to # libiberty. extra_host_libiberty_configure_flags=--enable-shared ;; + *" bfd "*) + # When bfd is to be built as a shared library, the same applies to + # zlib. + if test "$enable_shared" = "yes"; then + extra_host_zlib_configure_flags=--enable-host-shared + fi + ;; esac AC_SUBST(extra_host_libiberty_configure_flags) +AC_SUBST(extra_host_zlib_configure_flags) # Produce a warning message for the subdirs we can't configure. # This isn't especially interesting in the Cygnus tree, but in the individual @@ -2429,7 +2354,7 @@ fi # have requested that this magic not happen. # # The command line options always override the explicit settings in -# configure.in, and the settings in configure.in override this magic. +# configure.ac, and the settings in configure.ac override this magic. # # If the default for a toolchain is to use GNU as and ld, and you don't # want to do that, then you should use the --without-gnu-as and @@ -2563,7 +2488,7 @@ case "${enable_target_optspace}:${target}" in :d30v-*) ospace_frag="config/mt-d30v" ;; - :m32r-* | :d10v-* | :fr30-*) + :m32r-* | :d10v-* | :fr30-* | :i?86*-*-elfiamcu) ospace_frag="config/mt-ospace" ;; no:* | :*) @@ -2680,7 +2605,8 @@ AC_SUBST(BUILD_CONFIG) # Use same top-level configure hooks in libgcc/libstdc++/libvtv. AC_MSG_CHECKING([for --enable-vtable-verify]) AC_ARG_ENABLE(vtable-verify, -[ --enable-vtable-verify Enable vtable verification feature ], +[AS_HELP_STRING([--enable-vtable-verify], + [Enable vtable verification feature])], [case "$enableval" in yes) enable_vtable_verify=yes ;; no) enable_vtable_verify=no ;; @@ -2717,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. @@ -3075,7 +3006,7 @@ fi # multilib is not explicitly enabled. case "$target:$have_compiler:$host:$target:$enable_multilib" in x86_64-*linux*:yes:$build:$build:) - # Make sure we have a developement environment that handles 32-bit + # Make sure we have a development environment that handles 32-bit dev64=no echo "int main () { return 0; }" > conftest.c ${CC} -m32 -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c @@ -3086,7 +3017,7 @@ case "$target:$have_compiler:$host:$target:$enable_multilib" in fi rm -f conftest* if test x${dev64} != xyes ; then - AC_MSG_ERROR([I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.]) + AC_MSG_ERROR([I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.]) fi ;; esac @@ -3266,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) @@ -3376,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) @@ -3408,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, @@ -3494,7 +3421,20 @@ AC_ARG_ENABLE(stage1-checking, [choose additional checking for stage1 of the compiler])], [stage1_checking=--enable-checking=${enable_stage1_checking}], [if test "x$enable_checking" = xno || test "x$enable_checking" = x; then - stage1_checking=--enable-checking=yes,types + # For --disable-checking or implicit --enable-checking=release, avoid + # setting --enable-checking=gc in the default stage1 checking for LTO + # bootstraps. See PR62077. + case $BUILD_CONFIG in + *lto*) + 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])