Skip to contentSkip to conversation

package/freeswitch: new package

PATCH Superseded Bernd Kuhls 2 participants 31 messages Apr 16, 2016 – Apr 17, 2016

v14 of 15 Superseded Latest is v15 →

lore
Share & tools
lore
#0 lore raw

v14 cover package/freeswitch: new package

Hi,

this patch series splits my previous patch into smaller chunks for easier review as requested by Luca and Thomas.

Instead of enabling or disabling modules in the upstream modules.conf I decided to delete that file in the first patch to provide a minimal build for easier review, please keep in mind that I never did a run-time test with this minimal version. A lot of modules, desired as a default set, are added with the second patch - all of them have no external dependencies. The rest of the patch series consists of modules having some form of dependency, added module by module for easier review.

Regards, Bernd

v14: - added licenses from bundled libraries (Arnout)
- removed deletion of modules.conf in patch 0002 (Arnout)
- re-added patch for video support, it has no dependency on flite
v13: - libuuid is now a dependency of freeswitch to avoid a build error
on arm (Thomas):
http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/146009
- reworked dependencies (Arnout)
- removed host-[autoconf|automake|libtool]
- one dependency per line
- optimized FREESWITCH_ENABLE_MODULES (Arnout)
- removed video support patches, need to rework patch for flite bump (Arnout)
- removed extra patch for xml_int/mod_xml_rpc, this module needs wchar support and was moved to patch 0002 because freeswitch now depends on wchar itself
v12: - removed patches 0002 & 0003
- 0002 "fixed" a weird linking error when libuuid was missing, autoreconf was necessary for this but with freeswitch 1.6.7 this breaks build with BR2_COMPILER_PARANOID_UNSAFE_PATH=y Furthermore the linking error did not occur with 1.6.7, so autoreconf was removed as well
- 0003 "fixed" only a cosmetic problem and also needed autoreconf
- added support for mod_cv, mod_shout, openldap and mod_flite
- mod_flite needs a version bump of the flite package, this is included in the patch series
v11: - bumped to 1.6.7
- libvpx & libyuv are now part of the freeswitch source code
- reworked video support using new option BR2_PACKAGE_FREESWITCH_VIDEO
- removed two patches:
0001-jpeg.patch is not needed anymore since freeswitch does use system libyuv 0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch was applied upstream
v10: - addressed various comments (Thomas)
- fixed _LICENSE
- fixed linking error for target fs_cli when libuuid is disabled
- shortened subject of enable_mod* patches
- fixed subject of patch #0003
- added patch to remove modcheck.sh from build/Makefile.am instead of using _PRE_CONFIGURE_HOOKS
- re-worded comment for FREESWITCH_BOOTSTRAP
v9: - added comment about bundled 3rd-party libraries (Romain)
- renamed some POST_PATCH_HOOKS into PRE_CONFIGURE_HOOKS (Romain)
- replaced autoreconf fix for spandsp (added in v6) with upstream commit, removed dependency to host-autoconf-archive
v8: - rebased against branch next
v7: - removed all Kconfig suboptions
- squashed zrtp patch into main patch
- updated platform support checks for zrtp and mod_isac
- renamed zrtp patch to 0002-zrtp.patch and updated it to fix PPC
- enabled missing modules:
mod_g723_1, mod_g729, mod_loopback and mod_say_*
v6: - bumped to version 1.6.6
- fixed autoreconf bug in libs/spandsp/ introduced by version bump
- added hint for dynamic libs to comment in Config.in (Ricardo)
- changed dependency from libjpeg to jpeg (Ricardo)
- fixed -Werror bug using FREESWITCH_CONF_ENV,
removed 0001-cross_git.patch (Ricardo)
- re-numbered patches
v5: - bumped to version 1.6.5
- split patch into smaller chunks (Luca, Thomas)
- removed most of the options from Config.in
- added several new modules
- compilation with uClibc-ng is fixed
v4: - bumped to version 1.6.2
v3: - bumped to version 1.6.0, added hash
- to compile with uClibc-NG this patch is needed:
http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?h=1.0&id=5a167e319ca2bee566d330d1c901d76dc53deea7
http://thread.gmane.org/gmane.comp.lib.uclibc.buildroot/126450/focus=127191
- removed python module, cross compiling to 32bit on 64bit host is broken:
http://lists.busybox.net/pipermail/buildroot/2011-August/045039.html
- added reverse dependencies from vlc
- added comment to 0002-jpeg.patch
v2: - addressed various comments (Thomas)

Bernd Kuhls (27):
package/freeswitch: new package package/freeswitch: enable optional modules package/freeswitch: add optional dependency to libedit package/freeswitch: enable mod_enum package/freeswitch: add optional dependency to libpng package/freeswitch: add optional dependency to unixodbc package/freeswitch: add optional dependency to freetype package/freeswitch: enable mod_yaml package/freeswitch: enable mod_lua package/freeswitch: enable mod_bv package/freeswitch: enable mod_codec2 package/freeswitch: add optional dependency to libg7221 package/freeswitch: enable mod_ilbc package/freeswitch: enable mod_isac package/freeswitch: enable mod_opus package/freeswitch: enable mod_portaudio package/freeswitch: enable mod_silk package/freeswitch: enable mod_sndfile package/freeswitch: enable mod_alsa package/freeswitch: enable mod_soundtouch package/freeswitch: add optional dependency to xz package/freeswitch: enable mod_memcache package/freeswitch: enable mod_imagick package/freeswitch: enable mod_cv package/freeswitch: enable mod_shout package/freeswitch: add optional dependency to openldap package/freeswitch: enable video support

 package/Config.in                  |   1 +
 package/freeswitch/0001-zrtp.patch |  33 ++++
 package/freeswitch/Config.in       |  41 +++++
 package/freeswitch/freeswitch.hash |   2 +
 package/freeswitch/freeswitch.mk   | 323 +++++++++++++++++++++++++++++++++++++
 5 files changed, 400 insertions(+)
 create mode 100644 package/freeswitch/0001-zrtp.patch
 create mode 100644 package/freeswitch/Config.in
 create mode 100644 package/freeswitch/freeswitch.hash
 create mode 100644 package/freeswitch/freeswitch.mk
