From 10f7a2cbc31daf8943f809bcb03eb717fe22c314 Mon Sep 17 00:00:00 2001
From: geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 3 Aug 2005 23:17:06 +0000
Subject: [PATCH] 	* configure.ac: Don't use GCC_NO_EXECUTABLES or clear 
 GLIBCXX_IS_NATIVE on Darwin crosses. 	* acinclude.m4
 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring 	the testsuite just
 because there's no symbol versioning. 	* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102718 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libstdc++-v3/ChangeLog    |  6 ++++++
 libstdc++-v3/acinclude.m4 | 22 +++++++++-----------
 libstdc++-v3/configure    | 43 ++++++++++++++++++++++++++-------------
 libstdc++-v3/configure.ac | 19 ++++++++++++++++-
 4 files changed, 63 insertions(+), 27 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6a85c2700cec..abb466fe9810 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,11 @@
 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
 
+	* configure.ac: Don't use GCC_NO_EXECUTABLES or clear
+	GLIBCXX_IS_NATIVE on Darwin crosses.
+	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
+	the testsuite just because there's no symbol versioning.
+	* configure: Regenerate.
+
 	* acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
 	status messages.
 	(GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index d8c433ec915a..d66970220a41 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -554,24 +554,22 @@ dnl Substs:
 dnl  baseline_dir
 dnl
 AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
-  if $GLIBCXX_IS_NATIVE && test $is_hosted = yes && 
-			test $enable_symvers != no; then
+  if $GLIBCXX_IS_NATIVE ; then
     # Do checks for resource limit functions.
     GLIBCXX_CHECK_SETRLIMIT
 
     # Look for setenv, so that extended locale tests can be performed.
     GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
+  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.
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 4c71e9578d31..1a32ed4d2f79 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -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()
@@ -87579,8 +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 &&
-			test $enable_symvers != no; then
+  if $GLIBCXX_IS_NATIVE ; then
     # Do checks for resource limit functions.
 
   setrlimit_have_headers=yes
@@ -88302,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.
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 9a36f095002a..d350e6e99103 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -41,7 +41,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
-  GCC_NO_EXECUTABLES
+  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
+	;;
+
+      *)
+	GCC_NO_EXECUTABLES
+	;;
+  esac
 else
   GLIBCXX_IS_NATIVE=true
 fi
-- 
GitLab