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