package.bbclass: Add ASSUME_SHLIBS, way to specify shlib dependencies for ASSUME_PROV...
authorPaul Sokolovsky <pmiscml@gmail.com>
Sat, 15 Dec 2007 05:03:01 +0000 (05:03 +0000)
committerPaul Sokolovsky <pmiscml@gmail.com>
Sat, 15 Dec 2007 05:03:01 +0000 (05:03 +0000)
* List of <shlib_file_name>:<package>[_<version>] mappings. This info will
be appended to one inferred by automatic shlib tracking code. So, it would be
possible to have correct package dependencies even for libraries in
ASSUME_PROVIDED.

classes/package.bbclass
conf/documentation.conf

index 67aeb33..37b9d83 100644 (file)
@@ -694,6 +694,16 @@ python package_do_shlibs() {
                                for l in lines:
                                        shlib_provider[l.rstrip()] = (dep_pkg, lib_ver)
 
+       assumed_libs = bb.data.getVar('ASSUME_SHLIBS', d, 1)
+       if assumed_libs:
+           for e in assumed_libs.split():
+               l, dep_pkg = e.split(":")
+               lib_ver = None
+               dep_pkg = dep_pkg.rsplit("_", 1)
+               if len(dep_pkg) == 2:
+                   lib_ver = dep_pkg[1]
+               dep_pkg = dep_pkg[0]
+               shlib_provider[l] = (dep_pkg, lib_ver)
 
        for pkg in packages.split():
                bb.debug(2, "calculating shlib requirements for %s" % pkg)
index 44a174a..96a292b 100644 (file)
@@ -34,6 +34,11 @@ TARGET_CC_ARCH[doc] = "FIXME"
 TARGET_FPU[doc] = "Floating point option (mostly for FPU-less systems), can be 'soft' or empty \
 for hardware floating point instructions."
 
+ASSUME_PROVIDED[doc] = "List of packages (recipes actually) which are assumed to be implicitly available.\
+ These packages won't be built by bitbake."
+ASSUME_SHLIBS[doc] = "List of shlib:package[_version] mappings. Useful for lib packages in ASSUME_PROVIDED,\
+ for which automatic shlib dependency tracking doesn't work."
+
 PACKAGE_ARCH[doc] = 'The architecture needed for using a resulting package. If you have \
 machine dependant configuration options in your bitbake file add a \
 PACKAGE_ARCH  = "${MACHINE_ARCH}" to the file.'