Signature · 1 line
2.8.0.rc3
#1 lore raw

PATCH v14 1/27 package/freeswitch: new package

This commit adds freeswitch without any configured modules and with a minimal set of non-optional dependencies. All other dependencies and modules will be added by further patches in this series.

PLease note that freeswitch source repo bundles some libraries which are also available as buildroot packages. The freeswitch build system does not allow to use system libraries in these cases:

apr, apr-util, libsrtp, libvpx, libyuv, sofia-sip, tiff

The reason are patches to these packages by the freeswitch project which are not yet upstream. There is an open JIRA report for this situation:
https://freeswitch.org/jira/si/jira.issueviews:issue-html/FS-353/FS-353.html

More historic infos can be found here:
http://article.gmane.org/gmane.comp.telephony.freeswitch.devel/2715
https://freeswitch.org/the-missing-link/

In the 1.6.7 version bump libvpx & libyuv were also moved in-tree:
https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/febe0f8dacea2d2a31902b3dc469be757f8c3c4d
https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/44da905b4f6b3b35e94b4948fb70dec7b5071ded

---
 package/Config.in                  |  1 +
 package/freeswitch/0001-zrtp.patch | 33 +++++++++++++
 package/freeswitch/Config.in       | 27 +++++++++++
 package/freeswitch/freeswitch.hash |  2 +
 package/freeswitch/freeswitch.mk   | 97 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 160 insertions(+)
 create mode 100644 package/freeswitch/0001-zrtp.patch
 create mode 100644 package/freeswitch/Config.in
 create mode 100644 package/freeswitch/freeswitch.hash
 create mode 100644 package/freeswitch/freeswitch.mk
package/Config.in +1 -0
index bcfe13b..3ed5d1d 100644
@@ -1381,6 +1381,7 @@ endif
 	source "package/fcgiwrap/Config.in"
 	source "package/fmc/Config.in"
 	source "package/fping/Config.in"
+	source "package/freeswitch/Config.in"
 	source "package/gesftpserver/Config.in"
 	source "package/gutenprint/Config.in"
 	source "package/hans/Config.in"
package/freeswitch/0001-zrtp.patch new file +33 -0
new file mode 100644
index 0000000..c1cdeed
@@ -0,0 +1,33 @@
+Fix PowerPC detection (needs __linux__) and add aarch64 support.
+
+Patch sent upstream: https://freeswitch.org/jira/browse/FS-8746
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr freeswitch-1.6.6.org/libs/libzrtp/include/zrtp_config.h freeswitch-1.6.6/libs/libzrtp/include/zrtp_config.h
+--- freeswitch-1.6.6.org/libs/libzrtp/include/zrtp_config.h	2016-01-12 17:32:36.000000000 +0100
++++ freeswitch-1.6.6/libs/libzrtp/include/zrtp_config.h	2016-01-16 14:09:17.830860603 +0100
+@@ -21,7 +21,7 @@
+ #		define ZRTP_PLATFORM ZP_ANDROID
+ #	elif defined(__FreeBSD__)
+ #		define ZRTP_PLATFORM ZP_BSD
+-#	elif defined(linux) || defined(__linux)
++#	elif defined(linux) || defined(__linux__)
+ #		include <linux/version.h>
+ #		define ZRTP_PLATFORM ZP_LINUX
+ #	elif defined(__MACOSX__) || defined (__APPLE__) || defined (__MACH__)
+@@ -88,7 +88,13 @@
+  */
+ #define ZRTP_BYTE_ORDER ZBO_BIG_ENDIAN
+ 
+-#elif defined(ARM) || defined(_ARM_) || defined(ARMV4) || defined(__arm__)
++#elif defined(__AARCH64EB__)
++/*
++ * aarch64, big endian
++ */
++#define ZRTP_BYTE_ORDER ZBO_BIG_ENDIAN
++
++#elif defined(ARM) || defined(_ARM_) || defined(ARMV4) || defined(__arm__) || defined(__AARCH64EL__)
+ /*
+  * ARM, default to little endian
+  */
package/freeswitch/Config.in new file +27 -0
new file mode 100644
index 0000000..3824a09
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_FREESWITCH
+	bool "freeswitch"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on !BR2_STATIC_LIBS # apr, included in freeswitch source
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU # apr, included in freeswitch source
+	depends on BR2_USE_WCHAR # libuuid
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_SPEEX
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	select BR2_PACKAGE_ZLIB
+	help
+	  FreeSWITCH is a scalable open source cross-platform telephony
+	  platform designed to route and interconnect popular communication
+	  protocols using audio, video, text or any other form of media.
+
+	  https://www.freeswitch.org
+
+comment "freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar"
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \
+		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
package/freeswitch/freeswitch.hash new file +2 -0
new file mode 100644
index 0000000..31915cd
@@ -0,0 +1,2 @@
+# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.7.tar.xz.sha256
+sha256	9c7ca2d39985fdc39659054179465540e926880f032f855c0df74d6eec41a794	freeswitch-1.6.7.tar.xz
package/freeswitch/freeswitch.mk new file +97 -0

