xref: /OK3568_Linux_fs/buildroot/package/janus-gateway/janus-gateway.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# janus-gateway
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunJANUS_GATEWAY_VERSION = 0.10.10
8*4882a593SmuzhiyunJANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,v$(JANUS_GATEWAY_VERSION))
9*4882a593SmuzhiyunJANUS_GATEWAY_LICENSE = GPL-3.0 with OpenSSL exception
10*4882a593SmuzhiyunJANUS_GATEWAY_LICENSE_FILES = COPYING
11*4882a593SmuzhiyunJANUS_GATEWAY_CPE_ID_VENDOR = meetecho
12*4882a593SmuzhiyunJANUS_GATEWAY_CPE_ID_PRODUCT = janus
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun# 0003-Fix-potential-Cross-site-Scripting-XSS-exploits-in-demos.patch
15*4882a593SmuzhiyunJANUS_GATEWAY_IGNORE_CVES += CVE-2021-4020
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun# ding-libs provides the ini_config library
18*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \
19*4882a593Smuzhiyun	libsrtp host-gengetopt libglib2 openssl libconfig \
20*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_LIBOGG),libogg)
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun# Straight out of the repository, no ./configure, and we also patch
23*4882a593Smuzhiyun# configure.ac.
24*4882a593SmuzhiyunJANUS_GATEWAY_AUTORECONF = YES
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS = \
27*4882a593Smuzhiyun	--disable-data-channels \
28*4882a593Smuzhiyun	--disable-sample-event-handler
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_DEMOS),)
31*4882a593Smuzhiyundefine JANUS_GATEWAY_REMOVE_DEMOS
32*4882a593Smuzhiyun	$(RM) -fr $(TARGET_DIR)/usr/share/janus/demos/
33*4882a593Smuzhiyunendef
34*4882a593SmuzhiyunJANUS_GATEWAY_POST_INSTALL_TARGET_HOOKS += JANUS_GATEWAY_REMOVE_DEMOS
35*4882a593Smuzhiyunendif
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE),y)
38*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += opus
39*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-audiobridge
40*4882a593Smuzhiyunelse
41*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge
42*4882a593Smuzhiyunendif
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST),y)
45*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-echotest
46*4882a593Smuzhiyunelse
47*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-echotest
48*4882a593Smuzhiyunendif
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY),y)
51*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-recordplay
52*4882a593Smuzhiyunelse
53*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-recordplay
54*4882a593Smuzhiyunendif
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY),y)
57*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += sofia-sip
58*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip
59*4882a593Smuzhiyunelse
60*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-sip
61*4882a593Smuzhiyunendif
62*4882a593Smuzhiyun
63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_STREAMING),y)
64*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-streaming
65*4882a593Smuzhiyunelse
66*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming
67*4882a593Smuzhiyunendif
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM),y)
70*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-textroom
71*4882a593Smuzhiyunelse
72*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-textroom
73*4882a593Smuzhiyunendif
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL),y)
76*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-videocall
77*4882a593Smuzhiyunelse
78*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-videocall
79*4882a593Smuzhiyunendif
80*4882a593Smuzhiyun
81*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM),y)
82*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-videoroom
83*4882a593Smuzhiyunelse
84*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-videoroom
85*4882a593Smuzhiyunendif
86*4882a593Smuzhiyun
87*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VOICE_MAIL),y)
88*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail
89*4882a593Smuzhiyunelse
90*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail
91*4882a593Smuzhiyunendif
92*4882a593Smuzhiyun
93*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_MQTT),y)
94*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += paho-mqtt-c
95*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-mqtt
96*4882a593Smuzhiyunelse
97*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-mqtt
98*4882a593Smuzhiyunendif
99*4882a593Smuzhiyun
100*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ),y)
101*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += rabbitmq-c
102*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-rabbitmq
103*4882a593Smuzhiyunelse
104*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-rabbitmq
105*4882a593Smuzhiyunendif
106*4882a593Smuzhiyun
107*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_REST),y)
108*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += libmicrohttpd
109*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-rest
110*4882a593Smuzhiyunelse
111*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-rest
112*4882a593Smuzhiyunendif
113*4882a593Smuzhiyun
114*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS),y)
115*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-unix-sockets
116*4882a593Smuzhiyunelse
117*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-unix-sockets
118*4882a593Smuzhiyunendif
119*4882a593Smuzhiyun
120*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS),y)
121*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += libwebsockets
122*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-websockets
123*4882a593Smuzhiyunelse
124*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-websockets
125*4882a593Smuzhiyunendif
126*4882a593Smuzhiyun
127*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SYSTEMD),y)
128*4882a593SmuzhiyunJANUS_GATEWAY_DEPENDENCIES += systemd
129*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --enable-systemd-sockets
130*4882a593Smuzhiyunelse
131*4882a593SmuzhiyunJANUS_GATEWAY_CONF_OPTS += --disable-systemd-sockets
132*4882a593Smuzhiyunendif
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun$(eval $(autotools-package))
135