X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=54558df98ab1d622521809a5e45bb3f07fe49f29;hb=aa0db437bce053c3e9fe55ad422b0807aad8b290;hp=fd1bdf0f506d0540972751e0fd66533a76e8fd8a;hpb=74ae587edafb8c83ac77fdc9182db76ef123955f;p=gcc.git diff --git a/configure.ac b/configure.ac index fd1bdf0f506..54558df98ab 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 -# Free Software Foundation, Inc. +# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, +# 2014, 2015, 2016 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 @@ -140,7 +140,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr # binutils, gas and ld appear in that order because it makes sense to run # "make check" in that particular order. # 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" +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 \ @@ -162,6 +162,7 @@ target_libraries="target-libgcc \ target-libstdc++-v3 \ target-libsanitizer \ target-libvtv \ + target-libmpx \ target-libssp \ target-libquadmath \ target-libgfortran \ @@ -244,6 +245,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 @@ -289,9 +292,7 @@ esac AC_ARG_ENABLE(as-accelerator-for, [AS_HELP_STRING([--enable-as-accelerator-for=ARG], [build as offload target compiler. - Specify offload host triple by ARG])], -ENABLE_AS_ACCELERATOR_FOR=$enableval, -ENABLE_AS_ACCELERATOR_FOR=no) + Specify offload host triple by ARG])]) AC_ARG_ENABLE(offload-targets, [AS_HELP_STRING([--enable-offload-targets=LIST], @@ -350,7 +351,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 @@ -392,6 +393,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 @@ -470,7 +484,7 @@ AC_HELP_STRING([[--enable-liboffloadmic[=ARG]]], *) AC_MSG_ERROR([--enable-liboffloadmic=no/host/target]) ;; esac], -[if test "${ENABLE_AS_ACCELERATOR_FOR}" != "no"; then +[if test x"$enable_as_accelerator_for" != x; then case "${target}" in *-intelmic-* | *-intelmicemul-*) enable_liboffloadmic=target @@ -528,9 +542,8 @@ if test x$enable_static_libjava != xyes ; then 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) ;; @@ -540,6 +553,8 @@ if test x$enable_libgomp = x ; then ;; *-*-darwin* | *-*-aix*) ;; + nvptx*-*-*) + ;; *) noconfigdirs="$noconfigdirs target-libgomp" ;; @@ -642,6 +657,25 @@ if test -d ${srcdir}/libvtv; then fi fi + +# Enable libmpx on supported systems by request. +if test -d ${srcdir}/libmpx; then + if test x$enable_libmpx = x; then + AC_MSG_CHECKING([for libmpx support]) + if (srcdir=${srcdir}/libmpx; \ + . ${srcdir}/configure.tgt; \ + test "$LIBMPX_SUPPORTED" != "yes") + then + AC_MSG_RESULT([no]) + noconfigdirs="$noconfigdirs target-libmpx" + else + AC_MSG_RESULT([yes]) + fi + fi +fi + + + # Disable libquadmath for some systems. case "${target}" in avr-*-*) @@ -669,6 +703,10 @@ case "${target}" in # for explicit misaligned loads. noconfigdirs="$noconfigdirs target-libssp" ;; + visium-*-*) + # No hosted I/O support. + noconfigdirs="$noconfigdirs target-libssp" + ;; esac # Disable libstdc++-v3 for some systems. @@ -686,6 +724,9 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then avr-*-*) noconfigdirs="$noconfigdirs target-libstdc++-v3" ;; + ft32-*-*) + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; esac fi @@ -741,8 +782,6 @@ case "${target}" in ;; sh-*-* | sh[[34]]*-*-*) ;; - sh64-*-* | sh5*-*-*) - ;; sparc*-*-*) ;; x86_64-*-*) @@ -781,6 +820,9 @@ case "${target}" in alpha*-*-*vms*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + arm*-*-freebsd*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; arm-wince-pe) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -837,6 +879,9 @@ case "${target}" in rs6000-*-aix*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + ft32-*-*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; *-*-lynxos*) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -976,6 +1021,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" @@ -1039,9 +1092,6 @@ case "${target}" in sh*-*-pe|mips*-*-pe|*arm-wince-pe) noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" ;; - arc-*-*|arceb-*-*) - noconfigdirs="$noconfigdirs target-libgloss" - ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -1070,8 +1120,11 @@ case "${target}" in fr30-*-elf*) noconfigdirs="$noconfigdirs gdb" ;; + ft32-*-*) + noconfigdirs="$noconfigdirs target-rda gprof" + ;; moxie-*-*) - noconfigdirs="$noconfigdirs gprof" + noconfigdirs="$noconfigdirs" ;; h8300*-*-*) noconfigdirs="$noconfigdirs target-libgloss" @@ -1081,6 +1134,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*) @@ -1090,9 +1149,6 @@ case "${target}" in hppa*-*-openbsd* | \ hppa*64*-*-*) ;; - hppa*-hp-hpux11*) - noconfigdirs="$noconfigdirs ld" - ;; hppa*-*-pro*) ;; hppa*-*-*) @@ -1107,7 +1163,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. @@ -1216,13 +1272,12 @@ case "${target}" in 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) ;; @@ -1270,7 +1325,7 @@ case "${host}" in *-mingw*) host_makefile_frag="config/mh-mingw" ;; - alpha*-*-linux*) + alpha*-linux*) host_makefile_frag="config/mh-alpha-linux" ;; hppa*-hp-hpux10*) @@ -1412,6 +1467,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 @@ -1484,16 +1545,9 @@ if test "x$with_mpfr_lib" != x; then gmplibs="-L$with_mpfr_lib $gmplibs" 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" - 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 @@ -1650,18 +1704,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])], @@ -1670,7 +1712,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. @@ -1690,8 +1732,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 @@ -1699,7 +1740,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. @@ -1720,31 +1761,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" @@ -1764,7 +1805,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 @@ -1775,7 +1816,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 @@ -1819,7 +1860,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 @@ -1827,7 +1868,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 @@ -1837,7 +1878,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 @@ -1913,6 +1954,14 @@ if test -d ${srcdir}/gcc; then fi fi + # If we're building an offloading compiler, add the LTO front end. + if test x"$enable_as_accelerator_for" != x ; then + case ,${enable_languages}, in + *,lto,*) ;; + *) enable_languages="${enable_languages},lto" ;; + esac + fi + missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` potential_languages=,c, @@ -2210,6 +2259,15 @@ 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 @@ -2227,14 +2285,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 @@ -2309,28 +2376,36 @@ AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET) # gcc) are built with "-O2 -g", so include those options when setting # CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. if test "x$CFLAGS_FOR_TARGET" = x; then - CFLAGS_FOR_TARGET=$CFLAGS - case " $CFLAGS " in - *" -O2 "*) ;; - *) CFLAGS_FOR_TARGET="-O2 $CFLAGS_FOR_TARGET" ;; - esac - case " $CFLAGS " in - *" -g "* | *" -g3 "*) ;; - *) CFLAGS_FOR_TARGET="-g $CFLAGS_FOR_TARGET" ;; - esac + if test "x${is_cross_compiler}" = xyes; then + CFLAGS_FOR_TARGET="-g -O2" + else + CFLAGS_FOR_TARGET=$CFLAGS + case " $CFLAGS " in + *" -O2 "*) ;; + *) CFLAGS_FOR_TARGET="-O2 $CFLAGS_FOR_TARGET" ;; + esac + case " $CFLAGS " in + *" -g "* | *" -g3 "*) ;; + *) CFLAGS_FOR_TARGET="-g $CFLAGS_FOR_TARGET" ;; + esac + fi fi AC_SUBST(CFLAGS_FOR_TARGET) if test "x$CXXFLAGS_FOR_TARGET" = x; then - CXXFLAGS_FOR_TARGET=$CXXFLAGS - case " $CXXFLAGS " in - *" -O2 "*) ;; - *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS_FOR_TARGET" ;; - esac - case " $CXXFLAGS " in - *" -g "* | *" -g3 "*) ;; - *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS_FOR_TARGET" ;; - esac + if test "x${is_cross_compiler}" = xyes; then + CXXFLAGS_FOR_TARGET="-g -O2" + else + CXXFLAGS_FOR_TARGET=$CXXFLAGS + case " $CXXFLAGS " in + *" -O2 "*) ;; + *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS_FOR_TARGET" ;; + esac + case " $CXXFLAGS " in + *" -g "* | *" -g3 "*) ;; + *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS_FOR_TARGET" ;; + esac + fi fi AC_SUBST(CXXFLAGS_FOR_TARGET) @@ -2374,7 +2449,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 @@ -2508,7 +2583,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:* | :*) @@ -2625,7 +2700,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 ;; @@ -2662,6 +2738,11 @@ 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 echo " ${target_configdirs} " | grep " libmpx " > /dev/null 2>&1; then + bootstrap_target_libs=${bootstrap_target_libs}target-libmpx, +fi + # Determine whether gdb needs tk/tcl or not. # Use 'maybe' since enable_gdbtk might be true even if tk isn't available # and in that case we want gdb to be built without tk. Ugh! @@ -3015,7 +3096,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 @@ -3026,7 +3107,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 @@ -3326,6 +3407,7 @@ ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool) ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld) ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo) ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm) +ACX_CHECK_INSTALLED_TARGET_TOOL(OBJCOPY_FOR_TARGET, objcopy) ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump) ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib) ACX_CHECK_INSTALLED_TARGET_TOOL(READELF_FOR_TARGET, readelf) @@ -3356,6 +3438,7 @@ GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC, GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new]) GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO) GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new]) +GCC_TARGET_TOOL(objcopy, OBJCOPY_FOR_TARGET, OBJCOPY, [binutils/objcopy]) GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump]) GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib]) GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf]) @@ -3432,7 +3515,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]) @@ -3460,6 +3556,30 @@ AC_ARG_ENABLE(host-shared, [host_shared=$enableval], [host_shared=no]) AC_SUBST(host_shared) +# PR jit/64780: Require the user to explicitly specify +# --enable-host-shared if the jit is enabled, hinting +# that they might want to do a separate configure/build of +# the jit, to avoid users from slowing down the rest of the +# compiler by enabling the jit. +if test ${host_shared} = "no" ; then + case "${enable_languages}" in + *jit*) + AC_MSG_ERROR([ +Enabling language "jit" requires --enable-host-shared. + +--enable-host-shared typically slows the rest of the compiler down by +a few %, so you must explicitly enable it. + +If you want to build both the jit and the regular compiler, it is often +best to do this via two separate configure/builds, in separate +directories, to avoid imposing the performance cost of +--enable-host-shared on the regular compiler.]) + ;; + *) + ;; + esac +fi + # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"