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
12 PKG_DISTNAME:=$(PKG_NAME)_git
17 # The latest FS git hash in PKG_SOURCE_VERSION can be obtained from http://fisheye.freeswitch.org
20 PKG_SOURCE_URL:=git://git.$(PKG_NAME).org/$(PKG_NAME).git
21 FS_DEFAULT_HEAD:=f5f8e90f0117287fdc1ad39482115ca0d8db3c46
22 FS_LATEST_HEAD:=$(shell git ls-remote $(PKG_SOURCE_URL) HEAD | cut -f1)
23 PKG_SOURCE_VERSION:=$(if $(CONFIG_FS_SOFIA_WITH_PULL_CURRENT),$(FS_LATEST_HEAD),$(FS_DEFAULT_HEAD))
24 PKG_SOURCE_VERSION_SHORT:=$(shell echo $(PKG_SOURCE_VERSION)|cut -b -7)
25 PKG_RELEASE:=$(PKG_SOURCE_VERSION_SHORT)
26 PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)
27 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR)-$(PKG_SOURCE_VERSION_SHORT).tar.bz2
28 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
141 spidermonkey-core-db \
144 spidermonkey-socket \
145 spidermonkey-teletone \
164 PKG_CONFIG_DEPENDS:= \
165 CONFIG_FS_SOFIA_WITH_BUILTIN_ZRTP \
166 CONFIG_FS_SOFIA_WITH_IPV6 \
167 CONFIG_FS_SOFIA_WITH_MYSQL \
168 CONFIG_FS_SOFIA_WITH_ODBC \
169 CONFIG_FS_SOFIA_WITH_OPT \
170 CONFIG_FS_SOFIA_WITH_PULL_CURRENT \
171 CONFIG_FS_SOFIA_WITH_SCTP \
172 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(FS_MOD_AVAILABLE)) \
175 include $(INCLUDE_DIR)/package.mk
176 include $(INCLUDE_DIR)/nls.mk
179 TAR_OPTIONS+= --strip-components=1 -C $(PKG_BUILD_DIR)
182 define Package/$(PKG_NAME)/Default
186 URL:=http://www.$(PKG_NAME).org/
187 MAINTAINER:=Mazilo <OpenWRT@slickdeals.endjunk.com>
191 define Package/$(PKG_NAME)
192 $(call Package/$(PKG_NAME)/Default)
193 TITLE:=FreeSWITCH open source telephony platform ($(PKG_SOURCE_VERSION_SHORT))
194 DEPENDS:=+libcurl +libjpeg +libncurses +libpq +libpthread +librt +libstdcpp
199 define Package/$(PKG_NAME)/description
200 FreeSWITCH is an open source telephony platform designed to
201 facilitate the creation of voice and chat driven products scaling
202 from a soft-phone up to a soft-switch. See http://wiki.$(PKG_NAME).org
206 define Package/$(PKG_NAME)/config
207 config FS_SOFIA_WITH_PULL_CURRENT
209 depends on PACKAGE_$(PKG_NAME)
210 bool "Pull the latest git HEAD - $(PKG_SOURCE_VERSION_SHORT) (Press < Help > for more information)"
213 This existing git HEAD ($(FS_DEFAULT_HEAD)) is probably outdated.
214 Enable this option for the latest git HEAD ($(FS_LATEST_HEAD)).
215 Enable this option ONLY if you know what you are doing. It may and/or may not be cleanly
216 compiled and may require some intervension to create new patches. If you take this route
217 and come up with some patches, please contemplate to contribute or send in your patches.
219 config FS_SOFIA_WITH_IPV6
220 depends on PACKAGE_$(PKG_NAME)
221 bool "Compile with IPV6 support"
224 Compile $(PKG_NAME) with IPV6 Support.
226 config FS_SOFIA_WITH_OPT
227 depends on PACKAGE_$(PKG_NAME)
228 bool "Compile with optimization"
231 Compile $(PKG_NAME) with optimization enabled.
233 config FS_SOFIA_WITH_BUILTIN_ZRTP
234 depends on PACKAGE_$(PKG_NAME)
235 bool "Compile with built-in ZRTP support"
238 Compile $(PKG_NAME)-mod-sofia with ZRTP Support.
242 define Package/$(PKG_NAME)-mod-sofia/config
243 config FS_SOFIA_WITH_MYSQL
244 depends on PACKAGE_$(PKG_NAME)-mod-sofia
245 bool "Compile with MySQL"
247 select PACKAGE_libmysqlclient
249 Compile $(PKG_NAME) with MySQL.
251 config FS_SOFIA_WITH_ODBC
252 depends on PACKAGE_$(PKG_NAME)-mod-sofia
253 depends on PACKAGE_sqliteodbc
254 depends on PACKAGE_unixodbc_svn
255 bool "Compile with ODBC support (Requires unixodbc_svn NOT YET AVAILABLE)"
258 Compile $(PKG_NAME)-mod-sofia with ODBC Support. Since both sqliteodbc and unixodbc_svn packages are not yet available on OpenWRT, $(PKG_NAME)-mod-sofia CAN NOT be compiled with ODBC support.
260 config FS_SOFIA_WITH_SCTP
261 depends on PACKAGE_$(PKG_NAME)-mod-sofia
262 depends on PACKAGE_sctp
263 bool "Compile with SCTP (Stream Control Transfer Protocol) support"
266 Compile $(PKG_NAME)-mod-sofia with SCTP support.
270 define Package/$(PKG_NAME)-example-config
271 $(call Package/$(PKG_NAME)/Default)
272 TITLE:=FreeSWITCH example config (commented)
273 DEPENDS:= $(PKG_NAME)
277 define Package/$(PKG_NAME)-example-config/description
278 The default configuration included with FreeSWITCH. It is not intended to be
279 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
280 be an example of how FreeSWITCH can be configured.
284 define Package/$(PKG_NAME)-config-upstream-defaults
285 $(call Package/$(PKG_NAME)/Default)
286 TITLE:=FreeSWITCH upstream config
287 DEPENDS:= $(PKG_NAME)
291 define Package/$(PKG_NAME)-config-upstream-defaults/description
292 The default configuration included with FreeSWITCH. It is not intended to be
293 a final product, and but is included for those who don't want to use the
294 OpenWRT configuration and/or want to try things as prepared by upstream.
298 define Package/$(PKG_NAME)-config-minimal
299 $(call Package/$(PKG_NAME)/Default)
300 TITLE:=FreeSWITCH minimal config
301 DEPENDS:= $(PKG_NAME)
305 define Package/$(PKG_NAME)-config-minimal/description
306 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
307 configuration began with.
311 define Package/$(PKG_NAME)-collection-upstream-defaults
312 $(call Package/$(PKG_NAME)/Default)
313 TITLE:=FS upstream def sample conf
314 DEPENDS:= $(PKG_NAME) \
315 +$(PKG_NAME)-config-upstream-defaults \
316 +$(PKG_NAME)-mod-callcenter \
317 +$(PKG_NAME)-mod-codec2 \
318 +$(PKG_NAME)-mod-commands \
319 +$(PKG_NAME)-mod-conference \
320 +$(PKG_NAME)-mod-curl \
321 +$(PKG_NAME)-mod-dialplan-xml \
322 +$(PKG_NAME)-mod-dingaling \
323 +$(PKG_NAME)-mod-dptools \
324 +$(PKG_NAME)-mod-event-socket \
325 +$(PKG_NAME)-mod-g723-1 \
326 +$(PKG_NAME)-mod-g729 \
327 +$(PKG_NAME)-mod-hash \
328 +$(PKG_NAME)-mod-http-cache \
329 +$(PKG_NAME)-mod-ilbc \
330 +$(PKG_NAME)-mod-local-stream \
331 +$(PKG_NAME)-mod-lua \
332 +$(PKG_NAME)-mod-native-file \
333 +$(PKG_NAME)-mod-sndfile \
334 +$(PKG_NAME)-mod-sofia \
335 +$(PKG_NAME)-mod-spandsp \
336 +$(PKG_NAME)-mod-speex \
337 +$(PKG_NAME)-mod-syslog \
338 +$(PKG_NAME)-mod-tone-stream \
339 +$(PKG_NAME)-mod-xml-curl \
340 +$(PKG_NAME)-mod-xml-rpc \
345 define Package/$(PKG_NAME)-collection-minimal
346 $(call Package/$(PKG_NAME)/Default)
347 TITLE:=FreeSWITCH minimal package collection
349 DEPENDS:= $(PKG_NAME) \
350 +$(PKG_NAME)-config-minimal \
351 +$(PKG_NAME)-mod-codec2 \
352 +$(PKG_NAME)-mod-commands \
353 +$(PKG_NAME)-mod-dialplan-xml \
354 +$(PKG_NAME)-mod-dptools \
355 +$(PKG_NAME)-mod-event-socket \
356 +$(PKG_NAME)-mod-hash \
357 +$(PKG_NAME)-mod-local-stream \
358 +$(PKG_NAME)-mod-sndfile \
359 +$(PKG_NAME)-mod-sofia \
360 +$(PKG_NAME)-mod-syslog \
361 +$(PKG_NAME)-mod-tone-stream \
366 define Package/$(PKG_NAME)-sounds-en
367 $(call Package/$(PKG_NAME)/Default)
368 TITLE:=FreeSWITCH english sounds
369 DEPENDS:= $(PKG_NAME)
373 define Package/$(PKG_NAME)-sounds-moh
374 $(call Package/$(PKG_NAME)/Default)
375 TITLE:=FreeSWITCH music-on-hold sounds
376 DEPENDS:= $(PKG_NAME)
380 define Package/$(PKG_NAME)-tools
381 $(call Package/$(PKG_NAME)/Default)
382 TITLE:=FreeSWITCH control tools
383 DEPENDS:= $(PKG_NAME)
387 define Download/files
390 URL:=$(if $(4),$(4),http://files.$(PKG_NAME).org)/$(5)
394 $(LN) $(DL_DIR)/$(2) $(PKG_BUILD_DIR)/$(6)
396 $$(eval $$(call Download,$(1)))
400 MAKE_INSTALL_TARGETS:=install
403 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),)
404 $(eval $(call Download/files,celt,celt-0.10.0.tar.gz,a656f6176e9be84027c0e51ceedd710f,,downloads/libs/,libs/))
408 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl),)
409 $(eval $(call Download/files,json-cdr,json-c-0.9.tar.gz,4653b3b9c568bb9c782178abfaac128d,,downloads/libs/,libs/))
413 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-event-zmq),)
414 $(eval $(call Download/files,event-zmq,zeromq-2.1.9.tar.gz,94c5e0262a79c5f82bc0b178c1f8a33d,http://download.zeromq.org http://download.zeromq.org/historic,,libs/))
418 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-flite),)
419 $(eval $(call Download/files,flite,flite-1.5.4-current.tar.bz2,f3a2d88b1059f6f4ff3c20a8169bc0f4,,downloads/libs/,libs/))
423 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-opus),)
424 $(eval $(call Download/files,opus,opus-1.0.2.tar.gz,c503ad05a59ddb44deab96204401be03,,downloads/libs/,libs/))
428 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en),)
429 $(eval $(call Download/files,sounds-en,$(PKG_NAME)-sounds-en-us-callie-8000-1.0.22.tar.gz,cff509d878708ce5e6e7fedac7f683ef,,,))
430 MAKE_INSTALL_TARGETS+= sounds-install
434 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh),)
435 $(eval $(call Download/files,sounds-moh,$(PKG_NAME)-sounds-music-8000-1.0.8.tar.gz,f63ef3cc3507af079ae5c7b8b8a01e42,,,))
436 MAKE_INSTALL_TARGETS+= moh-install
441 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
443 ifneq ($(CONFIG_avr32),)
444 TARGET_CFLAGS += -fgnu89-inline
445 TARGET_CXXFLAGS += -fgnu89-inline
449 ifneq ($(CONFIG_USE_EGLIBC),)
450 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
451 TARGET_CFLAGS += -DNO_GETLOGIN
456 FS_TARGET_CFLAGS:= ${TARGET_CFLAGS} -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-format
457 FS_TARGET_CXXFLAGS:= ${TARGET_CXXFLAGS} -DLUA_USE_LINUX $(FPIC) -Wno-format
458 FS_TARGET_CPPFLAGS:= -I. -I./lua $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-erlang-event),-I$(STAGING_DIR_HOST)/lib/erlang/lib/erl_interface-3.6/include) $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-json-cdr),-Wno-error) ${TARGET_CPPFLAGS}
462 --host=$(GNU_TARGET_NAME) \
463 --build=$(GNU_HOST_NAME) \
464 --prefix="/usr/share/$(PKG_NAME)" \
465 --bindir="/usr/bin" \
466 --libdir="/usr/lib" \
467 --srcdir="$(PKG_BUILD_DIR)" \
468 --sysconfdir="/etc/$(PKG_NAME)" \
469 --with-modinstdir="/usr/lib/$(PKG_NAME)" \
470 --with-random="/dev/urandom" \
471 $(if $(CONFIG_FS_SOFIA_WITH_MYSQL),--with-mysql,--without-mysql) \
472 $(call autoconf_bool,CONFIG_FS_SOFIA_WITH_IPV6,ipv6) \
473 $(call autoconf_bool,CONFIG_FS_SOFIA_WITH_OPT,optimization) \
474 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),--with-ogg="$(STAGING_DIR)/usr",--without-iogg) \
475 $(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) \
476 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-java),--with-java="$(STAGING_DIR)/usr",--without-java) \
477 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp,builtin-tiff) \
478 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-timerfd,timerfd-wrapper) \
479 $(call autoconf_bool,CONFIG_FS_SOFIA_WITH_BUILTIN_ZRTP,zrtp) \
480 $(call autoconf_bool,CONFIG_FS_SOFIA_WITH_ODBC,core-odbc-support) \
481 $(if $(CONFIG_FS_SOFIA_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \
482 $(if $(CONFIG_FS_SOFIA_WITH_ODBC),--with-odbc-lib="$(STAGING_DIR)/usr/lib") \
486 config_TARGET_CC="$(TOOLCHAIN_DIR)/bin/${TARGET_CC}" \
487 config_TARGET_CFLAGS="${FS_TARGET_CPPFLAGS} ${FS_TARGET_CFLAGS}" \
488 config_TARGET_CXX="$(TOOLCHAIN_DIR)/bin/${TARGET_CXX}" \
489 config_TARGET_CXXFLAGS="${FS_TARGET_CPPFLAGS} ${FS_TARGET_CXXFLAGS}" \
490 config_TARGET_CPPFLAGS="${FS_TARGET_CPPFLAGS}" \
491 config_TARGET_READLINE_INC="${FS_TARGET_CPPFLAGS}" \
492 config_TARGET_READLINE_LIBS="${TARGET_LDFLAGS} -lreadline -lncurses" \
493 config_TARGET_LIBS="${TARGET_LDFLAGS} -lpthread -ldl" \
494 config_BUILD_CC="${HOSTCC}" \
495 config_BUILD_CFLAGS="${HOST_CFLAGS}" \
496 CC_FOR_BUILD="${HOSTCC}" \
497 BUILDTOOL_CC="${HOSTCC}" \
498 BUILDTOOL_CCLD="${HOSTCC}" \
499 LDFLAGS="$$$$LDFLAGS" \
500 LDFLAGS_FOR_BUILD="${HOST_LDFLAGS}" \
501 CC="$(TOOLCHAIN_DIR)/bin/${TARGET_CC}" \
502 CXX="$(TOOLCHAIN_DIR)/bin/${TARGET_CXX}" \
503 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
504 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
505 CFLAGS="${FS_TARGET_CPPFLAGS} ${FS_TARGET_CFLAGS}" \
506 CXXFLAGS="${FS_TARGET_CPPFLAGS} ${FS_TARGET_CXXFLAGS}" \
507 CPPFLAGS="${FS_TARGET_CPPFLAGS}" \
508 LDFLAGS="${TARGET_LDFLAGS} -Wl,-rpath-link=\"${STAGING_DIR}/usr/lib\"" \
509 PATH="${PATH}:${STAGING_DIR}" \
510 HOST_CC="/usr/bin/cc" \
511 HOST_CXX="/usr/bin/g++" \
513 PKG_CONFIG="$(STAGING_DIR_HOST)/bin/pkg-config" \
514 PKG_CONFIG_PATH="$(STAGING_DIR_HOST)/lib/pkgconfig" \
515 ax_cv_c_compiler_vendor="gnu" \
516 ac_cv_dev_urandom="yes" \
517 ac_cv_file_dbd_apr_dbd_mysql_c="no" \
518 ac_cv_file__dev_random="no" \
519 ac_cv_file__dev_urandom="yes" \
520 ac_cv_file___dev_urandom_="yes" \
521 ac_cv_func_mmap_fixed_mapped="yes" \
522 ac_cv_func_pthread_rwlock_init="yes" \
523 ac_cv_struct_rlimit="yes" \
524 apr_cv_mutex_recursive="yes" \
525 apr_cv_process_shared_works="no" \
526 apr_cv_tcp_nodelay_with_cork="yes" \
527 apr_cv_type_rwlock_t="yes" \
528 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),ac_cv_path_PERL="yes",) \
529 libzmq_cv_cxx_werror_flag="" \
533 $(call Build/Prepare/Default)
535 $(call Prepare/event-zmq)
536 $(call Prepare/flite)
537 $(call Prepare/json-cdr)
539 $(call Prepare/sounds-en)
540 $(call Prepare/sounds-moh)
544 define Build/Configure
545 if [ -d $(PKG_BUILD_DIR)/libs/libcodec2/src ]; then \
546 (cd $(PKG_BUILD_DIR)/libs/libcodec2/src; $(HOSTCC) -c generate_codebook.c; $(HOSTCC) -o generate_codebook generate_codebook.o -lm) \
548 (cd $(PKG_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap.sh)
549 $(call Build/Configure/Default,)
550 $(foreach m,$(FS_MOD_AVAILABLE),
551 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-$(m)),
552 $(SED) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR)/modules.conf
554 $(SED) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR)/modules.conf
561 $(MAKE) -C $(PKG_BUILD_DIR) \
562 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
563 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
564 CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
565 CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
566 DESTDIR="$(PKG_INSTALL_DIR)" \
567 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
568 all $(MAKE_INSTALL_TARGETS)
569 $(SED) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
570 $(SED) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
574 define Build/InstallDev
575 $(INSTALL_DIR) $(1)/usr/include/$(PKG_NAME)
576 $(INSTALL_DIR) $(1)/usr/lib
577 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/include/* $(1)/usr/include/$(PKG_NAME)/
578 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME).{a,so*} $(1)/usr/lib/
582 define Package/$(PKG_NAME)/install
583 $(INSTALL_DIR) $(1)/etc/config
584 $(INSTALL_DIR) $(1)/etc/default
585 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
586 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/scripts
587 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
588 $(INSTALL_DIR) $(1)/etc/init.d
589 $(INSTALL_DIR) $(1)/usr/bin
590 $(INSTALL_DIR) $(1)/usr/lib
591 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
592 $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
593 $(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
594 $(INSTALL_DATA) ./files/$(PKG_NAME).default $(1)/etc/default/$(PKG_NAME)
595 $(INSTALL_DATA) ./files/$(PKG_NAME).hotplug $(1)/etc/hotplug.d/iface/90-$(PKG_NAME)
596 $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/
597 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME)* $(1)/usr/lib/
598 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/$(PKG_NAME).pc $(1)/usr/lib/pkgconfig/
602 define Package/$(PKG_NAME)-collection-upstream-defaults/install
603 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
607 define Package/$(PKG_NAME)-example-config/install
608 $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/examples/conf
609 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/* $(1)/usr/share/$(PKG_NAME)/examples/conf/
613 define Package/$(PKG_NAME)-config-upstream-defaults/install
614 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
615 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/* $(1)/etc/$(PKG_NAME)/
619 define Package/$(PKG_NAME)-collection-minimal/install
620 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
624 define Package/$(PKG_NAME)-collection-uci-minimal/install
625 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
629 define Package/$(PKG_NAME)-config-minimal/install
630 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/autoload_configs
633 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
635 $(foreach ff,dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml,$(if ${PKG_BUILD_DIR}/conf/vanilla/$(ff),$(CP) ${PKG_BUILD_DIR}/conf/vanilla/$(ff) $(1)/etc/$(PKG_NAME);))
638 # Copying acl ivr modules post_load_modules switch timezones
640 $(foreach ff,acl ivr modules post_load_modules switch timezones,$(if ${PKG_BUILD_DIR}/conf/vanilla/autoload_configs/$(ff).conf.xml,$(CP) ${PKG_BUILD_DIR}/conf/vanilla/autoload_configs/$(ff).conf.xml $(1)/etc/$(PKG_NAME)/autoload_configs;))
644 define Package/$(PKG_NAME)-sounds-en/install
645 $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds
646 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en $(1)/usr/share/$(PKG_NAME)/sounds/
650 define Package/$(PKG_NAME)-sounds-moh/install
651 $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds
652 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music $(1)/usr/share/$(PKG_NAME)/sounds/
656 define Package/$(PKG_NAME)-tools/install
657 $(INSTALL_DIR) $(1)/usr/bin
658 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_cli $(1)/usr/bin/
659 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_encode $(1)/usr/bin/
660 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_ivrd $(1)/usr/bin/
661 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fsxs $(1)/usr/bin/
662 $(CP) $(PKG_INSTALL_DIR)/usr/bin/gentls_cert $(1)/usr/bin/
663 $(CP) $(PKG_INSTALL_DIR)/usr/bin/tone2wav $(1)/usr/bin/
670 # 3. Package configuration files
671 # 4. Inter module depends
675 define Package/$(PKG_NAME)-$(1)
676 $$(call Package/$(PKG_NAME)/Default)
677 TITLE:= FS $(2) library and pkgconfig files
678 DEPENDS:= $(PKG_NAME) $(foreach l,$(4),+$(PKG_NAME)-$(l)) $(5)
681 define Package/$(PKG_NAME)-$(1)/install
682 [ -d "$$(1)/usr/lib/pkgconfig" ] || $(INSTALL_DIR) $$(1)/usr/lib/pkgconfig
684 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/$(patsubst lib%,%,${3}).pc $$(1)/usr/lib/pkgconfig
685 $(CP) $(PKG_INSTALL_DIR)/usr/lib/${1}* $$(1)/usr/lib/
688 $$(eval $$(call BuildPackage,$(PKG_NAME)-$(1)))
695 # 3. Selection on module configuration file
696 # 4. Files (module files include different names)
697 # 5. Files (supporting files include different names)
698 # 6. Inter module depends
702 define Package/$(PKG_NAME)-mod-$(1)
703 $$(call Package/$(PKG_NAME)/Default)
704 TITLE:= FS $(2) module
705 DEPENDS:= $(PKG_NAME) $(foreach m,$(6),+$(PKG_NAME)-mod-$(m)) $(7)
708 define Package/$(PKG_NAME)-mod-$(1)/install
709 [ -z "mod_$(subst -,_,$(1))" ] || $(INSTALL_DIR) $$(1)/usr/lib/$(PKG_NAME)
711 for f in $$$$(realpath $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/mod_$(subst -,_,$(1)).*)) $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/$(4)_*); \
713 $(CP) $$$$$$$${f} $$(1)/usr/lib/$(PKG_NAME)/; \
718 [ -d "$(dirname $$(1)/usr/${f})" ] || $(INSTALL_DIR) $(dirname $$(1)/usr/${f}); \
719 $(CP) $(PKG_INSTALL_DIR)/usr/${f} $$(1)/usr/${f}; \
723 # 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)))
725 $$$$(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)
728 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst ${PKG_BUILD_DIR}/%,%,$$$$(firstword $$$$(wildcard ${PKG_BUILD_DIR}/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
730 $$$$(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)
733 # 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)))
735 $$$$(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)
738 # 4. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst ${PKG_BUILD_DIR}/%,%,$$$$(firstword $$$$(wildcard ${PKG_BUILD_DIR}/src/$(3)/*/mod_$(subst -,_,$(1))/configs/$(subst -,_,$(1)).conf.xml)))
740 $$$$(if $$$$(firstword $$$$(wildcard ${PKG_BUILD_DIR}/src/$(3)/*/mod_$(subst -,_,$(1))/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))/configs/$(subst -,_,$(1)).conf.xml)) $$(1)/etc/$(PKG_NAME)/autoload_configs)
743 # 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)))
745 $$$$(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)
748 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst ${PKG_BUILD_DIR}/%,%,$$$$(firstword $$$$(wildcard ${PKG_BUILD_DIR}/conf/$(3)/$(1)/*.$(1))))
750 $$$$(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))
753 define Package/$(PKG_NAME)-mod-$(1)/postinst
755 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
758 define Package/$(PKG_NAME)-mod-$(1)/postrm
760 sed -i -e 's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
763 $$(eval $$(call BuildPackage,$(PKG_NAME)-mod-$(1)))
767 $(eval $(call BuildPackage,$(PKG_NAME)))
768 $(eval $(call BuildPackage,$(PKG_NAME)-collection-upstream-defaults))
769 $(eval $(call BuildPackage,$(PKG_NAME)-collection-minimal))
770 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en))
771 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh))
772 $(eval $(call BuildPackage,$(PKG_NAME)-tools))
773 $(eval $(call BuildPackage,$(PKG_NAME)-example-config))
774 $(eval $(call BuildPackage,$(PKG_NAME)-config-upstream-defaults))
775 $(eval $(call BuildPackage,$(PKG_NAME)-config-minimal))
779 # $(eval $(call BuildLib,Name,Title,Package Configuration Files,Inter Depends,Extra Depends))
781 $(eval $(call BuildLib,libopenzap,OpenZAP,openzap,,))
785 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
787 $(eval $(call BuildPlugin,abstraction,An Abstraction To API Call,vanilla,,,,))
788 $(eval $(call BuildPlugin,alsa,Alsa Endpoint,vanilla,,,,+alsa-lib))
789 $(eval $(call BuildPlugin,amr,Adaptive Multi-Rate On Bandwidth Codec,vanilla,,,,))
790 $(eval $(call BuildPlugin,amrwb,Wide Band AMR,vanilla,,,,))
791 $(eval $(call BuildPlugin,avmd,Advanced Voice Mail Detection,vanilla,,,,))
792 $(eval $(call BuildPlugin,blacklist,Blacklist,vanilla,,,,))
793 $(eval $(call BuildPlugin,bv,BroadVoice16 and BroadVoice32 Audio Codec,vanilla,,,,))
794 $(eval $(call BuildPlugin,callcenter,Call Center,vanilla,,,,))
795 $(eval $(call BuildPlugin,cdr-csv,CSV-CDR Handler,mod,,,,)) # ~/conf
796 $(eval $(call BuildPlugin,cdr-pg-csv,Postgress CDR Handler,vanilla,,,,+coreutils +libpq +postresql))
797 $(eval $(call BuildPlugin,cdr-sqlite,SQLite3 CDR Handler,vanilla,,,,+libsqlite3))
798 $(eval $(call BuildPlugin,celt,CELT Ultra-Low Delay Codec,vanilla,,,,+libogg))
799 $(eval $(call BuildPlugin,cepstral,Cepstral Interface,vanilla,,,,@BROKEN)) # needs <swift.h>
800 $(eval $(call BuildPlugin,cidlookup,Data Query For CID->NAME Services,mod,,,,+libcurl)) # ~/conf
801 $(eval $(call BuildPlugin,cluechoo,Framework Demo,vanilla,,,,))
802 $(eval $(call BuildPlugin,codec2,CoDec 2,,,,,))
803 $(eval $(call BuildPlugin,commands,API Commands,vanilla,,,,))
804 $(eval $(call BuildPlugin,conference,Conference Room,vanilla,,,,))
805 $(eval $(call BuildPlugin,console,Console Logger,vanilla,,,,))
806 $(eval $(call BuildPlugin,curl,HTTP Request,vanilla,,,,+libcurl))
807 $(eval $(call BuildPlugin,dahdi-codec,DAHDI Codecs,vanilla,,,,))
808 $(eval $(call BuildPlugin,db,Database Backend,vanilla,,,,))
809 $(eval $(call BuildPlugin,dialplan-asterisk,Asterisk Dialplan Parser,vanilla,,,,))
810 $(eval $(call BuildPlugin,dialplan-directory,Dialplan Directory,vanilla,,,,))
811 $(eval $(call BuildPlugin,dialplan-xml,Dialplan-XML Interface,vanilla,,,,))
812 $(eval $(call BuildPlugin,dingaling,Jabber Interface,vanilla,,,,+libgnutls +libgcrypt +libopenssl))
813 $(eval $(call BuildPlugin,directory,Search By Name Directory IVR,vanilla,,,,))
814 $(eval $(call BuildPlugin,distributor,Simple Robin-Round Load to Gateway,vanilla,,,,))
815 $(eval $(call BuildPlugin,dptools,Dialplan Tools,vanilla,,,,))
816 $(eval $(call BuildPlugin,easyroute,Simple DID Routing,vanilla,,,,))
817 $(eval $(call BuildPlugin,enum,ENUM Routing,,,,,))
818 $(eval $(call BuildPlugin,erlang-event,Erlang Event Handler,vanilla,,,,+erlang))
819 $(eval $(call BuildPlugin,esf,Extra SIP Functionality,vanilla,,,,))
820 $(eval $(call BuildPlugin,event-multicast,Multicast Event Handler,vanilla,,,,))
821 $(eval $(call BuildPlugin,event-socket,Socket Event Handler,vanilla,,,,))
822 $(eval $(call BuildPlugin,event-zmq,Socket Event Handler By Zero MQ,vanilla,,,,+libuuid))
823 $(eval $(call BuildPlugin,expr,Expression Evaluation,vanilla,,,,))
824 $(eval $(call BuildPlugin,fifo,FIFO,vanilla,,,,))
825 $(eval $(call BuildPlugin,file-string,Streaming Multiple Sound Files Sequentially,vanilla,,,,@OBSOLETE)) # merged into dptools
826 $(eval $(call BuildPlugin,flite,Festival TTS,vanilla,,,,@(!(armeb||avr32)||BROKEN)))
827 $(eval $(call BuildPlugin,fsk,Bell-202 1200-Baud FSK Decoder,vanilla,,,,))
828 $(eval $(call BuildPlugin,fsv,Video Player / Recorder,vanilla,,,,))
829 $(eval $(call BuildPlugin,g723-1,G.723.1 Codec,vanilla,,,,))
830 $(eval $(call BuildPlugin,g729,G.729 Codec,vanilla,,,,))
831 $(eval $(call BuildPlugin,gsmopen,GSM Modem compatible Endpoint,mod,,,,+alsa-lib @BROKEN)) # needs gsmlib
832 $(eval $(call BuildPlugin,h26x,H26X Linear Codec,vanilla,,,,))
833 $(eval $(call BuildPlugin,h323,H323 Endpoint,mod,,,,@BROKEN)) # Req. H323Plus v1.24.x or newer
834 $(eval $(call BuildPlugin,hash,API For Manipulating A Hash Table,vanilla,,,,))
835 $(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,))
836 $(eval $(call BuildPlugin,httapi,HT Telephony API and HTTP Caching,mod,,,,)) # ~/conf
837 $(eval $(call BuildPlugin,http-cache,HTTP GET With Caching,mod,,,,+libcurl)) # ~/conf
838 $(eval $(call BuildPlugin,ilbc,ILBC Codec,vanilla,,,,))
839 $(eval $(call BuildPlugin,isac,iSAC Codec,vanilla,,,,))
840 $(eval $(call BuildPlugin,java,Java Language Interface,vanilla,,,,@BROKEN)) # needs java
841 $(eval $(call BuildPlugin,json-cdr,JSon-CDR Interface,mod,,,,+libcurl))
842 $(eval $(call BuildPlugin,lcr,Least Cost Routing,vanilla,,,,))
843 $(eval $(call BuildPlugin,local-stream,Multi-Channel On Same Stream,vanilla,,,,))
844 $(eval $(call BuildPlugin,logfile,File Logger,vanilla,,,,))
845 $(eval $(call BuildPlugin,loopback,Loopback to Dialplan Endpoint,vanilla,,,,))
846 $(eval $(call BuildPlugin,lua,LUA Language Interface,vanilla,,,,))
847 $(eval $(call BuildPlugin,managed,Media Switching Software Library,vanilla,,,,+glib2 @BROKEN)) # needs Mono
848 $(eval $(call BuildPlugin,mp4,MP4 File Format Support For Video,vanilla,,,,@BROKEN)) # needs libmp4v2
849 $(eval $(call BuildPlugin,mp4v,MP4 CoDec Support For Video,vanilla,,,,))
850 $(eval $(call BuildPlugin,native-file,WAV Format Sound Player,vanilla,,,,))
851 $(eval $(call BuildPlugin,nibblebill,Credit / Debit Billing,vanilla,,,,))
852 $(eval $(call BuildPlugin,oreka,Media Recording with Oreka,vanilla,,,,))
853 $(eval $(call BuildPlugin,openzap,Zaptel (Superseded by FreeTDM),libs,ozmod,,,+$(PKG_NAME)-libopenzap +libpcap))
854 $(eval $(call BuildPlugin,opus,Opus CoDec,vanilla,,,,))
855 $(eval $(call BuildPlugin,portaudio,Portaudio To Sound Card Interface,vanilla,,,,+alsa-lib))
856 $(eval $(call BuildPlugin,portaudio-stream,Portaudio Streaming Interface,vanilla,,,,+alsa-lib))
857 $(eval $(call BuildPlugin,posix-timer,POSIX Compliant Soft Timer,vanilla,,,,))
858 $(eval $(call BuildPlugin,radius-cdr,Radius-CDR interface,vanilla,,,,+freeradius2 @BROKEN)) # fails in freeradius-client
859 $(eval $(call BuildPlugin,redis,Redis Limited Backend,vanilla,,,,))
860 $(eval $(call BuildPlugin,rss,RRS Feeds via TTS,vanilla,,,,))
861 $(eval $(call BuildPlugin,rtmp,RTMP Protocol Handler,vanilla,,,,))
862 $(eval $(call BuildPlugin,sangoma-codec,Sangoma Codec,vanilla,,,,@BROKEN)) # Req. Sangoma CoDec source
863 $(eval $(call BuildPlugin,say-de,German Say,vanilla,,,,))
864 $(eval $(call BuildPlugin,say-en,English Say,vanilla,,,,))
865 $(eval $(call BuildPlugin,say-es,Spanish Say,vanilla,,,,))
866 $(eval $(call BuildPlugin,say-fa,Persian Say,vanilla,,,,))
867 $(eval $(call BuildPlugin,say-fr,French Say,vanilla,,,,))
868 $(eval $(call BuildPlugin,say-hu,Hungarian Say,vanilla,,,,))
869 $(eval $(call BuildPlugin,say-it,Italian Say,vanilla,,,,))
870 $(eval $(call BuildPlugin,say-nl,Dutch Say,vanilla,,,,))
871 $(eval $(call BuildPlugin,say-pt,Portugeese Say,vanilla,,,,))
872 $(eval $(call BuildPlugin,say-ru,Russian Say,vanilla,,,,))
873 $(eval $(call BuildPlugin,say-th,Thai Say,vanilla,,,,))
874 $(eval $(call BuildPlugin,say-zh,Chineese Say,vanilla,,,,))
875 $(eval $(call BuildPlugin,shell-stream,Streaming Audio Through CLI,vanilla,,,,))
876 $(eval $(call BuildPlugin,silk,Skype(TM) SILK Codec Module,vanilla,,,,))
877 $(eval $(call BuildPlugin,siren,G.722.1 Codec,vanilla,,,,))
878 $(eval $(call BuildPlugin,skel,Template For New Module,vanilla,,,,))
879 $(eval $(call BuildPlugin,skinny,Skinny Call Control Protocol (SCCP),vanilla,,,,))
880 $(eval $(call BuildPlugin,skypopen,Skype Compatible Endpoint,mod,,,,@FEATURE_drawing-backend_libX11))
881 $(eval $(call BuildPlugin,sms,SMS,vanilla,,,,))
882 $(eval $(call BuildPlugin,snapshot,Record Audio Snapshot to File,vanilla,,,,))
883 $(eval $(call BuildPlugin,sndfile,Multi-Format Sound File,vanilla,,,,))
884 $(eval $(call BuildPlugin,snipe-hunt,Snipe Hunt (Simple Example Module),vanilla,,,,))
885 $(eval $(call BuildPlugin,snmp,SNMP AgentX Subagent,vanilla,,,,+libnetsnmp))
886 $(eval $(call BuildPlugin,snom,SNOM specific features,vanilla,,,,))
887 $(eval $(call BuildPlugin,sofia,SOFIA SIP,mod,,,,)) # ~/conf
888 $(eval $(call BuildPlugin,sonar,Sonar Ping Timer,vanilla,,,,))
889 $(eval $(call BuildPlugin,spandsp,Span DSP,mod,,,,+libjpeg)) # ~/conf
890 $(eval $(call BuildPlugin,speex,Speex codec,mod,,,,))
891 $(eval $(call BuildPlugin,spidermonkey,JavaScript,vanilla,,,,@BROKEN)) # fails in js
892 $(eval $(call BuildPlugin,spidermonkey-core_db,JavaScript DB,vanilla,,,,@BROKEN))
893 $(eval $(call BuildPlugin,spidermonkey-curl,JavaScript Curl,vanilla,,,,@BROKEN))
894 $(eval $(call BuildPlugin,spidermonkey-odbc,JavaScript ODBC,vanilla,,,,@BROKEN))
895 $(eval $(call BuildPlugin,spidermonkey-socket,JavaScript Socket,vanilla,,,,@BROKEN))
896 $(eval $(call BuildPlugin,spidermonkey-teletone,JavaScript Teletone,vanilla,,,,@BROKEN))
897 $(eval $(call BuildPlugin,spy,User Spy,vanilla,,,,))
898 $(eval $(call BuildPlugin,stress,Voice Stress Detection,vanilla,,,,))
899 $(eval $(call BuildPlugin,syslog,SysLog logger,vanilla,,,,))
900 $(eval $(call BuildPlugin,timerfd,Linux Kernel timerfd API,vanilla,,,,))
901 $(eval $(call BuildPlugin,tone-stream,Tone Generation Stream,vanilla,,,,))
902 $(eval $(call BuildPlugin,tts-commandline,ASR TTS Command Interface,vanilla,,,,))
903 $(eval $(call BuildPlugin,unimrcp,UniMRCP (MRCP Client),vanilla,,,,@BROKEN))
904 $(eval $(call BuildPlugin,valet-parking,Valet Parking Application,vanilla,,,,))
905 $(eval $(call BuildPlugin,vmd,VoiceMail Beep Detection,vanilla,,,,))
906 $(eval $(call BuildPlugin,voicemail,VoiceMail,vanilla,,,,))
907 $(eval $(call BuildPlugin,voicemail-ivr,VoiceMail IVR,vanilla,,,,))
908 $(eval $(call BuildPlugin,xml-cdr,XML-CDR Handler,vanilla,,,,+libcurl))
909 $(eval $(call BuildPlugin,xml-curl,XML-Curl Gateway,vanilla,,,,+libcurl))
910 $(eval $(call BuildPlugin,xml-rpc,XML-RPC Interface,vanilla,,,,))
911 $(eval $(call BuildPlugin,xml-scgi,SCGI XML Gateway,vanilla,,,,))
912 $(eval $(call BuildPlugin,yaml,YAML langunage,vanilla,,,,))