summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZahir Hussain <zahir.basha@kpit.com>2026-02-18 18:37:50 +0530
committerGyorgy Sarvari <skandigraun@gmail.com>2026-02-26 13:36:34 +0100
commit33822593e5aed47f619a385579a47c366859408a (patch)
treea4914f6e55fa8b9e61db1059ce745edc80030b65
parent631e0ac2f08dc3db4554f9602e7da257929e8107 (diff)
downloadmeta-openembedded-33822593e5aed47f619a385579a47c366859408a.tar.gz
rocksdb: Add an option to set static library
Modify the CMakeLists.txt to add an Option for STATIC target import, as available for shared library. Link: https://github.com/facebook/rocksdb/pull/12890 Configure static library as option, default to ON. Provides option to make it off thru PACKCONFIG, if needed. Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 233079a41caded6b68972317f01dc09435ba1ae0) Signed-off-by: Armin Kuster <akuster808@gmail.com> (cherry picked from commit 72018ca1b1a471226917e8246e8bbf9a374ccf97) Signed-off-by: Zahir Hussain <zahir.basha@kpit.com> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch72
-rw-r--r--meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb4
2 files changed, 75 insertions, 1 deletions
diff --git a/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch b/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch
new file mode 100644
index 0000000000..09b30681f8
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch
@@ -0,0 +1,72 @@
1From 285d306494bde3e9c24c8cd6fea1eb380a304d03 Mon Sep 17 00:00:00 2001
2From: Bindu-Bhabu <bindudaniel1996@gmail.com>
3Date: Fri, 26 Jul 2024 15:14:45 +0530
4Subject: Add option to CMake for building static libraries
5
6ROCKSDB creates a STATIC library target reference by default.
7Modify the cmake so that the STATIC library is also an option
8just like creating a SHARED library and set default to ON.
9refersh the patch according to kirkstone version.
10
11Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/12890]
12
13Signed-off-by: Nisha Parrakat <nisha.m.parrakat@bmw.de>
14Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
15Signed-off-by: Zahir Hussain <zahir.basha@kpit.com>
16---
17 CMakeLists.txt | 25 +++++++++++++++----------
18 1 file changed, 15 insertions(+), 10 deletions(-)
19
20diff --git a/CMakeLists.txt b/CMakeLists.txt
21index b68a82b..6f0de6f 100644
22--- a/CMakeLists.txt
23+++ b/CMakeLists.txt
24@@ -919,6 +919,7 @@ set(ROCKSDB_STATIC_LIB rocksdb${ARTIFACT_SUFFIX})
25 set(ROCKSDB_SHARED_LIB rocksdb-shared${ARTIFACT_SUFFIX})
26
27 option(ROCKSDB_BUILD_SHARED "Build shared versions of the RocksDB libraries" ON)
28+option(ROCKSDB_BUILD_STATIC "Build static versions of the RocksDB libraries" ON)
29
30 option(WITH_LIBRADOS "Build with librados" OFF)
31 if(WITH_LIBRADOS)
32@@ -938,9 +939,11 @@ else()
33 endif()
34 endif()
35
36-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
37-target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE
38- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
39+if(ROCKSDB_BUILD_STATIC)
40+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
41+ target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE
42+ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
43+endif()
44
45 if(ROCKSDB_BUILD_SHARED)
46 add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES} ${BUILD_VERSION_CC})
47@@ -1021,13 +1024,15 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
48
49 install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination})
50
51- install(
52- TARGETS ${ROCKSDB_STATIC_LIB}
53- EXPORT RocksDBTargets
54- COMPONENT devel
55- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
56- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
57- )
58+ if(ROCKSDB_BUILD_STATIC)
59+ install(
60+ TARGETS ${ROCKSDB_STATIC_LIB}
61+ EXPORT RocksDBTargets
62+ COMPONENT devel
63+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
64+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
65+ )
66+ endif()
67
68 if(ROCKSDB_BUILD_SHARED)
69 install(
70--
712.34.1
72
diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
index 8164f856e2..7bfe157c1f 100644
--- a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
+++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
@@ -19,6 +19,7 @@ SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=htt
19 file://mips.patch \ 19 file://mips.patch \
20 file://arm.patch \ 20 file://arm.patch \
21 file://run-ptest \ 21 file://run-ptest \
22 file://static_library_as_option.patch \
22 " 23 "
23 24
24SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" 25SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
@@ -30,13 +31,14 @@ S = "${WORKDIR}/git"
30 31
31inherit cmake ptest 32inherit cmake ptest
32 33
33PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" 34PACKAGECONFIG ??= "bzip2 zlib lz4 gflagsi rocksdb_static"
34PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" 35PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
35PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" 36PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
36PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" 37PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
37PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" 38PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
38PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" 39PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
39PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" 40PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
41PACKAGECONFIG[rocksdb_static] = "-DROCKSDB_BUILD_STATIC=ON, -DROCKSDB_BUILD_STATIC=OFF"
40 42
41# Tools and tests currently don't compile on armv5 so we disable them 43# Tools and tests currently don't compile on armv5 so we disable them
42EXTRA_OECMAKE = "\ 44EXTRA_OECMAKE = "\