2 # Copyright (C) 2009-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_DISTNAME
:=$(PKG_NAME
)_
$(PKG_SOURCE_PROTO
)
18 # The latest FS git hash in PKG_SOURCE_VERSION can be obtained from
19 # http://fisheye.freeswitch.org
21 FS_WITH_DEFAULT_HEAD
:=59cd3c77d84fac242683c5eb0b61c52f10bb2bb5
22 PKG_SOURCE_URL
:=https
://stash.
$(PKG_NAME
).org
/scm
/fs
/$(PKG_NAME
).git
23 PKG_SOURCE_VERSION
:=$(if
$(CONFIG_FS_WITH_LATEST_HEAD
),$(shell git ls-remote
$(PKG_SOURCE_URL
) HEAD|cut
-f1
),$(FS_WITH_DEFAULT_HEAD
))
24 FS_WITH_DEFAULT_HEAD_SHORT
:=$(shell echo
$(FS_WITH_DEFAULT_HEAD
)|cut
-b
-7)
25 PKG_SOURCE_VERSION_SHORT
:=$(shell echo
$(PKG_SOURCE_VERSION
)|cut
-b
-7)
26 PKG_RELEASE
:=$(PKG_SOURCE_VERSION_SHORT
)
27 PKG_SOURCE_SUBDIR
:=$(PKG_DISTNAME
)
28 PKG_SOURCE
:=$(PKG_SOURCE_SUBDIR
)-$(if
$(CONFIG_FS_WITH_LOCAL_SOURCE
),$(FS_WITH_DEFAULT_HEAD_SHORT
).
tar.xz
,$(PKG_SOURCE_VERSION_SHORT
).
tar.bz2
)
29 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
32 PKG_FIXUP
:=libtool autoreconf
36 ifeq ($(CONFIG_DEVEL
),y
)
42 FS_WITH_CORE_LIBEDIT_SUPPORT
:libedit \
43 FS_WITH_MYSQL
:libmysqlclient \
44 FS_WITH_POSTGRESQL
:libpq \
45 FS_WITH_SQLITE3
:libsqlite3 \
46 FS_WITH_APR_SCTP
:sctp \
49 TAR_OPTIONS
+= --strip-components
=1 -C
$(PKG_BUILD_DIR
)
167 spidermonkey-core-db \
170 spidermonkey-socket \
171 spidermonkey-teletone \
195 PKG_CONFIG_DEPENDS
:= \
196 CONFIG_FS_WITH_ALSA \
197 CONFIG_FS_WITH_APR_CONFIG_SWITCHES \
198 CONFIG_FS_WITH_APR_IPV6 \
199 CONFIG_FS_WITH_APR_SCTP \
200 CONFIG_FS_WITH_APR_THREADS \
201 CONFIG_FS_WITH_BUILTIN_ZRTP \
202 CONFIG_FS_WITH_CORE_LIBEDIT_SUPPORT \
203 CONFIG_FS_WITH_DEFAULT_HEAD \
204 CONFIG_FS_WITH_ERLANG \
206 CONFIG_FS_WITH_FIXED_POINT \
207 CONFIG_FS_WITH_LATEST_HEAD \
208 CONFIG_FS_WITH_LOCAL_SOURCE \
209 CONFIG_FS_WITH_LZMA \
210 CONFIG_FS_WITH_MYSQL \
211 CONFIG_FS_WITH_ODBC \
213 CONFIG_FS_WITH_OPENSSL \
214 CONFIG_FS_WITH_OPENWRT_SOURCE \
216 CONFIG_FS_WITH_POSTGRESQL \
217 CONFIG_FS_WITH_SQLITE3 \
218 CONFIG_FS_WITH_SRTP \
219 CONFIG_FS_WITH_SRTP_GENERIC_AESICM \
220 CONFIG_FS_WITH_SRTP_KERNEL_LINUX \
221 CONFIG_FS_WITH_SRTP_OPENSSL \
222 CONFIG_FS_WITH_VISIBILITY \
223 $(patsubst %,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
%,$(FS_MOD_AVAILABLE
)) \
226 include $(INCLUDE_DIR
)/package.mk
227 include $(INCLUDE_DIR
)/nls.mk
230 ifneq ($(CONFIG_CCACHE
),)
231 TARGET_CC
=$(TARGET_CC_NOCACHE
)
232 TARGET_CXX
=$(TARGET_CXX_NOCACHE
)
236 ifneq ($(CONFIG_CCACHE
),)
237 TARGET_CC
=$(TARGET_CC_NOCACHE
)
238 TARGET_CXX
=$(TARGET_CXX_NOCACHE
)
242 define Package
/$(PKG_NAME
)/Default
246 URL
:=http
://www.
$(PKG_NAME
).org
/
247 MAINTAINER
:=Mazi Lo
<openwrt.mazilo@recursor.net
>
251 define Package
/$(PKG_NAME
)
252 $(call Package
/$(PKG_NAME
)/Default
)
254 TITLE
:=FreeSWITCH open source telephony platform
($(PKG_SOURCE_VERSION_SHORT
))
255 DEPENDS
:=+FS_WITH_CORE_LIBEDIT_SUPPORT
:libedit
+FS_WITH_OPENSSL
:libopenssl
+libcurl
+libdb47
+libgdbm
$(ICONV_DEPENDS
) $(INTL_DEPENDS
) +libjpeg
+libncurses
+libopenldap
+libpcre
+libpthread
+librt
+libspeex
+libspeexdsp
+FS_WITH_SQLITE3
:libsqlite3
+FS_WITH_SRTP
:libsrtp
+SSP_SUPPORT
:libssp
+libstdcpp
+libuuid
+PACKAGE_
$(PKG_NAME
)-mod-perl
:perl
259 define Package
/$(PKG_NAME
)/description
260 FreeSWITCH is an open source telephony platform designed to
261 facilitate the creation of voice and chat driven products
262 scaling from a soft-phone up to a soft-switch.
266 define Package
/$(PKG_NAME
)/config
267 source
"$(SOURCE)/Config.in"
271 define Package
/$(PKG_NAME
)-mod-spandsp
/config
272 config FS_WITH_FIXED_POINT
273 depends on PACKAGE_
$(PKG_NAME
)-mod-spandsp
274 bool
"Enable fixed point support for spandsp (may degrade performance)"
277 Compile spandsp package with a fixed point support. ONLY enabled this option when
278 necessary
, i.e. CPU doesn
't support floating computation.
282 define Package/$(PKG_NAME)-example-config
283 $(call Package/$(PKG_NAME)/Default)
284 TITLE:=FreeSWITCH example config (commented)
285 DEPENDS:= $(PKG_NAME)
289 define Package/$(PKG_NAME)-example-config/description
290 The default configuration included with FreeSWITCH. It is not intended to be
291 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
292 be an example of how FreeSWITCH can be configured.
296 define Package/$(PKG_NAME)-config-upstream-defaults
297 $(call Package/$(PKG_NAME)/Default)
298 TITLE:=FreeSWITCH upstream config
299 DEPENDS:= $(PKG_NAME)
303 define Package/$(PKG_NAME)-config-upstream-defaults/description
304 The default configuration included with FreeSWITCH. It is not intended to be
305 a final product, and but is included for those who don't want to use the
306 OpenWRT configuration and
/or want to try things
as prepared by upstream.
310 define Package
/$(PKG_NAME
)-config-minimal
311 $(call Package
/$(PKG_NAME
)/Default
)
312 TITLE
:=FreeSWITCH minimal config
313 DEPENDS
:= $(PKG_NAME
)
317 define Package
/$(PKG_NAME
)-config-minimal
/description
318 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
319 configuration began with.
323 define Package
/$(PKG_NAME
)-collection-upstream-defaults
324 $(call Package
/$(PKG_NAME
)/Default
)
325 TITLE
:=FS upstream def sample conf
326 DEPENDS
:= $(PKG_NAME
) \
327 +$(PKG_NAME
)-config-upstream-defaults \
328 +$(PKG_NAME
)-mod-callcenter \
329 +$(PKG_NAME
)-mod-codec2 \
330 +$(PKG_NAME
)-mod-commands \
331 +$(PKG_NAME
)-mod-conference \
332 +$(PKG_NAME
)-mod-curl \
333 +$(PKG_NAME
)-mod-dialplan-xml \
334 +$(PKG_NAME
)-mod-dingaling \
335 +$(PKG_NAME
)-mod-dptools \
336 +$(PKG_NAME
)-mod-event-socket \
337 +$(PKG_NAME
)-mod-g723-1 \
338 +$(PKG_NAME
)-mod-g729 \
339 +$(PKG_NAME
)-mod-hash \
340 +$(PKG_NAME
)-mod-http-cache \
341 +$(PKG_NAME
)-mod-ilbc \
342 +$(PKG_NAME
)-mod-local-stream \
343 +$(PKG_NAME
)-mod-lua \
344 +$(PKG_NAME
)-mod-native-file \
345 +$(PKG_NAME
)-mod-say-en \
346 +$(PKG_NAME
)-mod-sndfile \
347 +$(PKG_NAME
)-mod-sofia \
348 +$(PKG_NAME
)-mod-syslog \
349 +$(PKG_NAME
)-mod-tone-stream \
350 +$(PKG_NAME
)-mod-xml-curl \
351 +$(PKG_NAME
)-mod-xml-rpc \
356 define Package
/$(PKG_NAME
)-collection-minimal
357 $(call Package
/$(PKG_NAME
)/Default
)
358 TITLE
:=FreeSWITCH minimal package collection
360 DEPENDS
:= $(PKG_NAME
) \
361 +$(PKG_NAME
)-config-minimal \
362 +$(PKG_NAME
)-mod-codec2 \
363 +$(PKG_NAME
)-mod-commands \
364 +$(PKG_NAME
)-mod-dialplan-xml \
365 +$(PKG_NAME
)-mod-dptools \
366 +$(PKG_NAME
)-mod-event-socket \
367 +$(PKG_NAME
)-mod-hash \
368 +$(PKG_NAME
)-mod-local-stream \
369 +$(PKG_NAME
)-mod-sndfile \
370 +$(PKG_NAME
)-mod-sofia \
371 +$(PKG_NAME
)-mod-syslog \
372 +$(PKG_NAME
)-mod-tone-stream \
377 define Package
/$(PKG_NAME
)-sounds-en-08KHz
378 $(call Package
/$(PKG_NAME
)/Default
)
379 TITLE
:=FreeSWITCH
8KHz english sounds
380 DEPENDS
:= $(PKG_NAME
)
384 define Package
/$(PKG_NAME
)-sounds-en-16KHz
385 $(call Package
/$(PKG_NAME
)/Default
)
386 TITLE
:=FreeSWITCH
16KHz english sounds
387 DEPENDS
:= +$(PKG_NAME
)-sounds-en-08KHz
391 define Package
/$(PKG_NAME
)-sounds-en-32KHz
392 $(call Package
/$(PKG_NAME
)/Default
)
393 TITLE
:=FreeSWITCH
32KHz english sounds
394 DEPENDS
:= +$(PKG_NAME
)-sounds-en-16KHz
398 define Package
/$(PKG_NAME
)-sounds-en-48KHz
399 $(call Package
/$(PKG_NAME
)/Default
)
400 TITLE
:=FreeSWITCH
48KHz english sounds
401 DEPENDS
:= +$(PKG_NAME
)-sounds-en-32KHz
405 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
406 $(call Package
/$(PKG_NAME
)/Default
)
407 TITLE
:=FreeSWITCH
8KHz music-on-hold sounds
408 DEPENDS
:= $(PKG_NAME
)
412 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
413 $(call Package
/$(PKG_NAME
)/Default
)
414 TITLE
:=FreeSWITCH
16KHz music-on-hold sounds
415 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-08KHz
419 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
420 $(call Package
/$(PKG_NAME
)/Default
)
421 TITLE
:=FreeSWITCH
32KHz music-on-hold sounds
422 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-16KHz
426 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
427 $(call Package
/$(PKG_NAME
)/Default
)
428 TITLE
:=FreeSWITCH
48KHz music-on-hold sounds
429 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-32KHz
433 define Package
/$(PKG_NAME
)-tools
434 $(call Package
/$(PKG_NAME
)/Default
)
435 TITLE
:=FreeSWITCH control tools
436 DEPENDS
:= $(PKG_NAME
)
440 define Download
/files
443 URL
:=$(if
$(4),$(4),http
://files.
$(PKG_NAME
).org
)/$(5)
447 $(LN
) $(DL_DIR
)/$(2) $(PKG_BUILD_DIR
)/$(6)
449 $$(eval
$$(call Download
,$(1)))
453 MAKE_INSTALL_TARGETS
:=install
456 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-celt
),)
457 $(eval
$(call Download
/files
,celt
,celt-0.10
.0.
tar.gz
,a656f6176e9be84027c0e51ceedd710f
,,downloads
/libs
/,libs
/))
461 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
),)
462 $(eval
$(call Download
/files
,json-cdr
,json-c-0.9.
tar.gz
,4653b3b9c568bb9c782178abfaac128d
,,downloads
/libs
/,libs
/))
466 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-event-zmq
),)
467 $(eval
$(call Download
/files
,event-zmq
,zeromq-2.1
.9.
tar.gz
,94c5e0262a79c5f82bc0b178c1f8a33d
,http
://download.zeromq.org http
://download.zeromq.org
/historic
,,libs
/))
471 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-flite
),)
472 $(eval
$(call Download
/files
,flite
,flite-1.5
.4-current.
tar.bz2
,f3a2d88b1059f6f4ff3c20a8169bc0f4
,,downloads
/libs
/,libs
/))
476 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-mongo
),)
477 $(eval
$(call Download
/files
,mongo
,mongo-c-driver-0.92
.2.
tar.gz
,afab25a33abd3f1e0ba79c5a9da92651
,,downloads
/libs
/,libs
/))
481 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-opus
),)
482 $(eval
$(call Download
/files
,opus
,opus-1.1
-p2.
tar.gz
,5da7cb39925bfb7dd60ea2e810f71357
,,downloads
/libs
/,libs
/))
486 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-ldap
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-ldap
),)
487 $(eval
$(call Download
/files
,ldap
,openldap-2.4
.19.
tar.gz
,4a6dab2711fcf141f19bb680bc335887
,,downloads
/libs
/,libs
/))
491 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),)
492 $(eval
$(call Download
/files
,sounds-en-08KHz
,$(PKG_NAME
)-sounds-en-us-callie-8000-1.0
.50.
tar.gz
,5742984287ec6f05b001fa53817b4c32
,,,))
493 MAKE_INSTALL_TARGETS
+= sounds-install
497 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),)
498 $(eval
$(call Download
/files
,sounds-en-16KHz
,$(PKG_NAME
)-sounds-en-us-callie-16000-1.0
.50.
tar.gz
,0c0bda571e61251a8b86121913543b36
,,,))
499 MAKE_INSTALL_TARGETS
+= hd-sounds-install
503 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),)
504 $(eval
$(call Download
/files
,sounds-en-32KHz
,$(PKG_NAME
)-sounds-en-us-callie-32000-1.0
.50.
tar.gz
,42e5dd920ed7454eadcad71d80ee8900
,,,))
505 MAKE_INSTALL_TARGETS
+= uhd-sounds-install
509 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),)
510 $(eval
$(call Download
/files
,sounds-en-48KHz
,$(PKG_NAME
)-sounds-en-us-callie-48000-1.0
.50.
tar.gz
,8776597979257d10009052df06251051
,,,))
511 MAKE_INSTALL_TARGETS
+= cd-sounds-install
515 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),)
516 $(eval
$(call Download
/files
,sounds-moh-08KHz
,$(PKG_NAME
)-sounds-music-8000-1.0
.50.
tar.gz
,c1f62dc26360f39f8eb442d5efd0a3aa
,,,))
517 MAKE_INSTALL_TARGETS
+= moh-install
521 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),)
522 $(eval
$(call Download
/files
,sounds-moh-16KHz
,$(PKG_NAME
)-sounds-music-16000-1.0
.50.
tar.gz
,d253e26baa85e0e2e727a1cb1cca898e
,,,))
523 MAKE_INSTALL_TARGETS
+= hd-moh-install
527 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),)
528 $(eval
$(call Download
/files
,sounds-moh-32KHz
,$(PKG_NAME
)-sounds-music-32000-1.0
.50.
tar.gz
,0e3ee69cb4ba2813ed0d3f7811332b63
,,,))
529 MAKE_INSTALL_TARGETS
+= uhd-moh-install
533 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),)
534 $(eval
$(call Download
/files
,sounds-moh-48KHz
,$(PKG_NAME
)-sounds-music-48000-1.0
.50.
tar.gz
,873a62df1ab3be4191eb2488156ec2c2
,,,))
535 MAKE_INSTALL_TARGETS
+= cd-moh-install
540 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
542 ifneq ($(CONFIG_avr32
),)
543 TARGET_CFLAGS
+= -fgnu89-inline
544 TARGET_CXXFLAGS
+= -fgnu89-inline
548 ifneq ($(CONFIG_USE_EGLIBC
),)
549 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP
),)
550 TARGET_CFLAGS
+= -DNO_GETLOGIN
555 FS_TARGET_CFLAGS
:= $(TARGET_CFLAGS
) -DLUA_USE_LINUX
$(FPIC
) -std
=gnu99
-Wno-format
-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-implicit-function-declaration
556 FS_TARGET_CXXFLAGS
:= $(TARGET_CXXFLAGS
)
557 FS_TARGET_CPPFLAGS
:= -I.
-I.
/lua
$(TARGET_CPPFLAGS
) $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-json-cdr
),-Wno-error
) -I
`ls -d $(PKG_BUILD_DIR)/libs/*|grep tiff`/libtiff
-I
$(PKG_BUILD_DIR
)/libs
/spandsp
/src
561 # OPT_FLAGS+="$(TARGET_CFLAGS)"
565 AR
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
566 CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
567 CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
568 RANLIB
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
569 CC_FOR_BUILD
="$(HOSTCC)" \
573 --host
=$(GNU_TARGET_NAME
) \
574 --build
=$(GNU_HOST_NAME
) \
575 --prefix="/usr/share/$(PKG_NAME)" \
576 --bindir="/usr/bin" \
577 --libdir="/usr/lib" \
578 --srcdir="$(PKG_BUILD_DIR)" \
579 --sysconfdir
="/etc/$(PKG_NAME)" \
580 --with-modinstdir
="/usr/lib/$(PKG_NAME)" \
581 --with-random
="/dev/urandom" \
582 $(call autoconf_bool
,CONFIG_FS_WITH_BUILTIN_ZRTP
,zrtp
) \
583 $(call autoconf_bool
,CONFIG_FS_WITH_CORE_LIBEDIT_SUPPORT
,core-libedit-support
) \
584 $(call autoconf_bool
,CONFIG_FS_WITH_FHS
,fhs
) \
585 $(call autoconf_bool
,CONFIG_FS_WITH_APR_IPV6
,ipv6
) \
586 $(call autoconf_bool
,CONFIG_FS_WITH_LZMA
,lzma
) \
587 $(call autoconf_bool
,CONFIG_FS_WITH_ODBC
,core-odbc-support
) \
588 $(call autoconf_bool
,CONFIG_FS_WITH_OPT
,optimization
) \
589 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-pkgconfig
) \
590 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-support
) \
591 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP
,srtp
) \
592 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_GENERIC_AESICM
,generic-aesicm
) \
593 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_KERNEL_LINUX
,kernel-linux
) \
594 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_OPENSSL
,openssl
) \
595 $(call autoconf_bool
,CONFIG_FS_WITH_APR_THREADS
,threads
) \
596 $(call autoconf_bool
,CONFIG_FS_WITH_VISIBILITY
,visibility
) \
597 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
&& CONFIG_FS_WITH_FIXED_POINT
,fixed-point
) \
598 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
,builtin-tiff
) \
599 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-timerfd
,timerfd-wrapper
) \
600 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)/usr/lib") \
601 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
602 $(if
$(CONFIG_FS_WITH_OGG
),--with-ogg
="$(STAGING_DIR)/usr") \
603 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-celt
),--with-ogg
="$(STAGING_DIR)/usr",--without-ogg
) \
604 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-erlang-event
),--with-erlang
="$(CONFIG_FS_WITH_ERLANG)",--without-erlang
) \
605 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-java
),--with-java
="$(STAGING_DIR)/usr",--without-java
) \
606 $(if
($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-cdr
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-curl
)),--with-libcurl
="$(STAGING_DIR)/usr",--without-libcurl
) \
607 --with
$(if
$(CONFIG_FS_WITH_MYSQL
),,out
)-mysql \
608 --with
$(if
$(CONFIG_FS_WITH_OPENSSL
),,out
)-openssl \
609 --with
$(if
$(CONFIG_FS_WITH_POSTGRESQL
),,out
)-pgsql \
610 --with
$(if
$(CONFIG_FS_WITH_SQLITE3
),,out
)-sqlite3 \
614 CONFIGURE_ARGS
+= --enable-arm5e-asm \
620 config_TARGET_CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
621 config_TARGET_CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
622 config_TARGET_CFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
623 config_TARGET_CXXFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
624 config_TARGET_CPPFLAGS
="$(FS_TARGET_CPPFLAGS)" \
625 config_TARGET_READLINE_INC
="$(FS_TARGET_CPPFLAGS)" \
626 config_TARGET_READLINE_LIBS
="-lreadline -lncurses" \
627 config_TARGET_LIBS
="-lpthread -ldl" \
628 config_BUILD_CC
="$(HOSTCC)" \
629 CC_FOR_BUILD
="$(HOSTCC)" \
630 BUILDTOOL_CC
="$(HOSTCC)" \
631 BUILDTOOL_CCLD
="$(HOSTCC)" \
632 CC
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
633 CXX
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
634 AR
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
635 RANLIB
="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
636 CFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
637 CXXFLAGS
="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
638 CPPFLAGS
="$(FS_TARGET_CPPFLAGS)" \
639 LDFLAGS
="-L$(STAGING_DIR)/usr/lib/perl5/5.20/CORE -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\" -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/5.20/CORE)\" -Wl,-rpath,/usr/lib -Wl,-rpath,/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/5.20/CORE -lperl -lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc)" \
640 HOST_CC
="/usr/bin/cc" \
641 HOST_CXX
="/usr/bin/g++" \
643 $(if
$(CONFIG_FS_WITH_APR_SCTP
),ac_cv_header_netinet_sctp_h
="yes") \
647 $(call Build
/Prepare
/Default
)
649 $(call Prepare
/event-zmq
)
650 $(call Prepare
/flite
)
651 $(call Prepare
/json-cdr
)
653 $(call Prepare
/mongo
)
655 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),$(call Prepare
/sounds-en-08KHz
))
656 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),$(call Prepare
/sounds-en-16KHz
))
657 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),$(call Prepare
/sounds-en-32KHz
))
658 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),$(call Prepare
/sounds-en-48KHz
))
659 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),$(call Prepare
/sounds-moh-08KHz
))
660 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),$(call Prepare
/sounds-moh-16KHz
))
661 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),$(call Prepare
/sounds-moh-32KHz
))
662 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),$(call Prepare
/sounds-moh-48KHz
))
663 ifeq ($(CONFIG_FS_WITH_LOCAL_SOURCE
),y
)
664 (cd
$(PKG_BUILD_DIR
); $(if
$(CONFIG_FS_WITH_LATEST_HEAD
),if
$(QUILT_CMD
) top
> /dev
/null
2>&1 && [ -f
$(PKG_BUILD_DIR
)/patches
/series
]; then
$(QUILT_CMD
) pop
-a
; fi
; git pull
;) if
$(QUILT_CMD
) next
> /dev
/null
2>&1; then
$(QUILT_CMD
) push
-a
; fi
)
669 define Build
/Configure
670 (cd
$(PKG_BUILD_DIR
); $(if
$(CONFIG_FS_WITH_LATEST_HEAD
),if
$(QUILT_CMD
) top
> /dev
/null
2>&1 && [ -f
$(PKG_BUILD_DIR
)/patches
/series
]; then
$(QUILT_CMD
) pop
-a
; fi
; git pull
;) if
$(QUILT_CMD
) next
> /dev
/null
2>&1; then
$(QUILT_CMD
) push
-a
; fi
)
671 (cd
$(PKG_BUILD_DIR
); $(AM_TOOL_PATHS
) .
/bootstrap.sh
)
672 $(foreach m
,$(FS_MOD_AVAILABLE
),
673 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
$(m
)),
674 $(SED
) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR
)/modules.conf
676 $(SED
) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR
)/modules.conf
679 $(call Build
/Configure
/Default
)
684 $(call Build
/Compile
/Default
, \
685 DESTDIR
="$(PKG_INSTALL_DIR)" \
686 all $(MAKE_INSTALL_TARGETS
) \
688 $(SED
) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
689 $(SED
) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
693 define Build
/InstallDev
694 $(INSTALL_DIR
) $(1)/usr
/include
695 $(INSTALL_DIR
) $(1)/usr
/lib
696 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include $(1)/usr
697 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$(PKG_NAME
).
{a
,so
*} $(1)/usr
/lib
/
701 define Package
/$(PKG_NAME
)/install
702 $(INSTALL_DIR
) $(1)/etc
/config
703 $(INSTALL_DIR
) $(1)/etc
/default
704 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
705 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/scripts
706 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
707 $(INSTALL_DIR
) $(1)/etc
/init.d
708 $(INSTALL_DIR
) $(1)/usr
/bin
709 $(INSTALL_DIR
) $(1)/usr
/include
710 $(INSTALL_DIR
) $(1)/usr
/lib
711 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
712 $(INSTALL_BIN
) .
/files
/$(PKG_NAME
).init
$(1)/etc
/init.d
/$(PKG_NAME
)
713 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).config
$(1)/etc
/config
/$(PKG_NAME
)
714 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).default
$(1)/etc
/default
/$(PKG_NAME
)
715 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).hotplug
$(1)/etc
/hotplug.d
/iface
/90-$(PKG_NAME
)
716 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/$(PKG_NAME
) $(1)/usr
/bin
/
717 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include $(1)/usr
/
718 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$(PKG_NAME
)* $(1)/usr
/lib
/
719 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/$(PKG_NAME
).
pc $(1)/usr
/lib
/pkgconfig
/
720 $(if
$(1)/usr
/lib
/lib
$(PKG_NAME
).la
,$(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(1)/usr
/lib
/lib
$(PKG_NAME
).la
)
724 define Package
/$(PKG_NAME
)-collection-upstream-defaults
/install
725 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
729 define Package
/$(PKG_NAME
)-example-config
/install
730 $(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
731 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/* $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
/
735 define Package
/$(PKG_NAME
)-config-upstream-defaults
/install
736 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
737 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
) $(1)/etc
741 define Package
/$(PKG_NAME
)-collection-minimal
/install
742 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
746 define Package
/$(PKG_NAME
)-collection-uci-minimal
/install
747 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
751 define Package
/$(PKG_NAME
)-config-minimal
/install
752 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/autoload_configs
755 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml
756 # fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
758 $(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
);))
761 # Copying acl ivr modules post_load_modules switch timezones
763 $(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
;))
767 define Package
/$(PKG_NAME
)-sounds-en-08KHz
/install
771 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
773 [ -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; \
774 $(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; \
779 define Package
/$(PKG_NAME
)-sounds-en-16KHz
/install
783 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
785 [ -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; \
786 $(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; \
791 define Package
/$(PKG_NAME
)-sounds-en-32KHz
/install
795 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
797 [ -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; \
798 $(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; \
803 define Package
/$(PKG_NAME
)-sounds-en-48KHz
/install
807 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
809 [ -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; \
810 $(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; \
815 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
/install
819 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000;
820 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
824 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
/install
828 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000;
829 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
833 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
/install
837 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000;
838 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
842 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
/install
846 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000;
847 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
851 define Package
/$(PKG_NAME
)-tools
/install
852 $(INSTALL_DIR
) $(1)/usr
/bin
853 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_cli
$(1)/usr
/bin
/
854 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_encode
$(1)/usr
/bin
/
855 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_ivrd
$(1)/usr
/bin
/
856 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fsxs
$(1)/usr
/bin
/
857 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/gentls_cert
$(1)/usr
/bin
/
858 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/tone2wav
$(1)/usr
/bin
/
864 # 3. Selection on module configuration file
865 # 4. Files (module files include different names)
866 # 5. Files (supporting files include different names)
867 # 6. Inter module depends
871 define Package
/$(PKG_NAME
)-mod-
$(1)
872 $$(call Package
/$(PKG_NAME
)/Default
)
873 TITLE
:= FS
$(2) module
874 DEPENDS
:= $(PKG_NAME
) $(foreach m
,$(6),+$(PKG_NAME
)-mod-
$(m
)) $(7)
877 define Package
/$(PKG_NAME
)-mod-
$(1)/install
878 [ -z
"mod_$(subst -,_,$(1))" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/$(PKG_NAME
)
880 for f in
$$$$(realpath
$$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/mod_
$(subst -,_
,$(1)).
*)) $$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/$(4)_
*); \
882 $(CP
) $$$$$$$${f} $$(1)/usr
/lib
/$(PKG_NAME
)/; \
886 # mod_$(subst -,_,$(1)): $(5)
888 $(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});)
891 # mod_$(subst -,_,$(1)): Clean installed library control files from referencig to OpenWRT PATH.
893 $(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;s|-L$(PKG_BUILD_DIR)(.*)libtiff ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(foreach l
,`find $$(1)/usr/lib -name "*.la" -print`,$(l
))
896 # 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)))
898 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
901 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
903 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
906 # 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)))
908 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
911 # 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)))
913 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
916 # 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)))
918 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
921 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/$(1)/*.$(1))))
923 $$$$(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
))
926 define Package
/$(PKG_NAME
)-mod-
$(1)/postinst
928 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
931 define Package
/$(PKG_NAME
)-mod-
$(1)/prerm
933 sed
-i
-e
's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
936 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-mod-
$(1)))
940 $(eval
$(call BuildPackage
,$(PKG_NAME
)))
941 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-upstream-defaults
))
942 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-minimal
))
943 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-08KHz
))
944 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-16KHz
))
945 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-32KHz
))
946 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-48KHz
))
947 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-08KHz
))
948 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-16KHz
))
949 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-32KHz
))
950 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-48KHz
))
951 $(eval
$(call BuildPackage
,$(PKG_NAME
)-tools
))
952 $(eval
$(call BuildPackage
,$(PKG_NAME
)-example-config
))
953 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-upstream-defaults
))
954 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-minimal
))
958 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
960 $(eval
$(call BuildPlugin
,abstraction
,An Abstraction To API Call
,vanilla
,,,,))
961 $(eval
$(call BuildPlugin
,alsa
,Alsa Endpoint
,vanilla
,,,,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA
))
962 $(eval
$(call BuildPlugin
,amr
,Adaptive Multi-Rate On Bandwidth Codec
,vanilla
,,,,))
963 $(eval
$(call BuildPlugin
,amrwb
,Wide Band AMR
,vanilla
,,,,))
964 $(eval
$(call BuildPlugin
,avmd
,Advanced Voice Mail Detection
,vanilla
,,,,))
965 $(eval
$(call BuildPlugin
,basic
,BASIC
,vanilla
,,,,))
966 $(eval
$(call BuildPlugin
,bert
,Naive Bit Error Rate Tester
,vanilla
,,,,))
967 $(eval
$(call BuildPlugin
,blacklist
,Blacklist
,vanilla
,,,,))
968 $(eval
$(call BuildPlugin
,bv
,BroadVoice
16/32-bit Audio Codec
,vanilla
,,,,))
969 $(eval
$(call BuildPlugin
,callcenter
,Call Center
,vanilla
,,,,))
970 $(eval
$(call BuildPlugin
,cdr-csv
,CSV-CDR Handler
,mod
,,,,)) # ~/conf
971 $(eval
$(call BuildPlugin
,cdr-mongodb
,MongoDB CDR logger
,vanilla
,,,,))
972 $(eval
$(call BuildPlugin
,cdr-pg-csv
,PostgreSQL CDR Handler
,vanilla
,,,,+coreutils
+FS_WITH_POSTGRESQL
:libpq @FS_WITH_POSTGRESQL
))
973 $(eval
$(call BuildPlugin
,cdr-sqlite
,SQLite3 CDR Handler
,vanilla
,,,,@FS_WITH_SQLITE3
))
974 $(eval
$(call BuildPlugin
,celt
,CELT Ultra-Low Delay Codec
,vanilla
,,,,+libogg
))
975 $(eval
$(call BuildPlugin
,cepstral
,Cepstral Interface
,vanilla
,,,,@BROKEN
)) # needs <swift.h>
976 $(eval
$(call BuildPlugin
,cidlookup
,Data Query For CID-
>NAME Services
,mod
,,,,+libcurl
)) # ~/conf
977 $(eval
$(call BuildPlugin
,cluechoo
,Framework Demo
,vanilla
,,,,))
978 $(eval
$(call BuildPlugin
,codec2
,CoDec
2,,,,,))
979 $(eval
$(call BuildPlugin
,commands
,API Commands
,vanilla
,,,,))
980 $(eval
$(call BuildPlugin
,conference
,Conference Room
,vanilla
,,,,))
981 $(eval
$(call BuildPlugin
,console
,Console Logger
,vanilla
,,,,))
982 $(eval
$(call BuildPlugin
,curl
,HTTP Request
,vanilla
,,,,+libcurl
))
983 $(eval
$(call BuildPlugin
,dahdi-codec
,DAHDI Codecs
,vanilla
,,,,))
984 $(eval
$(call BuildPlugin
,db
,Database Backend
,vanilla
,,,,+libdb47
))
985 $(eval
$(call BuildPlugin
,dialplan-asterisk
,Asterisk Dialplan Parser
,vanilla
,,,,))
986 $(eval
$(call BuildPlugin
,dialplan-directory
,Dialplan Directory
,vanilla
,,,,))
987 $(eval
$(call BuildPlugin
,dialplan-xml
,Dialplan-XML Interface
,vanilla
,,,,))
988 $(eval
$(call BuildPlugin
,dingaling
,Jabber Interface
,vanilla
,,,,+libopenssl
))
989 $(eval
$(call BuildPlugin
,directory
,Search By Name Directory IVR
,vanilla
,,,,))
990 $(eval
$(call BuildPlugin
,distributor
,Simple Robin-Round Load
,vanilla
,,,,))
991 $(eval
$(call BuildPlugin
,dptools
,Dialplan Tools
,vanilla
,,,,))
992 $(eval
$(call BuildPlugin
,easyroute
,Simple DID Routing
,vanilla
,,,,))
993 $(eval
$(call BuildPlugin
,enum
,ENUM Routing
,,,,,+libldns @BROKEN
))
994 $(eval
$(call BuildPlugin
,erlang-event
,Erlang Event Handler
,vanilla
,,,,+erlang
))
995 $(eval
$(call BuildPlugin
,esf
,Extra SIP Functionality
,vanilla
,,,,))
996 $(eval
$(call BuildPlugin
,event-multicast
,Multicast Event Handler
,vanilla
,,,,))
997 $(eval
$(call BuildPlugin
,event-socket
,Socket Event Handler
,vanilla
,,,,))
998 $(eval
$(call BuildPlugin
,event-zmq
,Socket Event Handler By Zero MQ
,vanilla
,,,,+libuuid
))
999 $(eval
$(call BuildPlugin
,expr
,Expression Evaluation
,vanilla
,,,,))
1000 $(eval
$(call BuildPlugin
,fifo
,FIFO
,vanilla
,,,,))
1001 $(eval
$(call BuildPlugin
,file-string
,Streaming Multiple Sound Files Sequentially
,vanilla
,,,,@OBSOLETE
)) # merged into dptools
1002 $(eval
$(call BuildPlugin
,flite
,Festival TTS
,vanilla
,,,,@
(!(armeb||avr32
)||BROKEN
)))
1003 $(eval
$(call BuildPlugin
,format-cdr
,XML CDR Module to files or curl
,vanilla
,,,,))
1004 $(eval
$(call BuildPlugin
,fsk
,Bell-202
1200-Baud FSK Decoder
,vanilla
,,,,))
1005 $(eval
$(call BuildPlugin
,fsv
,Video Player
/ Recorder
,vanilla
,,,,))
1006 $(eval
$(call BuildPlugin
,g723-1
,G
.723.1 Codec
,vanilla
,,,,))
1007 $(eval
$(call BuildPlugin
,g729
,G
.729 Codec
,vanilla
,,,,))
1008 $(eval
$(call BuildPlugin
,gsmopen
,GSM Modem compatible Endpoint
,mod
,,,alsa
,+FS_WITH_ALSA
:alsa-lib
+FS_WITH_LZMA
:liblzma @FS_WITH_ALSA @BROKEN
)) # needs gsmlib
1009 $(eval
$(call BuildPlugin
,h26x
,H26X Linear Codec
,vanilla
,,,,))
1010 $(eval
$(call BuildPlugin
,h323
,H323 Endpoint
,mod
,,,,@BROKEN
)) # Req. H323Plus v1.24.x or newer
1011 $(eval
$(call BuildPlugin
,hash
,API For Manipulating A Hash Table
,vanilla
,,,,))
1012 #$(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,)) # defunct?
1013 $(eval
$(call BuildPlugin
,httapi
,HT Telephony API and HTTP Caching
,mod
,,,,)) # ~/conf
1014 $(eval
$(call BuildPlugin
,http-cache
,HTTP GET With Caching
,mod
,,,,+libcurl
)) # ~/conf
1015 $(eval
$(call BuildPlugin
,ilbc
,ILBC Codec
,vanilla
,,,,))
1016 $(eval
$(call BuildPlugin
,isac
,iSAC Codec
,vanilla
,,,,))
1017 $(eval
$(call BuildPlugin
,java
,Java Language Interface
,vanilla
,,,,@BROKEN
)) # needs java
1018 $(eval
$(call BuildPlugin
,json-cdr
,JSon-CDR Interface
,mod
,,,,+libcurl
))
1019 $(eval
$(call BuildPlugin
,ldap
,LDAP interface
,vanilla
,,,,+libopenldap
))
1020 $(eval
$(call BuildPlugin
,lcr
,Least Cost Routing
,vanilla
,,,,))
1021 $(eval
$(call BuildPlugin
,local-stream
,Multi-Channel On Same Stream
,vanilla
,,,,))
1022 $(eval
$(call BuildPlugin
,logfile
,File Logger
,vanilla
,,,,))
1023 $(eval
$(call BuildPlugin
,loopback
,Loopback to Dialplan Endpoint
,vanilla
,,,,))
1024 $(eval
$(call BuildPlugin
,lua
,LUA Language Interface
,vanilla
,,,,))
1025 $(eval
$(call BuildPlugin
,managed
,Media Switching Software Library
,vanilla
,,,,+glib2 @BROKEN
)) # needs Mono
1026 $(eval
$(call BuildPlugin
,memcache
,MemCached Interface
,vanilla
,,,,+libmemcached @BROKEN
)) # Req host libmemcached
1027 $(eval
$(call BuildPlugin
,mongo
,A Document-Oriented Database
,vanilla
,,,,@BROKEN
))
1028 $(eval
$(call BuildPlugin
,mp4
,MP4 File Format Support For Video
,vanilla
,,,,@BROKEN
)) # needs host libmp4v2
1029 $(eval
$(call BuildPlugin
,mp4v
,MP4 CoDec Support For Video
,vanilla
,,,,))
1030 $(eval
$(call BuildPlugin
,native-file
,WAV Format Sound Player
,vanilla
,,,,))
1031 $(eval
$(call BuildPlugin
,nibblebill
,Credit
/ Debit Billing
,vanilla
,,,,))
1032 $(eval
$(call BuildPlugin
,opus
,Opus CoDec
,vanilla
,,,,))
1033 $(eval
$(call BuildPlugin
,oreka
,Media Recording with Oreka
,vanilla
,,,,))
1034 $(eval
$(call BuildPlugin
,perl
,Perl Language Interface
,vanilla
,,lib
/perl5
/5.20/$(PKG_NAME
).la lib
/perl5
/5.20/$(PKG_NAME
).pm lib
/perl5
/5.20/$(PKG_NAME
).so
,,+perl
+libdb47
+libgdbm
))
1035 $(eval
$(call BuildPlugin
,portaudio
,Portaudio To Sound Card Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1036 $(eval
$(call BuildPlugin
,portaudio-stream
,Portaudio Streaming Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1037 $(eval
$(call BuildPlugin
,posix-timer
,POSIX Compliant Soft Timer
,vanilla
,,,,))
1038 $(eval
$(call BuildPlugin
,radius-cdr
,Radius-CDR interface
,vanilla
,,,,@BROKEN
)) # fails in freeradius-client
1039 $(eval
$(call BuildPlugin
,rayo
,Rayo server
& node implementation
,vanilla
,,,,))
1040 $(eval
$(call BuildPlugin
,redis
,Redis Limited Backend
,vanilla
,,,,))
1041 $(eval
$(call BuildPlugin
,rss
,RRS Feeds via TTS
,vanilla
,,,,))
1042 $(eval
$(call BuildPlugin
,rtc
,RTC endpoint
,vanilla
,,,,))
1043 $(eval
$(call BuildPlugin
,rtmp
,RTMP Protocol Handler
,vanilla
,,,,))
1044 $(eval
$(call BuildPlugin
,sangoma-codec
,Sangoma Codec
,vanilla
,,,,@BROKEN
)) # Req. Sangoma CoDec source
1045 $(eval
$(call BuildPlugin
,say-de
,German Say
,vanilla
,,,,))
1046 $(eval
$(call BuildPlugin
,say-en
,English Say
,vanilla
,,,,))
1047 $(eval
$(call BuildPlugin
,say-es
,Spanish Say
,vanilla
,,,,))
1048 $(eval
$(call BuildPlugin
,say-fa
,Persian Say
,vanilla
,,,,))
1049 $(eval
$(call BuildPlugin
,say-fr
,French Say
,vanilla
,,,,))
1050 $(eval
$(call BuildPlugin
,say-hu
,Hungarian Say
,vanilla
,,,,))
1051 $(eval
$(call BuildPlugin
,say-it
,Italian Say
,vanilla
,,,,))
1052 $(eval
$(call BuildPlugin
,say-nl
,Dutch Say
,vanilla
,,,,))
1053 $(eval
$(call BuildPlugin
,say-pt
,Portugeese Say
,vanilla
,,,,))
1054 $(eval
$(call BuildPlugin
,say-ru
,Russian Say
,vanilla
,,,,))
1055 $(eval
$(call BuildPlugin
,say-th
,Thai Say
,vanilla
,,,,))
1056 $(eval
$(call BuildPlugin
,say-zh
,Chineese Say
,vanilla
,,,,))
1057 $(eval
$(call BuildPlugin
,shell-stream
,Streaming Audio Through CLI
,vanilla
,,,,))
1058 $(eval
$(call BuildPlugin
,silk
,Skype
(TM
) SILK Codec Module
,vanilla
,,,,))
1059 $(eval
$(call BuildPlugin
,siren
,G
.722.1 Codec
,vanilla
,,,,))
1060 $(eval
$(call BuildPlugin
,skel
,Template For New Module
,vanilla
,,,,))
1061 $(eval
$(call BuildPlugin
,skinny
,Skinny Call Control Protocol
(SCCP
),vanilla
,,,,))
1062 $(eval
$(call BuildPlugin
,skypopen
,Skype Compatible Endpoint
,mod
,,,,@FEATURE_drawing-backend_libX11
))
1063 $(eval
$(call BuildPlugin
,sms
,SMS
,vanilla
,,,,))
1064 $(eval
$(call BuildPlugin
,snapshot
,Record Audio Snapshot to File
,vanilla
,,,,))
1065 $(eval
$(call BuildPlugin
,sndfile
,Multi-Format Sound File
,vanilla
,,,,))
1066 $(eval
$(call BuildPlugin
,snipe-hunt
,Snipe Hunt
(Simple Example Module
),vanilla
,,,,))
1067 $(eval
$(call BuildPlugin
,snmp
,SNMP AgentX Subagent
,vanilla
,,,,+libnetsnmp
))
1068 $(eval
$(call BuildPlugin
,snom
,SNOM specific features
,vanilla
,,,,))
1069 $(eval
$(call BuildPlugin
,sofia
,SOFIA SIP
,mod
,,,,)) # ~/conf
1070 $(eval
$(call BuildPlugin
,sonar
,Sonar Ping Timer
,vanilla
,,,,))
1071 $(eval
$(call BuildPlugin
,spandsp
,Span DSP
,mod
,,,,+libjpeg
+FS_WITH_LZMA
:liblzma @FS_WITH_LZMA
)) # ~/conf
1072 $(eval
$(call BuildPlugin
,spidermonkey
,JavaScript
,vanilla
,,,,@BROKEN
)) # fails in js
1073 $(eval
$(call BuildPlugin
,spidermonkey-core_db
,JavaScript DB
,vanilla
,,,,@BROKEN
))
1074 $(eval
$(call BuildPlugin
,spidermonkey-curl
,JavaScript Curl
,vanilla
,,,,@BROKEN
))
1075 $(eval
$(call BuildPlugin
,spidermonkey-odbc
,JavaScript ODBC
,vanilla
,,,,@BROKEN
))
1076 $(eval
$(call BuildPlugin
,spidermonkey-socket
,JavaScript Socket
,vanilla
,,,,@BROKEN
))
1077 $(eval
$(call BuildPlugin
,spidermonkey-teletone
,JavaScript Teletone
,vanilla
,,,,@BROKEN
))
1078 $(eval
$(call BuildPlugin
,spy
,User Spy
,vanilla
,,,,))
1079 $(eval
$(call BuildPlugin
,ssml
,SSML audio rendering format
,mod
,,,rayo
,))
1080 $(eval
$(call BuildPlugin
,stress
,Voice Stress Detection
,vanilla
,,,,))
1081 $(eval
$(call BuildPlugin
,syslog
,SysLog logger
,vanilla
,,,,))
1082 $(eval
$(call BuildPlugin
,timerfd
,Linux Kernel timerfd API
,vanilla
,,,,))
1083 $(eval
$(call BuildPlugin
,tone-stream
,Tone Generation Stream
,vanilla
,,,,))
1084 $(eval
$(call BuildPlugin
,tts-commandline
,ASR TTS Command Interface
,vanilla
,,,,))
1085 $(eval
$(call BuildPlugin
,unimrcp
,UniMRCP
(MRCP Client
),vanilla
,,,,@BROKEN
))
1086 $(eval
$(call BuildPlugin
,valet-parking
,Valet Parking Application
,vanilla
,,,,))
1087 $(eval
$(call BuildPlugin
,verto
,HTML5 Verto interface
,vanilla
,,lib
/perl5
/5.20/MCAST.so lib
/perl5
/5.20/MCAST.la lib
/perl5
/5.20/MCAST.pm
,perl rtc
,))
1088 $(eval
$(call BuildPlugin
,vmd
,VoiceMail Beep Detection
,vanilla
,,,,))
1089 $(eval
$(call BuildPlugin
,voicemail
,VoiceMail
,vanilla
,,,,))
1090 $(eval
$(call BuildPlugin
,voicemail-ivr
,VoiceMail IVR
,vanilla
,,,,))
1091 $(eval
$(call BuildPlugin
,vp8
,VP8 Video Codec
,vanilla
,,,,))
1092 $(eval
$(call BuildPlugin
,xml-cdr
,XML-CDR Handler
,vanilla
,,,,+libcurl
))
1093 $(eval
$(call BuildPlugin
,xml-curl
,XML-Curl Gateway
,vanilla
,,,,+libcurl
))
1094 $(eval
$(call BuildPlugin
,xml-ldap
,LDAP-XML Gateway
,vanilla
,,,,+PACKAGE_
$(PKG_NAME
)-mod-ldap
:libopenldap
))
1095 $(eval
$(call BuildPlugin
,xml-rpc
,XML-RPC Interface
,vanilla
,,,,))
1096 $(eval
$(call BuildPlugin
,xml-radius
,Radius authentication and authorization
,vanilla
,,,,+freeradius-client @BROKEN
)) # freeradius-client isn't yet supported by OpenWRT.
1097 $(eval
$(call BuildPlugin
,xml-scgi
,SCGI XML Gateway
,vanilla
,,,,))
1098 $(eval
$(call BuildPlugin
,yaml
,YAML langunage
,vanilla
,,,,+libyaml_hg
))