mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-10 04:30:00 +00:00
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>
This commit is contained in:
@@ -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)
|
|
||||||
|
|
||||||
-37
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for test in *_test; do
|
||||||
|
if ./${test}; then
|
||||||
|
echo "PASS: ${test}"
|
||||||
|
else
|
||||||
|
echo "FAIL: ${test}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
@@ -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"
|
||||||
@@ -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"
|
|
||||||
Reference in New Issue
Block a user