X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=configure.in;h=fb1ef6d92a25d94b6de64e40e2df734ed251ad4d;hb=b534c6d307154911d8b55cc8722e575044ca0196;hp=da7c63f4f5bcb4b62924787ab27d015b044764b3;hpb=a6df5a19a5cde6b188a3582b2d74964ce0854515;p=deliverable%2Fbinutils-gdb.git diff --git a/configure.in b/configure.in index da7c63f4f5..fb1ef6d92a 100644 --- a/configure.in +++ b/configure.in @@ -134,7 +134,6 @@ host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb # libgcj represents the runtime libraries only used by gcj. libgcj="target-libffi \ - target-boehm-gc \ target-zlib \ target-qthreads \ target-libjava" @@ -148,8 +147,8 @@ target_libraries="target-libiberty \ target-libstdc++-v3 \ target-libmudflap \ target-libssp \ - target-libgcc-math \ target-libgfortran \ + target-boehm-gc \ ${libgcj} \ target-libobjc \ target-libada \ @@ -227,7 +226,7 @@ esac # Some tools are only suitable for building in a "native" situation. # Remove these if host!=target. -native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf" +native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf" # Similarly, some are only suitable for cross toolchains. # Remove these if host=target. @@ -280,7 +279,7 @@ case "${host}" in ;; i[[3456789]]86-*-mingw32*) # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv" - noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool" + noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib" ;; i[[3456789]]86-*-beos*) noconfigdirs="$noconfigdirs tk itcl libgui gdb" @@ -313,18 +312,6 @@ AC_ARG_ENABLE(libssp, ENABLE_LIBSSP=$enableval, ENABLE_LIBSSP=yes) -# Set the default so we build libgcc-math for ix86 and x86_64 -AC_ARG_ENABLE(libgcc-math, -[ --enable-libgcc-math Builds libgcc-math directory],, -[ -case "${target}" in - i?86-* | x86_64-* ) - enable_libgcc_math=yes ;; - *) - enable_libgcc_math=no ;; -esac -]) - # 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 @@ -366,7 +353,7 @@ if test x$enable_libgomp = x ; then ;; *-*-netbsd* | *-*-freebsd* | *-*-openbsd*) ;; - *-*-solaris2* | *-*-sysv4* | *-*-irix* | *-*-osf* | *-*-hpux*) + *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*) ;; *-*-darwin* | *-*-aix*) ;; @@ -381,7 +368,7 @@ case "${target}" in *-*-chorusos) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - powerpc-*-darwin*) + powerpc-*-darwin* | i[[3456789]]86-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; @@ -445,9 +432,6 @@ case "${target}" in *-*-vxworks*) noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}" ;; - m32c-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3" - ;; alpha*-dec-osf*) # ld works, but does not support shared libraries. # newlib is not 64 bit ready. I'm not sure about fileutils. @@ -523,7 +507,7 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" ;; bfin-*-*) - noconfigdirs="$noconfigdirs target-libgloss gdb" + noconfigdirs="$noconfigdirs gdb" if test x${is_cross_compiler} != xno ; then target_configdirs="${target_configdirs} target-bsp target-cygmon" fi @@ -587,6 +571,9 @@ case "${target}" in hppa*64*-*-*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + hppa*-hp-hpux11*) + noconfigdirs="$noconfigdirs ld shellutils" + ;; hppa*-*-*) # According to Alexandre Oliva , libjava won't # build on HP-UX 10.20. @@ -628,32 +615,18 @@ case "${target}" in # 'target-newlib' will appear in skipdirs. ;; i[[3456789]]86-*-mingw32*) - target_configdirs="$target_configdirs target-mingw" - noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}" - - # Can't build gdb for mingw32 if not native. - case "${host}" in - i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv" - ;; - esac + target_configdirs="$target_configdirs target-winsup" + noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}" ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}" # always build newlib if winsup directory is present. - if test -d "$srcdir/winsup"; then + if test -d "$srcdir/winsup/cygwin"; then skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` elif test -d "$srcdir/newlib"; then - echo "Warning: winsup is missing so newlib can't be built." + echo "Warning: winsup/cygwin is missing so newlib can't be built." fi - - # Can't build gdb for Cygwin if not native. - case "${host}" in - *-*-cygwin*) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv" - ;; - esac ;; i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss* | \ i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* ) @@ -755,17 +728,11 @@ case "${target}" in # noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; - mips*-dec-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" - ;; mips*-*-bsd*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; - mipstx39-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips - ;; mips64*-*-linux*) - noconfigdirs="$noconfigdirs target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; mips*-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" @@ -807,6 +774,9 @@ case "${target}" in ;; sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) ;; + spu-*-*) + skipdirs="target-libssp" + ;; v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}" ;; @@ -1082,70 +1052,92 @@ ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL # Check for GMP and MPFR -gmplibs= +gmplibs="-lmpfr" gmpinc= have_gmp=yes # Specify a location for mpfr # check for this first so it ends up on the link line before gmp. -AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library]) +AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH This option has been REMOVED], + AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed. +Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])) -if test "x$with_mpfr_dir" != x; then - gmpinc="-I$with_mpfr_dir" - gmplibs="$with_mpfr_dir/libmpfr.a" -else - gmplibs="-lmpfr" -fi - -AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library]) +AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify prefix directory for installed MPFR package + Equivalent to --with-mpfr-include=PATH/include + plus --with-mpfr-lib=PATH/lib]) +AC_ARG_WITH(mpfr_include, [ --with-mpfr-include=PATH + Specify directory for installed MPFR include files]) +AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library]) if test "x$with_mpfr" != x; then gmplibs="-L$with_mpfr/lib $gmplibs" gmpinc="-I$with_mpfr/include" fi +if test "x$with_mpfr_include" != x; then + gmpinc="-I$with_mpfr_include" +fi +if test "x$with_mpfr_lib" != x; then + gmplibs="-L$with_mpfr_lib $gmplibs" +fi # Specify a location for gmp -AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library]) - -if test "x$with_gmp_dir" != x; then - gmpinc="$gmpinc -I$with_gmp_dir" - if test -f "$with_gmp_dir/.libs/libgmp.a"; then - gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a" - elif test -f "$with_gmp_dir/_libs/libgmp.a"; then - gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a" - fi - # One of the later tests will catch the error if neither library is present. -else - gmplibs="$gmplibs -lgmp" -fi +AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH This option has been REMOVED], + AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed. +Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])) + +gmplibs="$gmplibs -lgmp" + +AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify prefix directory for the installed GMP package + Equivalent to --with-gmp-include=PATH/include + plus --with-gmp-lib=PATH/lib]) +AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH Specify directory for installed GMP include files]) +AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH Specify the directory for the installed GMP library]) -AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library]) if test "x$with_gmp" != x; then gmplibs="-L$with_gmp/lib $gmplibs" gmpinc="-I$with_gmp/include $gmpinc" fi +if test "x$with_gmp_include" != x; then + gmpinc="-I$with_gmp_include $gmpinc" +fi +if test "x$with_gmp_lib" != x; then + gmplibs="-L$with_gmp_lib $gmplibs" +fi saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $gmpinc" # Check GMP actually works AC_MSG_CHECKING([for correct version of gmp.h]) AC_TRY_COMPILE([#include "gmp.h"],[ -#if __GNU_MP_VERSION < 3 +#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) choke me #endif -], [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]); have_gmp=no]) +], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) if test x"$have_gmp" = xyes; then - AC_MSG_CHECKING([for MPFR]) - saved_LIBS="$LIBS" LIBS="$LIBS $gmplibs" + AC_MSG_CHECKING([for correct version of mpfr.h]) AC_TRY_LINK([#include -#include ], [mpfr_t n; mpfr_init(n);], - [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) +#include ],[ +#if MPFR_VERSION_MAJOR < 2 || (MPFR_VERSION_MAJOR == 2 && MPFR_VERSION_MINOR < 2) + choke me +#endif + mpfr_t n; mpfr_init(n); +], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) LIBS="$saved_LIBS" - CFLAGS="$saved_CFLAGS" +fi +CFLAGS="$saved_CFLAGS" + +if test -d ${srcdir}/gcc && test x$have_gmp != xyes; then + AC_MSG_ERROR([Building GCC requires GMP 4.1+ and MPFR 2.2.1+. +Try the --with-gmp and/or --with-mpfr options to specify their locations. +Copies of these libraries' source code can be found at their respective +hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. +See also http://gcc.gnu.org/install/prerequisites.html for additional info. +If you obtained GMP and/or MPFR from a vendor distribution package, make +sure that you have installed both the libraries and the header files. +They may be located in separate packages.]) fi # Flags needed for both GMP and/or MPFR @@ -1232,9 +1224,9 @@ if test -d ${srcdir}/gcc; then language= target_libs= lang_dirs= + subdir_requires= boot_language= build_by_default= - need_gmp= . ${lang_frag} potential_languages="${potential_languages},${language}" # This is quite sensitive to the ordering of the case statement arms. @@ -1265,17 +1257,20 @@ if test -d ${srcdir}/gcc; then ;; esac - # Disable languages that need GMP if it isn't available. - case ,${enable_languages},:${have_gmp}:${need_gmp} in - *,${language},*:no:yes) - # Specifically requested language; tell them. - AC_MSG_ERROR([GMP with MPFR support is required to build $language]) - ;; - *:no:yes) - # Silently disable. - add_this_lang=no - ;; - esac + # Disable languages that need other directories if these aren't available. + for i in $subdir_requires; do + test -f "$srcdir/gcc/$i/config-lang.in" && continue + case ,${enable_languages}, in + *,${language},*) + # Specifically requested language; tell them. + AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing]) + ;; + *) + # Silently disable. + add_this_lang=no + ;; + esac + done # Disable a language that is unsupported by the target. case " $unsupported_languages " in @@ -1326,6 +1321,29 @@ for dir in $configdirs $build_configdirs $target_configdirs ; do fi done +# Check for Boehm's garbage collector +AC_ARG_ENABLE(objc-gc, +[ --enable-objc-gc enable the use of Boehm's garbage collector with + the GNU Objective-C runtime.], +[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in + *,objc,*:*:yes:*target-boehm-gc*) + AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration]) + ;; +esac]) + +# Make sure we only build Boehm's garbage collector if required. +case ,${enable_languages},:${enable_objc_gc} in + *,objc,*:yes) + # Keep target-boehm-gc if requested for Objective-C. + ;; + *) + # Otherwise remove target-boehm-gc depending on target-libjava. + if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then + noconfigdirs="$noconfigdirs target-boehm-gc" + fi + ;; +esac + # Remove the entries in $skipdirs and $noconfigdirs from $configdirs, # $build_configdirs and $target_configdirs. # If we have the source for $noconfigdirs entries, add them to $notsupp. @@ -1617,6 +1635,9 @@ extra_nmflags_for_target= extra_ranlibflags_for_target= target_makefile_frag=/dev/null case "${target}" in + spu-*-*) + target_makefile_frag="config/mt-spu" + ;; *-*-netware*) target_makefile_frag="config/mt-netware" ;; @@ -2109,6 +2130,11 @@ case " $target_configdirs " in esac ;; esac +case "$target" in +*-mingw*) + # Can't be handled as Cygwin above since Mingw does not use newlib. + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include' ;; +esac # Allow the user to override the flags for # our build compiler if desired. @@ -2129,6 +2155,20 @@ if test "x${use_gnu_ld}" = x && FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld' fi +# Search for other target-specific linker scripts and such. +case "${target}" in + m32c-*-* ) + if test -d ${srcdir}/libgloss/m32c; then + # This is for crt0.o + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/m32c' + # This is for r8c.ld + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/m32c' + # This is for libnosys.a + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys' + fi + ;; +esac + # Makefile fragments. for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag; do @@ -2203,10 +2243,10 @@ case " $build_configdirs " in *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; *) changequote(,) - # For an installed makeinfo, we require it to be from texinfo 4.2 or + # For an installed makeinfo, we require it to be from texinfo 4.4 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" @@ -2227,7 +2267,7 @@ esac AC_CHECK_PROGS(RUNTEST, runtest, runtest) case " $configdirs " in *" dejagnu "*) - test $host = $build && RUNTEST='$$r/$(HOST_SUBDIR)/dejagnu/runtest' + test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest' ;; esac @@ -2363,16 +2403,36 @@ case $build in yes) stage1_cflags="-g -Wa,-J" ;; *) stage1_cflags="-g -J" ;; esac ;; - powerpc-*-darwin*) - # The spiffy cpp-precomp chokes on some legitimate constructs in GCC - # sources; use -no-cpp-precomp to get to GNU cpp. - # Apple's GCC has bugs in designated initializer handling, so disable - # that too. - stage1_cflags="-g -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0" - ;; esac + +# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. +if test "$GCC" = yes; then + saved_CFLAGS="$CFLAGS" + + # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it. + CFLAGS="$CFLAGS -fkeep-inline-functions" + AC_MSG_CHECKING([whether -fkeep-inline-functions is supported]) + AC_TRY_COMPILE(,, + [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"], + [AC_MSG_RESULT([no])]) + + CFLAGS="$saved_CFLAGS" +fi + AC_SUBST(stage1_cflags) +# Enable --enable-checking in stage1 of the compiler. +AC_ARG_ENABLE(stage1-checking, +[ --enable-stage1-checking[=all] choose additional checking for stage1 + of the compiler.], +[stage1_checking=--enable-checking=${enable_stage1_checking}], +[if test "x$enable_checking" = xno; then + stage1_checking=--enable-checking +else + stage1_checking=--enable-checking${enable_checking+=}$enable_checking +fi]) +AC_SUBST(stage1_checking) + # Enable -Werror in bootstrap stage2 and later. # Change the default to "no" on release branches. AC_ARG_ENABLE(werror, @@ -2384,4 +2444,24 @@ case ${enable_werror} in esac AC_SUBST(stage2_werror_flag) +# Flags needed to enable html installing and building +AC_ARG_WITH(datarootdir, +[ --with-datarootdir Use datarootdir as the data root directory.], +[datarootdir="\${prefix}/${withval}"], +[datarootdir="\${prefix}/share"]) + +AC_ARG_WITH(docdir, +[ --with-docdir Install documentation in this directory.], +[docdir="\${prefix}/${withval}"], +[docdir="\${datarootdir}/doc"]) + +AC_ARG_WITH(htmldir, +[ --with-htmldir Install html in this directory.], +[htmldir="\${prefix}/${withval}"], +[htmldir="\${docdir}"]) + +AC_SUBST(datarootdir) +AC_SUBST(docdir) +AC_SUBST(htmldir) + AC_OUTPUT(Makefile)