On Fri, Aug 9, 2024 at 4:03 AM Nikhil via lists.openembedded.org <[email protected]> wrote: > > Modify the CMakeLists.txt to add an Option for > STATIC target, as available for shared library. > > Link: https://github.com/facebook/rocksdb/pull/12890 > > Configure static library default to switched off > as shared libraries are sufficient in most cases. > > Signed-off-by: Bhabu Bindu <[email protected]> > --- > .../files/static_library_as_option.patch | 68 +++++++++++++++++++ > meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb | 2 + > 2 files changed, 70 insertions(+) > create mode 100644 > meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch > > 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 000000000..4162d1154 > --- /dev/null > +++ b/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch > @@ -0,0 +1,68 @@ > +From 285d306494bde3e9c24c8cd6fea1eb380a304d03 Mon Sep 17 00:00:00 2001 > +From: Bindu-Bhabu <[email protected]> > +Date: Fri, 26 Jul 2024 15:14:45 +0530 > +Subject: Add option to CMake for building static libraries > + > +ROCKSDB creates a STATIC library target reference by default. > +Modify the cmake so that the STATIC library is also an option > +just like creating a SHARED library. > + > +Upstream-Status:Accepted > +Link: https://github.com/facebook/rocksdb/pull/12890
This is wrongly formatted, it should be something like Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/12890] for more info on patch status spec - https://docs.yoctoproject.org/contributor-guide/recipe-style-guide.html#patch-upstream-status always test your patches with the branch they are intended for before sending. > + > +Signed-off-by: Nisha Parrakat <[email protected]> > +Signed-off-by: Bindu Bhabu <[email protected]> > +--- > + CMakeLists.txt | 29 +++++++++++++++++------------ > + 1 file changed, 17 insertions(+), 12 deletions(-) > + > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index 93b884dd9c1..2ca925d505c 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -919,6 +919,7 @@ set(ROCKSDB_STATIC_LIB rocksdb${ARTIFACT > + set(ROCKSDB_SHARED_LIB rocksdb-shared${ARTIFACT_SUFFIX}) > + > + option(ROCKSDB_BUILD_SHARED "Build shared versions of the RocksDB > libraries" ON) > ++option(ROCKSDB_BUILD_STATIC "Build static versions of the RocksDB > libraries" ON) > + > + option(WITH_LIBRADOS "Build with librados" OFF) > + if(WITH_LIBRADOS) > +@@ -938,9 +939,11 @@ else() > + endif() > + endif() > + > +-add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC}) > +-target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE > +- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) > ++if(ROCKSDB_BUILD_STATIC) > ++ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC}) > ++ target_link_libraries(${ROCKSDB_STATIC_LIB} PRIVATE > ++ ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) > ++endif() > + > + if(ROCKSDB_BUILD_SHARED) > + add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES} ${BUILD_VERSION_CC}) > +@@ -1238,13 +1241,15 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) > + > + install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel > DESTINATION ${package_config_destination}) > + > +- install( > +- TARGETS ${ROCKSDB_STATIC_LIB} > +- EXPORT RocksDBTargets > +- COMPONENT devel > +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" > +- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" > +- ) > ++ if(ROCKSDB_BUILD_STATIC) > ++ install( > ++ TARGETS ${ROCKSDB_STATIC_LIB} > ++ EXPORT RocksDBTargets > ++ COMPONENT devel > ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" > ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" > ++ ) > ++ endif() > + > + if(ROCKSDB_BUILD_SHARED) > + install( > 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 2ad2d38a5..4acf93439 100644 > --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb > +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb > @@ -18,6 +18,7 @@ SRC_URI = > "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=htt > file://ppc64.patch \ > file://mips.patch \ > file://arm.patch \ > + file://static_library_as_option.patch \ > " > > SRC_URI:append:riscv32 = " > file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" > @@ -44,6 +45,7 @@ EXTRA_OECMAKE = "\ > -DWITH_BENCHMARK_TOOLS=OFF \ > -DWITH_TOOLS=OFF \ > -DFAIL_ON_WARNINGS=OFF \ > + -DROCKSDB_BUILD_STATIC=OFF \ > " > > do_install:append() { > -- > 2.25.1 > > This message contains information that may be privileged or confidential and > is the property of the KPIT Technologies Ltd. It is intended only for the > person to whom it is addressed. If you are not the intended recipient, you > are not authorized to read, print, retain copy, disseminate, distribute, or > use this message or any part thereof. If you receive this message in error, > please notify the sender immediately and delete all copies of this message. > KPIT Technologies Ltd. does not accept any liability for virus infected mails. > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#111752): https://lists.openembedded.org/g/openembedded-devel/message/111752 Mute This Topic: https://lists.openembedded.org/mt/107805957/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
