summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-12-18 15:05:12 +0100
committerStefan Metzmacher <metze@samba.org>2014-12-19 13:15:12 +0100
commit76fdcf5c15bd904c3686f0c2dd93d27486c61ca4 (patch)
tree305d0feba4d590b9384802c0bfab8e2f1e6bb15f
parent575b093dac3c509b1bfaab0b4ad29b9b4214e487 (diff)
downloadsamba-76fdcf5c15bd904c3686f0c2dd93d27486c61ca4.tar.gz
wafsamba: fill PRIVATE_NAME() logic again
We append bld.env.PRIVATE_EXTENSION to the name of private libraries again, but only unless they have a abi_directory, vnum or soname defined. This avoids naming conflicts with system libraries, e.g. libidmap.so on Solaris Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--buildtools/wafsamba/samba_bundled.py16
-rw-r--r--buildtools/wafsamba/wafsamba.py9
2 files changed, 21 insertions, 4 deletions
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
index 45946d524bf..515590fb014 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
@@ -7,11 +7,25 @@ from samba_utils import *
def PRIVATE_NAME(bld, name, private_extension, private_library):
'''possibly rename a library to include a bundled extension'''
+ if not private_library:
+ return name
+
# we now use the same private name for libraries as the public name.
# see http://git.samba.org/?p=tridge/junkcode.git;a=tree;f=shlib for a
# demonstration that this is the right thing to do
# also see http://lists.samba.org/archive/samba-technical/2011-January/075816.html
- return name
+ if private_extension:
+ return name
+
+ extension = bld.env.PRIVATE_EXTENSION
+
+ if extension and name.startswith('%s' % extension):
+ return name
+
+ if extension and name.endswith('%s' % extension):
+ return name
+
+ return "%s-%s" % (name, extension)
def target_in_list(target, lst, default):
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index bd2ca89f62a..5fef9be3325 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -124,7 +124,7 @@ def SAMBA_LIBRARY(bld, libname, source,
pyembed=False,
pyext=False,
target_type='LIBRARY',
- bundled_extension=True,
+ bundled_extension=False,
link_name=None,
abi_directory=None,
abi_match=None,
@@ -218,8 +218,11 @@ def SAMBA_LIBRARY(bld, libname, source,
else:
bundled_name = libname.replace('_', '-')
else:
- bundled_name = PRIVATE_NAME(bld, libname, bundled_extension,
- private_library)
+ assert (private_library == True and realname is None)
+ if abi_directory or vnum or soname:
+ bundled_extension=True
+ bundled_name = PRIVATE_NAME(bld, libname.replace('_', '-'),
+ bundled_extension, private_library)
ldflags = TO_LIST(ldflags)