kumquat-buildroot/package/rocksdb/rocksdb.mk

108 lines
2.8 KiB
Makefile
Raw Normal View History

################################################################################
#
# rocksdb
#
################################################################################
package/rocksdb: bump to version 6.20.3 - Refresh first patch - Add BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS due to toku_time.h which has been added in version 6.16.3 by https://github.com/facebook/rocksdb/commit/98236fb10ecdbe6e7e8ef5cfb11e1f11dcb72f84 and contains the following blob: #if defined(__x86_64__) || defined(__i386__) uint32_t lo, hi; __asm__ __volatile__("rdtsc" : "=a"(lo), "=d"(hi)); return (uint64_t)hi << 32 | lo; #elif defined(__aarch64__) uint64_t result; __asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result)); return result; #elif defined(__powerpc__) return __ppc_get_timebase(); #else #error No timer implementation for this platform #endif - Also drop second patch and disable build on powerpc as it seems that upstream is not really testing powerpc (patch not merged after more than one year + build failure with uclibc/musl only fixed on ppc64: https://github.com/facebook/rocksdb/commit/24b7ebee80ab282e073fd541d5b807d4a0bbbfab) - Update hash of README.md (change not related to license: https://github.com/facebook/rocksdb/commit/f4ade82ad29790b1e0d99188e0b26e5b805c7243) As a side effect, this will remove the autobuilder failures on arm, powerpc and m68k https://github.com/facebook/rocksdb/blob/v6.20.3/HISTORY.md Fixes: - http://autobuild.buildroot.org/results/059ebe270e6e7c23e40060c4cf0112c4cd72b0e7 - http://autobuild.buildroot.org/results/f007412f29ab2e03a6904e2f548e77654abde6de - http://autobuild.buildroot.org/results/83505f78fcb4d925779177411d830bea127b6800 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-05-08 11:54:08 +02:00
ROCKSDB_VERSION = 6.20.3
ROCKSDB_SITE = $(call github,facebook,rocksdb,v$(ROCKSDB_VERSION))
ROCKSDB_LICENSE = GPL-2.0 or Apache-2.0
ROCKSDB_LICENSE_FILES = COPYING LICENSE.Apache LICENSE.leveldb README.md
ROCKSDB_INSTALL_STAGING = YES
ROCKSDB_MAKE_OPTS = \
PORTABLE=1 \
PREFIX=/usr
# Internal error, aborting at dwarf2cfi.c:2802 in connect_traces
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
ifeq ($(BR2_m68k_cf),y)
ROCKSDB_EXTRA_CXXFLAGS += -fno-defer-pop
endif
ifeq ($(BR2_PACKAGE_BZIP2),y)
ROCKSDB_DEPENDENCIES += bzip2
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=1
endif
ifeq ($(BR2_PACKAGE_GFLAGS),y)
ROCKSDB_DEPENDENCIES += gflags
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=1
endif
ifeq ($(BR2_PACKAGE_JEMALLOC),y)
ROCKSDB_DEPENDENCIES += jemalloc
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=1
endif
ifeq ($(BR2_PACKAGE_LZ4),y)
ROCKSDB_DEPENDENCIES += lz4
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=1
endif
ifeq ($(BR2_PACKAGE_SNAPPY),y)
ROCKSDB_DEPENDENCIES += snappy
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=1
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
ROCKSDB_DEPENDENCIES += zlib
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=1
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
ROCKSDB_DEPENDENCIES += zstd
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=0
else
ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=1
endif
ifeq ($(BR2_GCC_ENABLE_LTO),y)
ROCKSDB_MAKE_OPTS += USE_LTO=1
else
ROCKSDB_MAKE_OPTS += USE_LTO=0
endif
ifeq ($(BR2_STATIC_LIBS),y)
ROCKSDB_BUILD_TARGETS += static_lib
ROCKSDB_INSTALL_TARGETS += install-static
ROCKSDB_EXTRA_CXXFLAGS += -DROCKSDB_NO_DYNAMIC_EXTENSION
else ifeq ($(BR2_SHARED_LIBS),y)
ROCKSDB_BUILD_TARGETS += shared_lib
ROCKSDB_INSTALL_TARGETS += install-shared
else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
ROCKSDB_BUILD_TARGETS += shared_lib static_lib
ROCKSDB_INSTALL_TARGETS += install-shared install-static
endif
ROCKSDB_MAKE_OPTS += EXTRA_CXXFLAGS="$(ROCKSDB_EXTRA_CXXFLAGS)"
define ROCKSDB_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
$(ROCKSDB_BUILD_TARGETS)
endef
define ROCKSDB_INSTALL_STAGING_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
DESTDIR=$(STAGING_DIR) $(ROCKSDB_INSTALL_TARGETS)
endef
define ROCKSDB_INSTALL_TARGET_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
DESTDIR=$(TARGET_DIR) $(ROCKSDB_INSTALL_TARGETS)
endef
$(eval $(generic-package))