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