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 | |
| parent | 5c554c9b8cb63b5d0d5f434c28dd71c0f1843448 (diff) | |
| download | meta-openembedded-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>
| -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 \ | |||
| 28 | 28 | ||
| 29 | SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" | 29 | SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" |
| 30 | 30 | ||
| 31 | PACKAGES_DYNAMIC = "^libabsl-*" | ||
| 32 | PACKAGES_DYNAMIC:class-native = "" | ||
| 33 | |||
| 34 | PACKAGESPLITFUNCS =+ "split_dynamic_packages" | ||
| 35 | |||
| 36 | python split_dynamic_packages() { | ||
| 37 | libdir = d.getVar('libdir') | ||
| 38 | |||
| 39 | libpackages = do_split_packages( | ||
| 40 | d, | ||
| 41 | root=libdir, | ||
| 42 | file_regex=r'^libabsl_(.*)\.so\..*$', | ||
| 43 | output_pattern='libabsl-%s', | ||
| 44 | description="abseil shared library %s", | ||
| 45 | prepend=True, | ||
| 46 | extra_depends='', | ||
| 47 | ) | ||
| 48 | if libpackages: | ||
| 49 | d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) | ||
| 50 | } | ||
| 51 | |||
| 52 | ALLOW_EMPTY:${PN} = "1" | ||
| 53 | |||
| 31 | BBCLASSEXTEND = "native nativesdk" | 54 | BBCLASSEXTEND = "native nativesdk" |
