xref: /OK3568_Linux_fs/buildroot/package/wireshark/wireshark.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# wireshark
4#
5################################################################################
6
7WIRESHARK_VERSION = 3.4.10
8WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz
9WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions
10WIRESHARK_LICENSE = wireshark license
11WIRESHARK_LICENSE_FILES = COPYING
12WIRESHARK_CPE_ID_VENDOR = wireshark
13WIRESHARK_SELINUX_MODULES = wireshark
14WIRESHARK_DEPENDENCIES = \
15	c-ares \
16	host-pkgconf \
17	host-python3 \
18	libgcrypt \
19	libglib2 \
20	libpcap \
21	speexdsp
22
23WIRESHARK_CONF_OPTS = \
24	-DDISABLE_WERROR=ON \
25	-DENABLE_ILBC=OFF \
26	-DENABLE_PCAP=ON \
27	-DENABLE_SMI=OFF \
28	-DLEMON_C_COMPILER=$(HOSTCC)
29
30ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
31WIRESHARK_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
32endif
33
34ifeq ($(BR2_GCC_ENABLE_LTO),y)
35WIRESHARK_CONF_OPTS += -DENABLE_LTO=ON
36else
37WIRESHARK_CONF_OPTS += -DENABLE_LTO=OFF
38endif
39
40ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),y)
41WIRESHARK_CONF_OPTS += -DBUILD_wireshark=ON
42WIRESHARK_DEPENDENCIES += qt5base qt5multimedia qt5svg qt5tools
43else
44WIRESHARK_CONF_OPTS += -DBUILD_wireshark=OFF
45endif
46
47ifeq ($(BR2_PACKAGE_BCG729),y)
48WIRESHARK_CONF_OPTS += -DENABLE_BCG729=ON
49WIRESHARK_DEPENDENCIES += bcg729
50else
51WIRESHARK_CONF_OPTS += -DENABLE_BCG729=OFF
52endif
53
54ifeq ($(BR2_PACKAGE_BROTLI),y)
55WIRESHARK_CONF_OPTS += -DENABLE_BROTLI=ON
56WIRESHARK_DEPENDENCIES += brotli
57else
58WIRESHARK_CONF_OPTS += -DENABLE_BROTLI=OFF
59endif
60
61ifeq ($(BR2_PACKAGE_GNUTLS),y)
62WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=ON
63WIRESHARK_DEPENDENCIES += gnutls
64else
65WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=OFF
66endif
67
68ifeq ($(BR2_PACKAGE_LIBKRB5),y)
69WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=ON
70WIRESHARK_DEPENDENCIES += libkrb5
71else
72WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=OFF
73endif
74
75ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y)
76WIRESHARK_CONF_OPTS += -DBUILD_mmdbresolve=ON
77WIRESHARK_DEPENDENCIES += libmaxminddb
78else
79WIRESHARK_CONF_OPTS += -DBUILD_mmdbresolve=OFF
80endif
81
82ifeq ($(BR2_PACKAGE_LIBNL),y)
83WIRESHARK_CONF_OPTS += -DENABLE_NETLINK=ON
84WIRESHARK_DEPENDENCIES += libnl
85else
86WIRESHARK_CONF_OPTS += -DENABLE_NETLINK=OFF
87endif
88
89ifeq ($(BR2_PACKAGE_LIBSSH),y)
90WIRESHARK_CONF_OPTS += -DENABLE_LIBSSH=ON
91WIRESHARK_DEPENDENCIES += libssh
92else
93WIRESHARK_CONF_OPTS += -DENABLE_LIBSSH=OFF
94endif
95
96ifeq ($(BR2_PACKAGE_LIBXML2),y)
97WIRESHARK_CONF_OPTS += -DENABLE_LIBXML2=ON
98WIRESHARK_DEPENDENCIES += libxml2
99else
100WIRESHARK_CONF_OPTS += -DENABLE_LIBXML2=OFF
101endif
102
103# no support for lua53 yet
104ifeq ($(BR2_PACKAGE_LUA_5_1),y)
105WIRESHARK_CONF_OPTS += -DENABLE_LUA=ON
106WIRESHARK_DEPENDENCIES += lua
107else
108WIRESHARK_CONF_OPTS += -DENABLE_LUA=OFF
109endif
110
111ifeq ($(BR2_PACKAGE_LZ4),y)
112WIRESHARK_CONF_OPTS += -DENABLE_LZ4=ON
113WIRESHARK_DEPENDENCIES += lz4
114else
115WIRESHARK_CONF_OPTS += -DENABLE_LZ4=OFF
116endif
117
118ifeq ($(BR2_PACKAGE_NGHTTP2),y)
119WIRESHARK_CONF_OPTS += -DENABLE_NGHTTP2=ON
120WIRESHARK_DEPENDENCIES += nghttp2
121else
122WIRESHARK_CONF_OPTS += -DENABLE_NGHTTP2=OFF
123endif
124
125ifeq ($(BR2_PACKAGE_OPUS),y)
126WIRESHARK_CONF_OPTS += -DENABLE_OPUS=ON
127WIRESHARK_DEPENDENCIES += opus
128else
129WIRESHARK_CONF_OPTS += -DENABLE_OPUS=OFF
130endif
131
132ifeq ($(BR2_PACKAGE_SBC),y)
133WIRESHARK_CONF_OPTS += -DENABLE_SBC=ON
134WIRESHARK_DEPENDENCIES += sbc
135else
136WIRESHARK_CONF_OPTS += -DENABLE_SBC=OFF
137endif
138
139ifeq ($(BR2_PACKAGE_SNAPPY),y)
140WIRESHARK_CONF_OPTS += -DENABLE_SNAPPY=ON
141WIRESHARK_DEPENDENCIES += snappy
142else
143WIRESHARK_CONF_OPTS += -DENABLE_SNAPPY=OFF
144endif
145
146ifeq ($(BR2_PACKAGE_SPANDSP),y)
147WIRESHARK_CONF_OPTS += -DENABLE_SPANDSP=ON
148WIRESHARK_DEPENDENCIES += spandsp
149else
150WIRESHARK_CONF_OPTS += -DENABLE_SPANDSP=OFF
151endif
152
153ifeq ($(BR2_PACKAGE_SYSTEMD),y)
154WIRESHARK_CONF_OPTS += -DBUILD_sdjournal=ON
155WIRESHARK_DEPENDENCIES += systemd
156else
157WIRESHARK_CONF_OPTS += -DBUILD_sdjournal=OFF
158endif
159
160ifeq ($(BR2_PACKAGE_ZSTD),y)
161WIRESHARK_CONF_OPTS += -DENABLE_ZSTD=ON
162WIRESHARK_DEPENDENCIES += zstd
163else
164WIRESHARK_CONF_OPTS += -DENABLE_ZSTD=OFF
165endif
166
167# Disable plugins as some of them (like l16mono) can't be built
168# statically. ENABLE_STATIC=ON actually means "disable shared library"
169# and ENABLE_STATIC=OFF means "enable shared library". So for the
170# BR2_SHARED_STATIC_LIBS=y case, we want ENABLE_STATIC=OFF even if
171# that sounds counter-intuitive.
172ifeq ($(BR2_STATIC_LIBS),y)
173WIRESHARK_CONF_OPTS += \
174	-DENABLE_PLUGINS=OFF \
175	-DENABLE_STATIC=ON \
176	-DUSE_STATIC=ON
177else
178WIRESHARK_CONF_OPTS += \
179	-DENABLE_PLUGINS=ON \
180	-DENABLE_STATIC=OFF \
181	-DUSE_STATIC=OFF
182endif
183
184define WIRESHARK_REMOVE_DOCS
185	find $(TARGET_DIR)/usr/share/wireshark -name '*.txt' -print0 \
186		-o -name '*.html' -print0 | xargs -0 rm -f
187endef
188
189WIRESHARK_POST_INSTALL_TARGET_HOOKS += WIRESHARK_REMOVE_DOCS
190
191$(eval $(cmake-package))
192