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