X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=configure.ac;h=bf5fe3ad83285a1bbc7addba0ed39b484ba48bef;hb=0bc37e5bfe9a3e6d8d96983eba0ca9020f8e9459;hp=507ab547b53727d372b47aa77ff232f5125a1408;hpb=e49e5c9230523b20b6560022c5cdfd3665065d20;p=deliverable%2Fbinutils-gdb.git diff --git a/configure.ac b/configure.ac index 507ab547b5..bf5fe3ad83 100644 --- a/configure.ac +++ b/configure.ac @@ -351,7 +351,7 @@ ENABLE_GOLD=no) configdirs="$configdirs gold" ;; *) - configdirs="`echo " ${configdirs} " | sed -e 's/ ld / gold /'`" + configdirs=`echo " ${configdirs} " | sed -e 's/ ld / gold /'` ;; esac ENABLE_GOLD=yes @@ -548,6 +548,7 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" ;; *-*-rtems*) + skipdirs="${skipdirs} target-libiberty" noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; # The tpf target doesn't support gdb yet. @@ -886,7 +887,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}" ;; microblaze*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}" ;; mips*-sde-elf*) skipdirs="$skipdirs target-libiberty" @@ -966,14 +967,8 @@ case "${target}" in v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}" ;; - v850-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - v850e-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - v850ea-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + v850*-*-*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; vax-*-vms) noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}" @@ -1353,7 +1348,7 @@ fi if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" - extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' + extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir" extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir" # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet @@ -1374,13 +1369,13 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0) choke me #endif - ], AC_TRY_COMPILE([#include ],[ + ], [AC_TRY_COMPILE([#include ],[ #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL) #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2) choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], [AC_MSG_RESULT([no]); have_gmp=no]) # If we have GMP, check the MPFR version. @@ -1392,12 +1387,12 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1) choke me #endif - ], AC_TRY_COMPILE([#include + ], [AC_TRY_COMPILE([#include #include ],[ #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2) choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], [AC_MSG_RESULT([no]); have_gmp=no]) fi @@ -1409,11 +1404,11 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then #if MPC_VERSION < MPC_VERSION_NUM(0,8,0) choke me #endif - ], AC_TRY_COMPILE([#include ],[ + ], [AC_TRY_COMPILE([#include ],[ #if MPC_VERSION < MPC_VERSION_NUM(0,8,1) choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], [AC_MSG_RESULT([no]); have_gmp=no]) fi @@ -1530,8 +1525,6 @@ AC_ARG_WITH(boot-ldflags, AC_SUBST(poststage1_ldflags) # Check for PPL -ppl_major_version=0 -ppl_minor_version=10 ppllibs=" -lppl_c -lppl -lgmpxx" pplinc= @@ -1572,9 +1565,9 @@ ENABLE_PPL_CHECK=yes) if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $pplinc $gmpinc" - AC_MSG_CHECKING([for version $ppl_major_version.$ppl_minor_version of PPL]) + AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL]) AC_TRY_COMPILE([#include "ppl_c.h"],[ - #if PPL_VERSION_MAJOR != $ppl_major_version || PPL_VERSION_MINOR != $ppl_minor_version + #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10 choke me #endif ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ]) @@ -1637,7 +1630,12 @@ if test "x$with_cloog" != "xno" -a "${ENABLE_CLOOG_CHECK}" = "yes"; then #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 5 choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); clooglibs= ; clooginc= ]) + ], [AC_TRY_COMPILE([#include "cloog/cloog.h"],[ + #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 9 + choke me + #endif + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], + [AC_MSG_RESULT([no]); clooglibs= ; clooginc= ]) CFLAGS="$saved_CFLAGS" fi @@ -1741,7 +1739,6 @@ ACX_ELF_TARGET_IFELSE([if test x"$enable_lto" = x"yes" ; then elf_nextscn (0, 0); elf_strptr (0, 0, 0); elf_getident (0, 0); - elf_getshdrstrndx (0, 0); elf_begin (0, 0, 0); elf_ndxscn (0); elf_end (0); @@ -1750,6 +1747,27 @@ ACX_ELF_TARGET_IFELSE([if test x"$enable_lto" = x"yes" ; then [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ] ) + # Check for elf_getshdrstrndx or elf_getshstrndx. The latter's flavor + # is determined in gcc/configure.ac. + if test x"$enable_lto" = x"yes" ; then + AC_MSG_CHECKING([for elf_getshdrstrndx]) + AC_TRY_LINK( + [#include ],[ + elf_getshdrstrndx (0, 0); + ], + [AC_MSG_RESULT([yes]);], + [AC_MSG_RESULT([no]); + AC_MSG_CHECKING([for elf_getshstrndx]) + AC_TRY_LINK( + [#include ],[ + elf_getshstrndx (0, 0); + ], + [AC_MSG_RESULT([yes]);], + [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ] + )] + ) + fi + # If we couldn't enable LTO and the user forced it, emit an error. if test x"$enable_lto" = x"no" \ && test x"$default_enable_lto" != x"yes" ; then @@ -1768,24 +1786,33 @@ to specify its location.]) # Flags needed for libelf. AC_SUBST(libelflibs) AC_SUBST(libelfinc) + # ELF platforms build the lto-plugin when GOLD is in use. + build_lto_plugin=${ENABLE_GOLD} fi],[if test x"$default_enable_lto" = x"yes" ; then - # On non-ELF platforms, LTO must be explicitly enabled. - enable_lto=no + case $target in + *-apple-darwin* | *-cygwin* | *-mingw*) ;; + # On other non-ELF platforms, LTO must be explicitly enabled. + *) enable_lto=no ;; + esac else - # Apart from ELF platforms, only Windows supports LTO so far. It - # would also be nice to check the binutils support, but we don't + # Apart from ELF platforms, only Windows and Darwin support LTO so far. + # It would also be nice to check the binutils support, but we don't # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just # 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*) ;; *) if test x"$enable_lto" = x"yes"; then AC_MSG_ERROR([LTO support is not enabled for this target.]) fi ;; esac fi + # Among non-ELF, only Windows platforms support the lto-plugin so far. + case $target in + *-cygwin* | *-mingw*) build_lto_plugin=yes ;; + *) ;; + esac default_enable_lto=no]) @@ -1864,7 +1891,7 @@ if test -d ${srcdir}/gcc; then *,lto,*) ;; *) enable_languages="${enable_languages},lto" ;; esac - if test "${ENABLE_GOLD}" = "yes" ; then + if test "${build_lto_plugin}" = "yes" ; then configdirs="$configdirs lto-plugin" extra_host_libiberty_configure_flags=--enable-shared fi @@ -2723,7 +2750,7 @@ else mv conftest.o conftest.o.g0 && ${CC} -c -g conftest.c && mv conftest.o conftest.o.g && - ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g; then + ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then : else BUILD_CONFIG= @@ -2949,10 +2976,18 @@ if test "$silent" = yes; then fi baseargs="$baseargs --disable-option-checking" +# Record and document user additions to sub configure arguments. +AC_ARG_VAR([build_configargs], + [additional configure arguments for build directories]) +AC_ARG_VAR([host_configargs], + [additional configure arguments for host directories]) +AC_ARG_VAR([target_configargs], + [additional configure arguments for target directories]) + # 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="--cache-file=../config.cache ${baseargs}" +build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -2966,9 +3001,9 @@ 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="--cache-file=./config.cache ${extra_host_args} ${baseargs}" +host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}" -target_configargs=${baseargs} +target_configargs="$target_configargs ${baseargs}" # Passing a --with-cross-host argument lets the target libraries know # whether they are being built with a cross-compiler or being built