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 PKG_SOURCE_URL:=git://git.$(PKG_NAME).org/$(PKG_NAME).git
22 FS_DEFAULT_HEAD:=4eee5aee8c94910f65f47ade4e873aa62e7117eb
23 FS_LATEST_HEAD:=$(if $(DUMP),$(FS_DEFAULT_HEAD),$(shell git ls-remote $(PKG_SOURCE_URL) HEAD | cut -f1))
24 PKG_SOURCE_VERSION:=$(if $(CONFIG_FS_WITH_PULL_CURRENT),$(FS_LATEST_HEAD),$(FS_DEFAULT_HEAD))
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)-$(PKG_SOURCE_VERSION_SHORT).tar.bz2
29 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
32 PKG_FIXUP:=libtool autoreconf
143 spidermonkey-core-db \
146 spidermonkey-socket \
147 spidermonkey-teletone \
167 PKG_CONFIG_DEPENDS:= \
168 CONFIG_FS_WITH_ALSA \
169 CONFIG_FS_WITH_BUILTIN_ZRTP \
170 CONFIG_FS_WITH_FIXED_POINT \
171 CONFIG_FS_WITH_IPV6 \
172 CONFIG_FS_WITH_LZMA \
173 CONFIG_FS_WITH_MYSQL \
174 CONFIG_FS_WITH_ODBC \
176 CONFIG_FS_WITH_POSTGRESQL \
177 CONFIG_FS_WITH_PULL_CURRENT \
178 CONFIG_FS_WITH_SQLITE3 \
179 CONFIG_FS_WITH_SCTP \
180 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(FS_MOD_AVAILABLE)) \
183 include $(INCLUDE_DIR)/package.mk
184 include $(INCLUDE_DIR)/nls.mk
187 TAR_OPTIONS+= --strip-components=1 -C $(PKG_BUILD_DIR)
190 define Package/$(PKG_NAME)/Default
194 URL:=http://www.$(PKG_NAME).org/
195 MAINTAINER:=Mazilo <openwrt.mazilo@recursor.net>
199 define Package/$(PKG_NAME)
200 $(call Package/$(PKG_NAME)/Default)
201 TITLE:=FreeSWITCH open source telephony platform ($(PKG_SOURCE_VERSION_SHORT))
202 DEPENDS:=+libcurl +libiconv-full +libjpeg +libncurses +libpthread +librt +libstdcpp +FS_WITH_POSTGRESQL:libpq +libuuid
207 define Package/$(PKG_NAME)/description
208 FreeSWITCH is an open source telephony platform designed to
209 facilitate the creation of voice and chat driven products scaling
210 from a soft-phone up to a soft-switch. See http://wiki.$(PKG_NAME).org
214 define Package/$(PKG_NAME)/config
215 config FS_WITH_PULL_CURRENT
217 depends on PACKAGE_$(PKG_NAME)
218 bool "Pull the latest git HEAD - $(PKG_SOURCE_VERSION_SHORT) (Press < Help > for more information)"
221 This existing git HEAD ($(FS_DEFAULT_HEAD))
222 is probably outdated. Enable this option for the latest git HEAD
223 ($(FS_LATEST_HEAD)) ONLY if you know what
224 you are doing. It may and/or may not be cleanly compiled and may
225 require some intervension to create new patches. If you take this
226 route and come up with some patches, please contemplate to contribute
227 or send in your patches.
230 depends on PACKAGE_$(PKG_NAME)
231 bool "Enable ALSA for sound support"
234 Compile $(PKG_NAME) with ALSA support.
236 config FS_WITH_BUILTIN_ZRTP
237 depends on PACKAGE_$(PKG_NAME)
238 bool "Enable built-in ZRTP"
241 Compile $(PKG_NAME) with ZRTP support.
244 depends on PACKAGE_$(PKG_NAME)
245 bool "Enable IPV6 support in APR"
248 Compile libs/apr package with IPV6 support.
251 depends on PACKAGE_$(PKG_NAME) && PACKAGE_liblzma
252 bool "Enable liblzma usage in libtiff"
254 #select PACKAGE_liblzma
256 Compile libs/tiff package with liblzma support. This option requires
257 LZMA2 compression package called liblzma.
260 depends on PACKAGE_$(PKG_NAME)
261 bool "Enable optimization"
264 Compile $(PKG_NAME) with optimization flag enabled. This will add
265 max optimising compiler flags
268 depends on PACKAGE_$(PKG_NAME)
269 bool "Enable SCTP (Stream Control Transfer Protocol) support in APR"
273 Compile $(PKG_NAME) with SCTP support in lib APR.
276 depends on PACKAGE_$(PKG_NAME)
277 bool "Compile apr-util with MySQL"
279 select PACKAGE_libmysqlclient
281 Compile libs/apr-util with MySQL.
283 config FS_WITH_POSTGRESQL
284 depends on PACKAGE_$(PKG_NAME)
285 bool "Compile apr-util (also enable $(PKG_NAME) core) with PostgreSQL support"
288 Compile both libs/apr-util and $(PKG_NAME) with PostgreSQL support.
290 config FS_WITH_SQLITE3
291 depends on PACKAGE_$(PKG_NAME)
292 bool "Compile apr-util with SQLITE3"
294 select PACKAGE_libsqlite3
296 Compile libs/apr-util with SQLITE3.
299 depends on PACKAGE_$(PKG_NAME)
300 depends on PACKAGE_sqliteodbc
301 depends on PACKAGE_unixodbc_svn
302 bool "Compile with ODBC support (Requires unixodbc_svn NOT YET AVAILABLE)"
305 Compile $(PKG_NAME) with ODBC support. Since both sqliteodbc and unixodbc_svn packages
306 are not yet available on OpenWRT, $(PKG_NAME) CAN NOT be compiled with ODBC support.
310 define Package/$(PKG_NAME)-mod-spandsp/config
311 config FS_WITH_FIXED_POINT
312 depends on PACKAGE_$(PKG_NAME)-mod-spandsp
313 bool "Enable fixed point support for spandsp (may degrade performance)"
316 Compile spandsp package with a fixed point support. ONLY enabled this option when
317 necessary, i.e. CPU doesn't support floating computation.
321 define Package/$(PKG_NAME)-example-config
322 $(call Package/$(PKG_NAME)/Default)
323 TITLE:=FreeSWITCH example config (commented)
324 DEPENDS:= $(PKG_NAME)
328 define Package/$(PKG_NAME)-example-config/description
329 The default configuration included with FreeSWITCH. It is not intended to be
330 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
331 be an example of how FreeSWITCH can be configured.
335 define Package/$(PKG_NAME)-config-upstream-defaults
336 $(call Package/$(PKG_NAME)/Default)
337 TITLE:=FreeSWITCH upstream config
338 DEPENDS:= $(PKG_NAME)
342 define Package/$(PKG_NAME)-config-upstream-defaults/description
343 The default configuration included with FreeSWITCH. It is not intended to be
344 a final product, and but is included for those who don't want to use the
345 OpenWRT configuration and/or want to try things as prepared by upstream.
349 define Package/$(PKG_NAME)-config-minimal
350 $(call Package/$(PKG_NAME)/Default)
351 TITLE:=FreeSWITCH minimal config
352 DEPENDS:= $(PKG_NAME)
356 define Package/$(PKG_NAME)-config-minimal/description
357 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
358 configuration began with.
362 define Package/$(PKG_NAME)-collection-upstream-defaults
363 $(call Package/$(PKG_NAME)/Default)
364 TITLE:=FS upstream def sample conf
365 DEPENDS:= $(PKG_NAME) \
366 +$(PKG_NAME)-config-upstream-defaults \
367 +$(PKG_NAME)-mod-callcenter \
368 +$(PKG_NAME)-mod-codec2 \
369 +$(PKG_NAME)-mod-commands \
370 +$(PKG_NAME)-mod-conference \
371 +$(PKG_NAME)-mod-curl \
372 +$(PKG_NAME)-mod-dialplan-xml \
373 +$(PKG_NAME)-mod-dingaling \
374 +$(PKG_NAME)-mod-dptools \
375 +$(PKG_NAME)-mod-event-socket \
376 +$(PKG_NAME)-mod-g723-1 \
377 +$(PKG_NAME)-mod-g729 \
378 +$(PKG_NAME)-mod-hash \
379 +$(PKG_NAME)-mod-http-cache \
380 +$(PKG_NAME)-mod-ilbc \
381 +$(PKG_NAME)-mod-local-stream \
382 +$(PKG_NAME)-mod-lua \
383 +$(PKG_NAME)-mod-native-file \
384 +$(PKG_NAME)-mod-sndfile \
385 +$(PKG_NAME)-mod-sofia \
386 +$(PKG_NAME)-mod-spandsp \
387 +$(PKG_NAME)-mod-speex \
388 +$(PKG_NAME)-mod-syslog \
389 +$(PKG_NAME)-mod-tone-stream \
390 +$(PKG_NAME)-mod-xml-curl \
391 +$(PKG_NAME)-mod-xml-rpc \
396 define Package/$(PKG_NAME)-collection-minimal
397 $(call Package/$(PKG_NAME)/Default)
398 TITLE:=FreeSWITCH minimal package collection
400 DEPENDS:= $(PKG_NAME) \
401 +$(PKG_NAME)-config-minimal \
402 +$(PKG_NAME)-mod-codec2 \
403 +$(PKG_NAME)-mod-commands \
404 +$(PKG_NAME)-mod-dialplan-xml \
405 +$(PKG_NAME)-mod-dptools \
406 +$(PKG_NAME)-mod-event-socket \
407 +$(PKG_NAME)-mod-hash \
408 +$(PKG_NAME)-mod-local-stream \
409 +$(PKG_NAME)-mod-sndfile \
410 +$(PKG_NAME)-mod-sofia \
411 +$(PKG_NAME)-mod-syslog \
412 +$(PKG_NAME)-mod-tone-stream \
417 define Package/$(PKG_NAME)-sounds-en-08KHz
418 $(call Package/$(PKG_NAME)/Default)
419 TITLE:=FreeSWITCH 8KHz english sounds
420 DEPENDS:= $(PKG_NAME)
424 define Package/$(PKG_NAME)-sounds-en-16KHz
425 $(call Package/$(PKG_NAME)/Default)
426 TITLE:=FreeSWITCH 16KHz english sounds
427 DEPENDS:= +$(PKG_NAME)-sounds-en-08KHz
431 define Package/$(PKG_NAME)-sounds-en-32KHz
432 $(call Package/$(PKG_NAME)/Default)
433 TITLE:=FreeSWITCH 32KHz english sounds
434 DEPENDS:= +$(PKG_NAME)-sounds-en-16KHz
438 define Package/$(PKG_NAME)-sounds-en-48KHz
439 $(call Package/$(PKG_NAME)/Default)
440 TITLE:=FreeSWITCH 48KHz english sounds
441 DEPENDS:= +$(PKG_NAME)-sounds-en-32KHz
445 define Package/$(PKG_NAME)-sounds-moh-08KHz
446 $(call Package/$(PKG_NAME)/Default)
447 TITLE:=FreeSWITCH 8KHz music-on-hold sounds
448 DEPENDS:= $(PKG_NAME)
452 define Package/$(PKG_NAME)-sounds-moh-16KHz
453 $(call Package/$(PKG_NAME)/Default)
454 TITLE:=FreeSWITCH 16KHz music-on-hold sounds
455 DEPENDS:= +$(PKG_NAME)-sounds-moh-08KHz
459 define Package/$(PKG_NAME)-sounds-moh-32KHz
460 $(call Package/$(PKG_NAME)/Default)
461 TITLE:=FreeSWITCH 32KHz music-on-hold sounds
462 DEPENDS:= +$(PKG_NAME)-sounds-moh-16KHz
466 define Package/$(PKG_NAME)-sounds-moh-48KHz
467 $(call Package/$(PKG_NAME)/Default)
468 TITLE:=FreeSWITCH 48KHz music-on-hold sounds
469 DEPENDS:= +$(PKG_NAME)-sounds-moh-32KHz
473 define Package/$(PKG_NAME)-tools
474 $(call Package/$(PKG_NAME)/Default)
475 TITLE:=FreeSWITCH control tools
476 DEPENDS:= $(PKG_NAME)
480 define Download/files
483 URL:=$(if $(4),$(4),http://files.$(PKG_NAME).org)/$(5)
487 $(LN) $(DL_DIR)/$(2) $(PKG_BUILD_DIR)/$(6)
489 $$(eval $$(call Download,$(1)))
493 MAKE_INSTALL_TARGETS:=install
496 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),)
497 $(eval $(call Download/files,celt,celt-0.10.0.tar.gz,a656f6176e9be84027c0e51ceedd710f,,downloads/libs/,libs/))
501 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl),)
502 $(eval $(call Download/files,json-cdr,json-c-0.9.tar.gz,4653b3b9c568bb9c782178abfaac128d,,downloads/libs/,libs/))
506 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-event-zmq),)
507 $(eval $(call Download/files,event-zmq,zeromq-2.1.9.tar.gz,94c5e0262a79c5f82bc0b178c1f8a33d,http://download.zeromq.org http://download.zeromq.org/historic,,libs/))
511 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-flite),)
512 $(eval $(call Download/files,flite,flite-1.5.4-current.tar.bz2,f3a2d88b1059f6f4ff3c20a8169bc0f4,,downloads/libs/,libs/))
516 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-opus),)
517 $(eval $(call Download/files,opus,opus-1.0.2.tar.gz,c503ad05a59ddb44deab96204401be03,,downloads/libs/,libs/))
521 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-08KHz),)
522 $(eval $(call Download/files,sounds-en-08KHz,$(PKG_NAME)-sounds-en-us-callie-8000-1.0.25.tar.gz,1140efad453ed1a72259d799f7fef0fc,,,))
523 MAKE_INSTALL_TARGETS+= sounds-install
527 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-16KHz),)
528 $(eval $(call Download/files,sounds-en-16KHz,$(PKG_NAME)-sounds-en-us-callie-16000-1.0.25.tar.gz,20b9bf1b1637be2abe838113fb675c41,,,))
529 MAKE_INSTALL_TARGETS+= hd-sounds-install
533 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-32KHz),)
534 $(eval $(call Download/files,sounds-en-32KHz,$(PKG_NAME)-sounds-en-us-callie-32000-1.0.25.tar.gz,977d453d8ffa9a5b0fadee8408e84f60,,,))
535 MAKE_INSTALL_TARGETS+= uhd-sounds-install
539 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-48KHz),)
540 $(eval $(call Download/files,sounds-en-48KHz,$(PKG_NAME)-sounds-en-us-callie-48000-1.0.25.tar.gz,96ec0df908eb1c535063fdc8580626d2,,,))
541 MAKE_INSTALL_TARGETS+= cd-sounds-install
545 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-08KHz),)
546 $(eval $(call Download/files,sounds-moh-08KHz,$(PKG_NAME)-sounds-music-8000-1.0.8.tar.gz,f63ef3cc3507af079ae5c7b8b8a01e42,,,))
547 MAKE_INSTALL_TARGETS+= moh-install
551 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-16KHz),)
552 $(eval $(call Download/files,sounds-moh-16KHz,$(PKG_NAME)-sounds-music-16000-1.0.8.tar.gz,7fd0ca9a9e3878783baa39b8187743bf,,,))
553 MAKE_INSTALL_TARGETS+= hd-moh-install
557 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-32KHz),)
558 $(eval $(call Download/files,sounds-moh-32KHz,$(PKG_NAME)-sounds-music-32000-1.0.8.tar.gz,7e03932ea81b8d0bf6d686f838b060b4,,,))
559 MAKE_INSTALL_TARGETS+= uhd-moh-install
563 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-48KHz),)
564 $(eval $(call Download/files,sounds-moh-48KHz,$(PKG_NAME)-sounds-music-48000-1.0.8.tar.gz,d06cd2a80379f224affab21f5180e4c6,,,))
565 MAKE_INSTALL_TARGETS+= cd-moh-install
570 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
572 ifneq ($(CONFIG_avr32),)
573 TARGET_CFLAGS += -fgnu89-inline
574 TARGET_CXXFLAGS += -fgnu89-inline
578 ifneq ($(CONFIG_USE_EGLIBC),)
579 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
580 TARGET_CFLAGS += -DNO_GETLOGIN
585 FS_TARGET_CFLAGS:= $(TARGET_CFLAGS) -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-format
586 FS_TARGET_CXXFLAGS:= $(TARGET_CXXFLAGS) -DLUA_USE_LINUX $(FPIC) -Wno-format
587 FS_TARGET_CPPFLAGS:= -I. -I./lua $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-erlang-event),-I$(STAGING_DIR_HOST)/lib/erlang/lib/erl_interface-3.7.7/include) $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-json-cdr),-Wno-error) $(TARGET_CPPFLAGS)
591 --host=$(GNU_TARGET_NAME) \
592 --build=$(GNU_HOST_NAME) \
593 --prefix="/usr/share/$(PKG_NAME)" \
594 --bindir="/usr/bin" \
595 --libdir="/usr/lib" \
596 --srcdir="$(PKG_BUILD_DIR)" \
597 --sysconfdir="/etc/$(PKG_NAME)" \
598 --with-modinstdir="/usr/lib/$(PKG_NAME)" \
599 --with-random="/dev/urandom" \
600 $(if $(CONFIG_FS_WITH_MYSQL),--with,--without)-mysql \
601 $(if $(CONFIG_FS_WITH_POSTGRESQL),--with,--without)-pgsql \
602 $(if $(CONFIG_FS_WITH_SQLITE3),--with,--without)-sqlite3 \
603 $(call autoconf_bool,CONFIG_FS_WITH_IPV6,ipv6) \
604 $(call autoconf_bool,CONFIG_FS_WITH_OPT,optimization) \
605 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),--with-ogg="$(STAGING_DIR)/usr",--without-ogg) \
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) \
607 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-erlang-event),--with,--without)-erlang \
608 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-java),--with-java="$(STAGING_DIR)/usr",--without-java) \
609 $(call autoconf_bool,CONFIG_FS_WITH_LZMA,lzma) \
610 $(call autoconf_bool,CONFIG_FS_WITH_POSTGRESQL,core-pgsql-support) \
611 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp && CONFIG_FS_WITH_FIXED_POINT,fixed-point) \
612 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp,builtin-tiff) \
613 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-timerfd,timerfd-wrapper) \
614 $(call autoconf_bool,CONFIG_FS_WITH_BUILTIN_ZRTP,zrtp) \
615 $(call autoconf_bool,CONFIG_FS_WITH_ODBC,core-odbc-support) \
616 $(if $(CONFIG_FS_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \
617 $(if $(CONFIG_FS_WITH_ODBC),--with-odbc-lib="$(STAGING_DIR)/usr/lib") \
621 config_TARGET_CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
622 config_TARGET_CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
623 config_TARGET_CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
624 config_TARGET_CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
625 config_TARGET_CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
626 config_TARGET_READLINE_INC="$(FS_TARGET_CPPFLAGS)" \
627 config_TARGET_READLINE_LIBS="$(TARGET_LDFLAGS) -lreadline -lncurses" \
628 config_TARGET_LIBS="$(TARGET_LDFLAGS) -lpthread -ldl" \
629 config_BUILD_CC="$(HOSTCC)" \
630 config_BUILD_CFLAGS="$(HOST_CFLAGS)" \
631 CC_FOR_BUILD="$(HOSTCC)" \
632 BUILDTOOL_CC="$(HOSTCC)" \
633 BUILDTOOL_CCLD="$(HOSTCC)" \
634 LDFLAGS="$$$$LDFLAGS" \
635 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
636 CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
637 CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
638 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
639 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
640 CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
641 CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
642 CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
643 LDFLAGS="$(TARGET_LDFLAGS) -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\"" \
644 HOST_CC="/usr/bin/cc" \
645 HOST_CXX="/usr/bin/g++" \
647 ax_cv_c_compiler_vendor="gnu" \
648 ac_cv_dev_urandom="yes" \
649 ac_cv_file_dbd_apr_dbd_mysql_c="no" \
650 ac_cv_file__dev_random="no" \
651 ac_cv_file__dev_urandom="yes" \
652 ac_cv_file___dev_urandom_="yes" \
653 ac_cv_func_mmap_fixed_mapped="yes" \
654 ac_cv_func_pthread_rwlock_init="yes" \
655 ac_cv_struct_rlimit="yes" \
656 apr_cv_mutex_recursive="yes" \
657 apr_cv_process_shared_works="no" \
658 apr_cv_tcp_nodelay_with_cork="yes" \
659 apr_cv_type_rwlock_t="yes" \
660 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),ac_cv_path_PERL="yes",) \
661 libzmq_cv_cxx_werror_flag="" \
665 $(call Build/Prepare/Default)
667 $(call Prepare/event-zmq)
668 $(call Prepare/flite)
669 $(call Prepare/json-cdr)
671 $(call Prepare/sounds-en-08KHz)
672 $(call Prepare/sounds-en-16KHz)
673 $(call Prepare/sounds-en-32KHz)
674 $(call Prepare/sounds-en-48KHz)
675 $(call Prepare/sounds-moh-08KHz)
676 $(call Prepare/sounds-moh-16KHz)
677 $(call Prepare/sounds-moh-32KHz)
678 $(call Prepare/sounds-moh-48KHz)
682 define Build/Configure
683 if [ -d $(PKG_BUILD_DIR)/libs/libcodec2/src ]; then \
684 (cd $(PKG_BUILD_DIR)/libs/libcodec2/src; $(HOSTCC) -c generate_codebook.c; $(HOSTCC) -o generate_codebook generate_codebook.o -lm) \
686 (cd $(PKG_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap.sh)
687 $(call Build/Configure/Default,)
688 $(foreach m,$(FS_MOD_AVAILABLE),
689 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-$(m)),
690 $(SED) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR)/modules.conf
692 $(SED) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR)/modules.conf
699 $(MAKE) -C $(PKG_BUILD_DIR) \
700 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
701 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
702 CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
703 CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
704 DESTDIR="$(PKG_INSTALL_DIR)" \
705 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
706 all $(MAKE_INSTALL_TARGETS)
707 $(SED) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
708 $(SED) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
712 define Build/InstallDev
713 $(INSTALL_DIR) $(1)/usr/include/$(PKG_NAME)
714 $(INSTALL_DIR) $(1)/usr/lib
715 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/include/* $(1)/usr/include/$(PKG_NAME)/
716 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME).{a,so*} $(1)/usr/lib/
720 define Package/$(PKG_NAME)/install
721 $(INSTALL_DIR) $(1)/etc/config
722 $(INSTALL_DIR) $(1)/etc/default
723 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
724 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/scripts
725 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
726 $(INSTALL_DIR) $(1)/etc/init.d
727 $(INSTALL_DIR) $(1)/usr/bin
728 $(INSTALL_DIR) $(1)/usr/lib
729 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
730 $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
731 $(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
732 $(INSTALL_DATA) ./files/$(PKG_NAME).default $(1)/etc/default/$(PKG_NAME)
733 $(INSTALL_DATA) ./files/$(PKG_NAME).hotplug $(1)/etc/hotplug.d/iface/90-$(PKG_NAME)
734 $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/
735 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME)* $(1)/usr/lib/
736 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/$(PKG_NAME).pc $(1)/usr/lib/pkgconfig/
737 $(if $(1)/usr/lib/lib$(PKG_NAME).la,sed -i -e "s#-lcurl -lz\(.*\)/usr/lib/libexpat.la\(.*\)$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)\(.*\)#-L/usr/lib -lcurl -lz /usr/lib/libexpat.la\2/usr\3#g" $(1)/usr/lib/lib$(PKG_NAME).la)
741 define Package/$(PKG_NAME)-collection-upstream-defaults/install
742 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
746 define Package/$(PKG_NAME)-example-config/install
747 $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/examples/conf
748 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/* $(1)/usr/share/$(PKG_NAME)/examples/conf/
752 define Package/$(PKG_NAME)-config-upstream-defaults/install
753 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
754 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME) $(1)/etc
758 define Package/$(PKG_NAME)-collection-minimal/install
759 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
763 define Package/$(PKG_NAME)-collection-uci-minimal/install
764 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
768 define Package/$(PKG_NAME)-config-minimal/install
769 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/autoload_configs
772 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml
773 # fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
775 $(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);))
778 # Copying acl ivr modules post_load_modules switch timezones
780 $(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;))
784 define Package/$(PKG_NAME)-sounds-en-08KHz/install
788 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
790 [ -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; \
791 $(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; \
796 define Package/$(PKG_NAME)-sounds-en-16KHz/install
800 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
802 [ -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; \
803 $(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; \
808 define Package/$(PKG_NAME)-sounds-en-32KHz/install
812 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
814 [ -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; \
815 $(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; \
820 define Package/$(PKG_NAME)-sounds-en-48KHz/install
824 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
826 [ -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; \
827 $(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; \
832 define Package/$(PKG_NAME)-sounds-moh-08KHz/install
836 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/8000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/8000;
837 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/8000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
841 define Package/$(PKG_NAME)-sounds-moh-16KHz/install
845 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/16000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/16000;
846 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/16000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
850 define Package/$(PKG_NAME)-sounds-moh-32KHz/install
854 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/32000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/32000;
855 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/32000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
859 define Package/$(PKG_NAME)-sounds-moh-48KHz/install
863 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/48000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/48000;
864 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/48000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
868 define Package/$(PKG_NAME)-tools/install
869 $(INSTALL_DIR) $(1)/usr/bin
870 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_cli $(1)/usr/bin/
871 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_encode $(1)/usr/bin/
872 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_ivrd $(1)/usr/bin/
873 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fsxs $(1)/usr/bin/
874 $(CP) $(PKG_INSTALL_DIR)/usr/bin/gentls_cert $(1)/usr/bin/
875 $(CP) $(PKG_INSTALL_DIR)/usr/bin/tone2wav $(1)/usr/bin/
881 # 3. Selection on module configuration file
882 # 4. Files (module files include different names)
883 # 5. Files (supporting files include different names)
884 # 6. Inter module depends
888 define Package/$(PKG_NAME)-mod-$(1)
889 $$(call Package/$(PKG_NAME)/Default)
890 TITLE:= FS $(2) module
891 DEPENDS:= $(PKG_NAME) $(foreach m,$(6),+$(PKG_NAME)-mod-$(m)) $(7)
894 define Package/$(PKG_NAME)-mod-$(1)/install
895 [ -z "mod_$(subst -,_,$(1))" ] || $(INSTALL_DIR) $$(1)/usr/lib/$(PKG_NAME)
897 for f in $$$$(realpath $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/mod_$(subst -,_,$(1)).*)) $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/$(4)_*); \
899 $(CP) $$$$$$$${f} $$(1)/usr/lib/$(PKG_NAME)/; \
903 # mod_$(subst -,_,$(1)): $(5)
905 $(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});)
908 # mod_$(subst -,_,$(1)): Clean installed library control files from referencig to OpenWRT PATH.
910 for f in `ls $$(1)/usr/lib/$(PKG_NAME)/*.la`; \
912 sed -i -e "s#' \(.*\)/usr/lib/libexpat.la\(.*\)$(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)\(.*\)#' -L/usr/lib -L/usr/lib/libiconv-full/lib -L/usr/lib/libintl-full/lib /usr/lib/lib$(PKG_NAME).la /usr/lib/libexpat.la\2/usr\3#g;s#' \(.*\)/usr/lib/libintl-full/lib#' -L/usr/lib -L/usr/lib/libiconv-full/lib -L/usr/lib/libintl-full/lib#g;s#-L\.\.##g;s#$(PKG_BUILD_DIR)\(.*\)/usr/lib/libtiff.la\(.*\)#/usr/lib/libtiff.la\2#g" $$$$$$$${f}; \
916 # 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)))
918 $$$$(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)
921 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
923 $$$$(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)
926 # 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)))
928 $$$$(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)
931 # 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)))
933 $$$$(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)
936 # 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)))
938 $$$$(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)
941 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/$(1)/*.$(1))))
943 $$$$(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))
946 define Package/$(PKG_NAME)-mod-$(1)/postinst
948 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
951 define Package/$(PKG_NAME)-mod-$(1)/prerm
953 sed -i -e 's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
956 $$(eval $$(call BuildPackage,$(PKG_NAME)-mod-$(1)))
960 $(eval $(call BuildPackage,$(PKG_NAME)))
961 $(eval $(call BuildPackage,$(PKG_NAME)-collection-upstream-defaults))
962 $(eval $(call BuildPackage,$(PKG_NAME)-collection-minimal))
963 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-08KHz))
964 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-16KHz))
965 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-32KHz))
966 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-48KHz))
967 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-08KHz))
968 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-16KHz))
969 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-32KHz))
970 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-48KHz))
971 $(eval $(call BuildPackage,$(PKG_NAME)-tools))
972 $(eval $(call BuildPackage,$(PKG_NAME)-example-config))
973 $(eval $(call BuildPackage,$(PKG_NAME)-config-upstream-defaults))
974 $(eval $(call BuildPackage,$(PKG_NAME)-config-minimal))
978 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
980 $(eval $(call BuildPlugin,abstraction,An Abstraction To API Call,vanilla,,,,))
981 $(eval $(call BuildPlugin,alsa,Alsa Endpoint,vanilla,,,,+alsa-lib @FS_WITH_ALSA))
982 $(eval $(call BuildPlugin,amr,Adaptive Multi-Rate On Bandwidth Codec,vanilla,,,,))
983 $(eval $(call BuildPlugin,amrwb,Wide Band AMR,vanilla,,,,))
984 $(eval $(call BuildPlugin,avmd,Advanced Voice Mail Detection,vanilla,,,,))
985 $(eval $(call BuildPlugin,blacklist,Blacklist,vanilla,,,,))
986 $(eval $(call BuildPlugin,bv,BroadVoice 16/32-bit Audio Codec,vanilla,,,,))
987 $(eval $(call BuildPlugin,callcenter,Call Center,vanilla,,,,))
988 $(eval $(call BuildPlugin,cdr-csv,CSV-CDR Handler,mod,,,,)) # ~/conf
989 $(eval $(call BuildPlugin,cdr-pg-csv,PostgreSQL CDR Handler,vanilla,,,,+coreutils +FS_WITH_POSTGRESQL:libpq @FS_WITH_POSTGRESQL))
990 $(eval $(call BuildPlugin,cdr-sqlite,SQLite3 CDR Handler,vanilla,,,,@FS_WITH_SQLITE3))
991 $(eval $(call BuildPlugin,celt,CELT Ultra-Low Delay Codec,vanilla,,,,+libogg))
992 $(eval $(call BuildPlugin,cepstral,Cepstral Interface,vanilla,,,,@BROKEN)) # needs <swift.h>
993 $(eval $(call BuildPlugin,cidlookup,Data Query For CID->NAME Services,mod,,,,+libcurl)) # ~/conf
994 $(eval $(call BuildPlugin,cluechoo,Framework Demo,vanilla,,,,))
995 $(eval $(call BuildPlugin,codec2,CoDec 2,,,,,))
996 $(eval $(call BuildPlugin,commands,API Commands,vanilla,,,,))
997 $(eval $(call BuildPlugin,conference,Conference Room,vanilla,,,,))
998 $(eval $(call BuildPlugin,console,Console Logger,vanilla,,,,))
999 $(eval $(call BuildPlugin,curl,HTTP Request,vanilla,,,,+libcurl))
1000 $(eval $(call BuildPlugin,dahdi-codec,DAHDI Codecs,vanilla,,,,))
1001 $(eval $(call BuildPlugin,db,Database Backend,vanilla,,,,))
1002 $(eval $(call BuildPlugin,dialplan-asterisk,Asterisk Dialplan Parser,vanilla,,,,))
1003 $(eval $(call BuildPlugin,dialplan-directory,Dialplan Directory,vanilla,,,,))
1004 $(eval $(call BuildPlugin,dialplan-xml,Dialplan-XML Interface,vanilla,,,,))
1005 $(eval $(call BuildPlugin,dingaling,Jabber Interface,vanilla,,,,+libopenssl))
1006 $(eval $(call BuildPlugin,directory,Search By Name Directory IVR,vanilla,,,,))
1007 $(eval $(call BuildPlugin,distributor,Simple Robin-Round Load,vanilla,,,,))
1008 $(eval $(call BuildPlugin,dptools,Dialplan Tools,vanilla,,,,))
1009 $(eval $(call BuildPlugin,easyroute,Simple DID Routing,vanilla,,,,))
1010 $(eval $(call BuildPlugin,enum,ENUM Routing,,,,,))
1011 $(eval $(call BuildPlugin,erlang-event,Erlang Event Handler,vanilla,,,,+erlang @BROKEN))
1012 $(eval $(call BuildPlugin,esf,Extra SIP Functionality,vanilla,,,,))
1013 $(eval $(call BuildPlugin,event-multicast,Multicast Event Handler,vanilla,,,,))
1014 $(eval $(call BuildPlugin,event-socket,Socket Event Handler,vanilla,,,,))
1015 $(eval $(call BuildPlugin,event-zmq,Socket Event Handler By Zero MQ,vanilla,,,,+libuuid))
1016 $(eval $(call BuildPlugin,expr,Expression Evaluation,vanilla,,,,))
1017 $(eval $(call BuildPlugin,fifo,FIFO,vanilla,,,,))
1018 $(eval $(call BuildPlugin,file-string,Streaming Multiple Sound Files Sequentially,vanilla,,,,@OBSOLETE)) # merged into dptools
1019 $(eval $(call BuildPlugin,flite,Festival TTS,vanilla,,,,@(!(armeb||avr32)||BROKEN)))
1020 $(eval $(call BuildPlugin,fsk,Bell-202 1200-Baud FSK Decoder,vanilla,,,,))
1021 $(eval $(call BuildPlugin,fsv,Video Player / Recorder,vanilla,,,,))
1022 $(eval $(call BuildPlugin,g723-1,G.723.1 Codec,vanilla,,,,))
1023 $(eval $(call BuildPlugin,g729,G.729 Codec,vanilla,,,,))
1024 $(eval $(call BuildPlugin,gsmopen,GSM Modem compatible Endpoint,mod,,,alsa,+alsa-lib @FS_WITH_ALSA @BROKEN)) # needs gsmlib
1025 $(eval $(call BuildPlugin,h26x,H26X Linear Codec,vanilla,,,,))
1026 $(eval $(call BuildPlugin,h323,H323 Endpoint,mod,,,,@BROKEN)) # Req. H323Plus v1.24.x or newer
1027 $(eval $(call BuildPlugin,hash,API For Manipulating A Hash Table,vanilla,,,,))
1028 $(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,))
1029 $(eval $(call BuildPlugin,httapi,HT Telephony API and HTTP Caching,mod,,,,)) # ~/conf
1030 $(eval $(call BuildPlugin,http-cache,HTTP GET With Caching,mod,,,,+libcurl)) # ~/conf
1031 $(eval $(call BuildPlugin,ilbc,ILBC Codec,vanilla,,,,))
1032 $(eval $(call BuildPlugin,isac,iSAC Codec,vanilla,,,,))
1033 $(eval $(call BuildPlugin,java,Java Language Interface,vanilla,,,,@BROKEN)) # needs java
1034 $(eval $(call BuildPlugin,json-cdr,JSon-CDR Interface,mod,,,,+libcurl))
1035 $(eval $(call BuildPlugin,lcr,Least Cost Routing,vanilla,,,,))
1036 $(eval $(call BuildPlugin,local-stream,Multi-Channel On Same Stream,vanilla,,,,))
1037 $(eval $(call BuildPlugin,logfile,File Logger,vanilla,,,,))
1038 $(eval $(call BuildPlugin,loopback,Loopback to Dialplan Endpoint,vanilla,,,,))
1039 $(eval $(call BuildPlugin,lua,LUA Language Interface,vanilla,,,,))
1040 $(eval $(call BuildPlugin,managed,Media Switching Software Library,vanilla,,,,+glib2 @BROKEN)) # needs Mono
1041 $(eval $(call BuildPlugin,mp4,MP4 File Format Support For Video,vanilla,,,,@BROKEN)) # needs libmp4v2
1042 $(eval $(call BuildPlugin,mp4v,MP4 CoDec Support For Video,vanilla,,,,))
1043 $(eval $(call BuildPlugin,native-file,WAV Format Sound Player,vanilla,,,,))
1044 $(eval $(call BuildPlugin,nibblebill,Credit / Debit Billing,vanilla,,,,))
1045 $(eval $(call BuildPlugin,openzap,Zaptel (Superseded by FreeTDM),libs,ozmod,lib/libopenzap lib/pkgconfig/openzap,,+libpcap))
1046 $(eval $(call BuildPlugin,opus,Opus CoDec,vanilla,,,,))
1047 $(eval $(call BuildPlugin,oreka,Media Recording with Oreka,vanilla,,,,))
1048 $(eval $(call BuildPlugin,portaudio,Portaudio To Sound Card Interface,vanilla,,,alsa,+alsa-lib @FS_WITH_ALSA))
1049 $(eval $(call BuildPlugin,portaudio-stream,Portaudio Streaming Interface,vanilla,,,alsa,+alsa-lib @FS_WITH_ALSA))
1050 $(eval $(call BuildPlugin,posix-timer,POSIX Compliant Soft Timer,vanilla,,,,))
1051 $(eval $(call BuildPlugin,radius-cdr,Radius-CDR interface,vanilla,,,,@BROKEN)) # fails in freeradius-client
1052 $(eval $(call BuildPlugin,rayo,Rayo server & node implementation,vanilla,,,,))
1053 $(eval $(call BuildPlugin,redis,Redis Limited Backend,vanilla,,,,))
1054 $(eval $(call BuildPlugin,rss,RRS Feeds via TTS,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)) # ~/conf
1084 $(eval $(call BuildPlugin,speex,Speex codec,mod,,,,))
1085 $(eval $(call BuildPlugin,spidermonkey,JavaScript,vanilla,,,,@BROKEN)) # fails in js
1086 $(eval $(call BuildPlugin,spidermonkey-core_db,JavaScript DB,vanilla,,,,@BROKEN))
1087 $(eval $(call BuildPlugin,spidermonkey-curl,JavaScript Curl,vanilla,,,,@BROKEN))
1088 $(eval $(call BuildPlugin,spidermonkey-odbc,JavaScript ODBC,vanilla,,,,@BROKEN))
1089 $(eval $(call BuildPlugin,spidermonkey-socket,JavaScript Socket,vanilla,,,,@BROKEN))
1090 $(eval $(call BuildPlugin,spidermonkey-teletone,JavaScript Teletone,vanilla,,,,@BROKEN))
1091 $(eval $(call BuildPlugin,spy,User Spy,vanilla,,,,))
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,vmd,VoiceMail Beep Detection,vanilla,,,,))
1100 $(eval $(call BuildPlugin,voicemail,VoiceMail,vanilla,,,,))
1101 $(eval $(call BuildPlugin,voicemail-ivr,VoiceMail IVR,vanilla,,,,))
1102 $(eval $(call BuildPlugin,vp8,VP8 Video Codec,vanilla,,,,))
1103 $(eval $(call BuildPlugin,xml-cdr,XML-CDR Handler,vanilla,,,,+libcurl))
1104 $(eval $(call BuildPlugin,xml-curl,XML-Curl Gateway,vanilla,,,,+libcurl))
1105 $(eval $(call BuildPlugin,xml-rpc,XML-RPC Interface,vanilla,,,,))
1106 $(eval $(call BuildPlugin,xml-scgi,SCGI XML Gateway,vanilla,,,,))
1107 $(eval $(call BuildPlugin,yaml,YAML langunage,vanilla,,,,))