On Sat, Jun  9, 2007 at 00:46:33 -0700, Steve Langasek wrote:

> I talked to Julien on IRC and mentioned that I thought it would be better to
> put the version script under source/libsmb instead of directly under source.
> 
Patch updated.

> Otherwise, the patch looks sane to me, and I don't have any reason to
> disagree with Julien's check for a compatible version of ld.
> 
> Julien, let me know if you prefer me to advocate this patch upstream.
> 
If you don't mind, I'd prefer that.

Thanks,
Julien
Index: samba-3.0.25a/source/Makefile.in
===================================================================
--- samba-3.0.25a.orig/source/Makefile.in	2007-06-08 23:36:12.000000000 +0200
+++ samba-3.0.25a/source/Makefile.in	2007-06-08 23:36:12.000000000 +0200
@@ -1163,6 +1163,7 @@
 	@echo Linking libsmbclient shared library $@
 	@$(SHLD) $(LDSHFLAGS) -Wl,-z,defs -o $@ $(LIBSMBCLIENT_OBJ) $(LIBS) \
 		$(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
+		@VERSIONLDFLAGS@ \
 		@[EMAIL PROTECTED] [EMAIL PROTECTED](LIBSMBCLIENT_MAJOR)
 
 bin/libsmbclient.a: proto_exists $(LIBSMBCLIENT_OBJ)
Index: samba-3.0.25a/source/configure.in
===================================================================
--- samba-3.0.25a.orig/source/configure.in	2007-06-08 23:36:12.000000000 +0200
+++ samba-3.0.25a/source/configure.in	2007-06-08 23:36:36.000000000 +0200
@@ -267,6 +267,7 @@
 AC_SUBST(SHELL)
 AC_SUBST(LDSHFLAGS)
 AC_SUBST(SONAMEFLAG)
+AC_SUBST(VERSIONLDFLAGS)
 AC_SUBST(SHLD)
 AC_SUBST(HOST_OS)
 AC_SUBST(PICFLAG)
@@ -456,6 +457,9 @@
  	if test "$ac_cv_gnu_ld_date" -lt 20030217; then
  		ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
  	fi
+	if test "$ac_cv_gnu_ld_date" -gt 20030101; then
+		ac_cv_gnu_ld_version_script=yes
+	fi
         else
            AC_MSG_CHECKING(GNU ld release version)
            changequote(,)dnl
@@ -471,6 +475,9 @@
            if test "$ac_cv_gnu_ld_vernr_major" -lt 2 || test "$ac_cv_gnu_ld_vernr_minor" -lt 14; then
              ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
            fi
+           if test "$ac_cv_gnu_ld_vernr_major" -gt 2 || test "$ac_cv_gnu_ld_vernr_major" = 2 && test "$ac_cv_gnu_ld_vernr_minor" -ge 12; then
+             ac_cv_gnu_ld_version_script=yes
+           fi
         fi
 fi
 
@@ -1703,6 +1710,9 @@
 			DYNEXP="-Wl,--export-dynamic"
 			PICFLAG="-fPIC"
 			SONAMEFLAG="-Wl,-soname="
+			if test "${ac_cv_gnu_ld_version_script}" = yes; then
+				VERSIONLDFLAGS="-Wl,--version-script,libsmb/libsmbclient.syms"
+			fi
 			AC_DEFINE(STAT_ST_BLOCKSIZE,512)
 			;;
 		*solaris*) AC_DEFINE(SUNOS5,1,[Whether the host os is solaris])
Index: samba-3.0.25a/source/libsmb/libsmbclient.syms
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ samba-3.0.25a/source/libsmb/libsmbclient.syms	2007-06-08 23:36:12.000000000 +0200
@@ -0,0 +1,4 @@
+{
+	global: smbc_*;
+	local: *;
+};

Attachment: signature.asc
Description: Digital signature

Reply via email to