X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgcc.git;a=blobdiff_plain;f=configure.ac;h=1fe97c001cc459f972b9248fbf7285a9c8cbc155;hp=39e5649f360ceab3e44cc18ec7b391c68daa304c;hb=HEAD;hpb=1ddd41fddc52d985124e517dda41070e369456a3 diff --git a/configure.ac b/configure.ac index 39e5649f360c..042681c27be5 100644 --- a/configure.ac +++ b/configure.ac @@ -133,7 +133,7 @@ build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment #f -host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe" +host_libs="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust " # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -164,6 +164,7 @@ target_libraries="target-libgcc \ target-libada \ target-libgm2 \ target-libgo \ + target-libgrust \ target-libphobos \ target-zlib" @@ -349,7 +350,7 @@ case "${ENABLE_GOLD}" in *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ - | *-*-solaris2* | *-*-nto* | *-*-nacl*) + | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-haiku*) case "${target}" in *-*-linux*aout* | *-*-linux*oldld*) ;; @@ -363,7 +364,7 @@ case "${ENABLE_GOLD}" in # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \ - | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-* | loongarch*-*-*) + | aarch64*-*-* | tilegx*-*-* | mips*-*-* | s390*-*-*) configdirs="$configdirs gold" if test x${ENABLE_GOLD} = xdefault; then default_ld=gold @@ -802,6 +803,11 @@ case "${target}" in hppa*64*-*-hpux*) noconfigdirs="$noconfigdirs target-libffi" ;; + hppa*-hp-hpux11*) + ;; + hppa*-*-hpux*) + noconfigdirs="$noconfigdirs target-libffi" + ;; ia64*-*-*vms*) noconfigdirs="$noconfigdirs target-libffi" ;; @@ -1105,9 +1111,14 @@ case "${target}" in h8500-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; + hppa1.1-*-osf* | hppa1.1-*-bsd* ) + ;; hppa*64*-*-hpux*) noconfigdirs="$noconfigdirs gdb" ;; + hppa*-*-hpux11*) + noconfigdirs="$noconfigdirs gdb ld" + ;; hppa*64*-*-linux*) ;; hppa*-*-linux*) @@ -1400,6 +1411,7 @@ fi ACX_PROG_GNAT ACX_PROG_GDC +ACX_PROG_CARGO ACX_PROG_CMP_IGNORE_INITIAL AC_ARG_ENABLE([bootstrap], @@ -1845,6 +1857,20 @@ AC_ARG_WITH(boot-ldflags, if test "$poststage1_libs" = ""; then poststage1_ldflags="-static-libstdc++ -static-libgcc" fi]) +case $target in + *-darwin2* | *-darwin1[[56789]]*) + # For these versions, we default to using embedded rpaths. + if test "x$enable_darwin_at_rpath" != "xno"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; + *-darwin*) + # For these versions, we only use embedded rpaths on demand. + if test "x$enable_darwin_at_rpath" = "xyes"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; +esac AC_SUBST(poststage1_ldflags) # GCC GRAPHITE dependency isl. @@ -2280,6 +2306,35 @@ directories, to avoid imposing the performance cost of ;; esac + # Pre-conditions to consider whether cargo being supported. + if test x"$have_cargo" = xyes \ + && test x"$build" != x"$host"; then + # Until + # "'cargo' should build for the host system" is resolved: + AC_MSG_WARN([use of cargo not yet supported here in Canadian cross configurations]) + have_cargo=no + else + # Assume that cargo-produced object files are compatible with what + # we're going to build here. + : + fi + # Disable Rust if cargo is unavailable. + case ${add_this_lang}:${language}:${have_cargo} in + yes:rust:no) + # Specifically requested language; tell them. + AC_MSG_ERROR([cargo is required to build $language]) + ;; + all:rust:no) + AC_MSG_WARN([cargo is required to build $language]) + add_this_lang=unsupported + ;; + *:rust:no) + # Silently disable. + add_this_lang=unsupported + ;; + esac + + # Disable a language that is unsupported by the target. case "${add_this_lang}: $unsupported_languages " in no:*) ;; @@ -2447,6 +2502,17 @@ case ,${enable_languages}, in ;; esac +case ,${enable_languages}, in + *,rust,*) + case " ${noconfigdirs} " in + *\ target-libstdc++-v3\ *) + # Disable target libgrust if we're not building target libstdc++. + noconfigdirs="$noconfigdirs target-libgrust" + ;; + esac + ;; +esac + # If gcc/ is not in the source tree then we'll not be building a # target compiler, assume in that case we don't want to build any # target libraries or tools. @@ -2800,6 +2866,12 @@ case "${target}" in spu-*-*) target_makefile_frag="config/mt-spu" ;; + loongarch*-*linux* | loongarch*-*gnu*) + target_makefile_frag="config/mt-loongarch-gnu" + ;; + loongarch*-*elf*) + target_makefile_frag="config/mt-loongarch-elf" + ;; mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) target_makefile_frag="config/mt-sde" ;; @@ -3209,7 +3281,8 @@ AC_SUBST_FILE(serialization_dependencies) # files altogether, and which should be passed on to subconfigures. # Also strip program-prefix, program-suffix, and program-transform-name, # so that we can pass down a consistent program-transform-name. -baseargs= +hbaseargs= +bbaseargs= tbaseargs= keep_next=no skip_next=no @@ -3225,7 +3298,8 @@ do *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - baseargs="$baseargs '$ac_arg'" + hbaseargs="$hbaseargs '$ac_arg'" + bbaseargs="$bbaseargs '$ac_arg'" tbaseargs="$tbaseargs '$ac_arg'" keep_next=no continue @@ -3249,6 +3323,7 @@ do esac skip_targ=no + skip_barg=no case $ac_arg in changequote(,) --with-* | --without-*) @@ -3261,6 +3336,12 @@ changequote(,) *[-_]lib) lib=`echo "$libopt" | sed 's,[-_]lib$,,'` ;; + *[-_]prefix) + lib=`echo "$libopt" | sed 's,[-_]prefix$,,'` + ;; + *[-_]type) + lib=`echo "$libopt" | sed 's,[-_]type$,,'` + ;; *) lib=$libopt ;; @@ -3277,6 +3358,11 @@ changequote([,]) skip_targ=yes fi ;; + libintl | libiconv) + # We don't want libintl (and co.) in anything but the host arguments. + skip_targ=yes + skip_barg=yes + ;; esac ;; esac @@ -3285,7 +3371,8 @@ changequote([,]) --cache-file=/dev/null | \ -cache-file=/dev/null ) # Handled here to avoid the test to skip args below. - baseargs="$baseargs '$ac_arg'" + hbaseargs="$hbaseargs '$ac_arg'" + bbaseargs="$bbaseargs '$ac_arg'" tbaseargs="$tbaseargs '$ac_arg'" # Assert: $separate_arg should always be no. keep_next=$separate_arg @@ -3316,7 +3403,10 @@ changequote([,]) *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - baseargs="$baseargs '$ac_arg'" + hbaseargs="$hbaseargs '$ac_arg'" + if test X"$skip_barg" = Xno; then + bbaseargs="$bbaseargs '$ac_arg'" + fi if test X"$skip_targ" = Xno; then tbaseargs="$tbaseargs '$ac_arg'" fi @@ -3331,7 +3421,8 @@ changequote([,]) done # Remove the initial space we just introduced and, as these will be # expanded by make, quote '$'. -baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'` +hbaseargs=`echo "x$hbaseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'` +bbaseargs=`echo "x$bbaseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'` # Add in --program-transform-name, after --program-prefix and # --program-suffix have been applied to it. Autoconf has already @@ -3345,14 +3436,17 @@ ${program_transform_name} EOF_SED gcc_transform_name=`cat conftestsed.out` rm -f conftestsed.out -baseargs="$baseargs --program-transform-name='${gcc_transform_name}'" +hbaseargs="$hbaseargs --program-transform-name='${gcc_transform_name}'" +bbaseargs="$bbaseargs --program-transform-name='${gcc_transform_name}'" tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'" if test "$silent" = yes; then - baseargs="$baseargs --silent" + bbaseargs="$bbaseargs --silent" + hbaseargs="$hbaseargs --silent" tbaseargs="$tbaseargs --silent" fi -baseargs="$baseargs --disable-option-checking" +bbaseargs="$bbaseargs --disable-option-checking" +hbaseargs="$hbaseargs --disable-option-checking" tbaseargs="$tbaseargs --disable-option-checking" if test "$enable_year2038" = no; then @@ -3373,7 +3467,7 @@ AC_ARG_VAR([target_configargs], # 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}" +build_configargs="$build_configargs --cache-file=./config.cache ${bbaseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -3387,7 +3481,7 @@ esac # Host dirs don't like to share a cache file either, horribly enough. # This seems to be due to autoconf 2.5x stupidity. -host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}" +host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${hbaseargs}" target_configargs="$target_configargs ${tbaseargs}"