diff options
author | Ola x Nilsson <olani@axis.com> | 2024-03-06 17:27:37 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-03-08 10:07:25 -0800 |
commit | 32eefcf1ca97a08ea85f62a72b676e447f1b79a0 (patch) | |
tree | 30206efe1287aeb1d04d5f56a54e096fbe3bcdc8 /meta-oe | |
parent | 5c554c9b8cb63b5d0d5f434c28dd71c0f1843448 (diff) | |
download | meta-openembedded-contrib-32eefcf1ca97a08ea85f62a72b676e447f1b79a0.tar.gz |
abseil-cpp: Split so-files into separate packages
Use PACKAGES_DYNAMIC and PACKAGESPLITFUNCS to put each shared object
into its own package named libabsl-*.
The shared objects depend on each other which means you still get a
lot of them if you link against a single one.
The main package abseil-cpp RDEPENDS on all of the libabsl-* packages.
Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r-- | meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20230802.1.bb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20230802.1.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20230802.1.bb index 667693a4cd..17db7b2e44 100644 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20230802.1.bb +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20230802.1.bb @@ -28,4 +28,27 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" +PACKAGES_DYNAMIC = "^libabsl-*" +PACKAGES_DYNAMIC:class-native = "" + +PACKAGESPLITFUNCS =+ "split_dynamic_packages" + +python split_dynamic_packages() { + libdir = d.getVar('libdir') + + libpackages = do_split_packages( + d, + root=libdir, + file_regex=r'^libabsl_(.*)\.so\..*$', + output_pattern='libabsl-%s', + description="abseil shared library %s", + prepend=True, + extra_depends='', + ) + if libpackages: + d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) +} + +ALLOW_EMPTY:${PN} = "1" + BBCLASSEXTEND = "native nativesdk" |