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