summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2007-03-29 12:50:18 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2007-03-29 12:50:18 +0000
commitfa30c973cc72f69f469bfcffb210069ee443351b (patch)
treebe658f906f1fc72bb5e16f263a3d3e12927aef08 /classes
parentd1dd8f567b4f6cb983d8a81e34e4ec2d56337eef (diff)
package.bbclass: added support for private libraries (used only in package)
- if package contain libraries which are not used outside then add PRIVATE_LIBS variable with names of them to not generate shlibs for them.
Diffstat (limited to 'classes')
-rw-r--r--classes/package.bbclass5
1 files changed, 4 insertions, 1 deletions
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 07fdb7f890..19c206ae5e 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -573,6 +573,7 @@ python package_do_shlibs() {
bb.mkdirhier(shlibs_dir)
needed = {}
+ private_libs = bb.data.getVar('PRIVATE_LIBS', d, 1)
for pkg in packages.split():
needs_ldconfig = False
bb.debug(2, "calculating shlib provides for %s" % pkg)
@@ -596,7 +597,9 @@ python package_do_shlibs() {
needed[pkg].append(m.group(1))
m = re.match("\s+SONAME\s+([^\s]*)", l)
if m and not m.group(1) in sonames:
- sonames.append(m.group(1))
+ # if library is private (only used by package) then do not build shlib for it
+ if private_libs == '' or -1 == private_libs.find(m.group(1)):
+ sonames.append(m.group(1))
if m and libdir_re.match(root):
needs_ldconfig = True
shlibs_file = os.path.join(shlibs_dir, pkg + ".list")