X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=configure;h=6dde71a00d7da9802d67831785431199fdc4c677;hb=e49cee060b9516925b120f8b47700fa03c24e685;hp=c463e198d0a9df24aa65b4afc183598c6067774b;hpb=8cc5f86b3b194c6bd880cfe1c1be261116e3e130;p=pf3gnuchains%2Fgcc-fork.git diff --git a/configure b/configure index c463e198d0a..6dde71a00d7 100755 --- a/configure +++ b/configure @@ -741,6 +741,7 @@ ac_user_opts=' enable_option_checking with_build_libsubdir enable_gold +enable_ld enable_libada enable_libssp enable_build_with_cxx @@ -1450,7 +1451,8 @@ 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-gold[=ARG] build gold [ARG={both}[/{gold,ld}]] + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-ld[=ARG] build ld [ARG={default,yes,no}] --enable-libada build libada directory --enable-libssp build libssp directory --enable-build-with-cxx build with C++ compiler instead of C compiler @@ -2849,13 +2851,25 @@ case ${with_newlib} in yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; esac -# Handle --enable-gold. -# --enable-gold Build only gold -# --disable-gold [default] Build only ld -# --enable-gold=both Build both gold and ld, ld is default -# --enable-gold=both/ld Same -# --enable-gold=both/gold Build both gold and ld, gold is default, ld is renamed ld.bfd - +# Handle --enable-gold, --enable-ld. +# --disable-gold [--enable-ld] +# Build only ld. Default option. +# --enable-gold [--enable-ld] +# Build both gold and ld. Install gold as "ld.gold", install ld +# as "ld.bfd" and "ld". +# --enable-gold=default [--enable-ld] +# Build both gold and ld. Install gold as "ld.gold" and "ld", +# install ld as "ld.bfd". +# --enable-gold[=default] --disable-ld +# Build only gold, which is then installed as both "ld.gold" and "ld". +# --enable-gold --enable-ld=default +# Build both gold (installed as "ld.gold") and ld (installed as "ld" +# and ld.bfd). +# In other words, ld is default +# --enable-gold=default --enable-ld=default +# Error. + +default_ld= # Check whether --enable-gold was given. if test "${enable_gold+set}" = set; then : enableval=$enable_gold; ENABLE_GOLD=$enableval @@ -2863,8 +2877,8 @@ else ENABLE_GOLD=no fi - case "${ENABLE_GOLD}" in - yes|both|both/gold|both/ld) +case "${ENABLE_GOLD}" in + yes|default) # Check for ELF target. is_elf=no case "${target}" in @@ -2884,14 +2898,10 @@ fi # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*) - case "${ENABLE_GOLD}" in - both*) - configdirs="$configdirs gold" - ;; - *) - configdirs=`echo " ${configdirs} " | sed -e 's/ ld / gold /'` - ;; - esac + configdirs="$configdirs gold" + if test x${ENABLE_GOLD} = xdefault; then + default_ld=gold + fi ENABLE_GOLD=yes ;; esac @@ -2902,7 +2912,35 @@ fi *) as_fn_error "invalid --enable-gold argument" "$LINENO" 5 ;; - esac +esac + +# Check whether --enable-ld was given. +if test "${enable_ld+set}" = set; then : + enableval=$enable_ld; ENABLE_LD=$enableval +else + ENABLE_LD=yes +fi + + +case "${ENABLE_LD}" in + default) + if test x${default_ld} != x; then + as_fn_error "either gold or ld can be the default ld" "$LINENO" 5 + fi + ;; + yes) + ;; + no) + if test x${ENABLE_GOLD} != xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: neither ld nor gold are enabled" >&5 +$as_echo "$as_me: WARNING: neither ld nor gold are enabled" >&2;} + fi + configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'` + ;; + *) + as_fn_error "invalid --enable-ld argument" "$LINENO" 5 + ;; +esac # Configure extra directories which are host specific @@ -2985,7 +3023,8 @@ yes) ;; no) # Make sure we get it printed in the list of not supported target libs. - noconfigdirs="$noconfigdirs ${libgcj}" + # Don't disable libffi, though, other languages use it. + noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`" ;; esac @@ -3208,8 +3247,8 @@ case "${target}" in *-*-aout) unsupported_languages="$unsupported_languages fortran" noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; - *-*-elf) - noconfigdirs="$noconfigdirs target-boehm-gc";; + *-*-elf) # See PR46792 regarding target-libffi. + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; *-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss";; *) @@ -5567,10 +5606,10 @@ if test "${with_boot_ldflags+set}" = set; then : fi else poststage1_ldflags= - # With --enable-build-with-cxx, default to linking libstdc++ and - # libgcc statically. But if the user explicitly specified the - # libraries to use, trust that they are doing what they want. - if test "$ENABLE_BUILD_WITH_CXX" = "yes" -a "$poststage1_libs" = ""; then + # In stages 2 and 3, default to linking libstdc++ and libgcc + # statically. But if the user explicitly specified the libraries to + # use, trust that they are doing what they want. + if test "$poststage1_libs" = ""; then poststage1_ldflags="-static-libstdc++ -static-libgcc" fi fi @@ -6177,6 +6216,9 @@ if test -d ${srcdir}/gcc; then missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` potential_languages=,c, + enabled_target_libs= + disabled_target_libs= + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do case ${lang_frag} in ..) ;; @@ -6254,17 +6296,20 @@ if test -d ${srcdir}/gcc; then case $add_this_lang in unsupported) # Remove language-dependent dirs. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + disabled_target_libs="$disabled_target_libs $target_libs" + noconfigdirs="$noconfigdirs $lang_dirs" ;; no) # Remove language-dependent dirs; still show language as supported. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + disabled_target_libs="$disabled_target_libs $target_libs" + noconfigdirs="$noconfigdirs $lang_dirs" potential_languages="${potential_languages}${language}," ;; yes) new_enable_languages="${new_enable_languages}${language}," potential_languages="${potential_languages}${language}," missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"` + enabled_target_libs="$enabled_target_libs $target_libs" case "${boot_language}:,$enable_stage1_languages," in yes:* | *:*,$language,* | *:*,yes, | *:*,all,) # Add to (comma-separated) list of stage 1 languages. @@ -6282,6 +6327,17 @@ if test -d ${srcdir}/gcc; then esac done + # Add target libraries which are only needed for disabled languages + # to noconfigdirs. + if test -n "$disabled_target_libs"; then + for dir in $disabled_target_libs; do + case " $enabled_target_libs " in + *" ${dir} "*) ;; + *) noconfigdirs="$noconfigdirs $dir" ;; + esac + done + fi + # Check whether --enable-stage1-languages was given. if test "${enable_stage1_languages+set}" = set; then : enableval=$enable_stage1_languages; case ,${enable_stage1_languages}, in @@ -13307,7 +13363,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++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' + 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' { $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 @@ -13812,7 +13868,7 @@ else if test $ok = yes; then # An in-tree tool is available and we can use it - STRIP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/strip' + STRIP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/strip-new' { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5 $as_echo "just compiled" >&6; } elif expr "x$STRIP_FOR_TARGET" : "x/" > /dev/null; then