summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_install.py
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-10-27 02:54:56 +0200
committerStefan Metzmacher <metze@samba.org>2010-10-27 05:07:22 +0200
commit073d3bf1fc8b129ed7cd74b51608e40640b499c5 (patch)
tree0155e3be0bb29fc4455363fd69331ddc2aa0e5b1 /buildtools/wafsamba/samba_install.py
parenta06192b33bf0f046c9ea95ca75c95fad63609c4f (diff)
downloadsamba-073d3bf1fc8b129ed7cd74b51608e40640b499c5.tar.gz
samba-073d3bf1fc8b129ed7cd74b51608e40640b499c5.tar.bz2
samba-073d3bf1fc8b129ed7cd74b51608e40640b499c5.zip
wafsamba: support 'soname' attribute on SAMBA_LIBRARY()
It's sometimes needed to specifiy the soname directly. metze
Diffstat (limited to 'buildtools/wafsamba/samba_install.py')
-rw-r--r--buildtools/wafsamba/samba_install.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py
index 56e979ed53..0d43236d97 100644
--- a/buildtools/wafsamba/samba_install.py
+++ b/buildtools/wafsamba/samba_install.py
@@ -98,6 +98,10 @@ def install_library(self):
if not self.private_library:
# only generate the dev link for non-bundled libs
dev_link = bld.make_libname(self.target)
+ elif getattr(self, 'soname', ''):
+ install_name = bld.make_libname(self.target)
+ install_link = self.soname
+ inst_name = bld.make_libname(t.target)
else:
install_name = bld.make_libname(self.target)
install_link = None
@@ -119,6 +123,15 @@ def install_library(self):
install_name)
+@feature('cshlib')
+@after('apply_implib')
+@before('apply_vnum')
+def apply_soname(self):
+ '''install a library, taking account of the different rpath varients'''
+
+ if self.env.SONAME_ST and getattr(self, 'soname', ''):
+ self.env.append_value('LINKFLAGS', self.env.SONAME_ST % self.soname)
+ self.env.SONAME_ST = ''
##############################
# handle the creation of links for libraries and binaries in the build tree