libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] include James Henstridge's -export-symbols fixes


From: Scott James Remnant
Subject: [PATCH] include James Henstridge's -export-symbols fixes
Date: Fri, 31 Oct 2003 12:26:53 +0000

This is a problem submitted by James Henstridge to the libtool list over
a year ago.  The patch he supplied fixed a number of build problems for
us, so got included in the Debian libtool package.  (RedHat appear to
have included it too).

The original patch is here:

http://mail.gnu.org/archive/html/libtool/2002-07/msg00029.html


A version cleaned up by myself and prepared for CVS HEAD is attached
here.

Origin: James Henstridge, and me.  Copyright for my lines is of course
assigned with paperwork.  James submitted his patch to the list, and I
think what remains falls under the magic-number-of-lines?

Scott
-- 
Have you ever, ever felt like this?
Had strange things happen?  Are you going round the twist?
diff -ruNp libtool-CVS~/ChangeLog libtool-CVS/ChangeLog
--- libtool-CVS~/ChangeLog      2003-10-30 14:40:11.000000000 +0000
+++ libtool-CVS/ChangeLog       2003-10-31 12:16:11.000000000 +0000
@@ -0,0 +1,5 @@
+2003-10-31  Scott James Remnant  <address@hidden>
+
+       * m4/libtool.m4: Include James Henstridge's patch to fix the
+       -export-symbols and -export-symbols-regex options under Linux.
+       
diff -ruNp libtool-CVS~/m4/libtool.m4 libtool-CVS/m4/libtool.m4
--- libtool-CVS~/m4/libtool.m4  2003-10-30 14:28:00.000000000 +0000
+++ libtool-CVS/m4/libtool.m4   2003-10-31 12:23:09.000000000 +0000
@@ -5251,6 +5251,26 @@ _LT_EOF
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
+  linux*)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+        *\ 2.11.*) ;; # other 2.11 versions
+        *) supports_anon_versioning=yes ;;
+      esac
+      if test "x$supports_anon_versioning" = xyes; then
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$output_objdir/$libname.ver~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> 
$output_objdir/$libname.ver~$echo "local: *; };" >> 
$output_objdir/$libname.ver~$CC -shared $libobjs $deplibs $compiler_flags 
${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver 
-o $lib'
+      else
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)=$_LT_AC_TAGVAR(archive_cmds, $1)
+      fi
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]