97 lines not on this page · raw message

Signature · 1 line
2.8.0.rc3
#2 lore raw

PATCH v14 1/27 package/freeswitch: new package

Quoted 18 lines · Bernd Kuhls

This commit adds freeswitch without any configured modules and with a minimal set of non-optional dependencies. All other dependencies and modules will be added by further patches in this series.

PLease note that freeswitch source repo bundles some libraries which are also available as buildroot packages. The freeswitch build system does not allow to use system libraries in these cases:

apr, apr-util, libsrtp, libvpx, libyuv, sofia-sip, tiff

The reason are patches to these packages by the freeswitch project which are not yet upstream. There is an open JIRA report for this situation:
https://freeswitch.org/jira/si/jira.issueviews:issue-html/FS-353/FS-353.html

More historic infos can be found here:
http://article.gmane.org/gmane.comp.telephony.freeswitch.devel/2715
https://freeswitch.org/the-missing-link/

Quoted 5 lines

In the 1.6.7 version bump libvpx & libyuv were also moved in-tree:
https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/febe0f8dacea2d2a31902b3dc469be757f8c3c4d
https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/44da905b4f6b3b35e94b4948fb70dec7b5071ded

Build test on arm-musl and sh4-glibc.

I've never seen a package before that puts advertising in the build output :-)

There is one small weird thing: the build ends with:
.../output/build/freeswitch-1.6.7/build/modcheck.sh: line 17: cd:
/usr/lib/freeswitch/mod: No such file or directory

If a script is searching for things in /usr/lib, that doesn't give a warm
fuzzy feeling... But at least I couldn't find any weird path references in the target directory, so I guess it's OK.

But again a small nit about the licensing, see below.

Quoted 1 line

---

[snip]

Quoted 11 lines
package/freeswitch/freeswitch.mk new file +5 -0
new file mode 100644
index 0000000..a6d5de3
@@ -0,0 +1,97 @@
+################################################################################
+#
+# freeswitch
+#
+################################################################################

package/freeswitch/freeswitch.mk line 15

Quoted 10 lines
package/freeswitch/freeswitch.mk new file +10 -0
+
+FREESWITCH_VERSION = 1.6.7
+FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz
+FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases
+FREESWITCH_LICENSE = MPLv1.1, \
+	Apache-2.0 (apr, apr-util) \
+	LGPLv2+ (sofia-sip), \
+	LGPLv2.1, GPLv2 (spandsp), \
+	BSD-3c (libsrtp), \
+	tiff license

I'm not 100% sure about the licensing bit (even with fossology, it's a huge
amount of work to really vet it). But now at least the license statement looks sufficiently complicated so that the appropriate alarm bells start ringing when someone looks at legal-info output. Also none of the potentially problematic licenses seem to be missing. Except... GPLv3. The following should be added.

	GPLv3+ with font exception (fonts), \

Perhaps that can be added while committing? This is v14 already...

With that:

Regards,
Arnout

Quoted 83 lines
package/freeswitch/freeswitch.mk new file +82 -0
+
+FREESWITCH_LICENSE_FILES = \
+	COPYING \
+	libs/apr/LICENSE \
+	libs/apr-util/LICENSE \
+	libs/sofia-sip/COPYING \
+	libs/sofia-sip/COPYRIGHTS \
+	libs/spandsp/COPYING \
+	libs/srtp/LICENSE \
+	libs/tiff-4.0.2/COPYRIGHT
+
+# required dependencies
+FREESWITCH_DEPENDENCIES = \
+	host-pkgconf \
+	jpeg \
+	libcurl \
+	openssl \
+	pcre \
+	speex \
+	sqlite \
+	util-linux \
+	zlib
+
+# freeswitch comes with pre-enabled modules, since we want to control
+# the modules ourselves reset the upstream configuration
+define FREESWITCH_RESET_MODULES
+	> $(@D)/modules.conf
+endef
+FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_RESET_MODULES
+
+# we neither need host-perl nor host-php
+FREESWITCH_CONF_ENV += \
+	ac_cv_prog_PERL=false \
+	ac_cv_have_perl=no \
+	ac_cv_prog_PHP=false \
+	ac_cv_have_php=no \
+	ac_cv_prog_PHP_CONFIG=false \
+	ac_cv_have_php_config=no
+
+# copied from freeswitch/configure.ac, line 258+
+FREESWITCH_CONF_ENV += \
+	ac_cv_file__dev_ptmx=yes \
+	ac_cv_va_copy=yes \
+	ac_cv_file__dev_urandom=yes \
+	ac_cv_func_realloc_0_nonnull=yes \
+	ac_cv_func_malloc_0_nonnull=yes \
+	ac_cv_func_setpgrp_void=yes \
+	ac_cv_file__dev_zero=yes \
+	apr_cv_tcp_nodelay_with_cork=yes \
+	ac_cv_file_dbd_apr_dbd_mysql_c=no \
+	ac_cv_sizeof_ssize_t=4 \
+	apr_cv_mutex_recursive=yes \
+	ac_cv_func_pthread_rwlock_init=yes \
+	apr_cv_type_rwlock_t=yes \
+	apr_cv_process_shared_works=yes \
+	apr_cv_mutex_robust_shared=yes
+
+# build breaks with -Werror enabled
+FREESWITCH_CONF_ENV += \
+	ac_cv_gcc_supports_w_no_unused_result=no
+
+FREESWITCH_CONF_OPTS = \
+	--disable-core-libedit-support \
+	--disable-core-odbc-support \
+	--disable-libvpx \
+	--disable-libyuv \
+	--without-erlang \
+	--enable-fhs \
+	--without-python \
+	--disable-system-xmlrpc-c
+
+# zrtp supports a limited set of archs, sparc support is also broken due
+# to a broken ld call by gcc, see libs/libzrtp/include/zrtp_config.h
+ifeq ($(BR2_i386)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpcle)$(BR2_x86_64),y)
+FREESWITCH_CONF_OPTS += --enable-zrtp
+else
+FREESWITCH_LICENSE += AGPLv3 (libzrtp)
+FREESWITCH_LICENSE_FILES += libs/libzrtp/src/zrtp_legal.c
+FREESWITCH_CONF_OPTS += --disable-zrtp
+endif
+
+$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#3 lore raw

