2 # Copyright (C) 2009-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_DISTNAME
:=$(PKG_NAME
)_
$(PKG_SOURCE_PROTO
)
18 # The latest FS git hash in PKG_SOURCE_VERSION can be obtained from
19 # http://fisheye.freeswitch.org
21 FS_WITH_DEFAULT_HEAD
:=5173471b06d88063ec7e2622c92c9674840ae4b1
22 PKG_SOURCE_URL
:=https
://stash.
$(PKG_NAME
).org
/scm
/fs
/$(PKG_NAME
).git
23 PKG_SOURCE_VERSION
:=$(if
$(CONFIG_FS_WITH_LATEST_HEAD
),$(shell git ls-remote
$(PKG_SOURCE_URL
) HEAD|cut
-f1
),$(FS_WITH_DEFAULT_HEAD
))
24 FS_WITH_DEFAULT_HEAD_SHORT
:=$(shell echo
$(FS_WITH_DEFAULT_HEAD
)|cut
-b
-7)
25 PKG_SOURCE_VERSION_SHORT
:=$(shell echo
$(PKG_SOURCE_VERSION
)|cut
-b
-7)
26 PKG_RELEASE
:=$(PKG_SOURCE_VERSION_SHORT
)
27 PKG_SOURCE_SUBDIR
:=$(PKG_DISTNAME
)
28 PKG_SOURCE
:=$(PKG_SOURCE_SUBDIR
)-$(if
$(CONFIG_FS_WITH_LOCAL_SOURCE
),$(FS_WITH_DEFAULT_HEAD_SHORT
).
tar.xz
,$(PKG_SOURCE_VERSION_SHORT
).
tar.bz2
)
29 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
32 PKG_FIXUP
:=libtool autoreconf
36 ifeq ($(CONFIG_DEVEL
),y
)
42 FS_WITH_CORE_LIBEDIT_SUPPORT
:libedit \
43 FS_WITH_MYSQL
:libmysqlclient \
44 FS_WITH_POSTGRESQL
:libpq \
45 FS_WITH_SQLITE3
:libsqlite3 \
49 TAR_OPTIONS
+= --strip-components
=1 -C
$(PKG_BUILD_DIR
)
166 spidermonkey-core-db \
169 spidermonkey-socket \
170 spidermonkey-teletone \
194 PKG_CONFIG_DEPENDS
:= \
195 CONFIG_FS_WITH_ALSA \
196 CONFIG_FS_WITH_BUILTIN_ZRTP \
197 CONFIG_FS_WITH_CORE_LIBEDIT_SUPPORT \
198 CONFIG_FS_WITH_DEFAULT_HEAD \
199 CONFIG_FS_WITH_ERLANG \
201 CONFIG_FS_WITH_FIXED_POINT \
202 CONFIG_FS_WITH_IPV6 \
203 CONFIG_FS_WITH_LATEST_HEAD \
204 CONFIG_FS_WITH_LOCAL_SOURCE \
205 CONFIG_FS_WITH_LZMA \
206 CONFIG_FS_WITH_MYSQL \
207 CONFIG_FS_WITH_ODBC \
209 CONFIG_FS_WITH_OPENSSL \
210 CONFIG_FS_WITH_OPENWRT_SOURCE \
212 CONFIG_FS_WITH_POSTGRESQL \
213 CONFIG_FS_WITH_SQLITE3 \
214 CONFIG_FS_WITH_SCTP \
215 CONFIG_FS_WITH_SRTP \
216 CONFIG_FS_WITH_SRTP_GENERIC_AESICM \
217 CONFIG_FS_WITH_SRTP_KERNEL_LINUX \
218 CONFIG_FS_WITH_SRTP_OPENSSL \
219 CONFIG_FS_WITH_THREADS \
220 CONFIG_FS_WITH_VISIBILITY \
221 $(patsubst %,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
%,$(FS_MOD_AVAILABLE
)) \
224 include $(INCLUDE_DIR
)/package.mk
225 include $(INCLUDE_DIR
)/nls.mk
227 ifneq ($(CONFIG_CCACHE
),)
228 TARGET_CC
=$(TARGET_CC_NOCACHE
)
229 TARGET_CXX
=$(TARGET_CXX_NOCACHE
)
233 define Package
/$(PKG_NAME
)/Default
237 URL
:=http
://www.
$(PKG_NAME
).org
/
238 MAINTAINER
:=Mazi Lo
<openwrt.mazilo@recursor.net
>
243 define Package
/$(PKG_NAME
)
244 $(call Package
/$(PKG_NAME
)/Default
)
245 TITLE
:=FreeSWITCH open source telephony platform
($(PKG_SOURCE_VERSION_SHORT
))
246 DEPENDS
:=+FS_WITH_CORE_LIBEDIT_SUPPORT
:libedit
+FS_WITH_OPENSSL
:libopenssl
+libcurl
+libdb47
+libgdbm
$(ICONV_DEPENDS
) $(INTL_DEPENDS
) +libjpeg
+libncurses
+libopenldap
+libpcre
+libpthread
+librt
+libspeex
+libspeexdsp
+FS_WITH_SQLITE3
:libsqlite3
+FS_WITH_SRTP
:libsrtp
+SSP_SUPPORT
:libssp
+libstdcpp
+libuuid
+PACKAGE_
$(PKG_NAME
)-mod-perl
:perl
250 define Package
/$(PKG_NAME
)/description
251 FreeSWITCH is an open source telephony platform designed to
252 facilitate the creation of voice and chat driven products
253 scaling from a soft-phone up to a soft-switch.
257 define Package
/$(PKG_NAME
)/config
258 source
"$(SOURCE)/Config.in"
262 define Package
/$(PKG_NAME
)-mod-spandsp
/config
263 config FS_WITH_FIXED_POINT
264 depends on PACKAGE_
$(PKG_NAME
)-mod-spandsp
265 bool
"Enable fixed point support for spandsp (may degrade performance)"
268 Compile spandsp package with a fixed point support. ONLY enabled this option when
269 necessary
, i.e. CPU doesn
't support floating computation.
273 define Package/$(PKG_NAME)-example-config
274 $(call Package/$(PKG_NAME)/Default)
275 TITLE:=FreeSWITCH example config (commented)
276 DEPENDS:= $(PKG_NAME)
280 define Package/$(PKG_NAME)-example-config/description
281 The default configuration included with FreeSWITCH. It is not intended to be
282 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
283 be an example of how FreeSWITCH can be configured.
287 define Package/$(PKG_NAME)-config-upstream-defaults
288 $(call Package/$(PKG_NAME)/Default)
289 TITLE:=FreeSWITCH upstream config
290 DEPENDS:= $(PKG_NAME)
294 define Package/$(PKG_NAME)-config-upstream-defaults/description
295 The default configuration included with FreeSWITCH. It is not intended to be
296 a final product, and but is included for those who don't want to use the
297 OpenWRT configuration and
/or want to try things
as prepared by upstream.
301 define Package
/$(PKG_NAME
)-config-minimal
302 $(call Package
/$(PKG_NAME
)/Default
)
303 TITLE
:=FreeSWITCH minimal config
304 DEPENDS
:= $(PKG_NAME
)
308 define Package
/$(PKG_NAME
)-config-minimal
/description
309 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
310 configuration began with.
314 define Package
/$(PKG_NAME
)-collection-upstream-defaults
315 $(call Package
/$(PKG_NAME
)/Default
)
316 TITLE
:=FS upstream def sample conf
317 DEPENDS
:= $(PKG_NAME
) \
318 +$(PKG_NAME
)-config-upstream-defaults \
319 +$(PKG_NAME
)-mod-callcenter \
320 +$(PKG_NAME
)-mod-codec2 \
321 +$(PKG_NAME
)-mod-commands \
322 +$(PKG_NAME
)-mod-conference \
323 +$(PKG_NAME
)-mod-curl \
324 +$(PKG_NAME
)-mod-dialplan-xml \
325 +$(PKG_NAME
)-mod-dingaling \
326 +$(PKG_NAME
)-mod-dptools \
327 +$(PKG_NAME
)-mod-event-socket \
328 +$(PKG_NAME
)-mod-g723-1 \
329 +$(PKG_NAME
)-mod-g729 \
330 +$(PKG_NAME
)-mod-hash \
331 +$(PKG_NAME
)-mod-http-cache \
332 +$(PKG_NAME
)-mod-ilbc \
333 +$(PKG_NAME
)-mod-local-stream \
334 +$(PKG_NAME
)-mod-lua \
335 +$(PKG_NAME
)-mod-native-file \
336 +$(PKG_NAME
)-mod-say-en \
337 +$(PKG_NAME
)-mod-sndfile \
338 +$(PKG_NAME
)-mod-sofia \
339 +$(PKG_NAME
)-mod-syslog \
340 +$(PKG_NAME
)-mod-tone-stream \
341 +$(PKG_NAME
)-mod-xml-curl \
342 +$(PKG_NAME
)-mod-xml-rpc \
347 define Package
/$(PKG_NAME
)-collection-minimal
348 $(call Package
/$(PKG_NAME
)/Default
)
349 TITLE
:=FreeSWITCH minimal package collection
351 DEPENDS
:= $(PKG_NAME
) \
352 +$(PKG_NAME
)-config-minimal \
353 +$(PKG_NAME
)-mod-codec2 \
354 +$(PKG_NAME
)-mod-commands \
355 +$(PKG_NAME
)-mod-dialplan-xml \
356 +$(PKG_NAME
)-mod-dptools \
357 +$(PKG_NAME
)-mod-event-socket \
358 +$(PKG_NAME
)-mod-hash \
359 +$(PKG_NAME
)-mod-local-stream \
360 +$(PKG_NAME
)-mod-sndfile \
361 +$(PKG_NAME
)-mod-sofia \
362 +$(PKG_NAME
)-mod-syslog \
363 +$(PKG_NAME
)-mod-tone-stream \
368 define Package
/$(PKG_NAME
)-sounds-en-08KHz
369 $(call Package
/$(PKG_NAME
)/Default
)
370 TITLE
:=FreeSWITCH
8KHz english sounds
371 DEPENDS
:= $(PKG_NAME
)
375 define Package
/$(PKG_NAME
)-sounds-en-16KHz
376 $(call Package
/$(PKG_NAME
)/Default
)
377 TITLE
:=FreeSWITCH
16KHz english sounds
378 DEPENDS
:= +$(PKG_NAME
)-sounds-en-08KHz
382 define Package
/$(PKG_NAME
)-sounds-en-32KHz
383 $(call Package
/$(PKG_NAME
)/Default
)
384 TITLE
:=FreeSWITCH
32KHz english sounds
385 DEPENDS
:= +$(PKG_NAME
)-sounds-en-16KHz
389 define Package
/$(PKG_NAME
)-sounds-en-48KHz
390 $(call Package
/$(PKG_NAME
)/Default
)
391 TITLE
:=FreeSWITCH
48KHz english sounds
392 DEPENDS
:= +$(PKG_NAME
)-sounds-en-32KHz
396 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
397 $(call Package
/$(PKG_NAME
)/Default
)
398 TITLE
:=FreeSWITCH
8KHz music-on-hold sounds
399 DEPENDS
:= $(PKG_NAME
)
403 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
404 $(call Package
/$(PKG_NAME
)/Default
)
405 TITLE
:=FreeSWITCH
16KHz music-on-hold sounds
406 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-08KHz
410 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
411 $(call Package
/$(PKG_NAME
)/Default
)
412 TITLE
:=FreeSWITCH
32KHz music-on-hold sounds
413 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-16KHz
417 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
418 $(call Package
/$(PKG_NAME
)/Default
)
419 TITLE
:=FreeSWITCH
48KHz music-on-hold sounds
420 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-32KHz
424 define Package
/$(PKG_NAME
)-tools
425 $(call Package
/$(PKG_NAME
)/Default
)
426 TITLE
:=FreeSWITCH control tools
427 DEPENDS
:= $(PKG_NAME
)
431 define Download
/files
434 URL
:=$(if
$(4),$(4),http
://files.
$(PKG_NAME
).org
)/$(5)
438 $(LN
) $(DL_DIR
)/$(2) $(PKG_BUILD_DIR
)/$(6)
440 $$(eval
$$(call Download
,$(1)))
444 MAKE_INSTALL_TARGETS
:=install
447 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-celt
),)
448 $(eval
$(call Download
/files
,celt
,celt-0.10
.0.
tar.gz
,a656f6176e9be84027c0e51ceedd710f
,,downloads
/libs
/,libs
/))
452 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
),)
453 $(eval
$(call Download
/files
,json-cdr
,json-c-0.9.
tar.gz
,4653b3b9c568bb9c782178abfaac128d
,,downloads
/libs
/,libs
/))
457 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-event-zmq
),)
458 $(eval
$(call Download
/files
,event-zmq
,zeromq-2.1
.9.
tar.gz
,94c5e0262a79c5f82bc0b178c1f8a33d
,http
://download.zeromq.org http
://download.zeromq.org
/historic
,,libs
/))
462 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-flite
),)
463 $(eval
$(call Download
/files
,flite
,flite-1.5
.4-current.
tar.bz2
,f3a2d88b1059f6f4ff3c20a8169bc0f4
,,downloads
/libs
/,libs
/))
467 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-memcache
),)
468 $(eval
$(call Download
/files
,memcache
,libmemcached-0.32.
tar.gz
,2f06059803737b6bf6135edfc86db4b3
,,downloads
/libs
/,libs
/))
472 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-mongo
),)
473 $(eval
$(call Download
/files
,mongo
,mongo-c-driver-0.92
.2.
tar.gz
,afab25a33abd3f1e0ba79c5a9da92651
,,downloads
/libs
/,libs
/))
477 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-opus
),)
478 $(eval
$(call Download
/files
,opus
,opus-1.1
-p2.
tar.gz
,5da7cb39925bfb7dd60ea2e810f71357
,,downloads
/libs
/,libs
/))
482 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-ldap
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-ldap
),)
483 $(eval
$(call Download
/files
,ldap
,openldap-2.4
.19.
tar.gz
,4a6dab2711fcf141f19bb680bc335887
,,downloads
/libs
/,libs
/))
487 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),)
488 $(eval
$(call Download
/files
,sounds-en-08KHz
,$(PKG_NAME
)-sounds-en-us-callie-8000-1.0
.25.
tar.gz
,1140efad453ed1a72259d799f7fef0fc
,,,))
489 MAKE_INSTALL_TARGETS
+= sounds-install
493 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),)
494 $(eval
$(call Download
/files
,sounds-en-16KHz
,$(PKG_NAME
)-sounds-en-us-callie-16000-1.0
.25.
tar.gz
,20b9bf1b1637be2abe838113fb675c41
,,,))
495 MAKE_INSTALL_TARGETS
+= hd-sounds-install
499 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),)
500 $(eval
$(call Download
/files
,sounds-en-32KHz
,$(PKG_NAME
)-sounds-en-us-callie-32000-1.0
.25.
tar.gz
,977d453d8ffa9a5b0fadee8408e84f60
,,,))
501 MAKE_INSTALL_TARGETS
+= uhd-sounds-install
505 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),)
506 $(eval
$(call Download
/files
,sounds-en-48KHz
,$(PKG_NAME
)-sounds-en-us-callie-48000-1.0
.25.
tar.gz
,96ec0df908eb1c535063fdc8580626d2
,,,))
507 MAKE_INSTALL_TARGETS
+= cd-sounds-install
511 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),)
512 $(eval
$(call Download
/files
,sounds-moh-08KHz
,$(PKG_NAME
)-sounds-music-8000-1.0
.8.
tar.gz
,f63ef3cc3507af079ae5c7b8b8a01e42
,,,))
513 MAKE_INSTALL_TARGETS
+= moh-install
517 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),)
518 $(eval
$(call Download
/files
,sounds-moh-16KHz
,$(PKG_NAME
)-sounds-music-16000-1.0
.8.
tar.gz
,7fd0ca9a9e3878783baa39b8187743bf
,,,))
519 MAKE_INSTALL_TARGETS
+= hd-moh-install
523 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),)
524 $(eval
$(call Download
/files
,sounds-moh-32KHz
,$(PKG_NAME
)-sounds-music-32000-1.0
.8.
tar.gz
,7e03932ea81b8d0bf6d686f838b060b4
,,,))
525 MAKE_INSTALL_TARGETS
+= uhd-moh-install
529 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),)
530 $(eval
$(call Download
/files
,sounds-moh-48KHz
,$(PKG_NAME
)-sounds-music-48000-1.0
.8.
tar.gz
,d06cd2a80379f224affab21f5180e4c6
,,,))
531 MAKE_INSTALL_TARGETS
+= cd-moh-install
536 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
538 ifneq ($(CONFIG_avr32
),)
539 TARGET_CFLAGS
+= -fgnu89-inline
540 TARGET_CXXFLAGS
+= -fgnu89-inline
544 ifneq ($(CONFIG_USE_EGLIBC
),)
545 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP
),)
546 TARGET_CFLAGS
+= -DNO_GETLOGIN
551 FS_TARGET_CFLAGS
:= $(TARGET_CFLAGS
) -DLUA_USE_LINUX
$(FPIC
) -std
=gnu99
-Wno-format
-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-implicit-function-declaration
552 FS_TARGET_CXXFLAGS
:= $(TARGET_CXXFLAGS
)
553 FS_TARGET_CPPFLAGS
:= -I.
-I.
/lua
$(TARGET_CPPFLAGS
) $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-json-cdr
),-Wno-error
) -I
`ls -d $(PKG_BUILD_DIR)/libs/*|grep tiff`/libtiff
-I
$(PKG_BUILD_DIR
)/libs
/spandsp
/src
557 OPT_FLAGS
+="$(TARGET_CFLAGS)"
561 AR
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
562 CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
563 CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
564 RANLIB
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
565 CC_FOR_BUILD
="$(HOSTCC)" \
569 --host
=$(GNU_TARGET_NAME
) \
570 --build
=$(GNU_HOST_NAME
) \
571 --prefix="/usr/share/$(PKG_NAME)" \
572 --bindir="/usr/bin" \
573 --libdir="/usr/lib" \
574 --srcdir="$(PKG_BUILD_DIR)" \
575 --sysconfdir
="/etc/$(PKG_NAME)" \
576 --with-modinstdir
="/usr/lib/$(PKG_NAME)" \
577 --with-random
="/dev/urandom" \
578 $(call autoconf_bool
,CONFIG_FS_WITH_BUILTIN_ZRTP
,zrtp
) \
579 $(call autoconf_bool
,CONFIG_FS_WITH_CORE_LIBEDIT_SUPPORT
,core-libedit-support
) \
580 $(call autoconf_bool
,CONFIG_FS_WITH_FHS
,fhs
) \
581 $(call autoconf_bool
,CONFIG_FS_WITH_IPV6
,ipv6
) \
582 $(call autoconf_bool
,CONFIG_FS_WITH_LZMA
,lzma
) \
583 $(call autoconf_bool
,CONFIG_FS_WITH_ODBC
,core-odbc-support
) \
584 $(call autoconf_bool
,CONFIG_FS_WITH_OPT
,optimization
) \
585 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-pkgconfig
) \
586 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-support
) \
587 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP
,srtp
) \
588 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_GENERIC_AESICM
,generic-aesicm
) \
589 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_KERNEL_LINUX
,kernel-linux
) \
590 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_OPENSSL
,openssl
) \
591 $(call autoconf_bool
,CONFIG_FS_WITH_THREADS
,threads
) \
592 $(call autoconf_bool
,CONFIG_FS_WITH_VISIBILITY
,visibility
) \
593 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
&& CONFIG_FS_WITH_FIXED_POINT
,fixed-point
) \
594 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
,builtin-tiff
) \
595 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-timerfd
,timerfd-wrapper
) \
596 $(if
$(CONFIG_FS_WITH_MYSQL
),--with
,--without
)-mysql \
597 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)/usr/lib") \
598 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
599 $(if
$(CONFIG_FS_WITH_OGG
),--with-ogg
="$(STAGING_DIR)/usr") \
600 $(if
$(CONFIG_FS_WITH_OPENSSL
),--with
,--without
)-openssl \
601 $(if
$(CONFIG_FS_WITH_POSTGRESQL
),--with
,--without
)-pgsql \
602 $(if
$(CONFIG_FS_WITH_SQLITE3
),--with
,--without
)-sqlite3 \
603 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-celt
),--with-ogg
="$(STAGING_DIR)/usr",--without-ogg
) \
604 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-erlang-event
),--with-erlang
="$(CONFIG_FS_WITH_ERLANG)",--without-erlang
) \
605 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-java
),--with-java
="$(STAGING_DIR)/usr",--without-java
) \
606 $(if
($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-cdr
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-curl
)),--with-libcurl
="$(STAGING_DIR)/usr",--without-libcurl
) \
610 CONFIGURE_ARGS
+= --enable-arm5e-asm \
616 config_TARGET_CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
617 config_TARGET_CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
618 config_TARGET_CFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
619 config_TARGET_CXXFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
620 config_TARGET_CPPFLAGS
="$(FS_TARGET_CPPFLAGS)" \
621 config_TARGET_READLINE_INC
="$(FS_TARGET_CPPFLAGS)" \
622 config_TARGET_READLINE_LIBS
="$(TARGET_LDFLAGS) -lreadline -lncurses" \
623 config_TARGET_LIBS
="$(TARGET_LDFLAGS) -lpthread -ldl" \
624 config_BUILD_CC
="$(HOSTCC)" \
625 CC_FOR_BUILD
="$(HOSTCC)" \
626 BUILDTOOL_CC
="$(HOSTCC)" \
627 BUILDTOOL_CCLD
="$(HOSTCC)" \
628 LDFLAGS_FOR_BUILD
="$(HOST_LDFLAGS)" \
629 CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
630 CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
631 AR
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
632 RANLIB
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
633 CFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
634 CXXFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
635 CPPFLAGS
="$(FS_TARGET_CPPFLAGS)" \
636 LDFLAGS
="$(TARGET_LDFLAGS) -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\"" \
637 HOST_CC
="/usr/bin/cc" \
638 HOST_CXX
="/usr/bin/g++" \
640 ax_cv_c_compiler_vendor
="gnu" \
641 ac_cv_cflags_warn_all_ansi
='-Wall -std=c99 -Wno-unused-variable' \
642 ac_cv_dev_urandom
="yes" \
643 ac_cv_file_dbd_apr_dbd_mysql_c
="no" \
644 ac_cv_file__dev_random
="no" \
645 ac_cv_file__dev_urandom
="yes" \
646 ac_cv_file___dev_urandom_
="yes" \
647 ac_cv_func_mmap_fixed_mapped
="yes" \
648 ac_cv_func_pthread_rwlock_init
="yes" \
649 ac_cv_struct_rlimit
="yes" \
650 apr_cv_mutex_recursive
="yes" \
651 apr_cv_process_shared_works
="no" \
652 apr_cv_tcp_nodelay_with_cork
="yes" \
653 apr_cv_type_rwlock_t
="yes" \
654 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-perl
),ac_cv_path_PERL
="yes") \
655 libzmq_cv_cxx_werror_flag
="" \
659 $(call Build
/Prepare
/Default
)
661 $(call Prepare
/event-zmq
)
662 $(call Prepare
/flite
)
663 $(call Prepare
/json-cdr
)
665 $(call Prepare
/memcache
)
666 $(call Prepare
/mongo
)
668 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),$(call Prepare
/sounds-en-08KHz
))
669 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),$(call Prepare
/sounds-en-16KHz
))
670 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),$(call Prepare
/sounds-en-32KHz
))
671 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),$(call Prepare
/sounds-en-48KHz
))
672 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),$(call Prepare
/sounds-moh-08KHz
))
673 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),$(call Prepare
/sounds-moh-16KHz
))
674 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),$(call Prepare
/sounds-moh-32KHz
))
675 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),$(call Prepare
/sounds-moh-48KHz
))
676 ifeq ($(CONFIG_FS_WITH_LOCAL_SOURCE
),y
)
677 (cd
$(PKG_BUILD_DIR
); $(if
$(CONFIG_FS_WITH_LATEST_HEAD
),if
$(QUILT_CMD
) top
> /dev
/null
2>&1; then
$(QUILT_CMD
) pop
-a
; fi
; git pull
;) if
$(QUILT_CMD
) next
> /dev
/null
2>&1; then
$(QUILT_CMD
) push
-a
; fi
)
682 define Build
/Configure
683 (cd
$(PKG_BUILD_DIR
); $(if
$(CONFIG_FS_WITH_LATEST_HEAD
),if
$(QUILT_CMD
) top
> /dev
/null
2>&1; then
$(QUILT_CMD
) pop
-a
; fi
; git pull
;) if
$(QUILT_CMD
) next
> /dev
/null
2>&1; then
$(QUILT_CMD
) push
-a
; fi
)
684 (cd
$(PKG_BUILD_DIR
); $(AM_TOOL_PATHS
) .
/bootstrap.sh
)
685 $(foreach m
,$(FS_MOD_AVAILABLE
),
686 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
$(m
)),
687 $(SED
) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR
)/modules.conf
689 $(SED
) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR
)/modules.conf
692 $(call Build
/Configure
/Default
)
697 $(call Build
/Compile
/Default
, \
698 DESTDIR
="$(PKG_INSTALL_DIR)" \
699 all $(MAKE_INSTALL_TARGETS
) \
701 $(SED
) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
702 $(SED
) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
706 define Build
/InstallDev
707 $(INSTALL_DIR
) $(1)/usr
/include
708 $(INSTALL_DIR
) $(1)/usr
/lib
709 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include $(1)/usr
710 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$(PKG_NAME
).
{a
,so
*} $(1)/usr
/lib
/
714 define Package
/$(PKG_NAME
)/install
715 $(INSTALL_DIR
) $(1)/etc
/config
716 $(INSTALL_DIR
) $(1)/etc
/default
717 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
718 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/scripts
719 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
720 $(INSTALL_DIR
) $(1)/etc
/init.d
721 $(INSTALL_DIR
) $(1)/usr
/bin
722 $(INSTALL_DIR
) $(1)/usr
/include
723 $(INSTALL_DIR
) $(1)/usr
/lib
724 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
725 $(INSTALL_BIN
) .
/files
/$(PKG_NAME
).init
$(1)/etc
/init.d
/$(PKG_NAME
)
726 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).config
$(1)/etc
/config
/$(PKG_NAME
)
727 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).default
$(1)/etc
/default
/$(PKG_NAME
)
728 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).hotplug
$(1)/etc
/hotplug.d
/iface
/90-$(PKG_NAME
)
729 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/$(PKG_NAME
) $(1)/usr
/bin
/
730 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include $(1)/usr
/
731 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$(PKG_NAME
)* $(1)/usr
/lib
/
732 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/$(PKG_NAME
).
pc $(1)/usr
/lib
/pkgconfig
/
733 $(if
$(1)/usr
/lib
/lib
$(PKG_NAME
).la
,$(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(1)/usr
/lib
/lib
$(PKG_NAME
).la
)
737 define Package
/$(PKG_NAME
)-collection-upstream-defaults
/install
738 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
742 define Package
/$(PKG_NAME
)-example-config
/install
743 $(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
744 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/* $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
/
748 define Package
/$(PKG_NAME
)-config-upstream-defaults
/install
749 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
750 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
) $(1)/etc
754 define Package
/$(PKG_NAME
)-collection-minimal
/install
755 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
759 define Package
/$(PKG_NAME
)-collection-uci-minimal
/install
760 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
764 define Package
/$(PKG_NAME
)-config-minimal
/install
765 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/autoload_configs
768 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml
769 # fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
771 $(foreach f
,dialplan directory jingle_profiles sip_profiles
$(PKG_NAME
).xml fur_elise.ttml mime.types tetris.ttml vars.xml
,$(if
$(PKG_BUILD_DIR
)/conf
/vanilla
/$(f
),$(CP
) $(PKG_BUILD_DIR
)/conf
/vanilla
/$(f
) $(1)/etc
/$(PKG_NAME
);))
774 # Copying acl ivr modules post_load_modules switch timezones
776 $(foreach f
,acl ivr modules post_load_modules switch timezones
,$(if
$(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/$(f
).conf.xml
,$(CP
) $(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/$(f
).conf.xml
$(1)/etc
/$(PKG_NAME
)/autoload_configs
;))
780 define Package
/$(PKG_NAME
)-sounds-en-08KHz
/install
784 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
786 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000; \
787 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000; \
792 define Package
/$(PKG_NAME
)-sounds-en-16KHz
/install
796 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
798 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000; \
799 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000; \
804 define Package
/$(PKG_NAME
)-sounds-en-32KHz
/install
808 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
810 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000; \
811 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000; \
816 define Package
/$(PKG_NAME
)-sounds-en-48KHz
/install
820 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
822 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000; \
823 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000; \
828 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
/install
832 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000;
833 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
837 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
/install
841 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000;
842 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
846 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
/install
850 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000;
851 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
855 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
/install
859 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000;
860 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
864 define Package
/$(PKG_NAME
)-tools
/install
865 $(INSTALL_DIR
) $(1)/usr
/bin
866 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_cli
$(1)/usr
/bin
/
867 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_encode
$(1)/usr
/bin
/
868 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_ivrd
$(1)/usr
/bin
/
869 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fsxs
$(1)/usr
/bin
/
870 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/gentls_cert
$(1)/usr
/bin
/
871 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/tone2wav
$(1)/usr
/bin
/
877 # 3. Selection on module configuration file
878 # 4. Files (module files include different names)
879 # 5. Files (supporting files include different names)
880 # 6. Inter module depends
884 define Package
/$(PKG_NAME
)-mod-
$(1)
885 $$(call Package
/$(PKG_NAME
)/Default
)
886 TITLE
:= FS
$(2) module
887 DEPENDS
:= $(PKG_NAME
) $(foreach m
,$(6),+$(PKG_NAME
)-mod-
$(m
)) $(7)
890 define Package
/$(PKG_NAME
)-mod-
$(1)/install
891 [ -z
"mod_$(subst -,_,$(1))" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/$(PKG_NAME
)
893 for f in
$$$$(realpath
$$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/mod_
$(subst -,_
,$(1)).
*)) $$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/$(4)_
*); \
895 $(CP
) $$$$$$$${f} $$(1)/usr
/lib
/$(PKG_NAME
)/; \
899 # mod_$(subst -,_,$(1)): $(5)
901 $(foreach f
,$(5),[ -d
$(dir $$(1)/usr
/${f}) ] ||
$(INSTALL_DIR
) $(dir $$(1)/usr
/${f});$(CP
) $$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/${f}*) $(dir $$(1)/usr
/${f});)
904 # mod_$(subst -,_,$(1)): Clean installed library control files from referencig to OpenWRT PATH.
906 $(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;s|-L$(PKG_BUILD_DIR)(.*)libtiff ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(foreach l
,`find $$(1)/usr/lib -name "*.la" -print`,$(l
))
909 # 1. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/autoload_configs/$(subst -,_,$(1)).conf.xml)))
911 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
914 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
916 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
919 # 3. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/conf/autoload_configs/$(subst -,_,$(1)).conf.xml)))
921 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
924 # 4. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/conf*/$(subst -,_,$(1)).conf.xml)))
926 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
929 # 5. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/$(subst -,_,$(1)).conf.xml)))
931 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
934 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/$(1)/*.$(1))))
936 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/$(1)/*.
$(1))),[ -d
$$(1)/etc
/$(PKG_NAME
)/$(1) ] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/$(1);$(CP
) $(PKG_BUILD_DIR
)/conf
/$(3)/$(1) $$(1)/etc
/$(PKG_NAME
))
939 define Package
/$(PKG_NAME
)-mod-
$(1)/postinst
941 sed
-i
-e
's|^\([ \t]*\)<!-- *\(.*\)"mod_$(subst -,_,$(1))"\(.*\) *-->\(.*\)$$$$|\1\2"mod_$(subst -,_,$(1))"\3\4|' $$$${IPKG_INSTROOT}/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
944 define Package
/$(PKG_NAME
)-mod-
$(1)/prerm
946 sed
-i
-e
's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
949 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-mod-
$(1)))
953 $(eval
$(call BuildPackage
,$(PKG_NAME
)))
954 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-upstream-defaults
))
955 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-minimal
))
956 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-08KHz
))
957 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-16KHz
))
958 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-32KHz
))
959 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-48KHz
))
960 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-08KHz
))
961 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-16KHz
))
962 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-32KHz
))
963 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-48KHz
))
964 $(eval
$(call BuildPackage
,$(PKG_NAME
)-tools
))
965 $(eval
$(call BuildPackage
,$(PKG_NAME
)-example-config
))
966 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-upstream-defaults
))
967 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-minimal
))
971 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
973 $(eval
$(call BuildPlugin
,abstraction
,An Abstraction To API Call
,vanilla
,,,,))
974 $(eval
$(call BuildPlugin
,alsa
,Alsa Endpoint
,vanilla
,,,,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA
))
975 $(eval
$(call BuildPlugin
,amr
,Adaptive Multi-Rate On Bandwidth Codec
,vanilla
,,,,))
976 $(eval
$(call BuildPlugin
,amrwb
,Wide Band AMR
,vanilla
,,,,))
977 $(eval
$(call BuildPlugin
,avmd
,Advanced Voice Mail Detection
,vanilla
,,,,))
978 $(eval
$(call BuildPlugin
,basic
,BASIC
,vanilla
,,,,))
979 $(eval
$(call BuildPlugin
,blacklist
,Blacklist
,vanilla
,,,,))
980 $(eval
$(call BuildPlugin
,bv
,BroadVoice
16/32-bit Audio Codec
,vanilla
,,,,))
981 $(eval
$(call BuildPlugin
,callcenter
,Call Center
,vanilla
,,,,))
982 $(eval
$(call BuildPlugin
,cdr-csv
,CSV-CDR Handler
,mod
,,,,)) # ~/conf
983 $(eval
$(call BuildPlugin
,cdr-mongodb
,MongoDB CDR logger
,vanilla
,,,,))
984 $(eval
$(call BuildPlugin
,cdr-pg-csv
,PostgreSQL CDR Handler
,vanilla
,,,,+coreutils
+FS_WITH_POSTGRESQL
:libpq @FS_WITH_POSTGRESQL
))
985 $(eval
$(call BuildPlugin
,cdr-sqlite
,SQLite3 CDR Handler
,vanilla
,,,,@FS_WITH_SQLITE3
))
986 $(eval
$(call BuildPlugin
,celt
,CELT Ultra-Low Delay Codec
,vanilla
,,,,+libogg
))
987 $(eval
$(call BuildPlugin
,cepstral
,Cepstral Interface
,vanilla
,,,,@BROKEN
)) # needs <swift.h>
988 $(eval
$(call BuildPlugin
,cidlookup
,Data Query For CID-
>NAME Services
,mod
,,,,+libcurl
)) # ~/conf
989 $(eval
$(call BuildPlugin
,cluechoo
,Framework Demo
,vanilla
,,,,))
990 $(eval
$(call BuildPlugin
,codec2
,CoDec
2,,,,,))
991 $(eval
$(call BuildPlugin
,commands
,API Commands
,vanilla
,,,,))
992 $(eval
$(call BuildPlugin
,conference
,Conference Room
,vanilla
,,,,))
993 $(eval
$(call BuildPlugin
,console
,Console Logger
,vanilla
,,,,))
994 $(eval
$(call BuildPlugin
,curl
,HTTP Request
,vanilla
,,,,+libcurl
))
995 $(eval
$(call BuildPlugin
,dahdi-codec
,DAHDI Codecs
,vanilla
,,,,))
996 $(eval
$(call BuildPlugin
,db
,Database Backend
,vanilla
,,,,+libdb47
))
997 $(eval
$(call BuildPlugin
,dialplan-asterisk
,Asterisk Dialplan Parser
,vanilla
,,,,))
998 $(eval
$(call BuildPlugin
,dialplan-directory
,Dialplan Directory
,vanilla
,,,,))
999 $(eval
$(call BuildPlugin
,dialplan-xml
,Dialplan-XML Interface
,vanilla
,,,,))
1000 $(eval
$(call BuildPlugin
,dingaling
,Jabber Interface
,vanilla
,,,,+libopenssl
))
1001 $(eval
$(call BuildPlugin
,directory
,Search By Name Directory IVR
,vanilla
,,,,))
1002 $(eval
$(call BuildPlugin
,distributor
,Simple Robin-Round Load
,vanilla
,,,,))
1003 $(eval
$(call BuildPlugin
,dptools
,Dialplan Tools
,vanilla
,,,,))
1004 $(eval
$(call BuildPlugin
,easyroute
,Simple DID Routing
,vanilla
,,,,))
1005 $(eval
$(call BuildPlugin
,enum
,ENUM Routing
,,,,,+libldns @BROKEN
))
1006 $(eval
$(call BuildPlugin
,erlang-event
,Erlang Event Handler
,vanilla
,,,,+erlang @BROKEN
))
1007 $(eval
$(call BuildPlugin
,esf
,Extra SIP Functionality
,vanilla
,,,,))
1008 $(eval
$(call BuildPlugin
,event-multicast
,Multicast Event Handler
,vanilla
,,,,))
1009 $(eval
$(call BuildPlugin
,event-socket
,Socket Event Handler
,vanilla
,,,,))
1010 $(eval
$(call BuildPlugin
,event-zmq
,Socket Event Handler By Zero MQ
,vanilla
,,,,+libuuid
))
1011 $(eval
$(call BuildPlugin
,expr
,Expression Evaluation
,vanilla
,,,,))
1012 $(eval
$(call BuildPlugin
,fifo
,FIFO
,vanilla
,,,,))
1013 $(eval
$(call BuildPlugin
,file-string
,Streaming Multiple Sound Files Sequentially
,vanilla
,,,,@OBSOLETE
)) # merged into dptools
1014 $(eval
$(call BuildPlugin
,flite
,Festival TTS
,vanilla
,,,,@
(!(armeb||avr32
)||BROKEN
)))
1015 $(eval
$(call BuildPlugin
,format-cdr
,XML CDR Module to files or curl
,vanilla
,,,,))
1016 $(eval
$(call BuildPlugin
,fsk
,Bell-202
1200-Baud FSK Decoder
,vanilla
,,,,))
1017 $(eval
$(call BuildPlugin
,fsv
,Video Player
/ Recorder
,vanilla
,,,,))
1018 $(eval
$(call BuildPlugin
,g723-1
,G
.723.1 Codec
,vanilla
,,,,))
1019 $(eval
$(call BuildPlugin
,g729
,G
.729 Codec
,vanilla
,,,,))
1020 $(eval
$(call BuildPlugin
,gsmopen
,GSM Modem compatible Endpoint
,mod
,,,alsa
,+FS_WITH_ALSA
:alsa-lib
+FS_WITH_LZMA
:liblzma @FS_WITH_ALSA @BROKEN
)) # needs gsmlib
1021 $(eval
$(call BuildPlugin
,h26x
,H26X Linear Codec
,vanilla
,,,,))
1022 $(eval
$(call BuildPlugin
,h323
,H323 Endpoint
,mod
,,,,@BROKEN
)) # Req. H323Plus v1.24.x or newer
1023 $(eval
$(call BuildPlugin
,hash
,API For Manipulating A Hash Table
,vanilla
,,,,))
1024 #$(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,)) # defunct?
1025 $(eval
$(call BuildPlugin
,httapi
,HT Telephony API and HTTP Caching
,mod
,,,,)) # ~/conf
1026 $(eval
$(call BuildPlugin
,http-cache
,HTTP GET With Caching
,mod
,,,,+libcurl
)) # ~/conf
1027 $(eval
$(call BuildPlugin
,ilbc
,ILBC Codec
,vanilla
,,,,))
1028 $(eval
$(call BuildPlugin
,isac
,iSAC Codec
,vanilla
,,,,))
1029 $(eval
$(call BuildPlugin
,java
,Java Language Interface
,vanilla
,,,,@BROKEN
)) # needs java
1030 $(eval
$(call BuildPlugin
,json-cdr
,JSon-CDR Interface
,mod
,,,,+libcurl
))
1031 $(eval
$(call BuildPlugin
,ldap
,LDAP interface
,vanilla
,,,,+libopenldap
))
1032 $(eval
$(call BuildPlugin
,lcr
,Least Cost Routing
,vanilla
,,,,))
1033 $(eval
$(call BuildPlugin
,local-stream
,Multi-Channel On Same Stream
,vanilla
,,,,))
1034 $(eval
$(call BuildPlugin
,logfile
,File Logger
,vanilla
,,,,))
1035 $(eval
$(call BuildPlugin
,loopback
,Loopback to Dialplan Endpoint
,vanilla
,,,,))
1036 $(eval
$(call BuildPlugin
,lua
,LUA Language Interface
,vanilla
,,,,))
1037 $(eval
$(call BuildPlugin
,managed
,Media Switching Software Library
,vanilla
,,,,+glib2 @BROKEN
)) # needs Mono
1038 $(eval
$(call BuildPlugin
,memcache
,MemCached Interface
,vanilla
,,,,+libmemcached @BROKEN
)) # Req libmemcached
1039 $(eval
$(call BuildPlugin
,mongo
,A Document-Oriented Database
,vanilla
,,,,@BROKEN
))
1040 $(eval
$(call BuildPlugin
,mp4
,MP4 File Format Support For Video
,vanilla
,,,,@BROKEN
)) # needs libmp4v2
1041 $(eval
$(call BuildPlugin
,mp4v
,MP4 CoDec Support For Video
,vanilla
,,,,))
1042 $(eval
$(call BuildPlugin
,native-file
,WAV Format Sound Player
,vanilla
,,,,))
1043 $(eval
$(call BuildPlugin
,nibblebill
,Credit
/ Debit Billing
,vanilla
,,,,))
1044 $(eval
$(call BuildPlugin
,opus
,Opus CoDec
,vanilla
,,,,))
1045 $(eval
$(call BuildPlugin
,oreka
,Media Recording with Oreka
,vanilla
,,,,))
1046 $(eval
$(call BuildPlugin
,perl
,Perl Language Interface
,vanilla
,,lib
/perl5
/5.20/$(PKG_NAME
).la lib
/perl5
/5.20/$(PKG_NAME
).pm lib
/perl5
/5.20/$(PKG_NAME
).so
,,+perl
+libdb47
+libgdbm
))
1047 $(eval
$(call BuildPlugin
,portaudio
,Portaudio To Sound Card Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1048 $(eval
$(call BuildPlugin
,portaudio-stream
,Portaudio Streaming Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1049 $(eval
$(call BuildPlugin
,posix-timer
,POSIX Compliant Soft Timer
,vanilla
,,,,))
1050 $(eval
$(call BuildPlugin
,radius-cdr
,Radius-CDR interface
,vanilla
,,,,@BROKEN
)) # fails in freeradius-client
1051 $(eval
$(call BuildPlugin
,rayo
,Rayo server
& node implementation
,vanilla
,,,,))
1052 $(eval
$(call BuildPlugin
,redis
,Redis Limited Backend
,vanilla
,,,,))
1053 $(eval
$(call BuildPlugin
,rss
,RRS Feeds via TTS
,vanilla
,,,,))
1054 $(eval
$(call BuildPlugin
,rtc
,RTC endpoint
,vanilla
,,,,))
1055 $(eval
$(call BuildPlugin
,rtmp
,RTMP Protocol Handler
,vanilla
,,,,))
1056 $(eval
$(call BuildPlugin
,sangoma-codec
,Sangoma Codec
,vanilla
,,,,@BROKEN
)) # Req. Sangoma CoDec source
1057 $(eval
$(call BuildPlugin
,say-de
,German Say
,vanilla
,,,,))
1058 $(eval
$(call BuildPlugin
,say-en
,English Say
,vanilla
,,,,))
1059 $(eval
$(call BuildPlugin
,say-es
,Spanish Say
,vanilla
,,,,))
1060 $(eval
$(call BuildPlugin
,say-fa
,Persian Say
,vanilla
,,,,))
1061 $(eval
$(call BuildPlugin
,say-fr
,French Say
,vanilla
,,,,))
1062 $(eval
$(call BuildPlugin
,say-hu
,Hungarian Say
,vanilla
,,,,))
1063 $(eval
$(call BuildPlugin
,say-it
,Italian Say
,vanilla
,,,,))
1064 $(eval
$(call BuildPlugin
,say-nl
,Dutch Say
,vanilla
,,,,))
1065 $(eval
$(call BuildPlugin
,say-pt
,Portugeese Say
,vanilla
,,,,))
1066 $(eval
$(call BuildPlugin
,say-ru
,Russian Say
,vanilla
,,,,))
1067 $(eval
$(call BuildPlugin
,say-th
,Thai Say
,vanilla
,,,,))
1068 $(eval
$(call BuildPlugin
,say-zh
,Chineese Say
,vanilla
,,,,))
1069 $(eval
$(call BuildPlugin
,shell-stream
,Streaming Audio Through CLI
,vanilla
,,,,))
1070 $(eval
$(call BuildPlugin
,silk
,Skype
(TM
) SILK Codec Module
,vanilla
,,,,))
1071 $(eval
$(call BuildPlugin
,siren
,G
.722.1 Codec
,vanilla
,,,,))
1072 $(eval
$(call BuildPlugin
,skel
,Template For New Module
,vanilla
,,,,))
1073 $(eval
$(call BuildPlugin
,skinny
,Skinny Call Control Protocol
(SCCP
),vanilla
,,,,))
1074 $(eval
$(call BuildPlugin
,skypopen
,Skype Compatible Endpoint
,mod
,,,,@FEATURE_drawing-backend_libX11
))
1075 $(eval
$(call BuildPlugin
,sms
,SMS
,vanilla
,,,,))
1076 $(eval
$(call BuildPlugin
,snapshot
,Record Audio Snapshot to File
,vanilla
,,,,))
1077 $(eval
$(call BuildPlugin
,sndfile
,Multi-Format Sound File
,vanilla
,,,,))
1078 $(eval
$(call BuildPlugin
,snipe-hunt
,Snipe Hunt
(Simple Example Module
),vanilla
,,,,))
1079 $(eval
$(call BuildPlugin
,snmp
,SNMP AgentX Subagent
,vanilla
,,,,+libnetsnmp
))
1080 $(eval
$(call BuildPlugin
,snom
,SNOM specific features
,vanilla
,,,,))
1081 $(eval
$(call BuildPlugin
,sofia
,SOFIA SIP
,mod
,,,,)) # ~/conf
1082 $(eval
$(call BuildPlugin
,sonar
,Sonar Ping Timer
,vanilla
,,,,))
1083 $(eval
$(call BuildPlugin
,spandsp
,Span DSP
,mod
,,,,+libjpeg
+FS_WITH_LZMA
:liblzma @FS_WITH_LZMA
)) # ~/conf
1084 $(eval
$(call BuildPlugin
,spidermonkey
,JavaScript
,vanilla
,,,,@BROKEN
)) # fails in js
1085 $(eval
$(call BuildPlugin
,spidermonkey-core_db
,JavaScript DB
,vanilla
,,,,@BROKEN
))
1086 $(eval
$(call BuildPlugin
,spidermonkey-curl
,JavaScript Curl
,vanilla
,,,,@BROKEN
))
1087 $(eval
$(call BuildPlugin
,spidermonkey-odbc
,JavaScript ODBC
,vanilla
,,,,@BROKEN
))
1088 $(eval
$(call BuildPlugin
,spidermonkey-socket
,JavaScript Socket
,vanilla
,,,,@BROKEN
))
1089 $(eval
$(call BuildPlugin
,spidermonkey-teletone
,JavaScript Teletone
,vanilla
,,,,@BROKEN
))
1090 $(eval
$(call BuildPlugin
,spy
,User Spy
,vanilla
,,,,))
1091 $(eval
$(call BuildPlugin
,ssml
,SSML audio rendering format
,mod
,,,rayo
,))
1092 $(eval
$(call BuildPlugin
,stress
,Voice Stress Detection
,vanilla
,,,,))
1093 $(eval
$(call BuildPlugin
,syslog
,SysLog logger
,vanilla
,,,,))
1094 $(eval
$(call BuildPlugin
,timerfd
,Linux Kernel timerfd API
,vanilla
,,,,))
1095 $(eval
$(call BuildPlugin
,tone-stream
,Tone Generation Stream
,vanilla
,,,,))
1096 $(eval
$(call BuildPlugin
,tts-commandline
,ASR TTS Command Interface
,vanilla
,,,,))
1097 $(eval
$(call BuildPlugin
,unimrcp
,UniMRCP
(MRCP Client
),vanilla
,,,,@BROKEN
))
1098 $(eval
$(call BuildPlugin
,valet-parking
,Valet Parking Application
,vanilla
,,,,))
1099 $(eval
$(call BuildPlugin
,verto
,HTML5 Verto interface
,vanilla
,,lib
/perl5
/5.20/MCAST.so lib
/perl5
/5.20/MCAST.la lib
/perl5
/5.20/MCAST.pm
,perl rtc
,))
1100 $(eval
$(call BuildPlugin
,vmd
,VoiceMail Beep Detection
,vanilla
,,,,))
1101 $(eval
$(call BuildPlugin
,voicemail
,VoiceMail
,vanilla
,,,,))
1102 $(eval
$(call BuildPlugin
,voicemail-ivr
,VoiceMail IVR
,vanilla
,,,,))
1103 $(eval
$(call BuildPlugin
,vp8
,VP8 Video Codec
,vanilla
,,,,))
1104 $(eval
$(call BuildPlugin
,xml-cdr
,XML-CDR Handler
,vanilla
,,,,+libcurl
))
1105 $(eval
$(call BuildPlugin
,xml-curl
,XML-Curl Gateway
,vanilla
,,,,+libcurl
))
1106 $(eval
$(call BuildPlugin
,xml-ldap
,LDAP-XML Gateway
,vanilla
,,,,+PACKAGE_
$(PKG_NAME
)-mod-ldap
:libopenldap
))
1107 $(eval
$(call BuildPlugin
,xml-rpc
,XML-RPC Interface
,vanilla
,,,,))
1108 $(eval
$(call BuildPlugin
,xml-radius
,Radius authentication and authorization
,vanilla
,,,,+freeradius-client @BROKEN
)) # freeradius-client isn't yet supported by OpenWRT.
1109 $(eval
$(call BuildPlugin
,xml-scgi
,SCGI XML Gateway
,vanilla
,,,,))
1110 $(eval
$(call BuildPlugin
,yaml
,YAML langunage
,vanilla
,,,,+libyaml @BROKEN
))