*** empty log message ***
[deliverable/binutils-gdb.git] / configure.in
index ccb1b93ecdf5340687c5a06fd5f2850a726a3872..a80846703cebbda5e82fa0ca2c0cb670a6988225 100644 (file)
@@ -142,6 +142,7 @@ libgcj="target-libffi \
 # the host libraries and the host tools (which may be a cross compiler)
 #
 target_libraries="target-libiberty \
+               target-libgcc \
                target-libgloss \
                target-newlib \
                target-libstdc++-v3 \
@@ -368,7 +369,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"
     ;;
@@ -774,6 +775,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}"
     ;;
@@ -1049,48 +1053,57 @@ 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])
-
-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-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]))
 
-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"
@@ -1105,24 +1118,35 @@ choke me
 if test x"$have_gmp" = xyes; then
   saved_LIBS="$LIBS"
   LIBS="$LIBS $gmplibs"
+  dnl MPFR 2.2.0 is acceptable but buggy, MPFR 2.2.1 is better.
   AC_MSG_CHECKING([for correct version of mpfr.h])
   AC_TRY_LINK([#include <gmp.h>
 #include <mpfr.h>],[
-#if MPFR_VERSION_MAJOR < 2 || (MPFR_VERSION_MAJOR == 2 && MPFR_VERSION_MINOR < 2)
+#if MPFR_VERSION < MPFR_VERSION_NUM(2,2,0)
   choke me
 #endif
   mpfr_t n; mpfr_init(n);
-], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
+], [AC_TRY_LINK([#include <gmp.h>
+#include <mpfr.h>],[
+#if MPFR_VERSION < MPFR_VERSION_NUM(2,2,1)
+  choke me
+#endif
+  mpfr_t n; mpfr_init(n);
+], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
+   [AC_MSG_RESULT([no]); have_gmp=no])
   LIBS="$saved_LIBS"
 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+.
+  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.])
+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
@@ -1130,8 +1154,7 @@ AC_SUBST(gmplibs)
 AC_SUBST(gmpinc)
 
 # By default, C is the only stage 1 language.
-stage1_languages=c
-AC_SUBST(stage1_languages)
+stage1_languages=,c,
 
 # Figure out what language subdirectories are present.
 # Look if the user specified --enable-languages="..."; if not, use
@@ -1193,9 +1216,9 @@ if test -d ${srcdir}/gcc; then
     esac
   done
 
-  new_enable_languages=c
+  new_enable_languages=,c,
   missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
-  potential_languages=c
+  potential_languages=,c,
 
   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
     case ${lang_frag} in
@@ -1210,32 +1233,22 @@ if test -d ${srcdir}/gcc; then
         target_libs=
         lang_dirs=
         subdir_requires=
-        boot_language=
-        build_by_default=
+        boot_language=no
+        build_by_default=yes
         . ${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
-            ;;
-          *,${language},*:*:*:*)
+        if test x${language} = x; then
+          echo "${lang_frag} doesn't set \$language." 1>&2
+          exit 1
+        fi
+
+        case ,${enable_languages}, in
+          *,${language},*)
             # Language was explicitly selected; include it.
             add_this_lang=yes
             ;;
-          *,all,*:*:*:no)
-            # 'all' was selected, but this is not a default language
-            # 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
+          *,all,*)
+            # 'all' was selected, select it if it is a default language
+            add_this_lang=${build_by_default}
             ;;
           *)
             add_this_lang=no
@@ -1252,30 +1265,48 @@ if test -d ${srcdir}/gcc; then
               ;;
             *)
               # Silently disable.
-              add_this_lang=no
+              add_this_lang=unsupported
               ;;
           esac
        done
 
+        # Disable Ada if no preexisting GNAT is available.
+        case ,${enable_languages},:${language}:${have_gnat} in
+          *,${language},*:ada:no)
+            # Specifically requested language; tell them.
+            AC_MSG_ERROR([GNAT is required to build $language])
+            ;;
+          *:ada:no)
+            # Silently disable.
+            add_this_lang=unsupported
+            ;;
+        esac
+
        # Disable a language that is unsupported by the target.
        case " $unsupported_languages " in
          *" $language "*)
-           add_this_lang=no
+           add_this_lang=unsupported
            ;;
        esac
 
        case $add_this_lang in
-         no)
+         unsupported)
             # Remove language-dependent dirs.
             eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
            ;;
-          *)
-           new_enable_languages="$new_enable_languages,$language"
+         no)
+            # Remove language-dependent dirs; still show language as supported.
+            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $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,/,/"`
            case ${boot_language} in
              yes)
                # Add to (comma-separated) list of stage 1 languages.
-               stage1_languages="${stage1_languages},${language}"
+               stage1_languages="${stage1_languages}${language},"
                ;;
            esac
            ;;
@@ -1284,17 +1315,55 @@ if test -d ${srcdir}/gcc; then
     esac
   done
 
+  AC_ARG_ENABLE(stage1-languages,
+[  --enable-stage1-languages[=all]   choose additional languages to build during
+                          stage1.  Mostly useful for compiler development.],
+  [case ,${enable_stage1_languages}, in
+    ,no,|,,)
+      # Set it to something that will have no effect in the loop below
+      enable_stage1_languages=c ;;
+    ,yes,)
+      enable_stage1_languages=`echo $new_enable_languages | \
+       sed -e "s/^,//" -e "s/,$//" ` ;;
+    *,all,*)
+      enable_stage1_languages=`echo ,$enable_stage1_languages, | \
+       sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
+  esac
+
+  # Add "good" languages from enable_stage1_languages to stage1_languages,
+  # while "bad" languages go in missing_languages.  Leave no duplicates.
+  for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
+    case $potential_languages in
+      *,$i,*)
+        case $stage1_languages in
+          *,$i,*) ;;
+          *) stage1_languages="$stage1_languages$i," ;;
+        esac ;;
+      *)
+        case $missing_languages in
+          *,$i,*) ;;
+          *) missing_languages="$missing_languages$i," ;;
+        esac ;;
+     esac
+  done])
+
+  # Remove leading/trailing commas that were added for simplicity
+  potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
   missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
+  stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
+  new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
+
   if test "x$missing_languages" != x; then
     AC_MSG_ERROR([
 The following requested languages could not be built: ${missing_languages}
-Recognised languages are: ${potential_languages}])
+Supported languages are: ${potential_languages}])
   fi
-
   if test "x$new_enable_languages" != "x$enable_languages"; then
     echo The following languages will be built: ${new_enable_languages}
+    enable_languages="$new_enable_languages"
   fi
-  enable_languages="$new_enable_languages"
+
+  AC_SUBST(stage1_languages)
   ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ `
 fi
 
@@ -1620,6 +1689,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"
     ;;
@@ -1878,7 +1950,7 @@ for module in ${build_configdirs} ; do
 done
 for module in ${configdirs} ; do
   if test -z "${no_recursion}"; then
-    for file in stage*-${module}/Makefile ${module}/Makefile; do
+    for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
       if test -f ${file}; then
        echo 1>&2 "*** removing ${file} to force reconfigure"
        rm -f ${file}
@@ -2385,13 +2457,6 @@ 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.
@@ -2410,11 +2475,26 @@ 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,
 [  --enable-werror         enable -Werror in bootstrap stage2 and later], [],
-[enable_werror=yes])
+[if test -d gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
+  enable_werror=yes
+else
+  enable_werror=no
+fi])
 case ${enable_werror} in
   yes) stage2_werror_flag="--enable-werror-always" ;;
   *) stage2_werror_flag="" ;;
This page took 0.027982 seconds and 4 git commands to generate.