PATCH v14 1/27 package/freeswitch: new package

Quoted 4 lines · Arnout Vandecappelle
Quoted 3 lines · Bernd Kuhls

This commit adds freeswitch without any configured modules and with a minimal set of non-optional dependencies. All other dependencies and modules will be added by further patches in this series.

[snip]

Quoted 1 line

Oops, no...

[snip]

Quoted 9 lines

package/freeswitch/freeswitch.mk line 93

Quoted 9 lines
package/freeswitch/freeswitch.mk new file +3 -0
+# zrtp supports a limited set of archs, sparc support is also broken due
+# to a broken ld call by gcc, see libs/libzrtp/include/zrtp_config.h
+ifeq

($(BR2_i386)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpcle)$(BR2_x86_64),y)

package/freeswitch/freeswitch.mk new file +4 -0
+FREESWITCH_CONF_OPTS += --enable-zrtp
+else
+FREESWITCH_LICENSE += AGPLv3 (libzrtp)
+FREESWITCH_LICENSE_FILES += libs/libzrtp/src/zrtp_legal.c

This doesn't sound right, I guess that that bit should have gone to the other
side of the condition?

So this makes the whole AGPLv3 for most architectures... I guess that anyone
who has a problem with that can just edit the .mk file to remove zrtp support.

Regards,
Arnout

Quoted 7 lines
Quoted 5 lines
package/freeswitch/freeswitch.mk new file +4 -0
+FREESWITCH_CONF_OPTS += --disable-zrtp
+endif
+
+$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#4 lore raw

PATCH v14 1/27 package/freeswitch: new package

Quoted 26 lines · Arnout Vandecappelle
Quoted 4 lines · Arnout Vandecappelle
Quoted 3 lines · Bernd Kuhls

This commit adds freeswitch without any configured modules and with a minimal set of non-optional dependencies. All other dependencies and modules will be added by further patches in this series.

[snip]

Quoted 1 line

Oops, no...

[snip]

Quoted 10 lines

package/freeswitch/freeswitch.mk line 93

Quoted 10 lines
package/freeswitch/freeswitch.mk new file +3 -0
+# zrtp supports a limited set of archs, sparc support is also broken due
+# to a broken ld call by gcc, see libs/libzrtp/include/zrtp_config.h
+ifeq

($(BR2_i386)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpcle)$(BR2_x86_64),y)

package/freeswitch/freeswitch.mk new file +4 -0
+FREESWITCH_CONF_OPTS += --enable-zrtp
+else
+FREESWITCH_LICENSE += AGPLv3 (libzrtp)
+FREESWITCH_LICENSE_FILES += libs/libzrtp/src/zrtp_legal.c

This doesn't sound right, I guess that that bit should have gone to the other
side of the condition?

Quoted 2 lines

So this makes the whole AGPLv3 for most architectures... I guess that anyone
who has a problem with that can just edit the .mk file to remove zrtp support.

And now that I've actually _read_ zrtp_legal.c: there is an exception for when
you distribute it bundled with freeswitch; in that case, it's licensed MPLv1.1. So, the AGPLv3 bit can be removed. I _would_ keep the zrtp_legal.c as a license file, though.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH v14 2/27 package/freeswitch: enable optional modules

In reply to Bernd Kuhls

All these modules have no external dependencies.

---
 package/freeswitch/freeswitch.mk | 80 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 73 insertions(+), 7 deletions(-)
package/freeswitch/freeswitch.mk +73 -7
index a6d5de3..95a992b 100644
@@ -36,13 +36,6 @@ FREESWITCH_DEPENDENCIES = \
 	util-linux \
 	zlib
 
-# freeswitch comes with pre-enabled modules, since we want to control
-# the modules ourselves reset the upstream configuration
-define FREESWITCH_RESET_MODULES
-	> $(@D)/modules.conf
-endef
-FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_RESET_MODULES
-
 # we neither need host-perl nor host-php
 FREESWITCH_CONF_ENV += \
 	ac_cv_prog_PERL=false \
@@ -94,4 +87,77 @@ FREESWITCH_LICENSE_FILES += libs/libzrtp/src/zrtp_legal.c
 FREESWITCH_CONF_OPTS += --disable-zrtp
 endif
 
