xref: /OK3568_Linux_fs/buildroot/package/redis/redis.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# redis
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunREDIS_VERSION = 6.2.6
8*4882a593SmuzhiyunREDIS_SITE = http://download.redis.io/releases
9*4882a593SmuzhiyunREDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components)
10*4882a593SmuzhiyunREDIS_LICENSE_FILES = COPYING
11*4882a593SmuzhiyunREDIS_CPE_ID_VENDOR = redislabs
12*4882a593SmuzhiyunREDIS_SELINUX_MODULES = redis
13*4882a593Smuzhiyun
14*4882a593Smuzhiyundefine REDIS_USERS
15*4882a593Smuzhiyun	redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server
16*4882a593Smuzhiyunendef
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun# Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work,
19*4882a593Smuzhiyun# because LDFLAGS is used before the list of object files. We need to
20*4882a593Smuzhiyun# add -latomic to FINAL_LIBS to provide -latomic at the correct place
21*4882a593Smuzhiyun# in the linking command.
22*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
23*4882a593Smuzhiyundefine REDIS_FIX_MAKEFILE
24*4882a593Smuzhiyun	$(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile
25*4882a593Smuzhiyunendef
26*4882a593SmuzhiyunREDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE
27*4882a593Smuzhiyunendif
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun# Redis doesn't support DESTDIR (yet, see
30*4882a593Smuzhiyun# https://github.com/antirez/redis/pull/609).  We set PREFIX
31*4882a593Smuzhiyun# instead.
32*4882a593SmuzhiyunREDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \
33*4882a593Smuzhiyun	PREFIX=$(TARGET_DIR)/usr MALLOC=libc
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SYSTEMD),y)
36*4882a593SmuzhiyunREDIS_DEPENDENCIES += systemd
37*4882a593SmuzhiyunREDIS_BUILDOPTS += USE_SYSTEMD=yes
38*4882a593Smuzhiyunelse
39*4882a593SmuzhiyunREDIS_BUILDOPTS += USE_SYSTEMD=no
40*4882a593Smuzhiyunendif
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
43*4882a593SmuzhiyunREDIS_DEPENDENCIES += libopenssl
44*4882a593SmuzhiyunREDIS_BUILDOPTS += BUILD_TLS=yes
45*4882a593Smuzhiyunelse
46*4882a593SmuzhiyunREDIS_BUILDOPTS += BUILD_TLS=no
47*4882a593Smuzhiyunendif
48*4882a593Smuzhiyun
49*4882a593Smuzhiyundefine REDIS_BUILD_CMDS
50*4882a593Smuzhiyun	$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D)
51*4882a593Smuzhiyunendef
52*4882a593Smuzhiyun
53*4882a593Smuzhiyundefine REDIS_INSTALL_TARGET_CMDS
54*4882a593Smuzhiyun	$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D) \
55*4882a593Smuzhiyun		LDCONFIG=true install
56*4882a593Smuzhiyun	$(INSTALL) -D -m 0644 $(@D)/redis.conf \
57*4882a593Smuzhiyun		$(TARGET_DIR)/etc/redis.conf
58*4882a593Smuzhiyunendef
59*4882a593Smuzhiyun
60*4882a593Smuzhiyundefine REDIS_INSTALL_INIT_SYSV
61*4882a593Smuzhiyun	$(INSTALL) -m 0755 -D package/redis/S50redis \
62*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S50redis
63*4882a593Smuzhiyunendef
64*4882a593Smuzhiyun
65*4882a593Smuzhiyundefine REDIS_INSTALL_INIT_SYSTEMD
66*4882a593Smuzhiyun	$(INSTALL) -D -m 0644 package/redis/redis.service \
67*4882a593Smuzhiyun		$(TARGET_DIR)/usr/lib/systemd/system/redis.service
68*4882a593Smuzhiyunendef
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun$(eval $(generic-package))
71