OSDN Git Service

2005-11-05 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / configure
index 0539806..bcd9c51 100755 (executable)
@@ -309,7 +309,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE baseline_dir GLIBCXX_TEST_ABI_TRUE GLIBCXX_TEST_ABI_FALSE ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_MAP port_specific_symbol_files ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_DARWIN_EXPORT_TRUE ENABLE_SYMVERS_DARWIN_EXPORT_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR CPU_DEFINES_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1376,7 +1376,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 ### am handles this now?  ORIGINAL_LD_FOR_MULTILIBS=$LD
 
 # For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:4:0
+libtool_VERSION=6:7:0
 
 
 # Find the rest of the source tree framework.
@@ -1542,7 +1542,24 @@ target_alias=${target_alias-$host_alias}
 if test "$build" != "$host"; then
   # We are being configured with some form of cross compiler.
   GLIBCXX_IS_NATIVE=false
+  case "$host","$target" in
+    # Darwin crosses can use the host system's libraries and headers,
+    # because of the fat library support.  Of course, it must be the
+    # same version of Darwin on both sides.  Allow the user to
+    # just say --target=foo-darwin without a version number to mean
+    # "the version on this system".
+      *-*-darwin*,*-*-darwin*)
+       hostos=`echo $host | sed 's/.*-darwin/darwin/'`
+       targetos=`echo $target | sed 's/.*-darwin/darwin/'`
+       if test $hostos = $targetos -o $targetos = darwin ; then
+         GLIBCXX_IS_NATIVE=true
+       fi
+       ;;
 
+      *)
+
+       ;;
+  esac
 else
   GLIBCXX_IS_NATIVE=true
 fi
@@ -4439,7 +4456,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4442 "configure"' > conftest.$ac_ext
+  echo '#line 4459 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -5059,7 +5076,7 @@ fi;
     #
     # Fake what AC_TRY_COMPILE does.  XXX Look at redoing this new-style.
     cat > conftest.$ac_ext << EOF
-#line 5062 "configure"
+#line 5079 "configure"
 struct S { ~S(); };
 void bar();
 void foo()
@@ -5079,6 +5096,8 @@ EOF
         enable_sjlj_exceptions=yes
       elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
         enable_sjlj_exceptions=no
+      elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then
+        enable_sjlj_exceptions=no
       fi
     fi
     CXXFLAGS="$old_CXXFLAGS"
@@ -6715,14 +6734,10 @@ _ACEOF
 
   fi
 
-  # Check for the existence of <complex.h> complex functions.
+  # Check for the existence of <complex.h> complex math functions.
   # This is necessary even though libstdc++ uses the builtin versions
   # of these functions, because if the builtin cannot be used, a reference
   # to the library function is emitted.
-  # In addition, need to explicitly specify "C" compilation for this
-  # one, or else the backwards C++ <complex.h> include will be selected.
-  save_CXXFLAGS="$CXXFLAGS"
-  CXXFLAGS="$CXXFLAGS -x c"
 
 for ac_header in complex.h
 do
@@ -6895,6 +6910,7 @@ typedef __complex__ float float_type; float_type tmpf;
                    ccosf(tmpf);
                    ccoshf(tmpf);
                    cexpf(tmpf);
+                   clogf(tmpf);
                    csinf(tmpf);
                    csinhf(tmpf);
                    csqrtf(tmpf);
@@ -6907,6 +6923,7 @@ typedef __complex__ float float_type; float_type tmpf;
                    ccos(tmpd);
                    ccosh(tmpd);
                    cexp(tmpd);
+                   clog(tmpd);
                    csin(tmpd);
                    csinh(tmpd);
                    csqrt(tmpd);
@@ -6919,6 +6936,7 @@ typedef __complex__ float float_type; float_type tmpf;
                    ccosl(tmpld);
                    ccoshl(tmpld);
                    cexpl(tmpld);
+                   clogl(tmpld);
                    csinl(tmpld);
                    csinhl(tmpld);
                    csqrtl(tmpld);
