X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=configure;h=a5f4fc5aa74efb55e6d2574b169080c9ddcc2b81;hb=c88960d081f0b37ec03c66a13115e2a68e40d1ad;hp=8011d82dfa20e163f7df846eda824a6a92c62086;hpb=8e71395b076b6eca662b6280dc78fbaa83b306b7;p=deliverable%2Fbinutils-gdb.git diff --git a/configure b/configure index 8011d82dfa..a5f4fc5aa7 100755 --- a/configure +++ b/configure @@ -556,6 +556,7 @@ enable_option_checking=no ac_subst_vars='LTLIBOBJS LIBOBJS compare_exclusions +host_shared stage2_werror_flag stage1_checking stage1_cflags @@ -573,6 +574,7 @@ STRIP_FOR_TARGET READELF_FOR_TARGET RANLIB_FOR_TARGET OBJDUMP_FOR_TARGET +OBJCOPY_FOR_TARGET NM_FOR_TARGET LIPO_FOR_TARGET LD_FOR_TARGET @@ -641,15 +643,18 @@ CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET SYSROOT_CFLAGS_FOR_TARGET -stage1_languages +extra_host_zlib_configure_flags extra_host_libiberty_configure_flags -clooginc -clooglibs +stage1_languages +extra_linker_plugin_flags +extra_linker_plugin_configure_flags islinc +isllibs +islver poststage1_ldflags poststage1_libs -stage1_libs stage1_ldflags +stage1_libs extra_isl_gmp_configure_flags extra_mpc_mpfr_configure_flags extra_mpc_gmp_configure_flags @@ -670,6 +675,7 @@ LDFLAGS CFLAGS CC EXTRA_CONFIGARGS_LIBJAVA +extra_liboffloadmic_configure_flags target_subdir host_subdir build_subdir @@ -743,12 +749,18 @@ ospace_frag' ac_user_opts=' enable_option_checking with_build_libsubdir +with_system_zlib +enable_as_accelerator_for +enable_offload_targets enable_gold enable_ld +enable_compressed_debug_sections enable_libquadmath enable_libquadmath_support enable_libada enable_libssp +enable_libstdcxx +enable_liboffloadmic enable_static_libjava enable_bootstrap with_mpc @@ -762,30 +774,29 @@ with_gmp_dir with_gmp with_gmp_include with_gmp_lib -with_host_libstdcxx -with_stage1_ldflags with_stage1_libs +with_stage1_ldflags with_boot_libs with_boot_ldflags -with_cloog with_isl with_isl_include with_isl_lib enable_isl_version_check -with_cloog_include -with_cloog_lib -enable_cloog_version_check enable_lto +enable_linker_plugin_configure_flags +enable_linker_plugin_flags enable_stage1_languages enable_objc_gc with_build_sysroot with_debug_prefix_map with_build_config +enable_vtable_verify enable_serial_configure with_build_time_tools enable_maintainer_mode enable_stage1_checking enable_werror +enable_host_shared ' ac_precious_vars='build_alias host_alias @@ -826,6 +837,7 @@ DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET +OBJCOPY_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET READELF_FOR_TARGET @@ -1457,26 +1469,44 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-as-accelerator-for=ARG + build as offload target compiler. Specify offload + host triple by ARG + --enable-offload-targets=LIST + enable offloading to devices from comma-separated + LIST of TARGET[=DIR]. Use optional path to find + offload target compiler during the build --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-ld[=ARG] build ld [ARG={default,yes,no}] + --enable-compressed-debug-sections={all,gas,gold,ld,none} + Enable compressed debug sections for gas, gold or ld + by default --disable-libquadmath do not build libquadmath directory --disable-libquadmath-support disable libquadmath support for Fortran --enable-libada build libada directory --enable-libssp build libssp directory + --disable-libstdcxx do not build libstdc++-v3 directory + --enable-liboffloadmic=ARG + build liboffloadmic [ARG={no,host,target}] --enable-static-libjava[=ARG] build static libjava [default=no] --enable-bootstrap enable bootstrapping [yes if native build] --disable-isl-version-check - disable check for ISL version - --disable-cloog-version-check - disable check for CLooG version + disable check for isl version --enable-lto enable link time optimization support + --enable-linker-plugin-configure-flags=FLAGS + additional flags for configuring linker plugins + [none] + --enable-linker-plugin-flags=FLAGS + additional flags for configuring and building linker + plugins [none] --enable-stage1-languages[=all] choose additional languages to build during stage1. Mostly useful for compiler development --enable-objc-gc enable use of Boehm's garbage collector with the GNU Objective-C runtime + --enable-vtable-verify Enable vtable verification feature --enable-serial-[{host,target,build}-]configure force sequential configuration of sub-packages for the host, target or build machine, or all @@ -1488,11 +1518,13 @@ Optional Features: choose additional checking for stage1 of the compiler --enable-werror enable -Werror in bootstrap stage2 and later + --enable-host-shared build host code as shared libraries Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-build-libsubdir=DIR Directory where to find libraries for build system + --with-system-zlib use installed libz --with-mpc=PATH specify prefix directory for installed MPC package. Equivalent to --with-mpc-include=PATH/include plus --with-mpc-lib=PATH/lib @@ -1512,28 +1544,18 @@ Optional Packages: --with-gmp-lib=PATH/lib --with-gmp-include=PATH specify directory for installed GMP include files --with-gmp-lib=PATH specify directory for the installed GMP library - --with-host-libstdcxx=L use linker arguments L to link with libstdc++ when - linking with PPL + --with-stage1-libs=LIBS libraries for stage1 --with-stage1-ldflags=FLAGS linker flags for stage1 - --with-stage1-libs=LIBS libraries for stage1 --with-boot-libs=LIBS libraries for stage2 and later --with-boot-ldflags=FLAGS linker flags for stage2 and later - --with-cloog=PATH Specify prefix directory for the installed CLooG-ISL - package. Equivalent to - --with-cloog-include=PATH/include plus - --with-cloog-lib=PATH/lib - --with-isl=PATH Specify prefix directory for the installed ISL + --with-isl=PATH Specify prefix directory for the installed isl package. Equivalent to --with-isl-include=PATH/include plus --with-isl-lib=PATH/lib - --with-isl-include=PATH Specify directory for installed ISL include files - --with-isl-lib=PATH Specify the directory for the installed ISL library - --with-cloog-include=PATH - Specify directory for installed CLooG include files - --with-cloog-lib=PATH Specify the directory for the installed CLooG - library + --with-isl-include=PATH Specify directory for installed isl include files + --with-isl-lib=PATH Specify the directory for the installed isl library --with-build-sysroot=SYSROOT use sysroot as the system root during the build --with-debug-prefix-map='A=B C=D ...' @@ -1596,6 +1618,8 @@ Some influential environment variables: LIPO for the target NM_FOR_TARGET NM for the target + OBJCOPY_FOR_TARGET + OBJCOPY for the target OBJDUMP_FOR_TARGET OBJDUMP for the target RANLIB_FOR_TARGET @@ -1765,10 +1789,10 @@ fi } # ac_fn_cxx_try_compile -# ac_fn_c_try_link LINENO -# ----------------------- +# ac_fn_cxx_try_link LINENO +# ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () +ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext @@ -1788,7 +1812,7 @@ $as_echo "$ac_try_echo"; } >&5 fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || + test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || @@ -1809,15 +1833,15 @@ fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} return $ac_retval -} # ac_fn_c_try_link +} # ac_fn_cxx_try_link -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -1825,33 +1849,37 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 + (eval "$ac_link") 2>conftest.err ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : ac_retval=0 else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=$ac_status + ac_retval=1 fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} return $ac_retval -} # ac_fn_c_try_run +} # ac_fn_c_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. @@ -2691,14 +2719,14 @@ extra_host_args= # these library is used by various programs built for the build # environment # -build_libs="build-libiberty" +build_libs="build-libiberty build-libcpp" # these tools are built for the build environment build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment -# -host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libdecnumber gmp mpfr mpc isl cloog libelf libiconv" +#f +host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libdecnumber gmp mpfr mpc isl libelf libiconv" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -2706,7 +2734,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" +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 \ @@ -2721,10 +2749,14 @@ target_libraries="target-libgcc \ target-libgloss \ target-newlib \ target-libgomp \ + target-libcilkrts \ + target-liboffloadmic \ target-libatomic \ target-libitm \ target-libstdc++-v3 \ - target-libmudflap \ + target-libsanitizer \ + target-libvtv \ + target-libmpx \ target-libssp \ target-libquadmath \ target-libgfortran \ @@ -2827,6 +2859,12 @@ if test x$with_gnu_as = xno ; then fi use_included_zlib= + +# Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; +fi + # 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 @@ -2869,6 +2907,24 @@ case ${with_newlib} in yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; esac +# Check whether --enable-as-accelerator-for was given. +if test "${enable_as_accelerator_for+set}" = set; then : + enableval=$enable_as_accelerator_for; +fi + + +# Check whether --enable-offload-targets was given. +if test "${enable_offload_targets+set}" = set; then : + enableval=$enable_offload_targets; + if test x"$enable_offload_targets" = x; then + as_fn_error "no offload targets specified" "$LINENO" 5 + fi + +else + enable_offload_targets= +fi + + # Handle --enable-gold, --enable-ld. # --disable-gold [--enable-ld] # Build only ld. Default option. @@ -2901,9 +2957,9 @@ case "${ENABLE_GOLD}" in is_elf=no case "${target}" in *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ - | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ + | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ - | *-*-solaris2* | *-*-nto*) + | *-*-solaris2* | *-*-nto* | *-*-nacl*) case "${target}" in *-*-linux*aout* | *-*-linux*oldld*) ;; @@ -2916,7 +2972,8 @@ case "${ENABLE_GOLD}" in if test "$is_elf" = "yes"; then # Check for target supported by gold. case "${target}" in - i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* | tilegx*-*-*) + i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \ + | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-*) configdirs="$configdirs gold" if test x${ENABLE_GOLD} = xdefault; then default_ld=gold @@ -2961,6 +3018,21 @@ $as_echo "$as_me: WARNING: neither ld nor gold are enabled" >&2;} ;; esac +# PR gas/19109 +# Decide the default method for compressing debug sections. +# Provide a configure time option to override our default. +# Check whether --enable-compressed_debug_sections was given. +if test "${enable_compressed_debug_sections+set}" = set; then : + enableval=$enable_compressed_debug_sections; + if test x"$enable_compressed_debug_sections" = xyes; then + as_fn_error "no program with compressed debug sections specified" "$LINENO" 5 + fi + +else + enable_compressed_debug_sections= +fi + + # Configure extra directories which are host specific case "${host}" in @@ -3027,6 +3099,55 @@ else fi +# Check whether --enable-libstdcxx was given. +if test "${enable_libstdcxx+set}" = set; then : + enableval=$enable_libstdcxx; ENABLE_LIBSTDCXX=$enableval +else + ENABLE_LIBSTDCXX=default +fi + +if test "${ENABLE_LIBSTDCXX}" = "no" ; then + noconfigdirs="$noconfigdirs target-libstdc++-v3" +fi + +# If this is accelerator compiler and its target is intelmic we enable +# target liboffloadmic by default. If this is compiler with offloading +# for intelmic we enable host liboffloadmic by default. Otherwise +# liboffloadmic is disabled by default. +# Check whether --enable-liboffloadmic was given. +if test "${enable_liboffloadmic+set}" = set; then : + enableval=$enable_liboffloadmic; case "$enableval" in + no | host | target) + enable_liboffloadmic=$enableval ;; + *) + as_fn_error "--enable-liboffloadmic=no/host/target" "$LINENO" 5 ;; +esac +else + if test x"$enable_as_accelerator_for" != x; then + case "${target}" in + *-intelmic-* | *-intelmicemul-*) + enable_liboffloadmic=target + extra_liboffloadmic_configure_flags="--enable-liboffloadmic=target" + ;; + *) + enable_liboffloadmic=no + ;; + esac +else + case "${enable_offload_targets}" in + *-intelmic-* | *-intelmicemul-*) + enable_liboffloadmic=host + extra_liboffloadmic_configure_flags="--enable-liboffloadmic=host" + ;; + *) + enable_liboffloadmic=no + ;; + esac +fi +fi + + + # 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 @@ -3064,25 +3185,8 @@ if test x$enable_static_libjava != xyes ; then fi -# Disable libmudflap on some systems. -if test x$enable_libmudflap = x ; then - case "${target}" in - *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu) - # Enable libmudflap by default in GNU and friends. - ;; - *-*-freebsd*) - # Enable libmudflap by default in FreeBSD. - ;; - *) - # Disable it by default everywhere else. - noconfigdirs="$noconfigdirs target-libmudflap" - ;; - esac -fi - -# 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) ;; @@ -3092,6 +3196,8 @@ if test x$enable_libgomp = x ; then ;; *-*-darwin* | *-*-aix*) ;; + nvptx*-*-*) + ;; *) noconfigdirs="$noconfigdirs target-libgomp" ;; @@ -3117,6 +3223,44 @@ $as_echo "yes" >&6; } fi fi +# Disable libcilkrts on unsupported systems. +if test -d ${srcdir}/libcilkrts; then + if test x$enable_libcilkrts = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcilkrts support" >&5 +$as_echo_n "checking for libcilkrts support... " >&6; } + if (srcdir=${srcdir}/libcilkrts; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libcilkrts" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + +# Disable liboffloadmic on unsupported systems. +if test -d ${srcdir}/liboffloadmic; then + if test x$enable_liboffloadmic != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for liboffloadmic support" >&5 +$as_echo_n "checking for liboffloadmic support... " >&6; } + if (srcdir=${srcdir}/liboffloadmic; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-liboffloadmic" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + # Disable libitm on unsupported systems. if test -d ${srcdir}/libitm; then if test x$enable_libitm = x; then @@ -3136,8 +3280,71 @@ $as_echo "yes" >&6; } fi fi +# Disable libsanitizer on unsupported systems. +if test -d ${srcdir}/libsanitizer; then + if test x$enable_libsanitizer = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsanitizer support" >&5 +$as_echo_n "checking for libsanitizer support... " >&6; } + if (srcdir=${srcdir}/libsanitizer; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libsanitizer" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + +# Disable libvtv on unsupported systems. +if test -d ${srcdir}/libvtv; then + if test x$enable_libvtv = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libvtv support" >&5 +$as_echo_n "checking for libvtv support... " >&6; } + if (srcdir=${srcdir}/libvtv; \ + . ${srcdir}/configure.tgt; \ + test "$VTV_SUPPORTED" != "yes") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libvtv" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + + +# Enable libmpx on supported systems by request. +if test -d ${srcdir}/libmpx; then + if test x$enable_libmpx = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmpx support" >&5 +$as_echo_n "checking for libmpx support... " >&6; } + if (srcdir=${srcdir}/libmpx; \ + . ${srcdir}/configure.tgt; \ + test "$LIBMPX_SUPPORTED" != "yes") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libmpx" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + + + # Disable libquadmath for some systems. case "${target}" in + avr-*-*) + noconfigdirs="$noconfigdirs target-libquadmath" + ;; # libquadmath is unused on AIX and libquadmath build process use of # LD_LIBRARY_PATH can break AIX bootstrap. powerpc-*-aix* | rs6000-*-aix*) @@ -3160,29 +3367,32 @@ case "${target}" in # for explicit misaligned loads. noconfigdirs="$noconfigdirs target-libssp" ;; -esac - -# Disable libquadmath for some systems. -case "${target}" in - avr-*-*) - noconfigdirs="$noconfigdirs target-libquadmath" + visium-*-*) + # No hosted I/O support. + noconfigdirs="$noconfigdirs target-libssp" ;; esac # Disable libstdc++-v3 for some systems. -case "${target}" in - *-*-vxworks*) - # VxWorks uses the Dinkumware C++ library. - noconfigdirs="$noconfigdirs target-libstdc++-v3" - ;; - 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 +# Allow user to override this if they pass --enable-libstdc++-v3 +if test "${ENABLE_LIBSTDCXX}" = "default" ; then + case "${target}" in + *-*-vxworks*) + # VxWorks uses the Dinkumware C++ library. + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; + 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" + ;; + ft32-*-*) + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; + esac +fi # Disable Fortran for some systems. case "${target}" in @@ -3194,6 +3404,8 @@ esac # Disable Java if libffi is not supported. case "${target}" in + aarch64-*-*) + ;; alpha*-*-*) ;; arm*-*-*) @@ -3274,6 +3486,9 @@ case "${target}" in alpha*-*-*vms*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + arm*-*-freebsd*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; arm-wince-pe) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -3330,11 +3545,39 @@ case "${target}" in rs6000-*-aix*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + ft32-*-*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; *-*-lynxos*) noconfigdirs="$noconfigdirs ${libgcj}" ;; esac +# Disable the go frontend on systems where it is known to not work. Please keep +# this in sync with contrib/config-list.mk. +case "${target}" in +*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*) + unsupported_languages="$unsupported_languages go" + ;; +esac + +# Disable libgo for some systems where it is known to not work. +# For testing, you can easily override this with --enable-libgo. +if test x$enable_libgo = x; then + case "${target}" in + *-*-darwin*) + # PR 46986 + noconfigdirs="$noconfigdirs target-libgo" + ;; + *-*-cygwin* | *-*-mingw*) + noconfigdirs="$noconfigdirs target-libgo" + ;; + *-*-aix*) + noconfigdirs="$noconfigdirs target-libgo" + ;; + esac +fi + # Default libgloss CPU subdirectory. libgloss_dir="$target_cpu" @@ -3342,6 +3585,9 @@ case "${target}" in sh*-*-pe|mips*-*-pe|*arm-wince-pe) libgloss_dir=wince ;; + aarch64*-*-* ) + libgloss_dir=aarch64 + ;; arm*-*-*) libgloss_dir=arm ;; @@ -3441,6 +3687,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" @@ -3475,6 +3729,10 @@ case "${target}" in ;; *-*-rtems*) noconfigdirs="$noconfigdirs target-libgloss" + # this is not caught below because this stanza matches earlier + case $target in + or1k*-*-*) noconfigdirs="$noconfigdirs gdb" ;; + esac ;; # The tpf target doesn't support gdb yet. *-*-tpf*) @@ -3500,7 +3758,7 @@ case "${target}" in sh*-*-pe|mips*-*-pe|*arm-wince-pe) noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" ;; - arc-*-*) + arc-*-*|arceb-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-pe*) @@ -3531,8 +3789,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" @@ -3542,6 +3803,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*) @@ -3551,9 +3818,6 @@ case "${target}" in hppa*-*-openbsd* | \ hppa*64*-*-*) ;; - hppa*-hp-hpux11*) - noconfigdirs="$noconfigdirs ld" - ;; hppa*-*-pro*) ;; hppa*-*-*) @@ -3568,7 +3832,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. @@ -3650,7 +3914,7 @@ case "${target}" in microblaze*) noconfigdirs="$noconfigdirs gprof" ;; - mips*-sde-elf* | mips*-mti-elf*) + mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) if test x$with_newlib = xyes; then noconfigdirs="$noconfigdirs gprof" fi @@ -3662,13 +3926,23 @@ case "${target}" in noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss" + noconfigdirs="$noconfigdirs ld gas gprof target-libgloss" ;; mips*-*-linux*) ;; + mips*-*-ultrix* | mips*-*-osf* | mips*-*-ecoff* | mips*-*-pe* \ + | mips*-*-irix* | mips*-*-lnews* | mips*-*-riscos*) + noconfigdirs="$noconfigdirs ld gas gprof" + ;; mips*-*-*) noconfigdirs="$noconfigdirs gprof" ;; + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; + or1k*-*-*) + noconfigdirs="$noconfigdirs gdb" + ;; sh-*-* | sh64-*-*) case "${target}" in sh*-*-elf) @@ -3685,9 +3959,12 @@ case "${target}" in tic6x-*-*) noconfigdirs="$noconfigdirs sim" ;; - tilepro-*-* | tilegx-*-*) + tilegx*-*-*) noconfigdirs="$noconfigdirs sim" ;; + tilepro*-*-*) + noconfigdirs="$noconfigdirs gdb sim" + ;; v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss" ;; @@ -3736,6 +4013,9 @@ fi *-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" ;; @@ -4829,6 +5109,48 @@ if test -z "$LD"; then fi fi +# Check whether -static-libstdc++ -static-libgcc is supported. +have_static_libs=no +if test "$GCC" = yes; then + saved_LDFLAGS="$LDFLAGS" + + LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether g++ accepts -static-libstdc++ -static-libgcc" >&5 +$as_echo_n "checking whether g++ accepts -static-libstdc++ -static-libgcc... " >&6; } + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +#error -static-libstdc++ not implemented +#endif +int main() {} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; have_static_libs=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + LDFLAGS="$saved_LDFLAGS" +fi + @@ -5126,6 +5448,12 @@ $as_echo "$as_me: WARNING: trying to bootstrap a cross compiler" >&2;} ;; 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } @@ -5544,21 +5872,22 @@ fi -# Allow host libstdc++ to be specified for static linking with PPL. - -# Check whether --with-host-libstdcxx was given. -if test "${with_host_libstdcxx+set}" = set; then : - withval=$with_host_libstdcxx; -fi +# Libraries to use for stage1 or when not bootstrapping. + +# Check whether --with-stage1-libs was given. +if test "${with_stage1_libs+set}" = set; then : + withval=$with_stage1_libs; if test "$withval" = "no" -o "$withval" = "yes"; then + stage1_libs= + else + stage1_libs=$withval + fi +else + stage1_libs= +fi -case $with_host_libstdcxx in - no|yes) - as_fn_error "-with-host-libstdcxx needs an argument" "$LINENO" 5 - ;; -esac -# Linker flags to use for stage1 or when not boostrapping. +# Linker flags to use for stage1 or when not bootstrapping. # Check whether --with-stage1-ldflags was given. if test "${with_stage1_ldflags+set}" = set; then : @@ -5569,27 +5898,17 @@ if test "${with_stage1_ldflags+set}" = set; then : fi else stage1_ldflags= -fi - - - -# Libraries to use for stage1 or when not bootstrapping. - -# Check whether --with-stage1-libs was given. -if test "${with_stage1_libs+set}" = set; then : - withval=$with_stage1_libs; if test "$withval" = "no" -o "$withval" = "yes"; then - stage1_libs= - else - stage1_libs=$withval + # In stage 1, default to linking libstdc++ and libgcc statically with GCC + # if supported. But if the user explicitly specified the libraries to use, + # trust that they are doing what they want. + if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then + stage1_ldflags="-static-libstdc++ -static-libgcc" fi -else - stage1_libs=$with_host_libstdcxx fi -# 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. # Check whether --with-boot-libs was given. if test "${with_boot_libs+set}" = set; then : @@ -5599,7 +5918,7 @@ if test "${with_boot_libs+set}" = set; then : poststage1_libs=$withval fi else - poststage1_libs=$with_host_libstdcxx + poststage1_libs= fi @@ -5625,15 +5944,8 @@ fi -# GCC GRAPHITE dependences, ISL and CLOOG which in turn requires ISL. -# Basic setup is inlined here, actual checks are in config/cloog.m4 and -# config/isl.m4 - - -# Check whether --with-cloog was given. -if test "${with_cloog+set}" = set; then : - withval=$with_cloog; -fi +# GCC GRAPHITE dependency isl. +# Basic setup is inlined here, actual checks are in config/isl.m4 # Check whether --with-isl was given. @@ -5642,11 +5954,10 @@ if test "${with_isl+set}" = set; then : fi -# Treat either --without-cloog or --without-isl as a request to disable +# Treat --without-isl as a request to disable # GRAPHITE support and skip all following checks. -if test "x$with_isl" != "xno" && - test "x$with_cloog" != "xno"; then - # Check for ISL +if test "x$with_isl" != "xno"; then + # Check for isl # Check whether --with-isl-include was given. @@ -5693,8 +6004,12 @@ fi isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' ' islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include' ENABLE_ISL_CHECK=no + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using in-tree isl, disabling version check" >&5 +$as_echo "$as_me: WARNING: using in-tree isl, disabling version check" >&2;} fi + isllibs="${isllibs} -lisl" + if test "${ENABLE_ISL_CHECK}" = yes ; then @@ -5703,44 +6018,64 @@ fi _isl_saved_LIBS=$LIBS CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}" - LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}" - LIBS="${_isl_saved_LIBS} -lisl" - echo $CFLAGS + LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs} ${gmplibs}" + LIBS="${_isl_saved_LIBS} -lisl -lgmp" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 of ISL" >&5 -$as_echo_n "checking for version 0.10 of ISL... " >&6; } -if test "${gcc_cv_isl+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gcc_cv_isl=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16, 0.15, or deprecated 0.14" >&5 +$as_echo_n "checking for isl 0.16, 0.15, or deprecated 0.14... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include +#include int main () { -if (strncmp (isl_version (), "isl-0.10", strlen ("isl-0.10")) != 0) - return 1; - +isl_ctx_get_max_operations (isl_ctx_alloc ()); ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_link "$LINENO"; then : gcc_cv_isl=yes else gcc_cv_isl=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_isl" >&5 +$as_echo "$gcc_cv_isl" >&6; } + + if test "${gcc_cv_isl}" = no ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated" >&5 +$as_echo "recommended isl version is 0.16 or 0.15, the minimum required isl version 0.14 is deprecated" >&6; } + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.16 or 0.15" >&5 +$as_echo_n "checking for isl 0.16 or 0.15... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +isl_options_set_schedule_serialize_sccs (NULL, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_has_isl_options_set_schedule_serialize_sccs=yes +else + ac_has_isl_options_set_schedule_serialize_sccs=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_isl" >&5 -$as_echo "$gcc_cv_isl" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5 +$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; } + + if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then + islver="0.15" + + fi CFLAGS=$_isl_saved_CFLAGS LDFLAGS=$_isl_saved_LDFLAGS @@ -5773,159 +6108,22 @@ $as_echo "$gcc_cv_isl" >&6; } && test "x${isllibs}" = x \ && test "x${islinc}" = x ; then - as_fn_error "Unable to find a usable ISL. See config.log for details." "$LINENO" 5 - fi - - - - if test "x$gcc_cv_isl" != "xno"; then - # Check for CLOOG - - -# Check whether --with-cloog-include was given. -if test "${with_cloog_include+set}" = set; then : - withval=$with_cloog_include; -fi - - -# Check whether --with-cloog-lib was given. -if test "${with_cloog_lib+set}" = set; then : - withval=$with_cloog_lib; -fi - - - # Check whether --enable-cloog-version-check was given. -if test "${enable_cloog_version_check+set}" = set; then : - enableval=$enable_cloog_version_check; ENABLE_CLOOG_CHECK=$enableval -else - ENABLE_CLOOG_CHECK=yes -fi - - - # Initialize clooglibs and clooginc. - case $with_cloog in - no) - clooglibs= - clooginc= - ;; - "" | yes) - ;; - *) - clooglibs="-L$with_cloog/lib" - clooginc="-I$with_cloog/include" - ;; - esac - if test "x${with_cloog_include}" != x ; then - clooginc="-I$with_cloog_include" - fi - if test "x${with_cloog_lib}" != x; then - clooglibs="-L$with_cloog_lib" - fi - if test "x${clooginc}" = x && test "x${clooglibs}" = x \ - && test -d ${srcdir}/cloog; then - clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' - clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -I'${srcdir}'/cloog/include ' - fi - - clooginc="-DCLOOG_INT_GMP ${clooginc}" - clooglibs="${clooglibs} -lcloog-isl ${isllibs} -lisl" - - - - - - if test "${ENABLE_CLOOG_CHECK}" = yes ; then - _cloog_saved_CFLAGS=$CFLAGS - _cloog_saved_LDFLAGS=$LDFLAGS - - CFLAGS="${_cloog_saved_CFLAGS} ${clooginc} ${islinc} ${gmpinc}" - LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${isllibs} ${gmplib}" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17.0 of CLooG" >&5 -$as_echo_n "checking for version 0.17.0 of CLooG... " >&6; } -if test "${gcc_cv_cloog+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include "cloog/version.h" -int -main () -{ -#if CLOOG_VERSION_MAJOR != 0 \ - || CLOOG_VERSION_MINOR != 17 \ - || CLOOG_VERSION_REVISION < 0 - choke me - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gcc_cv_cloog=yes -else - gcc_cv_cloog=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_cloog" >&5 -$as_echo "$gcc_cv_cloog" >&6; } - - CFLAGS=$_cloog_saved_CFLAGS - LDFLAGS=$_cloog_saved_LDFLAGS + as_fn_error "Unable to find a usable isl. See config.log for details." "$LINENO" 5 fi - - - - - - if test "x${with_cloog}" = xno; then - graphite_requested=no - elif test "x${with_cloog}" != x \ - || test "x${with_cloog_include}" != x \ - || test "x${with_cloog_lib}" != x ; then - graphite_requested=yes - else - graphite_requested=no - fi - - - - if test "${gcc_cv_cloog}" = no ; then - clooglibs= - clooginc= - fi - - if test "${graphite_requested}" = yes \ - && test "x${clooglibs}" = x \ - && test "x${clooginc}" = x ; then - - as_fn_error "Unable to find a usable CLooG. See config.log for details." "$LINENO" 5 - fi - - - fi fi -# If either the ISL or the CLooG check failed, disable builds of in-tree -# variants of both +# If the isl check failed, disable builds of in-tree variant of isl if test "x$with_isl" = xno || - test "x$with_cloog" = xno || - test "x$gcc_cv_cloog" = xno || test "x$gcc_cv_isl" = xno; then - noconfigdirs="$noconfigdirs cloog isl" + noconfigdirs="$noconfigdirs isl" islinc= - clooginc= - clooglibs= fi - - # Check for LTO support. # Check whether --enable-lto was given. if test "${enable_lto+set}" = set; then : @@ -5942,7 +6140,8 @@ target_elf=no case $target in *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ - alpha*-dec-osf* | *-interix* | hppa[12]*-*-hpux*) + alpha*-dec-osf* | *-interix* | hppa[12]*-*-hpux* | \ + nvptx-*-none) target_elf=no ;; *) @@ -5957,7 +6156,7 @@ if test $target_elf = yes; then : else 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 @@ -5968,7 +6167,7 @@ else # 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 as_fn_error "LTO support is not enabled for this target." "$LINENO" 5 fi @@ -5985,6 +6184,23 @@ else fi +# Check whether --enable-linker-plugin-configure-flags was given. +if test "${enable_linker_plugin_configure_flags+set}" = set; then : + enableval=$enable_linker_plugin_configure_flags; extra_linker_plugin_configure_flags=$enableval +else + extra_linker_plugin_configure_flags= +fi + + +# Check whether --enable-linker-plugin-flags was given. +if test "${enable_linker_plugin_flags+set}" = set; then : + enableval=$enable_linker_plugin_flags; extra_linker_plugin_flags=$enableval +else + extra_linker_plugin_flags= +fi + + + # By default, C and C++ are the only stage 1 languages. stage1_languages=,c, @@ -6001,7 +6217,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 @@ -6009,7 +6225,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 @@ -6019,7 +6235,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 @@ -6085,7 +6301,6 @@ if test -d ${srcdir}/gcc; then new_enable_languages=,c, # If LTO is enabled, add the LTO front end. - extra_host_libiberty_configure_flags= if test "$enable_lto" = "yes" ; then case ,${enable_languages}, in *,lto,*) ;; @@ -6093,10 +6308,16 @@ if test -d ${srcdir}/gcc; then esac if test "${build_lto_plugin}" = "yes" ; then configdirs="$configdirs lto-plugin" - extra_host_libiberty_configure_flags=--enable-shared 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, @@ -6311,11 +6532,19 @@ case ,${enable_languages},:${enable_objc_gc} in ;; esac -# Disable libitm if we're not building C++ +# Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++ case ,${enable_languages}, in - *,c++,*) ;; + *,c++,*) + # Disable libcilkrts, libitm, libsanitizer if we're not building libstdc++ + case "${noconfigdirs}" in + *target-libstdc++-v3*) + noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer" + ;; + *) ;; + esac + ;; *) - noconfigdirs="$noconfigdirs target-libitm" + noconfigdirs="$noconfigdirs target-libcilkrts target-liboffloadmic target-libitm target-libsanitizer target-libvtv" ;; esac @@ -6387,6 +6616,50 @@ 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 +then + case " $configdirs " in + *" libiberty "*) + # If we can build libiberty, we can also build libiberty-linker-plugin. + configdirs="$configdirs libiberty-linker-plugin" + extra_linker_plugin_configure_flags="$extra_linker_plugin_configure_flags \ + --with-libiberty=../libiberty-linker-plugin";; + *) + as_fn_error "libiberty missing" "$LINENO" 5;; + esac +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 + + + # Produce a warning message for the subdirs we can't configure. # This isn't especially interesting in the Cygnus tree, but in the individual # FSF releases, it's important to let people know when their machine isn't @@ -6511,28 +6784,36 @@ fi # 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 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 @@ -6576,7 +6857,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 @@ -6666,7 +6947,7 @@ case "${target}" in spu-*-*) target_makefile_frag="config/mt-spu" ;; - mips*-sde-elf* | mips*-mti-elf*) + mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) target_makefile_frag="config/mt-sde" ;; mipsisa*-*-elfoabi*) @@ -6675,6 +6956,9 @@ case "${target}" in mips*-*-*linux* | mips*-*-gnu*) target_makefile_frag="config/mt-mips-gnu" ;; + nios2-*-elf*) + target_makefile_frag="config/mt-nios2-elf" + ;; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) target_makefile_frag="config/mt-gnu" ;; @@ -6707,7 +6991,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:* | :*) @@ -6777,65 +7061,6 @@ else GCC_SHLIB_SUBDIR= fi -# Record target_configdirs and the configure arguments for target and -# build configuration in Makefile. -target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'` -build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'` - -# If we are building libgomp, bootstrap it. -if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then - bootstrap_target_libs=${bootstrap_target_libs}target-libgomp, -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! -# In fact I believe gdb is the *only* package directly dependent on tk, -# so we should be able to put the 'maybe's in unconditionally and -# leave out the maybe dependencies when enable_gdbtk is false. I'm not -# 100% sure that that's safe though. - -gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui" -case "$enable_gdbtk" in - no) - GDB_TK="" ;; - yes) - GDB_TK="${gdb_tk}" ;; - *) - # Only add the dependency on gdbtk when GDBtk is part of the gdb - # distro. Eventually someone will fix this and move Insight, nee - # gdbtk to a separate directory. - if test -d ${srcdir}/gdb/gdbtk ; then - GDB_TK="${gdb_tk}" - else - GDB_TK="" - fi - ;; -esac -CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g` -INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` - -# Strip out unwanted targets. - -# While at that, we remove Makefiles if we were started for recursive -# configuration, so that the top-level Makefile reconfigures them, -# like we used to do when configure itself was recursive. - -# Loop over modules. We used to use the "$extrasub" feature from Autoconf -# but now we're fixing up the Makefile ourselves with the additional -# commands passed to AC_CONFIG_FILES. Use separate variables -# extrasub-{build,host,target} not because there is any reason to split -# the substitutions up that way, but only to remain below the limit of -# 99 commands in a script, for HP-UX sed. -# Do not nest @if/@endif pairs, because configure will not warn you at all. - -case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in - yes:yes:*\ gold\ *:*,c++,*) ;; - yes:yes:*\ gold\ *:*) - as_fn_error "in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages" "$LINENO" 5 - ;; -esac - # Adjust the toplevel makefile according to whether bootstrap was selected. case $enable_bootstrap in yes) @@ -6874,15 +7099,114 @@ else ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then : else - BUILD_CONFIG= + BUILD_CONFIG= + fi + rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g + ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CONFIG" >&5 +$as_echo "$BUILD_CONFIG" >&6; } + + +# Use same top-level configure hooks in libgcc/libstdc++/libvtv. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-vtable-verify" >&5 +$as_echo_n "checking for --enable-vtable-verify... " >&6; } +# Check whether --enable-vtable-verify was given. +if test "${enable_vtable_verify+set}" = set; then : + enableval=$enable_vtable_verify; case "$enableval" in + yes) enable_vtable_verify=yes ;; + no) enable_vtable_verify=no ;; + *) enable_vtable_verify=no;; + esac +else + enable_vtable_verify=no +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vtable_verify" >&5 +$as_echo "$enable_vtable_verify" >&6; } + +# Record target_configdirs and the configure arguments for target and +# build configuration in Makefile. +target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'` +build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'` +bootstrap_fixincludes=no + +# If we are building libgomp, bootstrap it. +if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then + bootstrap_target_libs=${bootstrap_target_libs}target-libgomp, +fi + +# If we are building libsanitizer and $BUILD_CONFIG contains bootstrap-asan +# or bootstrap-ubsan, bootstrap it. +if echo " ${target_configdirs} " | grep " libsanitizer " > /dev/null 2>&1; then + case "$BUILD_CONFIG" in + *bootstrap-asan* | *bootstrap-ubsan* ) + bootstrap_target_libs=${bootstrap_target_libs}target-libsanitizer, + bootstrap_fixincludes=yes + ;; + esac +fi + +# If we are building libvtv and --enable-vtable-verify, bootstrap it. +if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 && + test "$enable_vtable_verify" != no; then + 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! +# In fact I believe gdb is the *only* package directly dependent on tk, +# so we should be able to put the 'maybe's in unconditionally and +# leave out the maybe dependencies when enable_gdbtk is false. I'm not +# 100% sure that that's safe though. + +gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui" +case "$enable_gdbtk" in + no) + GDB_TK="" ;; + yes) + GDB_TK="${gdb_tk}" ;; + *) + # Only add the dependency on gdbtk when GDBtk is part of the gdb + # distro. Eventually someone will fix this and move Insight, nee + # gdbtk to a separate directory. + if test -d ${srcdir}/gdb/gdbtk ; then + GDB_TK="${gdb_tk}" + else + GDB_TK="" fi - rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CONFIG" >&5 -$as_echo "$BUILD_CONFIG" >&6; } +esac +CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g` +INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` + +# Strip out unwanted targets. + +# While at that, we remove Makefiles if we were started for recursive +# configuration, so that the top-level Makefile reconfigures them, +# like we used to do when configure itself was recursive. +# Loop over modules. We used to use the "$extrasub" feature from Autoconf +# but now we're fixing up the Makefile ourselves with the additional +# commands passed to AC_CONFIG_FILES. Use separate variables +# extrasub-{build,host,target} not because there is any reason to split +# the substitutions up that way, but only to remain below the limit of +# 99 commands in a script, for HP-UX sed. +# Do not nest @if/@endif pairs, because configure will not warn you at all. + +case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in + yes:yes:*\ gold\ *:*,c++,*) ;; + yes:yes:*\ gold\ *:*) + as_fn_error "in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages" "$LINENO" 5 + ;; +esac extrasub_build= for module in ${build_configdirs} ; do @@ -6907,11 +7231,15 @@ for module in ${configdirs} ; do fi done fi + case ${module},${bootstrap_fixincludes} in + fixincludes,no) host_bootstrap_suffix=no-bootstrap ;; + *) host_bootstrap_suffix=$bootstrap_suffix ;; + esac extrasub_host="$extrasub_host /^@if $module\$/d /^@endif $module\$/d -/^@if $module-$bootstrap_suffix\$/d -/^@endif $module-$bootstrap_suffix\$/d" +/^@if $module-$host_bootstrap_suffix\$/d +/^@endif $module-$host_bootstrap_suffix\$/d" done extrasub_target= for module in ${target_configdirs} ; do @@ -7054,7 +7382,7 @@ do case $lib in - mpc | mpfr | gmp | cloog) + mpc | mpfr | gmp | isl) # If we're processing --with-$lib, --with-$lib-include or # --with-$lib-lib, for one of the libs above, and target is # different from host, don't pass the current argument to any @@ -7147,8 +7475,10 @@ tbaseargs="$tbaseargs --disable-option-checking" # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor -# desired. -build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}" +# desired. We can't even use the same cache file for all build-side +# libraries, as they're compiled differently; some with C, some with +# C++ or with different feature-enabling options. +build_configargs="$build_configargs --cache-file=./config.cache ${baseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -7175,6 +7505,26 @@ if test x${is_cross_compiler} = xyes ; then target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}" fi +# Special user-friendly check for native x86_64-linux build, if +# 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 development environment that handles 32-bit + dev64=no + echo "int main () { return 0; }" > conftest.c + ${CC} -m32 -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c + if test $? = 0 ; then + if test -s conftest || test -s conftest.exe ; then + dev64=yes + fi + fi + rm -f conftest* + if test x${dev64} != xyes ; then + as_fn_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." "$LINENO" 5 + fi + ;; +esac + # Default to --enable-multilib. if test x${enable_multilib} = x ; then target_configargs="--enable-multilib ${target_configargs}" @@ -7207,7 +7557,7 @@ case " $target_configdirs " in *" --with-newlib "*) case "$target" in *-cygwin*) - FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include' + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -isystem $$s/winsup/cygwin/include' ;; esac @@ -11971,6 +12321,236 @@ fi +if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" ; then + if test -n "$with_build_time_tools"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objcopy in $with_build_time_tools" >&5 +$as_echo_n "checking for objcopy in $with_build_time_tools... " >&6; } + if test -x $with_build_time_tools/objcopy; then + OBJCOPY_FOR_TARGET=`cd $with_build_time_tools && pwd`/objcopy + ac_cv_path_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_OBJCOPY_FOR_TARGET" >&5 +$as_echo "$ac_cv_path_OBJCOPY_FOR_TARGET" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + elif test $build != $host && test $have_gcc_for_target = yes; then + OBJCOPY_FOR_TARGET=`$GCC_FOR_TARGET --print-prog-name=objcopy` + test $OBJCOPY_FOR_TARGET = objcopy && OBJCOPY_FOR_TARGET= + test -n "$OBJCOPY_FOR_TARGET" && ac_cv_path_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET + fi +fi +if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" && test -n "$gcc_cv_tool_dirs"; then + # Extract the first word of "objcopy", so it can be a program name with args. +set dummy objcopy; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_OBJCOPY_FOR_TARGET+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $OBJCOPY_FOR_TARGET in + [\\/]* | ?:[\\/]*) + ac_cv_path_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $gcc_cv_tool_dirs +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_OBJCOPY_FOR_TARGET="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +OBJCOPY_FOR_TARGET=$ac_cv_path_OBJCOPY_FOR_TARGET +if test -n "$OBJCOPY_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5 +$as_echo "$OBJCOPY_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_OBJCOPY_FOR_TARGET" ; then + + +if test -n "$OBJCOPY_FOR_TARGET"; then + ac_cv_prog_OBJCOPY_FOR_TARGET=$OBJCOPY_FOR_TARGET +elif test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then + OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET +fi + +if test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then + for ncn_progname in objcopy; do + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJCOPY_FOR_TARGET"; then + ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET +if test -n "$OBJCOPY_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5 +$as_echo "$OBJCOPY_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + done +fi + +if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" && test -n "$with_build_time_tools"; then + for ncn_progname in objcopy; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5 +$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; } + if test -x $with_build_time_tools/${ncn_progname}; then + ac_cv_prog_OBJCOPY_FOR_TARGET=$with_build_time_tools/${ncn_progname} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + done +fi + +if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET"; then + for ncn_progname in objcopy; do + if test -n "$ncn_target_tool_prefix"; then + # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJCOPY_FOR_TARGET"; then + ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET +if test -n "$OBJCOPY_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5 +$as_echo "$OBJCOPY_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" && test $build = $target ; then + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJCOPY_FOR_TARGET+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJCOPY_FOR_TARGET"; then + ac_cv_prog_OBJCOPY_FOR_TARGET="$OBJCOPY_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJCOPY_FOR_TARGET="${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJCOPY_FOR_TARGET=$ac_cv_prog_OBJCOPY_FOR_TARGET +if test -n "$OBJCOPY_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCOPY_FOR_TARGET" >&5 +$as_echo "$OBJCOPY_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + test -n "$ac_cv_prog_OBJCOPY_FOR_TARGET" && break + done +fi + +if test -z "$ac_cv_prog_OBJCOPY_FOR_TARGET" ; then + set dummy objcopy + if test $build = $target ; then + OBJCOPY_FOR_TARGET="$2" + else + OBJCOPY_FOR_TARGET="${ncn_target_tool_prefix}$2" + fi +else + OBJCOPY_FOR_TARGET="$ac_cv_prog_OBJCOPY_FOR_TARGET" +fi + +else + OBJCOPY_FOR_TARGET=$ac_cv_path_OBJCOPY_FOR_TARGET +fi + + + + if test -z "$ac_cv_path_OBJDUMP_FOR_TARGET" ; then if test -n "$with_build_time_tools"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdump in $with_build_time_tools" >&5 @@ -13502,7 +14082,7 @@ else esac if test $ok = yes; then # An in-tree tool is available and we can use it - CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' + CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs' { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5 $as_echo "just compiled" >&6; } elif expr "x$CXX_FOR_TARGET" : "x/" > /dev/null; then @@ -13547,7 +14127,7 @@ else esac if test $ok = yes; then # An in-tree tool is available and we can use it - RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' + RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs' { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5 $as_echo "just compiled" >&6; } elif expr "x$RAW_CXX_FOR_TARGET" : "x/" > /dev/null; then @@ -13901,6 +14481,48 @@ $as_echo "pre-installed" >&6; } fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target objcopy" >&5 +$as_echo_n "checking where to find the target objcopy... " >&6; } +if test "x${build}" != "x${host}" ; then + if expr "x$OBJCOPY_FOR_TARGET" : "x/" > /dev/null; then + # We already found the complete path + ac_dir=`dirname $OBJCOPY_FOR_TARGET` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5 +$as_echo "pre-installed in $ac_dir" >&6; } + else + # Canadian cross, just use what we found + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5 +$as_echo "pre-installed" >&6; } + fi +else + ok=yes + case " ${configdirs} " in + *" binutils "*) ;; + *) ok=no ;; + esac + + if test $ok = yes; then + # An in-tree tool is available and we can use it + OBJCOPY_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/objcopy' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5 +$as_echo "just compiled" >&6; } + elif expr "x$OBJCOPY_FOR_TARGET" : "x/" > /dev/null; then + # We already found the complete path + ac_dir=`dirname $OBJCOPY_FOR_TARGET` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5 +$as_echo "pre-installed in $ac_dir" >&6; } + elif test "x$target" = "x$host"; then + # We can use an host tool + OBJCOPY_FOR_TARGET='$(OBJCOPY)' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5 +$as_echo "host tool" >&6; } + else + # We need a cross tool + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5 +$as_echo "pre-installed" >&6; } + fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target objdump" >&5 $as_echo_n "checking where to find the target objdump... " >&6; } if test "x${build}" != "x${host}" ; then @@ -14225,7 +14847,19 @@ if test "${enable_stage1_checking+set}" = set; then : enableval=$enable_stage1_checking; stage1_checking=--enable-checking=${enable_stage1_checking} else 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. + 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;; + esac else stage1_checking=--enable-checking=$enable_checking,types fi @@ -14251,6 +14885,40 @@ case ${enable_werror} in esac +# Enable --enable-host-shared. +# Check whether --enable-host-shared was given. +if test "${enable_host_shared+set}" = set; then : + enableval=$enable_host_shared; host_shared=$enableval +else + host_shared=no +fi + + + +# 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*) + as_fn_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." "$LINENO" 5 + ;; + *) + ;; + esac +fi + # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"