summaryrefslogtreecommitdiff
path: root/source3/Makefile.in
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2007-07-03 19:55:02 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:46 -0500
commit3a246ac46b9ae2bbc62498092a616b87732ab818 (patch)
tree4e7fc8558f19453b5a193def93c585a93c67d8ef /source3/Makefile.in
parent6afbd15b673fa9fd307459a61c396c3ea9370158 (diff)
downloadsamba-3a246ac46b9ae2bbc62498092a616b87732ab818.tar.gz
samba-3a246ac46b9ae2bbc62498092a616b87732ab818.tar.bz2
samba-3a246ac46b9ae2bbc62498092a616b87732ab818.zip
r23689: Squashed commit of the following:
commit 0d4bbd197198a94bf4e29e0ccd175a40a60097f3 Author: Gerald (Jerry) Carter <jerry@samba.org> Date: Mon Jul 2 20:08:19 2007 -0500 Introduce GNU ld linker export-script for hiding non-public symbols in shared libraries. Based on initial patch from Julien Cristau <jcristau@debian.org> and suggestions from James Peach <jpeach@samba.org>. Currently the libsmbsharemodes libraries still exports *. Signed off on my Derrell as well. (This used to be commit c42cf731b4b259c5c1a874fd1837ca85144f1a58)
Diffstat (limited to 'source3/Makefile.in')
-rw-r--r--source3/Makefile.in33
1 files changed, 14 insertions, 19 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 9910f0feb5..bc0fb2b0ff 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -21,6 +21,12 @@ LIBS=@LIBS@
CC=@CC@
SHLD=@SHLD@
+## Dynamic shared libraries build settings
+DSO_EXPORTS_CMD=-Wl,--version-script,exports/`basename $@ | sed 's/@SHLIBEXT@$$/syms/'`
+DSO_EXPORTS=@DSO_EXPORTS@
+SONAME_VER=`grep ^$@ $(srcdir)/library-versions | cut -d: -f2`
+SHLD_DSO = $(SHLD) $(LDSHFLAGS) $(DSO_EXPORTS)
+
# Add $(DEVELOPER_CFLAGS) to $(CFLAGS) to enable extra compiler
# (GCC) warnings. This is done automtically for --enable-developer
# and --enable-krb5developer.
@@ -125,20 +131,9 @@ LOCKDIR = @lockdir@
PIDDIR = @piddir@
LIBSMBCLIENT=bin/libsmbclient.a @LIBSMBCLIENT_SHARED@
-LIBSMBCLIENT_MAJOR=0
-LIBSMBCLIENT_MINOR=1
-
LIBMSRPC=bin/libmsrpc.a @LIBMSRPC_SHARED@
-LIBMSRPC_MAJOR=0
-LIBMSRPC_MINOR=1
-
LIBSMBSHAREMODES=bin/libsmbsharemodes.a @LIBSMBSHAREMODES_SHARED@
-LIBSMBSHAREMODES_MAJOR=0
-LIBSMBSHAREMODES_MINOR=2
-
LIBADDNS=bin/libaddns.a @LIBADDNS_SHARED@
-LIBADDNS_MAJOR=0
-LIBADDNS_MINOR=1
FLAGS1 = $(CFLAGS) @FLAGS1@ @SAMBA_CPPFLAGS@ $(CPPFLAGS)
FLAGS2 =
@@ -1357,9 +1352,9 @@ bin/ldbdel: $(BINARY_PREREQS) $(LDBDEL_OBJ) @BUILD_POPT@
bin/libaddns.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBADDNS_OBJ)
@echo Linking libaddns shared library $@
- @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBADDNS_OBJ) $(LDFLAGS) $(LIBS) \
+ @$(SHLD_DSO) -o $@ $(LIBADDNS_OBJ) $(LDFLAGS) $(LIBS) \
$(KRB5LIBS) $(UUID_LIBS)\
- @SONAMEFLAG@`basename $@`.$(LIBADDNS_MAJOR)
+ @SONAMEFLAG@`basename $@`.$(SONAME_VER)
bin/libaddns.a: $(BINARY_PREREQS) $(LIBADDNS_OBJ)
@echo Linking libaddns non-shared library $@
@@ -1367,9 +1362,9 @@ bin/libaddns.a: $(BINARY_PREREQS) $(LIBADDNS_OBJ)
bin/libsmbclient.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ)
@echo Linking libsmbclient shared library $@
- @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_OBJ) $(LDFLAGS) $(LIBS) \
+ @$(SHLD_DSO) -o $@ $(LIBSMBCLIENT_OBJ) $(LDFLAGS) $(LIBS) \
$(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
- @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
+ @SONAMEFLAG@`basename $@`.$(SONAME_VER)
bin/libsmbclient.a: $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ)
@echo Linking libsmbclient non-shared library $@
@@ -1377,9 +1372,9 @@ bin/libsmbclient.a: $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ)
bin/libsmbsharemodes.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ)
@echo Linking libsmbsharemodes shared library $@
- @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBSHAREMODES_OBJ) $(LDFLAGS) $(LIBS) \
+ @$(SHLD_DSO) -o $@ $(LIBSMBSHAREMODES_OBJ) $(LDFLAGS) $(LIBS) \
$(KRB5LIBS) $(LDAP_LIBS) \
- @SONAMEFLAG@`basename $@`.$(LIBSMBSHAREMODES_MAJOR)
+ @SONAMEFLAG@`basename $@`.$(SONAME_VER)
bin/libsmbsharemodes.a: $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ)
@echo Linking libsmbsharemodes non-shared library $@
@@ -1387,8 +1382,8 @@ bin/libsmbsharemodes.a: $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ)
bin/libmsrpc.@SHLIBEXT@: $(BINARY_PREREQS) $(CAC_OBJ)
@echo Linking libmsrpc shared library $@
- @$(SHLD) $(LDSHFLAGS) -o $@ $(CAC_OBJ) $(LDFLAGS) $(LIBS) \
- @SONAMEFLAG@`basename $@`.$(LIBMSRPC_MAJOR)
+ @$(SHLD_DSO) -o $@ $(CAC_OBJ) $(LDFLAGS) $(LIBS) \
+ @SONAMEFLAG@`basename $@`.$(SONAME_VER)
bin/libmsrpc.a: $(BINARY_PREREQS) $(CAC_OBJ)
@echo Linking libmsrpc non-shared library $@