@@ -6961,7 +6979,6 @@ ac_c99_complex=no
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
   fi
-  CXXFLAGS="$save_CXXFLAGS"
   echo "$as_me:$LINENO: result: $ac_c99_complex" >&5
 echo "${ECHO_T}$ac_c99_complex" >&6
   if test x"$ac_c99_complex" = x"yes"; then
@@ -7059,7 +7076,9 @@ main ()
 char* tmp;
                  strtof("gnu", &tmp);
                  strtold("gnu", &tmp);
-                  llabs(10);
+                 strtoll("gnu", &tmp, 10);
+                 strtoull("gnu", &tmp, 10);
+                 llabs(10);
                  lldiv(10,1);
                  atoll("10");
                  _Exit(0);
@@ -29305,6 +29324,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
   if test "${glibcxx_cv_POLL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29372,8 +29393,12 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
 
 
+  echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
   if test "${glibcxx_cv_S_ISREG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29494,19 +29519,24 @@ rm -f conftest.err conftest.$ac_objext \
 
 fi
 
+  res=no
   if test $glibcxx_cv_S_ISREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_ISREG 1
 _ACEOF
 
+    res=S_ISREG
   elif test $glibcxx_cv_S_IFREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_IFREG 1
 _ACEOF
 
+    res=S_IFREG
   fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
   # For xsputn_2().
@@ -29661,6 +29691,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
   if test "${glibcxx_cv_WRITEV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29727,10 +29759,14 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
 
 
   # For the __streamoff_base_type typedef.
 
+  echo "$as_me:$LINENO: checking for int64_t" >&5
+echo $ECHO_N "checking for int64_t... $ECHO_C" >&6
   if test "${glibcxx_cv_INT64_T+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29790,6 +29826,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_INT64_T" >&5
+echo "${ECHO_T}$glibcxx_cv_INT64_T" >&6
 
 
   # For LFS support.
@@ -29804,6 +29842,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS="$CXXFLAGS -fno-exceptions"
+  echo "$as_me:$LINENO: checking for LFS support" >&5
+echo $ECHO_N "checking for LFS support... $ECHO_C" >&6
   if test "${glibcxx_cv_LFS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29878,6 +29918,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_LFS" >&5
+echo "${ECHO_T}$glibcxx_cv_LFS" >&6
   CXXFLAGS="$ac_save_CXXFLAGS"
   ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -30156,7 +30198,7 @@ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
     ac_cv_func_mmap_fixed_mapped=no
   fi
 fi
-if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
+if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
 
 
 for ac_header in stdlib.h unistd.h
@@ -52058,6 +52100,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
   if test "${glibcxx_cv_POLL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -52125,8 +52169,12 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
 
 
+  echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
   if test "${glibcxx_cv_S_ISREG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -52247,19 +52295,24 @@ rm -f conftest.err conftest.$ac_objext \
 
 fi
 
+  res=no
   if test $glibcxx_cv_S_ISREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_ISREG 1
 _ACEOF
 
+    res=S_ISREG
   elif test $glibcxx_cv_S_IFREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_IFREG 1
 _ACEOF
 
+    res=S_IFREG
   fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
     # For xsputn_2().
@@ -52414,6 +52467,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
   if test "${glibcxx_cv_WRITEV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -52480,6 +52535,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
 
 
     cat >>confdefs.h <<\_ACEOF
@@ -73809,6 +73866,8 @@ done
   CXXFLAGS="$ac_save_CXXFLAGS"
 
 
+  echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
   if test "${glibcxx_cv_S_ISREG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -73929,19 +73988,24 @@ rm -f conftest.err conftest.$ac_objext \
 
 fi
 
+  res=no
   if test $glibcxx_cv_S_ISREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_ISREG 1
 _ACEOF
 
+    res=S_ISREG
   elif test $glibcxx_cv_S_IFREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_IFREG 1
 _ACEOF
 
+    res=S_IFREG
   fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_WRITEV 1
