X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=configure.in;h=26fad5acccb17dc57c4721c01cba2dc9ad0ad258;hb=8b7af0c07e2f09b4afe44747cfc1691b7ba7f8d4;hp=1a01660c034c1dc87c2e5d983666a31f018f1b36;hpb=742e0ecc2e4d83893085277f3341df52f5121a83;p=pf3gnuchains%2Fgcc-fork.git diff --git a/configure.in b/configure.in index 1a01660c034..26fad5acccb 100644 --- a/configure.in +++ b/configure.in @@ -132,11 +132,11 @@ fi build_libs="build-libiberty" # these tools are built for the build environment -build_tools="build-texinfo build-byacc build-flex build-bison build-m4" +build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib libbanshee libcpp" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libbanshee libcpp" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -183,11 +183,7 @@ target_tools="target-examples target-groff target-gperf target-rda" ## ${target_configdirs} is directories we build using the target tools. configdirs=`echo ${host_libs} ${host_tools}` target_configdirs=`echo ${target_libraries} ${target_tools}` - -# Only make build modules if build != host. -if test ${host_alias} != ${build_alias} ; then - build_configdirs=`echo ${build_libs} ${build_tools}` -fi +build_configdirs=`echo ${build_libs} ${build_tools}` ################################################################################ @@ -232,7 +228,7 @@ fi case ${with_x} in yes | "") ;; # the default value for this tree is that X11 is available no) - skipdirs="${skipdirs} tk tix itcl libgui" + skipdirs="${skipdirs} tk itcl libgui" # We won't be able to build gdbtk without X. enable_gdbtk=no ;; @@ -283,17 +279,17 @@ case "${host}" in noconfigdirs="$noconfigdirs byacc" ;; i[[3456789]]86-*-vsta) - noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext" + noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext" ;; i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*) - noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi" + noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi" ;; i[[3456789]]86-*-mingw32*) - # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv" + # 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" ;; i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb" + noconfigdirs="$noconfigdirs tk itcl libgui gdb" ;; *-*-cygwin*) noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl" @@ -302,13 +298,13 @@ case "${host}" in noconfigdirs="$noconfigdirs rcs" ;; ppc*-*-pe) - noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv" + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv" ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline" + noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline" ;; *-*-darwin*) - noconfigdirs="$noconfigdirs tk itcl tix libgui" + noconfigdirs="$noconfigdirs tk itcl libgui" ;; esac @@ -387,7 +383,7 @@ case "${target}" in *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - *-*-freebsd* | *-*-kfreebsd*-gnu) + *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \ && test -f /usr/local/include/gmp.h; then @@ -462,7 +458,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-examples" noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" - noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim" + noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" noconfigdirs="$noconfigdirs expect dejagnu" # the C++ libraries don't build on top of CE's C libraries noconfigdirs="$noconfigdirs target-libstdc++-v3" @@ -479,9 +475,12 @@ case "${target}" in arm-*-coff | strongarm-*-coff | xscale-*-coff) noconfigdirs="$noconfigdirs ${libgcj}" ;; - arm-*-elf* | strongarm-*-elf* | xscale-*-elf*) + arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) noconfigdirs="$noconfigdirs target-libffi target-qthreads" ;; + arm*-*-symbianelf*) + noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" + ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; @@ -560,11 +559,11 @@ case "${target}" in ;; ia64*-*-elf*) # No gdb support yet. - noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb" + noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb" ;; ia64*-**-hpux*) # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld" + noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld" ;; i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" @@ -595,7 +594,7 @@ case "${target}" in # 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 tix gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv" ;; esac ;; @@ -613,7 +612,7 @@ case "${target}" in # 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 tix libgui gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv" ;; esac ;; @@ -669,13 +668,13 @@ case "${target}" in ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}" ;; powerpc-*-beos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" @@ -781,7 +780,7 @@ case "${target}" in ip2k-*-*) noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" ;; - *-*-linux*) + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-lynxos*) @@ -940,6 +939,9 @@ case "${host}" in tentative_cc="/usr/cygnus/progressive/bin/gcc" host_makefile_frag="config/mh-lynxrs6k" ;; + powerpc-*-darwin*) + host_makefile_frag="config/mh-ppc-darwin" + ;; *-*-lynxos*) # /bin/cc is less than useful for our purposes. Always use GCC tentative_cc="/bin/gcc" @@ -982,7 +984,6 @@ if test "${build}" != "${host}" ; then CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} - BUILD_DIR_PREFIX=${build_subdir} BUILD_PREFIX=${build_alias}- BUILD_PREFIX_1=${build_alias}- @@ -997,7 +998,6 @@ else CC_FOR_BUILD="\$(CC)" GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" - BUILD_DIR_PREFIX= BUILD_PREFIX= BUILD_PREFIX_1=loser- @@ -1030,33 +1030,48 @@ fi ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL -# Check for GMP +# Check for GMP and MPFR gmplibs= 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]) + +if test "x$with_mpfr_dir" != x; then + gmpinc="-I$with_mpfr_dir/mpfr" + gmplibs="$with_mpfr_dir/libmpfr.a" +else + gmplibs="-lmpfr" +fi + +AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library]) + +if test "x$with_mpfr" != x; then + gmplibs="-L$with_mpfr/lib $gmplibs" + gmpinc="-I$with_mpfr/include" +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 && test -f "$with_gmp_dir/gmp.h"; then - gmpinc="-I$with_gmp_dir" +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="$with_gmp_dir/.libs/libgmp.a" + gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a" elif test -f "$with_gmp_dir/_libs/libgmp.a"; then - gmplibs="$with_gmp_dir/_libs/libgmp.a" + 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, [ --with-gmp=PATH Specify directory for installed GMP library]) -if test "x$with_gmp" != x && test -d "$with_gmp"; then - gmplibs="-L$with_gmp/lib -lgmp" - gmpinc="-I$with_gmp/include" -fi - -# Use system gmp if nothing else specified -if test "x$gmplibs" = x; then - gmplibs="-lgmp" +if test "x$with_gmp" != x; then + gmplibs="-L$with_gmp/lib $gmplibs" + gmpinc="-I$with_gmp/include $gmpinc" fi saved_CFLAGS="$CFLAGS" @@ -1071,16 +1086,18 @@ choke me [AC_MSG_RESULT([no]); have_gmp=no]) if test x"$have_gmp" = xyes; then - AC_MSG_CHECKING([for mpf_init in -lgmp]) + AC_MSG_CHECKING([for MPFR]) saved_LIBS="$LIBS" LIBS="$LIBS $gmplibs" - AC_TRY_LINK([#include ], [mpf_t n; mpf_init(n);], + AC_TRY_LINK([#include +#include ], [mpfr_t n; mpfr_init(n);], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) LIBS="$saved_LIBS" CFLAGS="$saved_CFLAGS" fi +# Flags needed for both GMP and/or MPFR AC_SUBST(gmplibs) AC_SUBST(gmpinc) @@ -1141,6 +1158,7 @@ if test -d ${srcdir}/gcc; then new_enable_languages=c missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` + potential_languages=c for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do case ${lang_frag} in @@ -1156,14 +1174,15 @@ if test -d ${srcdir}/gcc; then lang_dirs= boot_language= build_by_default= - need_gmp= + need_gmp= . ${lang_frag} + potential_languages="${potential_languages},${language}" # This is quite sensitive to the ordering of the case statement arms. case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in *::*:*) echo "${lang_frag} doesn't set \$language." 1>&2 exit 1 - ;; + ;; *:ada:no:*) # Ada was requested with no preexisting GNAT. Disable unconditionally. add_this_lang=no @@ -1174,9 +1193,9 @@ if test -d ${srcdir}/gcc; then ;; *,all,*:*:*:no) # 'all' was selected, but this is not a default language - # so do not include it. + # so do not include it. add_this_lang=no - ;; + ;; *,all,*:*:*:*) # 'all' was selected and this is a default language; include it. add_this_lang=yes @@ -1186,10 +1205,17 @@ if test -d ${srcdir}/gcc; then ;; esac - # Disable language that need GMP if it isn't available. - if test x"$need_gmp" = xyes && test x"$have_gmp" = xno; then - add_this_lang=no - fi + # 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 case $add_this_lang in no) @@ -1214,7 +1240,8 @@ if test -d ${srcdir}/gcc; then missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"` if test "x$missing_languages" != x; then AC_MSG_ERROR([ -The following requested languages were not found: ${missing_languages}]) +The following requested languages were not found: ${missing_languages} +The available languages are: ${potential_languages}]) fi if test "x$new_enable_languages" != "x$enable_languages"; then @@ -1633,7 +1660,7 @@ build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'` # 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-tix maybe-all-libgui" +gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui" case "$enable_gdbtk" in no) GDB_TK="" ;; @@ -1665,28 +1692,62 @@ esac # not to nest @if/@endif pairs, because configure will not warn you at all. AC_ARG_ENABLE([bootstrap], -[ --enable-bootstrap Enable bootstrapping [no]],, -enable_bootstrap=no) -if test -d ${srcdir}/gcc; then - case "$host:$target:$enable_bootstrap" in - $build:$build:yes | *:no) ;; - *:yes) AC_MSG_ERROR([cannot bootstrap a cross-compiler]) ;; - *) AC_MSG_ERROR([invalid option for --enable-bootstrap]) ;; - esac -else - if test $enable_bootstrap = yes; then - AC_MSG_ERROR([cannot bootstrap without a compiler]) - fi -fi +[ --enable-bootstrap[=lean] Enable bootstrapping [no]],, +enable_bootstrap=default) + +# Issue errors and warnings for invalid/strange bootstrap combinations. +case "$configdirs" in + *gcc*) have_compiler=yes ;; + *) have_compiler=no ;; +esac + +case "$have_compiler:$host:$target:$enable_bootstrap" in + *:*:*:no) ;; + + # Default behavior. (We'll) enable bootstrap if we have a compiler + # and we are in a native configuration. + yes:$build:$build:default) + # This will become 'yes' + enable_bootstrap=no ;; + + *:*:*:default) + enable_bootstrap=no ;; + # We have a compiler and we are in a native configuration, bootstrap is ok + yes:$build:$build:yes | yes:$build:$build:lean) + ;; + + # Other configurations, but we have a compiler. Assume the user knows + # what he's doing. + yes:*:*:yes | yes:*:*:lean) + AC_MSG_WARN([trying to bootstrap a cross compiler]) + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes | no:*:*:lean) + AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; + + # Fail if wrong command line + *) + AC_MSG_ERROR([invalid option for --enable-bootstrap]) + ;; +esac + +# Adjust the toplevel makefile according to whether bootstrap was selected. case "$enable_bootstrap" in yes) + bootstrap_lean='#' + default_target=bootstrap + bootstrap_suffix=bootstrap ;; + lean) + bootstrap_lean='' default_target=bootstrap bootstrap_suffix=bootstrap ;; no) default_target=all bootstrap_suffix=no-bootstrap ;; esac +AC_SUBST(bootstrap_lean) AC_SUBST(default_target) for module in ${build_configdirs} ; do @@ -2069,7 +2130,6 @@ AC_SUBST_FILE(ospace_frag) # Miscellanea: directories, flags, etc. AC_SUBST(SET_LIB_PATH) AC_SUBST(RPATH_ENVVAR) -AC_SUBST(BUILD_DIR_PREFIX) AC_SUBST(BUILD_PREFIX) AC_SUBST(BUILD_PREFIX_1) AC_SUBST(gcc_version_trigger) @@ -2211,7 +2271,7 @@ esac AC_SUBST(stage1_cflags) # It makes debugging easier if we create as symlinks the stage directories -# gcc for stageN-gcc and stage-prev for stage(N-1). In case this is not +# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not # possible, however, we can resort to mv. AC_CACHE_CHECK([if symbolic links between directories work], [gcc_cv_prog_ln_s_dir],