xref: /OK3568_Linux_fs/buildroot/package/suricata/suricata.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# suricata
4#
5################################################################################
6
7SURICATA_VERSION = 6.0.4
8SURICATA_SITE = https://www.openinfosecfoundation.org/download
9SURICATA_LICENSE = GPL-2.0
10SURICATA_LICENSE_FILES = COPYING LICENSE
11SURICATA_CPE_ID_VENDOR = oisf
12# 0001-python-ensure-proper-shabang-on-python-scripts.patch
13# 0002-configure.ac-allow-the-user-to-override-RUST_TARGET.patch
14SURICATA_AUTORECONF = YES
15
16SURICATA_DEPENDENCIES = \
17	host-pkgconf \
18	host-rustc \
19	jansson \
20	$(if $(BR2_PACKAGE_LIBCAP_NG),libcap-ng) \
21	$(if $(BR2_PACKAGE_LIBEVENT),libevent) \
22	libhtp \
23	$(if $(BR2_PACKAGE_LIBNFNETLINK),libnfnetlink) \
24	libpcap \
25	libyaml \
26	$(if $(BR2_PACKAGE_LZ4),lz4) \
27	pcre \
28	$(if $(BR2_PACKAGE_XZ),xz)
29
30SURICATA_CONF_ENV = \
31	ac_cv_path_HAVE_SPHINXBUILD=no \
32	CARGO_HOME=$(HOST_DIR)/share/cargo \
33	RUST_TARGET=$(RUSTC_TARGET_NAME)
34
35SURICATA_CONF_OPTS = \
36	--disable-gccprotect \
37	--disable-pie \
38	--disable-suricata-update \
39	--enable-non-bundled-htp
40
41# install: install binaries
42# install-conf: install initial configuration files
43# install-full: install binaries, configuration and rules (rules will be
44#               download through wget/curl)
45SURICATA_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install install-conf
46
47ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
48SURICATA_CONF_ENV += LIBS=-latomic
49endif
50
51ifeq ($(BR2_PACKAGE_FILE),y)
52SURICATA_DEPENDENCIES += file
53SURICATA_CONF_OPTS += --enable-libmagic
54else
55SURICATA_CONF_OPTS += --disable-libmagic
56endif
57
58ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y)
59SURICATA_DEPENDENCIES += libmaxminddb
60SURICATA_CONF_OPTS += --enable-geoip
61else
62SURICATA_CONF_OPTS += --disable-geoip
63endif
64
65ifeq ($(BR2_PACKAGE_HIREDIS),y)
66SURICATA_DEPENDENCIES += hiredis
67SURICATA_CONF_OPTS += --enable-hiredis
68else
69SURICATA_CONF_OPTS += --disable-hiredis
70endif
71
72ifeq ($(BR2_PACKAGE_LIBNET),y)
73SURICATA_DEPENDENCIES += libnet
74SURICATA_CONF_OPTS += --with-libnet-includes=$(STAGING_DIR)/usr/include
75endif
76
77ifeq ($(BR2_PACKAGE_LIBNETFILTER_LOG),y)
78SURICATA_DEPENDENCIES += libnetfilter_log
79SURICATA_CONF_OPTS += --enable-nflog
80else
81SURICATA_CONF_OPTS += --disable-nflog
82endif
83
84ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y)
85SURICATA_DEPENDENCIES += libnetfilter_queue
86SURICATA_CONF_OPTS += --enable-nfqueue
87else
88SURICATA_CONF_OPTS += --disable-nfqueue
89endif
90
91ifeq ($(BR2_PACKAGE_LIBNSPR),y)
92SURICATA_DEPENDENCIES += libnspr
93SURICATA_CONF_OPTS += --enable-nspr
94else
95SURICATA_CONF_OPTS += --disable-nspr
96endif
97
98ifeq ($(BR2_PACKAGE_LIBNSS),y)
99SURICATA_DEPENDENCIES += libnss
100SURICATA_CONF_OPTS += --enable-nss
101else
102SURICATA_CONF_OPTS += --disable-nss
103endif
104
105ifeq ($(BR2_PACKAGE_LUA),y)
106SURICATA_CONF_OPTS += --enable-lua
107SURICATA_DEPENDENCIES += lua
108else
109SURICATA_CONF_OPTS += --disable-lua
110endif
111
112ifeq ($(BR2_PACKAGE_LUAJIT),y)
113SURICATA_CONF_OPTS += --enable-luajit
114SURICATA_DEPENDENCIES += luajit
115else
116SURICATA_CONF_OPTS += --disable-luajit
117endif
118
119ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y)
120SURICATA_CONF_OPTS += --enable-python
121SURICATA_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
122else
123SURICATA_CONF_OPTS += --disable-python
124endif
125
126define SURICATA_INSTALL_INIT_SYSV
127	$(INSTALL) -D -m 0755 package/suricata/S99suricata \
128		$(TARGET_DIR)/etc/init.d/S99suricata
129endef
130
131define SURICATA_INSTALL_INIT_SYSTEMD
132	$(INSTALL) -D -m 644 package/suricata/suricata.service \
133		$(TARGET_DIR)/usr/lib/systemd/system/suricata.service
134endef
135
136$(eval $(autotools-package))
137