@@ -78268,6 +78332,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
   if test "${glibcxx_cv_POLL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -78335,8 +78401,12 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
 
 
+  echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
   if test "${glibcxx_cv_S_ISREG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -78457,19 +78527,24 @@ rm -f conftest.err conftest.$ac_objext \
 
 fi
 
+  res=no
   if test $glibcxx_cv_S_ISREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_ISREG 1
 _ACEOF
 
+    res=S_ISREG
   elif test $glibcxx_cv_S_IFREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_IFREG 1
 _ACEOF
 
+    res=S_IFREG
   fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
     # For xsputn_2().
@@ -78624,6 +78699,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
   if test "${glibcxx_cv_WRITEV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -78690,6 +78767,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
 
 
     cat >>confdefs.h <<\_ACEOF
@@ -83047,6 +83126,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for poll" >&5
+echo $ECHO_N "checking for poll... $ECHO_C" >&6
   if test "${glibcxx_cv_POLL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -83114,8 +83195,12 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
+echo "${ECHO_T}$glibcxx_cv_POLL" >&6
 
 
+  echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
+echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
   if test "${glibcxx_cv_S_ISREG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -83236,19 +83321,24 @@ rm -f conftest.err conftest.$ac_objext \
 
 fi
 
+  res=no
   if test $glibcxx_cv_S_ISREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_ISREG 1
 _ACEOF
 
+    res=S_ISREG
   elif test $glibcxx_cv_S_IFREG = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_S_IFREG 1
 _ACEOF
 
+    res=S_IFREG
   fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
     # For xsputn_2().
@@ -83403,6 +83493,8 @@ fi
 done
 
 
+  echo "$as_me:$LINENO: checking for writev" >&5
+echo $ECHO_N "checking for writev... $ECHO_C" >&6
   if test "${glibcxx_cv_WRITEV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -83469,6 +83561,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
   fi
+  echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
+echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
 
     ;;
   *-qnx6.1* | *-qnx6.2*)
@@ -87143,7 +87237,7 @@ if test "${enable_symvers+set}" = set; then
   enableval="$enable_symvers"
 
       case "$enableval" in
-       yes|no|gnu) ;;
+       yes|no|gnu|darwin-export) ;;
        *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable symvers" >&5
 echo "$as_me: error: Unknown argument to enable/disable symvers" >&2;}
    { (exit 1); exit 1; }; } ;;
@@ -87157,11 +87251,28 @@ fi;
 # If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
 # don't know enough about $LD to do tricks...
 
