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:=1825b5bc89a315d42ef822da0b449886d298ffb6
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
144 spidermonkey-core-db \
147 spidermonkey-socket \
148 spidermonkey-teletone \
169 PKG_CONFIG_DEPENDS:= \
170 CONFIG_FS_WITH_ALSA \
171 CONFIG_FS_WITH_BUILTIN_ZRTP \
172 CONFIG_FS_WITH_FIXED_POINT \
173 CONFIG_FS_WITH_IPV6 \
174 CONFIG_FS_WITH_LZMA \
175 CONFIG_FS_WITH_MYSQL \
176 CONFIG_FS_WITH_ODBC \
178 CONFIG_FS_WITH_POSTGRESQL \
179 CONFIG_FS_WITH_PULL_CURRENT \
180 CONFIG_FS_WITH_SQLITE3 \
181 CONFIG_FS_WITH_SCTP \
182 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(FS_MOD_AVAILABLE)) \
185 include $(INCLUDE_DIR)/package.mk
186 include $(INCLUDE_DIR)/nls.mk
189 TAR_OPTIONS+= --strip-components=1 -C $(PKG_BUILD_DIR)
192 define Package/$(PKG_NAME)/Default
196 URL:=http://www.$(PKG_NAME).org/
197 MAINTAINER:=Mazilo <openwrt.mazilo@recursor.net>
201 define Package/$(PKG_NAME)
202 $(call Package/$(PKG_NAME)/Default)
203 TITLE:=FreeSWITCH open source telephony platform ($(PKG_SOURCE_VERSION_SHORT))
204 DEPENDS:=+libcurl +libiconv-full +libjpeg +libncurses +libpthread +librt +libstdcpp +FS_WITH_POSTGRESQL:libpq +libuuid
209 define Package/$(PKG_NAME)/description
210 FreeSWITCH is an open source telephony platform designed to
211 facilitate the creation of voice and chat driven products scaling
212 from a soft-phone up to a soft-switch. See http://wiki.$(PKG_NAME).org
216 define Package/$(PKG_NAME)/config
217 config FS_WITH_PULL_CURRENT
219 depends on PACKAGE_$(PKG_NAME)
220 bool "Pull the latest git HEAD - $(PKG_SOURCE_VERSION_SHORT) (Press < Help > for more information)"
223 This existing git HEAD ($(FS_DEFAULT_HEAD))
224 is probably outdated. Enable this option for the latest git HEAD
225 ($(FS_LATEST_HEAD)) ONLY if you know what
226 you are doing. It may and/or may not be cleanly compiled and may
227 require some intervension to create new patches. If you take this
228 route and come up with some patches, please contemplate to contribute
229 or send in your patches.
232 depends on PACKAGE_$(PKG_NAME)
233 bool "Enable ALSA for sound support"
236 Compile $(PKG_NAME) with ALSA support.
238 config FS_WITH_BUILTIN_ZRTP
239 depends on PACKAGE_$(PKG_NAME)
240 bool "Enable built-in ZRTP"
243 Compile $(PKG_NAME) with ZRTP support.
246 depends on PACKAGE_$(PKG_NAME)
247 bool "Enable IPV6 support in APR"
250 Compile libs/apr package with IPV6 support.
253 depends on PACKAGE_$(PKG_NAME)
254 bool "Enable liblzma usage in libtiff"
256 select PACKAGE_liblzma
258 Compile libs/tiff package with liblzma support. This option requires
259 LZMA2 compression package called liblzma.
262 depends on PACKAGE_$(PKG_NAME)
263 bool "Enable optimization"
266 Compile $(PKG_NAME) with optimization flag enabled. This will add
267 max optimising compiler flags
270 depends on PACKAGE_$(PKG_NAME)
271 bool "Enable SCTP (Stream Control Transfer Protocol) support in APR"
275 Compile $(PKG_NAME) with SCTP support in lib APR.
278 depends on PACKAGE_$(PKG_NAME)
279 bool "Compile apr-util with MySQL"
281 select PACKAGE_libmysqlclient
283 Compile libs/apr-util with MySQL.
285 config FS_WITH_POSTGRESQL
286 depends on PACKAGE_$(PKG_NAME)
287 bool "Compile apr-util (also enable $(PKG_NAME) core) with PostgreSQL support"
290 Compile both libs/apr-util and $(PKG_NAME) with PostgreSQL support.
292 config FS_WITH_SQLITE3
293 depends on PACKAGE_$(PKG_NAME)
294 bool "Compile apr-util with SQLITE3"
296 select PACKAGE_libsqlite3
298 Compile libs/apr-util with SQLITE3.
301 depends on PACKAGE_$(PKG_NAME)
302 depends on PACKAGE_sqliteodbc
303 depends on PACKAGE_unixodbc_svn
304 bool "Compile with ODBC support (Requires unixodbc_svn NOT YET AVAILABLE)"
307 Compile $(PKG_NAME) with ODBC support. Since both sqliteodbc and unixodbc_svn packages
308 are not yet available on OpenWRT, $(PKG_NAME) CAN NOT be compiled with ODBC support.
312 define Package/$(PKG_NAME)-mod-spandsp/config
313 config FS_WITH_FIXED_POINT
314 depends on PACKAGE_$(PKG_NAME)-mod-spandsp
315 bool "Enable fixed point support for spandsp (may degrade performance)"
318 Compile spandsp package with a fixed point support. ONLY enabled this option when
319 necessary, i.e. CPU doesn't support floating computation.
323 define Package/$(PKG_NAME)-example-config
324 $(call Package/$(PKG_NAME)/Default)
325 TITLE:=FreeSWITCH example config (commented)
326 DEPENDS:= $(PKG_NAME)
330 define Package/$(PKG_NAME)-example-config/description
331 The default configuration included with FreeSWITCH. It is not intended to be
332 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
333 be an example of how FreeSWITCH can be configured.
337 define Package/$(PKG_NAME)-config-upstream-defaults
338 $(call Package/$(PKG_NAME)/Default)
339 TITLE:=FreeSWITCH upstream config
340 DEPENDS:= $(PKG_NAME)
344 define Package/$(PKG_NAME)-config-upstream-defaults/description
345 The default configuration included with FreeSWITCH. It is not intended to be
346 a final product, and but is included for those who don't want to use the
347 OpenWRT configuration and/or want to try things as prepared by upstream.
351 define Package/$(PKG_NAME)-config-minimal
352 $(call Package/$(PKG_NAME)/Default)
353 TITLE:=FreeSWITCH minimal config
354 DEPENDS:= $(PKG_NAME)
358 define Package/$(PKG_NAME)-config-minimal/description
359 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
360 configuration began with.
364 define Package/$(PKG_NAME)-collection-upstream-defaults
365 $(call Package/$(PKG_NAME)/Default)
366 TITLE:=FS upstream def sample conf
367 DEPENDS:= $(PKG_NAME) \
368 +$(PKG_NAME)-config-upstream-defaults \
369 +$(PKG_NAME)-mod-callcenter \
370 +$(PKG_NAME)-mod-codec2 \
371 +$(PKG_NAME)-mod-commands \
372 +$(PKG_NAME)-mod-conference \
373 +$(PKG_NAME)-mod-curl \
374 +$(PKG_NAME)-mod-dialplan-xml \
375 +$(PKG_NAME)-mod-dingaling \
376 +$(PKG_NAME)-mod-dptools \
377 +$(PKG_NAME)-mod-event-socket \
378 +$(PKG_NAME)-mod-g723-1 \
379 +$(PKG_NAME)-mod-g729 \
380 +$(PKG_NAME)-mod-hash \
381 +$(PKG_NAME)-mod-http-cache \
382 +$(PKG_NAME)-mod-ilbc \
383 +$(PKG_NAME)-mod-local-stream \
384 +$(PKG_NAME)-mod-lua \
385 +$(PKG_NAME)-mod-native-file \
386 +$(PKG_NAME)-mod-sndfile \
387 +$(PKG_NAME)-mod-sofia \
388 +$(PKG_NAME)-mod-speex \
389 +$(PKG_NAME)-mod-syslog \
390 +$(PKG_NAME)-mod-tone-stream \
391 +$(PKG_NAME)-mod-xml-curl \
392 +$(PKG_NAME)-mod-xml-rpc \
397 define Package/$(PKG_NAME)-collection-minimal
398 $(call Package/$(PKG_NAME)/Default)
399 TITLE:=FreeSWITCH minimal package collection
401 DEPENDS:= $(PKG_NAME) \
402 +$(PKG_NAME)-config-minimal \
403 +$(PKG_NAME)-mod-codec2 \
404 +$(PKG_NAME)-mod-commands \
405 +$(PKG_NAME)-mod-dialplan-xml \
406 +$(PKG_NAME)-mod-dptools \
407 +$(PKG_NAME)-mod-event-socket \
408 +$(PKG_NAME)-mod-hash \
409 +$(PKG_NAME)-mod-local-stream \
410 +$(PKG_NAME)-mod-sndfile \
411 +$(PKG_NAME)-mod-sofia \
412 +$(PKG_NAME)-mod-syslog \
413 +$(PKG_NAME)-mod-tone-stream \
418 define Package/$(PKG_NAME)-sounds-en-08KHz
419 $(call Package/$(PKG_NAME)/Default)
420 TITLE:=FreeSWITCH 8KHz english sounds
421 DEPENDS:= $(PKG_NAME)
425 define Package/$(PKG_NAME)-sounds-en-16KHz
426 $(call Package/$(PKG_NAME)/Default)
427 TITLE:=FreeSWITCH 16KHz english sounds
428 DEPENDS:= +$(PKG_NAME)-sounds-en-08KHz
432 define Package/$(PKG_NAME)-sounds-en-32KHz
433 $(call Package/$(PKG_NAME)/Default)
434 TITLE:=FreeSWITCH 32KHz english sounds
435 DEPENDS:= +$(PKG_NAME)-sounds-en-16KHz
439 define Package/$(PKG_NAME)-sounds-en-48KHz
440 $(call Package/$(PKG_NAME)/Default)
441 TITLE:=FreeSWITCH 48KHz english sounds
442 DEPENDS:= +$(PKG_NAME)-sounds-en-32KHz
446 define Package/$(PKG_NAME)-sounds-moh-08KHz
447 $(call Package/$(PKG_NAME)/Default)
448 TITLE:=FreeSWITCH 8KHz music-on-hold sounds
449 DEPENDS:= $(PKG_NAME)
453 define Package/$(PKG_NAME)-sounds-moh-16KHz
454 $(call Package/$(PKG_NAME)/Default)
455 TITLE:=FreeSWITCH 16KHz music-on-hold sounds
456 DEPENDS:= +$(PKG_NAME)-sounds-moh-08KHz
460 define Package/$(PKG_NAME)-sounds-moh-32KHz
461 $(call Package/$(PKG_NAME)/Default)
462 TITLE:=FreeSWITCH 32KHz music-on-hold sounds
463 DEPENDS:= +$(PKG_NAME)-sounds-moh-16KHz
467 define Package/$(PKG_NAME)-sounds-moh-48KHz
468 $(call Package/$(PKG_NAME)/Default)
469 TITLE:=FreeSWITCH 48KHz music-on-hold sounds
470 DEPENDS:= +$(PKG_NAME)-sounds-moh-32KHz
474 define Package/$(PKG_NAME)-tools
475 $(call Package/$(PKG_NAME)/Default)
476 TITLE:=FreeSWITCH control tools
477 DEPENDS:= $(PKG_NAME)
481 define Download/files
484 URL:=$(if $(4),$(4),http://files.$(PKG_NAME).org)/$(5)
488 $(LN) $(DL_DIR)/$(2) $(PKG_BUILD_DIR)/$(6)
490 $$(eval $$(call Download,$(1)))
494 MAKE_INSTALL_TARGETS:=install
497 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),)
498 $(eval $(call Download/files,celt,celt-0.10.0.tar.gz,a656f6176e9be84027c0e51ceedd710f,,downloads/libs/,libs/))
502 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl),)
503 $(eval $(call Download/files,json-cdr,json-c-0.9.tar.gz,4653b3b9c568bb9c782178abfaac128d,,downloads/libs/,libs/))
507 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-event-zmq),)
508 $(eval $(call Download/files,event-zmq,zeromq-2.1.9.tar.gz,94c5e0262a79c5f82bc0b178c1f8a33d,http://download.zeromq.org http://download.zeromq.org/historic,,libs/))
512 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-flite),)
513 $(eval $(call Download/files,flite,flite-1.5.4-current.tar.bz2,f3a2d88b1059f6f4ff3c20a8169bc0f4,,downloads/libs/,libs/))
517 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-opus),)
518 $(eval $(call Download/files,opus,opus-1.0.2.tar.gz,c503ad05a59ddb44deab96204401be03,,downloads/libs/,libs/))
522 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-08KHz),)
523 $(eval $(call Download/files,sounds-en-08KHz,$(PKG_NAME)-sounds-en-us-callie-8000-1.0.25.tar.gz,1140efad453ed1a72259d799f7fef0fc,,,))
524 MAKE_INSTALL_TARGETS+= sounds-install
528 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-16KHz),)
529 $(eval $(call Download/files,sounds-en-16KHz,$(PKG_NAME)-sounds-en-us-callie-16000-1.0.25.tar.gz,20b9bf1b1637be2abe838113fb675c41,,,))
530 MAKE_INSTALL_TARGETS+= hd-sounds-install
534 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-32KHz),)
535 $(eval $(call Download/files,sounds-en-32KHz,$(PKG_NAME)-sounds-en-us-callie-32000-1.0.25.tar.gz,977d453d8ffa9a5b0fadee8408e84f60,,,))
536 MAKE_INSTALL_TARGETS+= uhd-sounds-install
540 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-en-48KHz),)
541 $(eval $(call Download/files,sounds-en-48KHz,$(PKG_NAME)-sounds-en-us-callie-48000-1.0.25.tar.gz,96ec0df908eb1c535063fdc8580626d2,,,))
542 MAKE_INSTALL_TARGETS+= cd-sounds-install
546 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-08KHz),)
547 $(eval $(call Download/files,sounds-moh-08KHz,$(PKG_NAME)-sounds-music-8000-1.0.8.tar.gz,f63ef3cc3507af079ae5c7b8b8a01e42,,,))
548 MAKE_INSTALL_TARGETS+= moh-install
552 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-16KHz),)
553 $(eval $(call Download/files,sounds-moh-16KHz,$(PKG_NAME)-sounds-music-16000-1.0.8.tar.gz,7fd0ca9a9e3878783baa39b8187743bf,,,))
554 MAKE_INSTALL_TARGETS+= hd-moh-install
558 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-32KHz),)
559 $(eval $(call Download/files,sounds-moh-32KHz,$(PKG_NAME)-sounds-music-32000-1.0.8.tar.gz,7e03932ea81b8d0bf6d686f838b060b4,,,))
560 MAKE_INSTALL_TARGETS+= uhd-moh-install
564 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-sounds-moh-48KHz),)
565 $(eval $(call Download/files,sounds-moh-48KHz,$(PKG_NAME)-sounds-music-48000-1.0.8.tar.gz,d06cd2a80379f224affab21f5180e4c6,,,))
566 MAKE_INSTALL_TARGETS+= cd-moh-install
571 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
573 ifneq ($(CONFIG_avr32),)
574 TARGET_CFLAGS += -fgnu89-inline
575 TARGET_CXXFLAGS += -fgnu89-inline
579 ifneq ($(CONFIG_USE_EGLIBC),)
580 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
581 TARGET_CFLAGS += -DNO_GETLOGIN
586 FS_TARGET_CFLAGS:= $(TARGET_CFLAGS) -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-format
587 FS_TARGET_CXXFLAGS:= $(TARGET_CXXFLAGS) -DLUA_USE_LINUX $(FPIC) -Wno-format
588 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)
592 --host=$(GNU_TARGET_NAME) \
593 --build=$(GNU_HOST_NAME) \
594 --prefix="/usr/share/$(PKG_NAME)" \
595 --bindir="/usr/bin" \
596 --libdir="/usr/lib" \
597 --srcdir="$(PKG_BUILD_DIR)" \
598 --sysconfdir="/etc/$(PKG_NAME)" \
599 --with-modinstdir="/usr/lib/$(PKG_NAME)" \
600 --with-random="/dev/urandom" \
601 $(if $(CONFIG_FS_WITH_MYSQL),--with,--without)-mysql \
602 $(if $(CONFIG_FS_WITH_POSTGRESQL),--with,--without)-pgsql-support \
603 $(if $(CONFIG_FS_WITH_SQLITE3),--with,--without)-sqlite3 \
604 $(call autoconf_bool,CONFIG_FS_WITH_IPV6,ipv6) \
605 $(call autoconf_bool,CONFIG_FS_WITH_OPT,optimization) \
606 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),--with-ogg="$(STAGING_DIR)/usr",--without-ogg) \
607 $(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) \
608 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-erlang-event),--with,--without)-erlang \
609 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-java),--with-java="$(STAGING_DIR)/usr",--without-java) \
610 $(call autoconf_bool,CONFIG_FS_WITH_LZMA,lzma) \
611 $(call autoconf_bool,CONFIG_FS_WITH_POSTGRESQL,core-pgsql-support) \
612 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp && CONFIG_FS_WITH_FIXED_POINT,fixed-point) \
613 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp,builtin-tiff) \
614 $(call autoconf_bool,CONFIG_PACKAGE_$(PKG_NAME)-mod-timerfd,timerfd-wrapper) \
615 $(call autoconf_bool,CONFIG_FS_WITH_BUILTIN_ZRTP,zrtp) \
616 $(call autoconf_bool,CONFIG_FS_WITH_ODBC,core-odbc-support) \
617 $(if $(CONFIG_FS_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \
618 $(if $(CONFIG_FS_WITH_ODBC),--with-odbc-lib="$(STAGING_DIR)/usr/lib") \
622 config_TARGET_CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
623 config_TARGET_CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
624 config_TARGET_CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
625 config_TARGET_CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
626 config_TARGET_CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
627 config_TARGET_READLINE_INC="$(FS_TARGET_CPPFLAGS)" \
628 config_TARGET_READLINE_LIBS="$(TARGET_LDFLAGS) -lreadline -lncurses" \
629 config_TARGET_LIBS="$(TARGET_LDFLAGS) -lpthread -ldl" \
630 config_BUILD_CC="$(HOSTCC)" \
631 config_BUILD_CFLAGS="$(HOST_CFLAGS)" \
632 CC_FOR_BUILD="$(HOSTCC)" \
633 BUILDTOOL_CC="$(HOSTCC)" \
634 BUILDTOOL_CCLD="$(HOSTCC)" \
635 LDFLAGS="$$$$LDFLAGS" \
636 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
637 CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
638 CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
639 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
640 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
641 CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
642 CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
643 CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
644 LDFLAGS="$(TARGET_LDFLAGS) -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\"" \
645 HOST_CC="/usr/bin/cc" \
646 HOST_CXX="/usr/bin/g++" \
648 ax_cv_c_compiler_vendor="gnu" \
649 ac_cv_cflags_warn_all_ansi='-Wall -std=c99 -Wno-unused-variable' \
650 ac_cv_dev_urandom="yes" \
651 ac_cv_file_dbd_apr_dbd_mysql_c="no" \
652 ac_cv_file__dev_random="no" \
653 ac_cv_file__dev_urandom="yes" \
654 ac_cv_file___dev_urandom_="yes" \
655 ac_cv_func_mmap_fixed_mapped="yes" \
656 ac_cv_func_pthread_rwlock_init="yes" \
657 ac_cv_struct_rlimit="yes" \
658 apr_cv_mutex_recursive="yes" \
659 apr_cv_process_shared_works="no" \
660 apr_cv_tcp_nodelay_with_cork="yes" \
661 apr_cv_type_rwlock_t="yes" \
662 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),ac_cv_path_PERL="yes",) \
663 libzmq_cv_cxx_werror_flag="" \
667 $(call Build/Prepare/Default)
669 $(call Prepare/event-zmq)
670 $(call Prepare/flite)
671 $(call Prepare/json-cdr)
673 $(call Prepare/sounds-en-08KHz)
674 $(call Prepare/sounds-en-16KHz)
675 $(call Prepare/sounds-en-32KHz)
676 $(call Prepare/sounds-en-48KHz)
677 $(call Prepare/sounds-moh-08KHz)
678 $(call Prepare/sounds-moh-16KHz)
679 $(call Prepare/sounds-moh-32KHz)
680 $(call Prepare/sounds-moh-48KHz)
684 define Build/Configure
685 if [ -d $(PKG_BUILD_DIR)/libs/libcodec2/src ]; then \
686 (cd $(PKG_BUILD_DIR)/libs/libcodec2/src; $(HOSTCC) -c generate_codebook.c; $(HOSTCC) -o generate_codebook generate_codebook.o -lm) \
688 (cd $(PKG_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap.sh)
689 $(call Build/Configure/Default,)
690 $(foreach m,$(FS_MOD_AVAILABLE),
691 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-$(m)),
692 $(SED) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR)/modules.conf
694 $(SED) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR)/modules.conf
701 $(MAKE) -C $(PKG_BUILD_DIR) \
702 AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
703 RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
704 CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
705 CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
706 DESTDIR="$(PKG_INSTALL_DIR)" \
707 LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
708 all $(MAKE_INSTALL_TARGETS)
709 $(SED) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
710 $(SED) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
714 define Build/InstallDev
715 $(INSTALL_DIR) $(1)/usr/include/$(PKG_NAME)
716 $(INSTALL_DIR) $(1)/usr/lib
717 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/include/* $(1)/usr/include/$(PKG_NAME)/
718 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME).{a,so*} $(1)/usr/lib/
722 define Package/$(PKG_NAME)/install
723 $(INSTALL_DIR) $(1)/etc/config
724 $(INSTALL_DIR) $(1)/etc/default
725 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
726 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/scripts
727 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
728 $(INSTALL_DIR) $(1)/etc/init.d
729 $(INSTALL_DIR) $(1)/usr/bin
730 $(INSTALL_DIR) $(1)/usr/lib
731 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
732 $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
733 $(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
734 $(INSTALL_DATA) ./files/$(PKG_NAME).default $(1)/etc/default/$(PKG_NAME)
735 $(INSTALL_DATA) ./files/$(PKG_NAME).hotplug $(1)/etc/hotplug.d/iface/90-$(PKG_NAME)
736 $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/
737 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME)* $(1)/usr/lib/
738 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/$(PKG_NAME).pc $(1)/usr/lib/pkgconfig/
739 $(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)
743 define Package/$(PKG_NAME)-collection-upstream-defaults/install
744 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
748 define Package/$(PKG_NAME)-example-config/install
749 $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/examples/conf
750 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME)/* $(1)/usr/share/$(PKG_NAME)/examples/conf/
754 define Package/$(PKG_NAME)-config-upstream-defaults/install
755 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
756 $(CP) $(PKG_INSTALL_DIR)/etc/$(PKG_NAME) $(1)/etc
760 define Package/$(PKG_NAME)-collection-minimal/install
761 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
765 define Package/$(PKG_NAME)-collection-uci-minimal/install
766 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
770 define Package/$(PKG_NAME)-config-minimal/install
771 $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/autoload_configs
774 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml
775 # fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
777 $(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);))
780 # Copying acl ivr modules post_load_modules switch timezones
782 $(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;))
786 define Package/$(PKG_NAME)-sounds-en-08KHz/install
790 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
792 [ -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; \
793 $(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; \
798 define Package/$(PKG_NAME)-sounds-en-16KHz/install
802 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
804 [ -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; \
805 $(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; \
810 define Package/$(PKG_NAME)-sounds-en-32KHz/install
814 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
816 [ -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; \
817 $(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; \
822 define Package/$(PKG_NAME)-sounds-en-48KHz/install
826 for dir in `(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
828 [ -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; \
829 $(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; \
834 define Package/$(PKG_NAME)-sounds-moh-08KHz/install
838 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/8000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/8000;
839 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/8000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
843 define Package/$(PKG_NAME)-sounds-moh-16KHz/install
847 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/16000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/16000;
848 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/16000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
852 define Package/$(PKG_NAME)-sounds-moh-32KHz/install
856 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/32000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/32000;
857 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/32000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
861 define Package/$(PKG_NAME)-sounds-moh-48KHz/install
865 [ -d $(1)/usr/share/$(PKG_NAME)/sounds/music/48000 ] || $(INSTALL_DIR) $(1)/usr/share/$(PKG_NAME)/sounds/music/48000;
866 $(CP) $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/music/48000 $(1)/usr/share/$(PKG_NAME)/sounds/music;
870 define Package/$(PKG_NAME)-tools/install
871 $(INSTALL_DIR) $(1)/usr/bin
872 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_cli $(1)/usr/bin/
873 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_encode $(1)/usr/bin/
874 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_ivrd $(1)/usr/bin/
875 $(CP) $(PKG_INSTALL_DIR)/usr/bin/fsxs $(1)/usr/bin/
876 $(CP) $(PKG_INSTALL_DIR)/usr/bin/gentls_cert $(1)/usr/bin/
877 $(CP) $(PKG_INSTALL_DIR)/usr/bin/tone2wav $(1)/usr/bin/
883 # 3. Selection on module configuration file
884 # 4. Files (module files include different names)
885 # 5. Files (supporting files include different names)
886 # 6. Inter module depends
890 define Package/$(PKG_NAME)-mod-$(1)
891 $$(call Package/$(PKG_NAME)/Default)
892 TITLE:= FS $(2) module
893 DEPENDS:= $(PKG_NAME) $(foreach m,$(6),+$(PKG_NAME)-mod-$(m)) $(7)
896 define Package/$(PKG_NAME)-mod-$(1)/install
897 [ -z "mod_$(subst -,_,$(1))" ] || $(INSTALL_DIR) $$(1)/usr/lib/$(PKG_NAME)
899 for f in $$$$(realpath $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/mod_$(subst -,_,$(1)).*)) $$$$(wildcard $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/$(4)_*); \
901 $(CP) $$$$$$$${f} $$(1)/usr/lib/$(PKG_NAME)/; \
905 # mod_$(subst -,_,$(1)): $(5)
907 $(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});)
910 # mod_$(subst -,_,$(1)): Clean installed library control files from referencig to OpenWRT PATH.
912 for f in `ls $$(1)/usr/lib/$(PKG_NAME)/*.la`; \
914 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}; \
918 # 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)))
920 $$$$(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)
923 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
925 $$$$(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)
928 # 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)))
930 $$$$(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)
933 # 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)))
935 $$$$(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)
938 # 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)))
940 $$$$(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)
943 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/$(1)/*.$(1))))
945 $$$$(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))
948 define Package/$(PKG_NAME)-mod-$(1)/postinst
950 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
953 define Package/$(PKG_NAME)-mod-$(1)/prerm
955 sed -i -e 's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc/$(PKG_NAME)/autoload_configs/modules.conf.xml
958 $$(eval $$(call BuildPackage,$(PKG_NAME)-mod-$(1)))
962 $(eval $(call BuildPackage,$(PKG_NAME)))
963 $(eval $(call BuildPackage,$(PKG_NAME)-collection-upstream-defaults))
964 $(eval $(call BuildPackage,$(PKG_NAME)-collection-minimal))
965 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-08KHz))
966 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-16KHz))
967 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-32KHz))
968 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-en-48KHz))
969 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-08KHz))
970 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-16KHz))
971 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-32KHz))
972 $(eval $(call BuildPackage,$(PKG_NAME)-sounds-moh-48KHz))
973 $(eval $(call BuildPackage,$(PKG_NAME)-tools))
974 $(eval $(call BuildPackage,$(PKG_NAME)-example-config))
975 $(eval $(call BuildPackage,$(PKG_NAME)-config-upstream-defaults))
976 $(eval $(call BuildPackage,$(PKG_NAME)-config-minimal))
980 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
982 $(eval $(call BuildPlugin,abstraction,An Abstraction To API Call,vanilla,,,,))
983 $(eval $(call BuildPlugin,alsa,Alsa Endpoint,vanilla,,,,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA))
984 $(eval $(call BuildPlugin,amr,Adaptive Multi-Rate On Bandwidth Codec,vanilla,,,,))
985 $(eval $(call BuildPlugin,amrwb,Wide Band AMR,vanilla,,,,))
986 $(eval $(call BuildPlugin,avmd,Advanced Voice Mail Detection,vanilla,,,,))
987 $(eval $(call BuildPlugin,blacklist,Blacklist,vanilla,,,,))
988 $(eval $(call BuildPlugin,bv,BroadVoice 16/32-bit Audio Codec,vanilla,,,,))
989 $(eval $(call BuildPlugin,callcenter,Call Center,vanilla,,,,))
990 $(eval $(call BuildPlugin,cdr-csv,CSV-CDR Handler,mod,,,,)) # ~/conf
991 $(eval $(call BuildPlugin,cdr-pg-csv,PostgreSQL CDR Handler,vanilla,,,,+coreutils +FS_WITH_POSTGRESQL:libpq @FS_WITH_POSTGRESQL))
992 $(eval $(call BuildPlugin,cdr-sqlite,SQLite3 CDR Handler,vanilla,,,,@FS_WITH_SQLITE3))
993 $(eval $(call BuildPlugin,celt,CELT Ultra-Low Delay Codec,vanilla,,,,+libogg))
994 $(eval $(call BuildPlugin,cepstral,Cepstral Interface,vanilla,,,,@BROKEN)) # needs <swift.h>
995 $(eval $(call BuildPlugin,cidlookup,Data Query For CID->NAME Services,mod,,,,+libcurl)) # ~/conf
996 $(eval $(call BuildPlugin,cluechoo,Framework Demo,vanilla,,,,))
997 $(eval $(call BuildPlugin,codec2,CoDec 2,,,,,))
998 $(eval $(call BuildPlugin,commands,API Commands,vanilla,,,,))
999 $(eval $(call BuildPlugin,conference,Conference Room,vanilla,,,,))
1000 $(eval $(call BuildPlugin,console,Console Logger,vanilla,,,,))
1001 $(eval $(call BuildPlugin,curl,HTTP Request,vanilla,,,,+libcurl))
1002 $(eval $(call BuildPlugin,dahdi-codec,DAHDI Codecs,vanilla,,,,))
1003 $(eval $(call BuildPlugin,db,Database Backend,vanilla,,,,))
1004 $(eval $(call BuildPlugin,dialplan-asterisk,Asterisk Dialplan Parser,vanilla,,,,))
1005 $(eval $(call BuildPlugin,dialplan-directory,Dialplan Directory,vanilla,,,,))
1006 $(eval $(call BuildPlugin,dialplan-xml,Dialplan-XML Interface,vanilla,,,,))
1007 $(eval $(call BuildPlugin,dingaling,Jabber Interface,vanilla,,,,+libopenssl))
1008 $(eval $(call BuildPlugin,directory,Search By Name Directory IVR,vanilla,,,,))
1009 $(eval $(call BuildPlugin,distributor,Simple Robin-Round Load,vanilla,,,,))
1010 $(eval $(call BuildPlugin,dptools,Dialplan Tools,vanilla,,,,))
1011 $(eval $(call BuildPlugin,easyroute,Simple DID Routing,vanilla,,,,))
1012 $(eval $(call BuildPlugin,enum,ENUM Routing,,,,,))
1013 $(eval $(call BuildPlugin,erlang-event,Erlang Event Handler,vanilla,,,,+erlang @BROKEN))
1014 $(eval $(call BuildPlugin,esf,Extra SIP Functionality,vanilla,,,,))
1015 $(eval $(call BuildPlugin,event-multicast,Multicast Event Handler,vanilla,,,,))
1016 $(eval $(call BuildPlugin,event-socket,Socket Event Handler,vanilla,,,,))
1017 $(eval $(call BuildPlugin,event-zmq,Socket Event Handler By Zero MQ,vanilla,,,,+libuuid))
1018 $(eval $(call BuildPlugin,expr,Expression Evaluation,vanilla,,,,))
1019 $(eval $(call BuildPlugin,fifo,FIFO,vanilla,,,,))
1020 $(eval $(call BuildPlugin,file-string,Streaming Multiple Sound Files Sequentially,vanilla,,,,@OBSOLETE)) # merged into dptools
1021 $(eval $(call BuildPlugin,flite,Festival TTS,vanilla,,,,@(!(armeb||avr32)||BROKEN)))
1022 $(eval $(call BuildPlugin,format-cdr,XML CDR Module to files or curl,vanilla,,,,))
1023 $(eval $(call BuildPlugin,fsk,Bell-202 1200-Baud FSK Decoder,vanilla,,,,))
1024 $(eval $(call BuildPlugin,fsv,Video Player / Recorder,vanilla,,,,))
1025 $(eval $(call BuildPlugin,g723-1,G.723.1 Codec,vanilla,,,,))
1026 $(eval $(call BuildPlugin,g729,G.729 Codec,vanilla,,,,))
1027 $(eval $(call BuildPlugin,gsmopen,GSM Modem compatible Endpoint,mod,,,alsa,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA @BROKEN)) # needs gsmlib
1028 $(eval $(call BuildPlugin,h26x,H26X Linear Codec,vanilla,,,,))
1029 $(eval $(call BuildPlugin,h323,H323 Endpoint,mod,,,,@BROKEN)) # Req. H323Plus v1.24.x or newer
1030 $(eval $(call BuildPlugin,hash,API For Manipulating A Hash Table,vanilla,,,,))
1031 #$(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,)) # defunct?
1032 $(eval $(call BuildPlugin,httapi,HT Telephony API and HTTP Caching,mod,,,,)) # ~/conf
1033 $(eval $(call BuildPlugin,http-cache,HTTP GET With Caching,mod,,,,+libcurl)) # ~/conf
1034 $(eval $(call BuildPlugin,ilbc,ILBC Codec,vanilla,,,,))
1035 $(eval $(call BuildPlugin,isac,iSAC Codec,vanilla,,,,))
1036 $(eval $(call BuildPlugin,java,Java Language Interface,vanilla,,,,@BROKEN)) # needs java
1037 $(eval $(call BuildPlugin,json-cdr,JSon-CDR Interface,mod,,,,+libcurl))
1038 $(eval $(call BuildPlugin,lcr,Least Cost Routing,vanilla,,,,))
1039 $(eval $(call BuildPlugin,local-stream,Multi-Channel On Same Stream,vanilla,,,,))
1040 $(eval $(call BuildPlugin,logfile,File Logger,vanilla,,,,))
1041 $(eval $(call BuildPlugin,loopback,Loopback to Dialplan Endpoint,vanilla,,,,))
1042 $(eval $(call BuildPlugin,lua,LUA Language Interface,vanilla,,,,))
1043 $(eval $(call BuildPlugin,managed,Media Switching Software Library,vanilla,,,,+glib2 @BROKEN)) # needs Mono
1044 $(eval $(call BuildPlugin,mp4,MP4 File Format Support For Video,vanilla,,,,@BROKEN)) # needs libmp4v2
1045 $(eval $(call BuildPlugin,mp4v,MP4 CoDec Support For Video,vanilla,,,,))
1046 $(eval $(call BuildPlugin,native-file,WAV Format Sound Player,vanilla,,,,))
1047 $(eval $(call BuildPlugin,nibblebill,Credit / Debit Billing,vanilla,,,,))
1048 $(eval $(call BuildPlugin,openzap,Zaptel (Superseded by FreeTDM),libs,ozmod,lib/libopenzap lib/pkgconfig/openzap,,+libpcap))
1049 $(eval $(call BuildPlugin,opus,Opus CoDec,vanilla,,,,))
1050 $(eval $(call BuildPlugin,oreka,Media Recording with Oreka,vanilla,,,,))
1051 $(eval $(call BuildPlugin,portaudio,Portaudio To Sound Card Interface,vanilla,,,alsa,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA))
1052 $(eval $(call BuildPlugin,portaudio-stream,Portaudio Streaming Interface,vanilla,,,alsa,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA))
1053 $(eval $(call BuildPlugin,posix-timer,POSIX Compliant Soft Timer,vanilla,,,,))
1054 $(eval $(call BuildPlugin,radius-cdr,Radius-CDR interface,vanilla,,,,@BROKEN)) # fails in freeradius-client
1055 $(eval $(call BuildPlugin,rayo,Rayo server & node implementation,vanilla,,,,))
1056 $(eval $(call BuildPlugin,redis,Redis Limited Backend,vanilla,,,,))
1057 $(eval $(call BuildPlugin,rss,RRS Feeds via TTS,vanilla,,,,))
1058 $(eval $(call BuildPlugin,rtmp,RTMP Protocol Handler,vanilla,,,,))
1059 $(eval $(call BuildPlugin,sangoma-codec,Sangoma Codec,vanilla,,,,@BROKEN)) # Req. Sangoma CoDec source
1060 $(eval $(call BuildPlugin,say-de,German Say,vanilla,,,,))
1061 $(eval $(call BuildPlugin,say-en,English Say,vanilla,,,,))
1062 $(eval $(call BuildPlugin,say-es,Spanish Say,vanilla,,,,))
1063 $(eval $(call BuildPlugin,say-fa,Persian Say,vanilla,,,,))
1064 $(eval $(call BuildPlugin,say-fr,French Say,vanilla,,,,))
1065 $(eval $(call BuildPlugin,say-hu,Hungarian Say,vanilla,,,,))
1066 $(eval $(call BuildPlugin,say-it,Italian Say,vanilla,,,,))
1067 $(eval $(call BuildPlugin,say-nl,Dutch Say,vanilla,,,,))
1068 $(eval $(call BuildPlugin,say-pt,Portugeese Say,vanilla,,,,))
1069 $(eval $(call BuildPlugin,say-ru,Russian Say,vanilla,,,,))
1070 $(eval $(call BuildPlugin,say-th,Thai Say,vanilla,,,,))
1071 $(eval $(call BuildPlugin,say-zh,Chineese Say,vanilla,,,,))
1072 $(eval $(call BuildPlugin,shell-stream,Streaming Audio Through CLI,vanilla,,,,))
1073 $(eval $(call BuildPlugin,silk,Skype(TM) SILK Codec Module,vanilla,,,,))
1074 $(eval $(call BuildPlugin,siren,G.722.1 Codec,vanilla,,,,))
1075 $(eval $(call BuildPlugin,skel,Template For New Module,vanilla,,,,))
1076 $(eval $(call BuildPlugin,skinny,Skinny Call Control Protocol (SCCP),vanilla,,,,))
1077 $(eval $(call BuildPlugin,skypopen,Skype Compatible Endpoint,mod,,,,@FEATURE_drawing-backend_libX11))
1078 $(eval $(call BuildPlugin,sms,SMS,vanilla,,,,))
1079 $(eval $(call BuildPlugin,snapshot,Record Audio Snapshot to File,vanilla,,,,))
1080 $(eval $(call BuildPlugin,sndfile,Multi-Format Sound File,vanilla,,,,))
1081 $(eval $(call BuildPlugin,snipe-hunt,Snipe Hunt (Simple Example Module),vanilla,,,,))
1082 $(eval $(call BuildPlugin,snmp,SNMP AgentX Subagent,vanilla,,,,+libnetsnmp))
1083 $(eval $(call BuildPlugin,snom,SNOM specific features,vanilla,,,,))
1084 $(eval $(call BuildPlugin,sofia,SOFIA SIP,mod,,,,)) # ~/conf
1085 $(eval $(call BuildPlugin,sonar,Sonar Ping Timer,vanilla,,,,))
1086 $(eval $(call BuildPlugin,spandsp,Span DSP,mod,,,,+libjpeg +FS_WITH_LZMA:liblzma @FS_WITH_LZMA)) # ~/conf
1087 $(eval $(call BuildPlugin,speex,Speex codec,mod,,,,))
1088 $(eval $(call BuildPlugin,spidermonkey,JavaScript,vanilla,,,,@BROKEN)) # fails in js
1089 $(eval $(call BuildPlugin,spidermonkey-core_db,JavaScript DB,vanilla,,,,@BROKEN))
1090 $(eval $(call BuildPlugin,spidermonkey-curl,JavaScript Curl,vanilla,,,,@BROKEN))
1091 $(eval $(call BuildPlugin,spidermonkey-odbc,JavaScript ODBC,vanilla,,,,@BROKEN))
1092 $(eval $(call BuildPlugin,spidermonkey-socket,JavaScript Socket,vanilla,,,,@BROKEN))
1093 $(eval $(call BuildPlugin,spidermonkey-teletone,JavaScript Teletone,vanilla,,,,@BROKEN))
1094 $(eval $(call BuildPlugin,spy,User Spy,vanilla,,,,))
1095 $(eval $(call BuildPlugin,ssml,SSML audio rendering format,mod,,,rayo,))
1096 $(eval $(call BuildPlugin,stress,Voice Stress Detection,vanilla,,,,))
1097 $(eval $(call BuildPlugin,syslog,SysLog logger,vanilla,,,,))
1098 $(eval $(call BuildPlugin,timerfd,Linux Kernel timerfd API,vanilla,,,,))
1099 $(eval $(call BuildPlugin,tone-stream,Tone Generation Stream,vanilla,,,,))
1100 $(eval $(call BuildPlugin,tts-commandline,ASR TTS Command Interface,vanilla,,,,))
1101 $(eval $(call BuildPlugin,unimrcp,UniMRCP (MRCP Client),vanilla,,,,@BROKEN))
1102 $(eval $(call BuildPlugin,valet-parking,Valet Parking Application,vanilla,,,,))
1103 $(eval $(call BuildPlugin,vmd,VoiceMail Beep Detection,vanilla,,,,))
1104 $(eval $(call BuildPlugin,voicemail,VoiceMail,vanilla,,,,))
1105 $(eval $(call BuildPlugin,voicemail-ivr,VoiceMail IVR,vanilla,,,,))
1106 $(eval $(call BuildPlugin,vp8,VP8 Video Codec,vanilla,,,,))
1107 $(eval $(call BuildPlugin,xml-cdr,XML-CDR Handler,vanilla,,,,+libcurl))
1108 $(eval $(call BuildPlugin,xml-curl,XML-Curl Gateway,vanilla,,,,+libcurl))
1109 $(eval $(call BuildPlugin,xml-rpc,XML-RPC Interface,vanilla,,,,))
1110 $(eval $(call BuildPlugin,xml-scgi,SCGI XML Gateway,vanilla,,,,))
1111 $(eval $(call BuildPlugin,yaml,YAML langunage,vanilla,,,,))