+# Enable optional modules
+FREESWITCH_ENABLED_MODULES += \
+	applications/mod_avmd \
+	applications/mod_blacklist \
+	applications/mod_callcenter \
+	applications/mod_commands \
+	applications/mod_conference \
+	applications/mod_curl \
+	applications/mod_db \
+	applications/mod_directory \
+	applications/mod_dptools \
+	applications/mod_easyroute \
+	applications/mod_esf \
+	applications/mod_esl \
+	applications/mod_expr \
+	applications/mod_fifo \
+	applications/mod_fsk \
+	applications/mod_hash \
+	applications/mod_httapi \
+	applications/mod_lcr \
+	applications/mod_sms \
+	applications/mod_snom \
+	applications/mod_spandsp \
+	applications/mod_spy \
+	applications/mod_valet_parking \
+	applications/mod_voicemail \
+	codecs/mod_g723_1 \
+	codecs/mod_g729 \
+	dialplans/mod_dialplan_asterisk \
+	dialplans/mod_dialplan_xml \
+	endpoints/mod_loopback \
+	endpoints/mod_rtc \
+	endpoints/mod_rtmp \
+	endpoints/mod_sofia \
+	endpoints/mod_verto \
+	event_handlers/mod_cdr_csv \
+	event_handlers/mod_cdr_sqlite \
+	event_handlers/mod_event_socket \
+	formats/mod_local_stream \
+	formats/mod_native_file \
+	formats/mod_tone_stream \
+	loggers/mod_console \
+	loggers/mod_logfile \
+	loggers/mod_syslog \
+	say/mod_say_de \
+	say/mod_say_en \
+	say/mod_say_es \
+	say/mod_say_es_ar \
+	say/mod_say_fa \
+	say/mod_say_fr \
+	say/mod_say_he \
+	say/mod_say_hr \
+	say/mod_say_hu \
+	say/mod_say_it \
+	say/mod_say_ja \
+	say/mod_say_nl \
+	say/mod_say_pl \
+	say/mod_say_pt \
+	say/mod_say_ru \
+	say/mod_say_sv \
+	say/mod_say_th \
+	say/mod_say_zh \
+	xml_int/mod_xml_cdr \
+	xml_int/mod_xml_rpc \
+	xml_int/mod_xml_scgi
+
+define FREESWITCH_ENABLE_MODULES
+	$(Q)echo $(FREESWITCH_ENABLED_MODULES) \
+		| tr ' ' '\n' \
+		> $(@D)/modules.conf
+endef
+FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#6 lore raw

PATCH v14 3/27 package/freeswitch: add optional dependency to libedit

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
package/freeswitch/freeswitch.mk +7 -1
index 95a992b..d83835e 100644
@@ -68,7 +68,6 @@ FREESWITCH_CONF_ENV += \
 	ac_cv_gcc_supports_w_no_unused_result=no
 
 FREESWITCH_CONF_OPTS = \
-	--disable-core-libedit-support \
 	--disable-core-odbc-support \
 	--disable-libvpx \
 	--disable-libyuv \
@@ -160,4 +159,11 @@ define FREESWITCH_ENABLE_MODULES
 endef
 FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
 
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+FREESWITCH_DEPENDENCIES += libedit
+FREESWITCH_CONF_OPTS += --enable-core-libedit-support
+else
+FREESWITCH_CONF_OPTS += --disable-core-libedit-support
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#7 lore raw

PATCH v14 4/27 package/freeswitch: enable mod_enum

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index d83835e..9c6b874 100644
@@ -166,4 +166,9 @@ else
 FREESWITCH_CONF_OPTS += --disable-core-libedit-support
 endif
 
+ifeq ($(BR2_PACKAGE_LIBLDNS),y)
+FREESWITCH_DEPENDENCIES += libldns
+FREESWITCH_ENABLED_MODULES += applications/mod_enum
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#8 lore raw

PATCH v14 5/27 package/freeswitch: add optional dependency to libpng

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 9c6b874..b129628 100644
@@ -171,4 +171,9 @@ FREESWITCH_DEPENDENCIES += libldns
 FREESWITCH_ENABLED_MODULES += applications/mod_enum
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPNG),y)
+FREESWITCH_DEPENDENCIES += libpng
+FREESWITCH_ENABLED_MODULES += formats/mod_png
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#9 lore raw

PATCH v14 6/27 package/freeswitch: add optional dependency to unixodbc

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
package/freeswitch/freeswitch.mk +9 -1
index b129628..4991cfe 100644
@@ -68,7 +68,6 @@ FREESWITCH_CONF_ENV += \
 	ac_cv_gcc_supports_w_no_unused_result=no
 
 FREESWITCH_CONF_OPTS = \
-	--disable-core-odbc-support \
 	--disable-libvpx \
 	--disable-libyuv \
 	--without-erlang \
@@ -176,4 +175,13 @@ FREESWITCH_DEPENDENCIES += libpng
 FREESWITCH_ENABLED_MODULES += formats/mod_png
 endif
 
+ifeq ($(BR2_PACKAGE_UNIXODBC),y)
+FREESWITCH_DEPENDENCIES += unixodbc
+FREESWITCH_CONF_OPTS += \
+	--enable-core-odbc-support \
+	--with-odbc=$(STAGING_DIR)/usr
+else
+FREESWITCH_CONF_OPTS += --disable-core-odbc-support
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#10 lore raw

PATCH v14 7/27 package/freeswitch: add optional dependency to freetype

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/freeswitch/freeswitch.mk +4 -0
index 4991cfe..b66464a 100644
@@ -158,6 +158,10 @@ define FREESWITCH_ENABLE_MODULES
 endef
 FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
 
