diff options
author | Alex Kiernan <alex.kiernan@gmail.com> | 2019-11-24 09:34:22 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-11-24 07:18:11 -0800 |
commit | 661d7dea5aa4a8e4463649e6b66ca8c5f0fdff9d (patch) | |
tree | d3b930596ff753b1f832894447c63961e38c361b /meta-oe/recipes-dbs/leveldb | |
parent | de76cf5d52fe09f88f135c3a16ef4c60e6f98983 (diff) | |
download | meta-openembedded-661d7dea5aa4a8e4463649e6b66ca8c5f0fdff9d.tar.gz |
leveldb: Upgrade 1.20 -> 1.22
Upstream has moved to cmake, so drop the build patches which are no
longer relevant. Add run-ptest and PACKAGECONFIG support.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-dbs/leveldb')
6 files changed, 43 insertions, 155 deletions
diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch b/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch deleted file mode 100644 index 3135d4d5a..000000000 --- a/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c85978e77725ef233543370d24e23f853f449170 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 21 Sep 2017 17:47:02 -0700 -Subject: [PATCH] Makefile: Fix parallel build - -Sometimes mkdir $(SHARED_OUTDIR)/db races with compiler which is -creating .o file in the same directory $(SHARED_OUTDIR)/db/db_bench.o - -Fixes error like - -| mkdir out-static -| mkdir out-shared/db -| Assembler messages: -| Fatal error: can't create out-shared/db/db_bench.o: No such file or directory - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index f7cc7d7..51a0bcd 100644 ---- a/Makefile -+++ b/Makefile -@@ -386,6 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $( - $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) - $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) - -+$(SHARED_OUTDIR)/db/db_bench.o: | $(SHARED_OUTDIR)/db - $(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) - $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) - diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch deleted file mode 100644 index 8f93cb325..000000000 --- a/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5fd0918df2bb30e8f3edb2ee895d178edbf26f40 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 4 Sep 2017 22:38:03 -0700 -Subject: [PATCH 1/2] build_detect_platform: Check for __SSE4_2__ - -just using -msse4.2 is not enough, especially with clang -where it may accept -msse4.2 even during cross compiling -for say arm, however the difference is that builtin defines -wont be defined. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - build_detect_platform | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: git/build_detect_platform -=================================================================== ---- git.orig/build_detect_platform -+++ git/build_detect_platform -@@ -224,13 +224,13 @@ EOF - rm -f $CXXOUTPUT 2>/dev/null - - # Test if gcc SSE 4.2 is supported -- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF -+ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF - int main() {} - EOF -+ eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1 - if [ "$?" = 0 ]; then - PLATFORM_SSEFLAGS="-msse4.2" - fi -- - rm -f $CXXOUTPUT 2>/dev/null - fi - diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch b/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch deleted file mode 100644 index fc708b23a..000000000 --- a/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1ed8cec1fcf666904bb3ebd29fc85e235b72d122 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 4 Sep 2017 22:40:49 -0700 -Subject: [PATCH 2/2] makefile: build SHARED_MEMENVLIB - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index f7cc7d7..cb42278 100644 ---- a/Makefile -+++ b/Makefile -@@ -126,12 +126,12 @@ SHARED_VERSION_MINOR = 20 - SHARED_LIB1 = libleveldb.$(PLATFORM_SHARED_EXT) - SHARED_LIB2 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR) - SHARED_LIB3 = $(SHARED_LIB1).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR) --SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) -+SHARED_LIBS = $(SHARED_OUTDIR)/$(SHARED_LIB1) $(SHARED_OUTDIR)/$(SHARED_LIB2) $(SHARED_OUTDIR)/$(SHARED_LIB3) $(SHARED_MEMENVLIB) - $(SHARED_OUTDIR)/$(SHARED_LIB1): $(SHARED_OUTDIR)/$(SHARED_LIB3) - ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB1) - $(SHARED_OUTDIR)/$(SHARED_LIB2): $(SHARED_OUTDIR)/$(SHARED_LIB3) - ln -fs $(SHARED_LIB3) $(SHARED_OUTDIR)/$(SHARED_LIB2) --SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.a -+SHARED_MEMENVLIB = $(SHARED_OUTDIR)/libmemenv.$(PLATFORM_SHARED_EXT).$(SHARED_VERSION_MAJOR).$(SHARED_VERSION_MINOR) - endif - - $(SHARED_OUTDIR)/$(SHARED_LIB3): $(SHARED_LIBOBJECTS) -@@ -294,7 +294,7 @@ endif - - $(SHARED_MEMENVLIB):$(SHARED_MEMENVOBJECTS) - rm -f $@ -- $(AR) -rs $@ $(SHARED_MEMENVOBJECTS) -+ $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(basename $(notdir $(SHARED_MEMENVLIB))) $(SHARED_MEMENVOBJECTS) -o $(SHARED_MEMENVLIB) $(LIBS) - - $(STATIC_OUTDIR)/db_bench:db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) - $(CXX) $(LDFLAGS) $(CXXFLAGS) db/db_bench.cc $(STATIC_LIBOBJECTS) $(TESTUTIL) -o $@ $(LIBS) --- -2.14.1 - diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest b/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest new file mode 100644 index 000000000..9ae70c128 --- /dev/null +++ b/meta-oe/recipes-dbs/leveldb/leveldb/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +for test in *_test; do + if ./${test}; then + echo "PASS: ${test}" + else + echo "FAIL: ${test}" + fi +done + diff --git a/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb b/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb new file mode 100644 index 000000000..b597ef1ea --- /dev/null +++ b/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb @@ -0,0 +1,33 @@ +SUMMARY = "LevelDB is a fast key-value storage library" +DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values" +HOMEPAGE = "https://github.com/google/leveldb" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d" + +SRC_URI = "git://github.com/google/${BPN}.git \ + file://run-ptest" + +SRCREV = "78b39d68c15ba020c0d60a3906fb66dbf1697595" +S = "${WORKDIR}/git" + +inherit cmake ptest + +PACKAGECONFIG ??= "" +PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite" +PACKAGECONFIG[snappy] = ",,snappy" +PACKAGECONFIG[tcmalloc] = ",,gperftools" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \ + -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}" + +do_install_append() { + install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil +} + +do_install_ptest() { + install -m 0755 ${B}/*_test ${D}${PTEST_PATH} +} + +# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb. +# +COMPATIBLE_HOST_mipsarcho32_pn-lib32-leveldb = "null" diff --git a/meta-oe/recipes-dbs/leveldb/leveldb_git.bb b/meta-oe/recipes-dbs/leveldb/leveldb_git.bb deleted file mode 100644 index 908ad3e6b..000000000 --- a/meta-oe/recipes-dbs/leveldb/leveldb_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "LevelDB is a fast key-value storage library" -DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values" -HOMEPAGE = "http://leveldb.googlecode.com" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d" - -SRCREV = "a53934a3ae1244679f812d998a4f16f2c7f309a6" -PV = "1.20+git${SRCPV}" - -SRC_URI = "git://github.com/google/${BPN}.git \ - file://0001-build_detect_platform-Check-for-__SSE4_2__.patch \ - file://0002-makefile-build-SHARED_MEMENVLIB.patch \ - file://0001-Makefile-Fix-parallel-build.patch \ - " - -S = "${WORKDIR}/git" - -inherit utils - -do_compile() { - # do not use oe_runmake. oe_runmake pass to make compilation arguments and override - # leveldb makefile variable CFLAGS and broke leveldb build. - CFLAGS="${CFLAGS}" make ${PARALLEL_MAKE}|| die -} - -do_install() { - install -d ${D}${libdir} ${D}${bindir} ${D}${includedir}/leveldb - oe_libinstall -C ${B}/out-shared libleveldb ${D}${libdir} - oe_libinstall -C ${S}/out-static libleveldb ${D}${libdir} - oe_libinstall -C ${S}/out-static libmemenv ${D}${libdir} - install -m 0755 ${B}/out-shared/db_bench ${D}${bindir} - install -m 0755 ${B}/out-static/*_test ${D}${bindir} - install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/ -} - -PACKAGES =+ "${PN}-ptest" -FILES_${PN}-ptest = "${bindir}" - -# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb. -# -COMPATIBLE_HOST_mipsarcho32_pn-lib32-leveldb = "null" |