-# FIXME  The following test is too strict, in theory.
-if test $enable_shared = no ||
-        test "x$LD" = x ||
-        test x$glibcxx_gnu_ld_version = x; then
-  enable_symvers=no
+
+# Turn a 'yes' into a suitable default.
+if test x$enable_symvers = xyes ; then
+  if test $enable_shared = no ||
+     test "x$LD" = x ; then
+    enable_symvers=no
+  elif test $with_gnu_ld = yes ; then
+    enable_symvers=gnu
+  else
+    case ${target_os} in
+      darwin*)
+       enable_symvers=darwin-export ;;
+      *)
+      { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
+      { echo "$as_me:$LINENO: WARNING: === you are not using a supported linker." >&5
+echo "$as_me: WARNING: === you are not using a supported linker." >&2;}
+      { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+       enable_symvers=no ;;
+    esac
+  fi
 fi
 
 # Check to see if libgcc_s exists, indicating that shared libgcc is possible.
@@ -87290,49 +87401,44 @@ rm -f conftest.err conftest.$ac_objext \
 echo "${ECHO_T}$glibcxx_shared_libgcc" >&6
 fi
 
-# For GNU ld, we need at least this version.  The format is described in
-# GLIBCXX_CHECK_LINKER_FEATURES above.
-glibcxx_min_gnu_ld_version=21400
-# XXXXXXXXXXX glibcxx_gnu_ld_version=21390
+# If no shared libgcc, can't win.
+if test $glibcxx_shared_libgcc != yes &&
+   test $enable_symvers != no ; then
+    { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
+    { echo "$as_me:$LINENO: WARNING: === you are not building a shared libgcc_s." >&5
+echo "$as_me: WARNING: === you are not building a shared libgcc_s." >&2;}
+    { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+    enable_symvers=no
+  enable_symvers=no
+fi
 
-# Check to see if unspecified "yes" value can win, given results above.
-# Change "yes" into either "no" or a style name.
-if test $enable_symvers = yes; then
-  if test $with_gnu_ld = yes &&
-     test $glibcxx_shared_libgcc = yes;
-  then
-    if test $glibcxx_gnu_ld_version -ge $glibcxx_min_gnu_ld_version ; then
-      enable_symvers=gnu
-    else
-      # The right tools, the right setup, but too old.  Fallbacks?
-      { echo "$as_me:$LINENO: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
+# Check to see if 'gnu' can win.
+if test $enable_symvers = gnu; then
+  # For GNU ld, we need at least this version.  The format is described in
+  # GLIBCXX_CHECK_LINKER_FEATURES above.
+  glibcxx_min_gnu_ld_version=21400
+
+  if test $with_gnu_ld != yes ; then
+    # just fail for now
+    { echo "$as_me:$LINENO: WARNING: === You have requested GNU symbol versioning, but" >&5
+echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
+    { echo "$as_me:$LINENO: WARNING: === you are not using the GNU linker." >&5
+echo "$as_me: WARNING: === you are not using the GNU linker." >&2;}
+    { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
+echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
+    enable_symvers=no
+  elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
+    # The right tools, the right setup, but too old.  Fallbacks?
+    { echo "$as_me:$LINENO: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
 echo "$as_me: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&2;}
-      { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
+    { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
 echo "$as_me: WARNING: === full symbol versioning support in this release of GCC." >&2;}
-      { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
+    { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
 echo "$as_me: WARNING: === You would need to upgrade your binutils to version" >&2;}
-      { echo "$as_me:$LINENO: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
+    { echo "$as_me:$LINENO: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
 echo "$as_me: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&2;}
-      if test $glibcxx_gnu_ld_version -ge 21200 ; then
-        # Globbing fix is present, proper block support is not.
-                        { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
-        enable_symvers=no
-      else
-        # 2.11 or older.
-        { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
-        enable_symvers=no
-      fi
-    fi
-  else
-    # just fail for now
-    { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
-echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
-    { echo "$as_me:$LINENO: WARNING: === either you are not using a supported linker, or you are" >&5
-echo "$as_me: WARNING: === either you are not using a supported linker, or you are" >&2;}
-    { echo "$as_me:$LINENO: WARNING: === not building a shared libgcc_s (which is required)." >&5
-echo "$as_me: WARNING: === not building a shared libgcc_s (which is required)." >&2;}
     { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
 echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
     enable_symvers=no
@@ -87352,9 +87458,133 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
     ;;
+  darwin-export)
+    SYMVER_MAP=config/linker-map.gnu
+    ;;
 esac
 
+# In addition, need this to deal with std::size_t mangling in
+# src/compatibility.cc.  In a perfect world, could use
+# typeid(std::size_t).name()[0] to do direct substitution.
+echo "$as_me:$LINENO: checking for size_t as unsigned int" >&5
+echo $ECHO_N "checking for size_t as unsigned int... $ECHO_C" >&6
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="-Werror"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+int
+main ()
+{
+__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  glibcxx_size_t_is_i=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_size_t_is_i=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS=$ac_save_CFLAGS
+if test "$glibcxx_size_t_is_i" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_SIZE_T_IS_UINT 1
+_ACEOF
+
+fi
+echo "$as_me:$LINENO: result: $glibcxx_size_t_is_i" >&5
+echo "${ECHO_T}$glibcxx_size_t_is_i" >&6
+
+echo "$as_me:$LINENO: checking for ptrdiff_t as int" >&5
+echo $ECHO_N "checking for ptrdiff_t as int... $ECHO_C" >&6
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="-Werror"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  glibcxx_ptrdiff_t_is_i=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_ptrdiff_t_is_i=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS=$ac_save_CFLAGS
+if test "$glibcxx_ptrdiff_t_is_i" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_PTRDIFF_T_IS_INT 1
+_ACEOF
+
+fi
+echo "$as_me:$LINENO: result: $glibcxx_ptrdiff_t_is_i" >&5
+echo "${ECHO_T}$glibcxx_ptrdiff_t_is_i" >&6
 
 
 
@@ -87366,7 +87596,7 @@ echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
 
 # This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
 
-  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes; then
+  if $GLIBCXX_IS_NATIVE ; then
     # Do checks for resource limit functions.
 
   setrlimit_have_headers=yes
@@ -87529,6 +87759,8 @@ done
   if test $setrlimit_have_headers = yes; then
     # Can't do these in a loop, else the resulting syntax is wrong.
 
+  echo "$as_me:$LINENO: checking for RLIMIT_DATA" >&5
+echo $ECHO_N "checking for RLIMIT_DATA... $ECHO_C" >&6
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -87582,8 +87814,13 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_LIMIT_DATA $glibcxx_mresult
 _ACEOF
 
+  if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
+  echo "$as_me:$LINENO: checking for RLIMIT_RSS" >&5
+echo $ECHO_N "checking for RLIMIT_RSS... $ECHO_C" >&6
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -87637,8 +87874,13 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_LIMIT_RSS $glibcxx_mresult
 _ACEOF
 
+  if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
+  echo "$as_me:$LINENO: checking for RLIMIT_VMEM" >&5
+echo $ECHO_N "checking for RLIMIT_VMEM... $ECHO_C" >&6
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -87692,8 +87934,13 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_LIMIT_VMEM $glibcxx_mresult
 _ACEOF
 
+  if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
+  echo "$as_me:$LINENO: checking for RLIMIT_AS" >&5
+echo $ECHO_N "checking for RLIMIT_AS... $ECHO_C" >&6
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -87747,8 +87994,13 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_LIMIT_AS $glibcxx_mresult
 _ACEOF
 
+  if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
+  echo "$as_me:$LINENO: checking for RLIMIT_FSIZE" >&5
+echo $ECHO_N "checking for RLIMIT_FSIZE... $ECHO_C" >&6
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -87802,6 +88054,9 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_LIMIT_FSIZE $glibcxx_mresult
 _ACEOF
 
+  if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
+  echo "$as_me:$LINENO: result: $res" >&5
+echo "${ECHO_T}$res" >&6
 
 
     # Check for rlimit, setrlimit.
@@ -88063,17 +88318,16 @@ done
 
   fi
 
+  fi
 
-    if test $enable_symvers = no; then
-      enable_abi_check=no
-    else
-      case "$host" in
-        *-*-cygwin*)
-          enable_abi_check=no ;;
-        *)
-          enable_abi_check=yes ;;
-      esac
-    fi
+  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
+     test $enable_symvers != no; then
+    case "$host" in
+      *-*-cygwin*)
+        enable_abi_check=no ;;
+      *)
+        enable_abi_check=yes ;;
+    esac
   else
     # Only build this as native, since automake does not understand
     # CXX_FOR_BUILD.
@@ -88085,11 +88339,10 @@ done
 
 
 
-
-
 # Propagate the target-specific source directories through the build chain.
 ATOMICITY_SRCDIR=config/${atomicity_dir}
 ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
+CPU_DEFINES_SRCDIR=config/${cpu_defines_dir}
 OS_INC_SRCDIR=config/${os_include_dir}
 ABI_TWEAKS_SRCDIR=config/${abi_tweaks_dir}
 
@@ -88097,6 +88350,7 @@ ABI_TWEAKS_SRCDIR=config/${abi_tweaks_dir}
 
 
 
+
 # Determine cross-compile flags and AM_CONDITIONALs.
 #AC_SUBST(GLIBCXX_IS_NATIVE)
 #AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
 
 
 
-if test $enable_symvers != no; then
-  GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE=
-  GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE='#'
+if test $enable_symvers = gnu; then
+  ENABLE_SYMVERS_GNU_TRUE=
+  ENABLE_SYMVERS_GNU_FALSE='#'
 else
-  GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE='#'
-  GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE=
+  ENABLE_SYMVERS_GNU_TRUE='#'
+  ENABLE_SYMVERS_GNU_FALSE=
 fi
 
 
 
 
-if test $enable_abi_check = yes; then
-  GLIBCXX_TEST_ABI_TRUE=
-  GLIBCXX_TEST_ABI_FALSE='#'
+if   test $enable_symvers = darwin-export; then
+  ENABLE_SYMVERS_DARWIN_EXPORT_TRUE=
+  ENABLE_SYMVERS_DARWIN_EXPORT_FALSE='#'
 else
-  GLIBCXX_TEST_ABI_TRUE='#'
-  GLIBCXX_TEST_ABI_FALSE=
+  ENABLE_SYMVERS_DARWIN_EXPORT_TRUE='#'
+  ENABLE_SYMVERS_DARWIN_EXPORT_FALSE=
 fi
 
 
@@ -88533,17 +88787,17 @@ echo "$as_me: error: conditional \"GLIBCXX_BUILD_DEBUG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE}" && test -z "${GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_BUILD_VERSIONED_SHLIB\" was never defined.
+if test -z "${ENABLE_SYMVERS_GNU_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_BUILD_VERSIONED_SHLIB\" was never defined.
+echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${GLIBCXX_TEST_ABI_TRUE}" && test -z "${GLIBCXX_TEST_ABI_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_TEST_ABI\" was never defined.
+if test -z "${ENABLE_SYMVERS_DARWIN_EXPORT_TRUE}" && test -z "${ENABLE_SYMVERS_DARWIN_EXPORT_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_DARWIN_EXPORT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_TEST_ABI\" was never defined.
+echo "$as_me: error: conditional \"ENABLE_SYMVERS_DARWIN_EXPORT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -89213,13 +89467,14 @@ s,@LIBMATHOBJS@,$LIBMATHOBJS,;t t
 s,@LIBICONV@,$LIBICONV,;t t
 s,@SYMVER_MAP@,$SYMVER_MAP,;t t
 s,@port_specific_symbol_files@,$port_specific_symbol_files,;t t
-s,@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE,;t t
-s,@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@,$GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE,;t t
+s,@ENABLE_SYMVERS_GNU_TRUE@,$ENABLE_SYMVERS_GNU_TRUE,;t t
+s,@ENABLE_SYMVERS_GNU_FALSE@,$ENABLE_SYMVERS_GNU_FALSE,;t t
+s,@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@,$ENABLE_SYMVERS_DARWIN_EXPORT_TRUE,;t t
+s,@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@,$ENABLE_SYMVERS_DARWIN_EXPORT_FALSE,;t t
 s,@baseline_dir@,$baseline_dir,;t t
-s,@GLIBCXX_TEST_ABI_TRUE@,$GLIBCXX_TEST_ABI_TRUE,;t t
-s,@GLIBCXX_TEST_ABI_FALSE@,$GLIBCXX_TEST_ABI_FALSE,;t t
 s,@ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
 s,@ATOMIC_WORD_SRCDIR@,$ATOMIC_WORD_SRCDIR,;t t
+s,@CPU_DEFINES_SRCDIR@,$CPU_DEFINES_SRCDIR,;t t
 s,@ABI_TWEAKS_SRCDIR@,$ABI_TWEAKS_SRCDIR,;t t
 s,@OS_INC_SRCDIR@,$OS_INC_SRCDIR,;t t
 s,@glibcxx_prefixdir@,$glibcxx_prefixdir,;t t