+ifeq ($(BR2_PACKAGE_FREETYPE),y)
+FREESWITCH_DEPENDENCIES += freetype
+endif
+
 ifeq ($(BR2_PACKAGE_LIBEDIT),y)
 FREESWITCH_DEPENDENCIES += libedit
 FREESWITCH_CONF_OPTS += --enable-core-libedit-support
Signature · 1 line
2.8.0.rc3
#11 lore raw

PATCH v14 8/27 package/freeswitch: enable mod_yaml

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index b66464a..31c0bda 100644
@@ -179,6 +179,11 @@ FREESWITCH_DEPENDENCIES += libpng
 FREESWITCH_ENABLED_MODULES += formats/mod_png
 endif
 
+ifeq ($(BR2_PACKAGE_LIBYAML),y)
+FREESWITCH_DEPENDENCIES += libyaml
+FREESWITCH_ENABLED_MODULES += languages/mod_yaml
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#12 lore raw

PATCH v14 9/27 package/freeswitch: enable mod_lua

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 31c0bda..f6eb137 100644
@@ -184,6 +184,11 @@ FREESWITCH_DEPENDENCIES += libyaml
 FREESWITCH_ENABLED_MODULES += languages/mod_yaml
 endif
 
+ifeq ($(BR2_PACKAGE_LUA),y)
+FREESWITCH_DEPENDENCIES += lua
+FREESWITCH_ENABLED_MODULES += languages/mod_lua
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#13 lore raw

PATCH v14 10/27 package/freeswitch: enable mod_bv

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index f6eb137..a4e9ade 100644
@@ -162,6 +162,11 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
 
+ifeq ($(BR2_PACKAGE_LIBBROADVOICE),y)
+FREESWITCH_DEPENDENCIES += libbroadvoice
+FREESWITCH_ENABLED_MODULES += codecs/mod_bv
+endif
+
 ifeq ($(BR2_PACKAGE_LIBEDIT),y)
 FREESWITCH_DEPENDENCIES += libedit
 FREESWITCH_CONF_OPTS += --enable-core-libedit-support
Signature · 1 line
2.8.0.rc3
#14 lore raw

PATCH v14 11/27 package/freeswitch: enable mod_codec2

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index a4e9ade..85a6209 100644
@@ -167,6 +167,11 @@ FREESWITCH_DEPENDENCIES += libbroadvoice
 FREESWITCH_ENABLED_MODULES += codecs/mod_bv
 endif
 
+ifeq ($(BR2_PACKAGE_LIBCODEC2),y)
+FREESWITCH_DEPENDENCIES += libcodec2
+FREESWITCH_ENABLED_MODULES += codecs/mod_codec2
+endif
+
 ifeq ($(BR2_PACKAGE_LIBEDIT),y)
 FREESWITCH_DEPENDENCIES += libedit
 FREESWITCH_CONF_OPTS += --enable-core-libedit-support
Signature · 1 line
2.8.0.rc3
#15 lore raw

PATCH v14 12/27 package/freeswitch: add optional dependency to libg7221

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/freeswitch/freeswitch.mk +4 -0
index 85a6209..dfc994a 100644
@@ -179,6 +179,10 @@ else
 FREESWITCH_CONF_OPTS += --disable-core-libedit-support
 endif
 
+ifeq ($(BR2_PACKAGE_LIBG7221),y)
+FREESWITCH_DEPENDENCIES += libg7221
+endif
+
 ifeq ($(BR2_PACKAGE_LIBLDNS),y)
 FREESWITCH_DEPENDENCIES += libldns
 FREESWITCH_ENABLED_MODULES += applications/mod_enum
Signature · 1 line
2.8.0.rc3
#16 lore raw

PATCH v14 13/27 package/freeswitch: enable mod_ilbc

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index dfc994a..0ccbe2a 100644
@@ -183,6 +183,11 @@ ifeq ($(BR2_PACKAGE_LIBG7221),y)
 FREESWITCH_DEPENDENCIES += libg7221
 endif
 
+ifeq ($(BR2_PACKAGE_LIBILBC),y)
+FREESWITCH_DEPENDENCIES += libilbc
+FREESWITCH_ENABLED_MODULES += codecs/mod_ilbc
+endif
+
 ifeq ($(BR2_PACKAGE_LIBLDNS),y)
 FREESWITCH_DEPENDENCIES += libldns
 FREESWITCH_ENABLED_MODULES += applications/mod_enum
Signature · 1 line
2.8.0.rc3
#17 lore raw

PATCH v14 14/27 package/freeswitch: enable mod_isac

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/freeswitch/freeswitch.mk +8 -0
index 0ccbe2a..083e412 100644
@@ -158,6 +158,14 @@ define FREESWITCH_ENABLE_MODULES
 endef
 FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
 
+# mod_isac supports a limited set of archs
+# src/mod/codecs/mod_isac/typedefs.h
+ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_64),y)
+FREESWITCH_LICENSE += BSD-3c (mod_isac)
+FREESWITCH_LICENSE_FILES += src/mod/codecs/mod_isac/LICENSE
+FREESWITCH_ENABLED_MODULES += codecs/mod_isac
+endif
+
 ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
Signature · 1 line
2.8.0.rc3
#18 lore raw

PATCH v14 15/27 package/freeswitch: enable mod_opus

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 083e412..8176ed9 100644
@@ -216,6 +216,11 @@ FREESWITCH_DEPENDENCIES += lua
 FREESWITCH_ENABLED_MODULES += languages/mod_lua
 endif
 
