acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version script globbing in ld.
authorJakub Jelinek <jakub@redhat.com>
Tue, 5 Mar 2002 21:12:17 +0000 (22:12 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Mar 2002 21:12:17 +0000 (22:12 +0100)
* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
script globbing in ld.
* aclocal.m4: Rebuilt.
* configure: Rebuilt.

From-SVN: r50330

libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/aclocal.m4
libstdc++-v3/configure

index 55e64bce1e25ed66f4780af955d8bca3b834440c..5b871f65a55fe1db702ce01e07940e7466d31ba3 100644 (file)
@@ -1,3 +1,10 @@
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
+       script globbing in ld.
+       * aclocal.m4: Rebuilt.
+       * configure: Rebuilt.
+
 2002-03-05  Benjamin Kosnik  <bkoz@redhat.com>
 
        * docs/html/17_intro/RELEASE-NOTES: Update.
index 95fdc9d266aa2d5cec0fe195a138e43e1010de1f..c78001148d1e37d11f409bd7f90d410ed7808211 100644 (file)
@@ -2082,10 +2082,27 @@ glibcpp_min_gnu_ld_version=21200
 # above.  
 if test $enable_symvers = yes ; then
   if test $with_gnu_ld = yes &&
-    test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
     test $glibcpp_shared_libgcc = yes ;
   then
-    enable_symvers=gnu
+    if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+        enable_symvers=gnu
+    else
+      ac_test_CFLAGS="${CFLAGS+set}"
+      ac_save_CFLAGS="$CFLAGS"
+      CFLAGS='-shared -Wl,--version-script,conftest.map'
+      enable_symvers=no
+      changequote(,)
+      echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+      changequote([,])
+      AC_TRY_LINK([int foo;],, enable_symvers=gnu)
+      if test "$ac_test_CFLAGS" = set; then
+       CFLAGS="$ac_save_CFLAGS"
+      else
+       # this is the suspicious part
+       CFLAGS=''
+      fi
+      rm -f conftest.map
+    fi
   else
     # just fail for now
     enable_symvers=no
index f8f9b5b2e1223600a6b87c781bcdd7190e816eef..bd5689e8037c9f72a59a89147f087a893379c104 100644 (file)
@@ -2094,10 +2094,27 @@ glibcpp_min_gnu_ld_version=21200
 # above.  
 if test $enable_symvers = yes ; then
   if test $with_gnu_ld = yes &&
-    test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
     test $glibcpp_shared_libgcc = yes ;
   then
-    enable_symvers=gnu
+    if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+        enable_symvers=gnu
+    else
+      ac_test_CFLAGS="${CFLAGS+set}"
+      ac_save_CFLAGS="$CFLAGS"
+      CFLAGS='-shared -Wl,--version-script,conftest.map'
+      enable_symvers=no
+      changequote(,)
+      echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+      changequote([,])
+      AC_TRY_LINK([int foo;],, enable_symvers=gnu)
+      if test "$ac_test_CFLAGS" = set; then
+       CFLAGS="$ac_save_CFLAGS"
+      else
+       # this is the suspicious part
+       CFLAGS=''
+      fi
+      rm -f conftest.map
+    fi
   else
     # just fail for now
     enable_symvers=no
index eeeb63ae46d3913b51f1714bb825c34817ff786c..10b7d224b20fc808cc3c899cc7ade9bd05ddf915 100755 (executable)
@@ -19349,10 +19349,42 @@ glibcpp_min_gnu_ld_version=21200
 # above.  
 if test $enable_symvers = yes ; then
   if test $with_gnu_ld = yes &&
-    test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version &&
     test $glibcpp_shared_libgcc = yes ;
   then
-    enable_symvers=gnu
+    if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then
+        enable_symvers=gnu
+    else
+      ac_test_CFLAGS="${CFLAGS+set}"
+      ac_save_CFLAGS="$CFLAGS"
+      CFLAGS='-shared -Wl,--version-script,conftest.map'
+      enable_symvers=no
+      
+      echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
+      
+      cat > conftest.$ac_ext <<EOF
+#line 19344 "configure"
+#include "confdefs.h"
+int foo;
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:19351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  enable_symvers=gnu
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+      if test "$ac_test_CFLAGS" = set; then
+       CFLAGS="$ac_save_CFLAGS"
+      else
+       # this is the suspicious part
+       CFLAGS=''
+      fi
+      rm -f conftest.map
+    fi
   else
     # just fail for now
     enable_symvers=no