xref: /OK3568_Linux_fs/buildroot/package/rocksdb/rocksdb.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# rocksdb
4#
5################################################################################
6
7ROCKSDB_VERSION = 6.20.3
8ROCKSDB_SITE = $(call github,facebook,rocksdb,v$(ROCKSDB_VERSION))
9ROCKSDB_LICENSE = GPL-2.0 or Apache-2.0
10ROCKSDB_LICENSE_FILES = COPYING LICENSE.Apache LICENSE.leveldb README.md
11ROCKSDB_INSTALL_STAGING = YES
12
13ROCKSDB_MAKE_OPTS = \
14	PORTABLE=1 \
15	PREFIX=/usr
16
17# Internal error, aborting at dwarf2cfi.c:2802 in connect_traces
18# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
19ifeq ($(BR2_m68k_cf),y)
20ROCKSDB_EXTRA_CXXFLAGS += -fno-defer-pop
21endif
22
23ifeq ($(BR2_PACKAGE_BZIP2),y)
24ROCKSDB_DEPENDENCIES += bzip2
25ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=0
26else
27ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=1
28endif
29
30ifeq ($(BR2_PACKAGE_GFLAGS),y)
31ROCKSDB_DEPENDENCIES += gflags
32ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=0
33else
34ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=1
35endif
36
37ifeq ($(BR2_PACKAGE_JEMALLOC),y)
38ROCKSDB_DEPENDENCIES += jemalloc
39ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=0
40else
41ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=1
42endif
43
44ifeq ($(BR2_PACKAGE_LZ4),y)
45ROCKSDB_DEPENDENCIES += lz4
46ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=0
47else
48ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=1
49endif
50
51ifeq ($(BR2_PACKAGE_SNAPPY),y)
52ROCKSDB_DEPENDENCIES += snappy
53ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=0
54else
55ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=1
56endif
57
58ifeq ($(BR2_PACKAGE_ZLIB),y)
59ROCKSDB_DEPENDENCIES += zlib
60ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=0
61else
62ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=1
63endif
64
65ifeq ($(BR2_PACKAGE_ZSTD),y)
66ROCKSDB_DEPENDENCIES += zstd
67ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=0
68else
69ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=1
70endif
71
72ifeq ($(BR2_GCC_ENABLE_LTO),y)
73ROCKSDB_MAKE_OPTS += USE_LTO=1
74else
75ROCKSDB_MAKE_OPTS += USE_LTO=0
76endif
77
78ifeq ($(BR2_STATIC_LIBS),y)
79ROCKSDB_BUILD_TARGETS += static_lib
80ROCKSDB_INSTALL_TARGETS += install-static
81ROCKSDB_EXTRA_CXXFLAGS += -DROCKSDB_NO_DYNAMIC_EXTENSION
82else ifeq ($(BR2_SHARED_LIBS),y)
83ROCKSDB_BUILD_TARGETS += shared_lib
84ROCKSDB_INSTALL_TARGETS += install-shared
85else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
86ROCKSDB_BUILD_TARGETS += shared_lib static_lib
87ROCKSDB_INSTALL_TARGETS += install-shared install-static
88endif
89
90ROCKSDB_MAKE_OPTS += EXTRA_CXXFLAGS="$(ROCKSDB_EXTRA_CXXFLAGS)"
91
92define ROCKSDB_BUILD_CMDS
93	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
94		$(ROCKSDB_BUILD_TARGETS)
95endef
96
97define ROCKSDB_INSTALL_STAGING_CMDS
98	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
99		DESTDIR=$(STAGING_DIR) $(ROCKSDB_INSTALL_TARGETS)
100endef
101
102define ROCKSDB_INSTALL_TARGET_CMDS
103	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
104		DESTDIR=$(TARGET_DIR) $(ROCKSDB_INSTALL_TARGETS)
105endef
106
107$(eval $(generic-package))
108