+ifeq ($(BR2_PACKAGE_OPUS),y)
+FREESWITCH_DEPENDENCIES += opus
+FREESWITCH_ENABLED_MODULES += codecs/mod_opus
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#19 lore raw

PATCH v14 16/27 package/freeswitch: enable mod_portaudio

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 8176ed9..d06ee89 100644
@@ -221,6 +221,11 @@ FREESWITCH_DEPENDENCIES += opus
 FREESWITCH_ENABLED_MODULES += codecs/mod_opus
 endif
 
+ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
+FREESWITCH_DEPENDENCIES += portaudio
+FREESWITCH_ENABLED_MODULES += endpoints/mod_portaudio
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#20 lore raw

PATCH v14 17/27 package/freeswitch: enable mod_silk

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index d06ee89..8ce454c 100644
@@ -226,6 +226,11 @@ FREESWITCH_DEPENDENCIES += portaudio
 FREESWITCH_ENABLED_MODULES += endpoints/mod_portaudio
 endif
 
+ifeq ($(BR2_PACKAGE_LIBSILK),y)
+FREESWITCH_DEPENDENCIES += libsilk
+FREESWITCH_ENABLED_MODULES += codecs/mod_silk
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#21 lore raw

PATCH v14 18/27 package/freeswitch: enable mod_sndfile

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 8ce454c..80a6d0b 100644
@@ -231,6 +231,11 @@ FREESWITCH_DEPENDENCIES += libsilk
 FREESWITCH_ENABLED_MODULES += codecs/mod_silk
 endif
 
+ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
+FREESWITCH_DEPENDENCIES += libsndfile
+FREESWITCH_ENABLED_MODULES += formats/mod_sndfile
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#22 lore raw

PATCH v14 19/27 package/freeswitch: enable mod_alsa

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 80a6d0b..a012886 100644
@@ -166,6 +166,11 @@ FREESWITCH_LICENSE_FILES += src/mod/codecs/mod_isac/LICENSE
 FREESWITCH_ENABLED_MODULES += codecs/mod_isac
 endif
 
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+FREESWITCH_DEPENDENCIES += alsa-lib
+FREESWITCH_ENABLED_MODULES += endpoints/mod_alsa
+endif
+
 ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
Signature · 1 line
2.8.0.rc3
#23 lore raw

PATCH v14 20/27 package/freeswitch: enable mod_soundtouch

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index a012886..cb9f45d 100644
@@ -241,6 +241,11 @@ FREESWITCH_DEPENDENCIES += libsndfile
 FREESWITCH_ENABLED_MODULES += formats/mod_sndfile
 endif
 
+ifeq ($(BR2_PACKAGE_LIBSOUNDTOUCH),y)
+FREESWITCH_DEPENDENCIES += libsoundtouch
+FREESWITCH_ENABLED_MODULES += applications/mod_soundtouch
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#24 lore raw

PATCH v14 21/27 package/freeswitch: add optional dependency to xz

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/freeswitch/freeswitch.mk +4 -0
index cb9f45d..4228f41 100644
@@ -255,4 +255,8 @@ else
 FREESWITCH_CONF_OPTS += --disable-core-odbc-support
 endif
 
+ifeq ($(BR2_PACKAGE_XZ),y)
+FREESWITCH_DEPENDENCIES += xz
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3
#25 lore raw

PATCH v14 22/27 package/freeswitch: enable mod_memcache

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 4228f41..73ea144 100644
@@ -206,6 +206,11 @@ FREESWITCH_DEPENDENCIES += libldns
 FREESWITCH_ENABLED_MODULES += applications/mod_enum
 endif
 
+ifeq ($(BR2_PACKAGE_LIBMEMCACHED),y)
+FREESWITCH_DEPENDENCIES += libmemcached
+FREESWITCH_ENABLED_MODULES += applications/mod_memcache
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPNG),y)
 FREESWITCH_DEPENDENCIES += libpng
 FREESWITCH_ENABLED_MODULES += formats/mod_png
Signature · 1 line
2.8.0.rc3
#26 lore raw

PATCH v14 23/27 package/freeswitch: enable mod_imagick

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 73ea144..534b964 100644
@@ -175,6 +175,11 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
 
+ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y)
+FREESWITCH_DEPENDENCIES += imagemagick
+FREESWITCH_ENABLED_MODULES += formats/mod_imagick
+endif
+
 ifeq ($(BR2_PACKAGE_LIBBROADVOICE),y)
 FREESWITCH_DEPENDENCIES += libbroadvoice
 FREESWITCH_ENABLED_MODULES += codecs/mod_bv
Signature · 1 line
2.8.0.rc3
#27 lore raw

PATCH v14 24/27 package/freeswitch: enable mod_cv

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 534b964..ce242a4 100644
@@ -256,6 +256,11 @@ FREESWITCH_DEPENDENCIES += libsoundtouch
 FREESWITCH_ENABLED_MODULES += applications/mod_soundtouch
 endif
 
+ifeq ($(BR2_PACKAGE_OPENCV),y)
+FREESWITCH_DEPENDENCIES += opencv
+FREESWITCH_ENABLED_MODULES += applications/mod_cv
+endif
+
 ifeq ($(BR2_PACKAGE_UNIXODBC),y)
 FREESWITCH_DEPENDENCIES += unixodbc
 FREESWITCH_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
#28 lore raw

PATCH v14 25/27 package/freeswitch: enable mod_shout

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index ce242a4..b2df598 100644
@@ -241,6 +241,11 @@ FREESWITCH_DEPENDENCIES += portaudio
 FREESWITCH_ENABLED_MODULES += endpoints/mod_portaudio
 endif
 
+ifeq ($(BR2_PACKAGE_LAME)$(BR2_PACKAGE_LIBSHOUT)$(BR2_PACKAGE_MPG123),yyy)
+FREESWITCH_DEPENDENCIES += lame libshout mpg123
+FREESWITCH_ENABLED_MODULES += formats/mod_shout
+endif
+
 ifeq ($(BR2_PACKAGE_LIBSILK),y)
 FREESWITCH_DEPENDENCIES += libsilk
 FREESWITCH_ENABLED_MODULES += codecs/mod_silk
Signature · 1 line
2.8.0.rc3
#29 lore raw

PATCH v14 26/27 package/freeswitch: add optional dependency to openldap

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index b2df598..9337214 100644
@@ -231,6 +231,11 @@ FREESWITCH_DEPENDENCIES += lua
 FREESWITCH_ENABLED_MODULES += languages/mod_lua
 endif
 
+ifeq ($(BR2_PACKAGE_OPENLDAP),y)
+FREESWITCH_DEPENDENCIES += openldap
+FREESWITCH_ENABLED_MODULES += directories/mod_ldap xml_int/mod_xml_ldap
+endif
+
 ifeq ($(BR2_PACKAGE_OPUS),y)
 FREESWITCH_DEPENDENCIES += opus
 FREESWITCH_ENABLED_MODULES += codecs/mod_opus
Signature · 1 line
2.8.0.rc3
#30 lore raw

PATCH v14 27/27 package/freeswitch: enable video support

In reply to Bernd Kuhls
---
 package/freeswitch/Config.in     | 16 +++++++++++++++-
 package/freeswitch/freeswitch.mk | 40 ++++++++++++++++++++++++++++++++++++++--
 2 files changed, 53 insertions(+), 3 deletions(-)
package/freeswitch/Config.in +15 -1
index 3824a09..f1a6f69 100644
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_FREESWITCH
+menuconfig BR2_PACKAGE_FREESWITCH
 	bool "freeswitch"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # apr, included in freeswitch source
@@ -21,6 +21,20 @@ config BR2_PACKAGE_FREESWITCH
 
 	  https://www.freeswitch.org
 
+if BR2_PACKAGE_FREESWITCH
+
+config BR2_PACKAGE_FREESWITCH_MODULE_VIDEO
+	bool "Video support"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # libyuv (in-tree)
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	select BR2_PACKAGE_FFMPEG_SWSCALE
+
+comment "Video support needs a toolchain w/ gcc >= 4.8"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
+endif
+
 comment "freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar"
 	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \
package/freeswitch/freeswitch.mk +38 -2
index 9337214..a48868a 100644
@@ -68,8 +68,6 @@ FREESWITCH_CONF_ENV += \
 	ac_cv_gcc_supports_w_no_unused_result=no
 
 FREESWITCH_CONF_OPTS = \
-	--disable-libvpx \
-	--disable-libyuv \
 	--without-erlang \
 	--enable-fhs \
 	--without-python \
@@ -284,4 +282,42 @@ ifeq ($(BR2_PACKAGE_XZ),y)
 FREESWITCH_DEPENDENCIES += xz
 endif
 
+ifeq ($(BR2_PACKAGE_FREESWITCH_MODULE_VIDEO),y)
+FREESWITCH_LICENSE += BSD-3c (libvpx, libyuv)
+FREESWITCH_LICENSE_FILES += libs/libvpx/LICENSE libs/libyuv/LICENSE
+FREESWITCH_CONF_OPTS += --enable-libvpx --enable-libyuv
+FREESWITCH_DEPENDENCIES += host-yasm ffmpeg
+FREESWITCH_ENABLED_MODULES += applications/mod_av
+FREESWITCH_ENABLED_MODULES += applications/mod_fsv
+
+# freeswitch uses its own copy of libvpx since 1.6.7
+# the implementation of libvpx into the freeswitch build system is not
+# cross-compile friendly so we compile libvpx ourselves by copying
+# most of packages/libvpx/libvpx.mk here, added by some --disable-
+# options from freeswitch-1.6.7/Makefile.am, line 536
+define FREESWITCH_CROSS_COMPILE_LIBVPX
+	(cd $(@D)/libs/libvpx && \
+	$(TARGET_CONFIGURE_OPTS) \
+	$(TARGET_CONFIGURE_ARGS) \
+	LD="$(TARGET_CC)" \
+	CROSS=$(GNU_TARGET_NAME) \
+	./configure \
+		--target=generic-gnu \
+		--enable-pic \
+		--prefix=/usr \
+		--disable-docs \
+		--disable-examples \
+		--disable-install-bins \
+		--disable-install-srcs \
+		--disable-unit-tests \
+		--extra-cflags="-fvisibility=hidden" \
+	)
+	$(TARGET_MAKE_ENV) $(LIBVPX_MAKE_ENV) $(MAKE) -C $(@D)/libs/libvpx
+endef
+FREESWITCH_POST_CONFIGURE_HOOKS += FREESWITCH_CROSS_COMPILE_LIBVPX
+
+else
+FREESWITCH_CONF_OPTS += --disable-libvpx --disable-libyuv
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.8.0.rc3