Skip to contentSkip to conversation

package/freeswitch: new package

PATCH Superseded Bernd Kuhls 3 participants 37 messages Feb 27, 2016 – Mar 1, 2016 Kbuild

v9 of 15 Superseded Latest is v15 →

lore
Share & tools
lore
#0 lore raw

v9 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. I also removed all options from Config.in.

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

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 (28):
package/freeswitch: new package
package/freeswitch: enable optional modules package/freeswitch: add optional dependency to libuuid package/freeswitch: add optional dependency to libedit package/freeswitch: enable mod_enum, add optional dependency to
libldns
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, add optional dependency to
libyaml
package/freeswitch: enable mod_lua, add optional dependency to lua package/freeswitch: enable mod_fsv, add optional dependencies to
libvpx & libyuv
package/freeswitch: enable mod_av, add optional dependencies to
ffmpeg, libvpx & libyuv
package/freeswitch: enable mod_vpx, add optional dependency to libvpx package/freeswitch: enable mod_bv, add optional dependency to
libbroadvoice
package/freeswitch: enable mod_codec2, add optional dependency to
libcodec2
package/freeswitch: add optional dependency to libg7221 package/freeswitch: enable mod_ilbc, add optional dependency to
libilbc
package/freeswitch: enable mod_isac
package/freeswitch: enable mod_opus, add optional dependency to opus package/freeswitch: enable mod_portaudio, add optional dependency to
portaudio
package/freeswitch: enable mod_silk, add optional dependency to
libsilk
package/freeswitch: enable mod_sndfile, add optional dependency to
libsndfile
package/freeswitch: enable mod_alsa, add optional dependency to
alsa-lib
package/freeswitch: enable mod_soundtouch, add optional dependency to
libsoundtouch
package/freeswitch: enable mod_xml_rpc
package/freeswitch: enable mod_imagick, add optional dependencies to
imagemagick, libvpx & libyuv
package/freeswitch: enable mod_memcache, add optional dependency to
libmemcached
package/freeswitch: add optional dependency to xz

 package/Config.in                                  |   1 +
 package/freeswitch/0001-jpeg.patch                 |  31 +++
 package/freeswitch/0002-zrtp.patch                 |  33 +++
 ...olve-Missing-MEMMOVE-macro-in-spandsp-aut.patch |  71 +++++
 package/freeswitch/Config.in                       |  28 ++
 package/freeswitch/freeswitch.hash                 |   2 +
 package/freeswitch/freeswitch.mk                   | 291 +++++++++++++++++++++
 7 files changed, 457 insertions(+)
 create mode 100644 package/freeswitch/0001-jpeg.patch
 create mode 100644 package/freeswitch/0002-zrtp.patch
 create mode 100644 package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.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.7.0
#1 lore raw

PATCH v9 1/28 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, 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/

---
 package/Config.in                                  |  1 +
 package/freeswitch/0001-jpeg.patch                 | 31 ++++++++
 package/freeswitch/0002-zrtp.patch                 | 33 +++++++++
 ...olve-Missing-MEMMOVE-macro-in-spandsp-aut.patch | 71 ++++++++++++++++++
 package/freeswitch/Config.in                       | 24 ++++++
 package/freeswitch/freeswitch.hash                 |  2 +
 package/freeswitch/freeswitch.mk                   | 85 ++++++++++++++++++++++
 7 files changed, 247 insertions(+)
 create mode 100644 package/freeswitch/0001-jpeg.patch
 create mode 100644 package/freeswitch/0002-zrtp.patch
 create mode 100644 package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.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 67a2514..d26e7ba 100644
@@ -1361,6 +1361,7 @@ endif
 	source "package/fmc/Config.in"
 	source "package/foomatic-filters/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-jpeg.patch new file +31 -0
new file mode 100644
index 0000000..8fc3052
@@ -0,0 +1,31 @@
+Fix jpeg detection
+
+libyuv has an optional jpeg dependency, freeswitch configure misses -ljpeg
+when searching for libyuv and therefore assumes libyuv is missing. When
+freeswitch first searches for libjpeg, -ljpeg will be added to
+PKG_CHECK_MODULES([YUV].
+
+Patch sent upstream: https://freeswitch.org/jira/browse/FS-8745
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr freeswitch_video2-b8b6acf33efe64aebbd939dd7281d6b6cd8fc2f4.org/configure.ac freeswitch_video2-b8b6acf33efe64aebbd939dd7281d6b6cd8fc2f4/configure.ac
+--- freeswitch_video2-b8b6acf33efe64aebbd939dd7281d6b6cd8fc2f4.org/configure.ac	2015-05-23 05:18:56.000000000 +0200
++++ freeswitch_video2-b8b6acf33efe64aebbd939dd7281d6b6cd8fc2f4/configure.ac	2015-05-25 14:15:20.360156247 +0200
+@@ -783,6 +783,8 @@
+ APR_ADDTO([PLATFORM_CORE_LIBS], [-lz])
+ fi
+ 
++AC_CHECK_LIB(jpeg, jpeg_std_error,, AC_MSG_ERROR([no usable libjpeg; please install libjpeg devel package or equivalent]))
++
+ PKG_CHECK_MODULES([YUV], [libyuv >= 0.0.1280],
+	     [AC_MSG_RESULT([yes]);AM_CONDITIONAL([HAVE_YUV],[true])],
+	     [AC_MSG_RESULT([no]);AM_CONDITIONAL([HAVE_YUV],[false])])
+@@ -797,7 +799,6 @@
+ 
+ save_LIBS="$LIBS"
+ LIBS=
+-AC_CHECK_LIB(jpeg, jpeg_std_error,, AC_MSG_ERROR([no usable libjpeg; please install libjpeg devel package or equivalent]))
+ 
+ AC_CHECK_LIB(jbig, jbg_enc_out, have_libjbig=yes, have_libjbig=no)
+ if test "x$have_libjbig" = "xyes"  ; then
package/freeswitch/0002-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/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch new file +71 -0

71 lines not on this page · raw message

package/freeswitch/Config.in new file +24 -0
new file mode 100644
index 0000000..b52d469
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_FREESWITCH
+	bool "freeswitch"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU # apr, included in freeswitch source
+	depends on !BR2_STATIC_LIBS # apr, included in freeswitch source
+	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_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"
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+		|| BR2_STATIC_LIBS
package/freeswitch/freeswitch.hash new file +2 -0
new file mode 100644
index 0000000..ebee17f
@@ -0,0 +1,2 @@
+# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.6.tar.xz.sha256
+sha256	397b9c63c2c1f7008a2cc269f2e0e9a935d862b3fb074a6044819bcaea02ebc0	freeswitch-1.6.6.tar.xz
package/freeswitch/freeswitch.mk new file +85 -0

85 lines not on this page · raw message

Signature · 1 line
2.7.0
#2 lore raw

PATCH v9 1/28 package/freeswitch: new package

Dear Bernd Kuhls,

Quoted 8 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:

Quoted 5 lines

apr, apr-util, libsrtp, 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

The number of libs they bundle is quite unfortunate. But well, there's no much you can about this besides following this bug report.

Quoted 6 lines

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

This patch unfortunately does not build here. With the following defconfig:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2015.11-rc1-71-g90d1299.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_FREESWITCH=y
# BR2_TARGET_ROOTFS_TAR is not set

I get:

CCLD fs_ivrd
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:69: undefined reference to zrtp_memset' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:78: undefined reference to zrtp_sys_alloc' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:87: undefined reference to `zrtp_sys_free'
collect2: error: ld returned 1 exit status
Makefile:1462: recipe for target 'fs_cli' failed
make[4]: *** [fs_cli] Error 1
make[4]: *** Waiting for unfinished jobs....
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:69: undefined reference to zrtp_memset' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:78: undefined reference to zrtp_sys_alloc' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/libzrtp/third_party/bnlib/lbnmem.c:87: undefined reference to `zrtp_sys_free'
collect2: error: ld returned 1 exit status
Makefile:1470: recipe for target 'fs_ivrd' failed
make[4]: *** [fs_ivrd] Error 1

*** Warning: Linking the shared library libfreeswitch.la against the *** static library libs/libzrtp/libzrtp.a is not portable!

Quoted 6 lines
package/freeswitch/0001-jpeg.patch new file +0 -0
new file mode 100644
index 0000000..8fc3052

package/freeswitch/0001-jpeg.patch line 8

Quoted 8 lines
package/freeswitch/0001-jpeg.patch new file +8 -0
@@ -0,0 +1,31 @@
+Fix jpeg detection
+
+libyuv has an optional jpeg dependency, freeswitch configure misses -ljpeg
+when searching for libyuv and therefore assumes libyuv is missing. When
+freeswitch first searches for libjpeg, -ljpeg will be added to
+PKG_CHECK_MODULES([YUV].
+
+Patch sent upstream: https://freeswitch.org/jira/browse/FS-8745

Can you follow-up on this bug report by doing a pull request, as they suggested?

package/freeswitch/0002-zrtp.patch line 3

Quoted 9 lines
package/freeswitch/0002-zrtp.patch new file +3 -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

Ditto.

(Note that I find it weird to fix a bug and add support for a new architecture in the same patch. Two separate patches would have definitely been better here.)

package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch line 5

Quoted 11 lines
package/freeswitch/0003-FS-8736-resolve-Missing-MEMMOVE-macro-in-spandsp-aut.patch new file +5 -0
new file mode 100644
index 0000000..88cb390
@@ -0,0 +1,71 @@
+From 10df60039322b3903e62b001971c195d5ce48943 Mon Sep 17 00:00:00 2001
+From: Anthony Minessale <[email protected]>
+Date: Fri, 15 Jan 2016 13:14:07 -0600
+Subject: [PATCH 05/99] FS-8736 #resolve [Missing MEMMOVE macro in spandsp
+ autoconf]

Not sure why there is a 05/99 here.

Quoted 6 lines
package/freeswitch/freeswitch.mk new file +0 -0
new file mode 100644
index 0000000..3c527fe

package/freeswitch/freeswitch.mk line 10

Quoted 10 lines
package/freeswitch/freeswitch.mk new file +10 -0
@@ -0,0 +1,85 @@
+################################################################################
+#
+# freeswitch
+#
+################################################################################
+
+FREESWITCH_VERSION = 1.6.6
+FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz
+FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases
+FREESWITCH_LICENSE = MPL v1.1

This should be MPLv1.1

package/freeswitch/freeswitch.mk line 22

Quoted 12 lines
package/freeswitch/freeswitch.mk new file +12 -0
+FREESWITCH_LICENSE_FILES = COPYING
+
+# required dependencies
+FREESWITCH_DEPENDENCIES = \
+	host-autoconf host-automake host-libtool host-pkgconf jpeg \
+	libcurl openssl pcre speex sqlite zlib
+
+# remove an unneeded script which scans /usr/lib/freeswitch/mod
+define FREESWITCH_REMOVE_MODCHECK
+	$(SED) "/modcheck.sh/d" $(@D)/build/Makefile.am
+endef
+FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_REMOVE_MODCHECK

Shouldn't this hook be rather handled by a patch ?

package/freeswitch/freeswitch.mk line 25

Quoted 3 lines
package/freeswitch/freeswitch.mk new file +3 -0
+
+# autoreconf now is necessary to avoid broken autoreconf after configure
+# we also patch configure.ac twice

What do you mean by "patch configure.ac twice" ? Do you mean that there are two patches touching it.

You should also explain in a comment why the normal FREESWITCH_AUTORECONF = YES incantation doesn't work.

Other than that looks good. I would probably have applied if I didn't encounter the build failure :-)

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v9 1/28 package/freeswitch: new package

Am Mon, 29 Feb 2016 22:21:27 +0100 schrieb Thomas Petazzoni:

Quoted 6 lines

This patch unfortunately does not build here. With the following defconfig:

BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/

tarballs/br-arm-full-2015.11-rc1-71-g90d1299.tar.bz2"

Quoted 7 lines

BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set BR2_PACKAGE_FREESWITCH=y # BR2_TARGET_ROOTFS_TAR is not set

Quoted 6 lines

I get:

CCLD fs_ivrd
libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:69:

Quoted 4 lines

undefined reference to zrtp_memset' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:78:

Quoted 4 lines

undefined reference to zrtp_sys_alloc' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:87:

Quoted 6 lines

undefined reference to `zrtp_sys_free' collect2: error: ld returned 1 exit status Makefile:1462: recipe for target 'fs_cli' failed make[4]:
*** [fs_cli] Error 1 make[4]: *** Waiting for unfinished jobs.... libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function `lbnMemWipe':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:69:

Quoted 4 lines

undefined reference to zrtp_memset' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemAlloc':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:78:

Quoted 4 lines

undefined reference to zrtp_sys_alloc' libs/libzrtp/third_party/bnlib/libbn.a(lbnmem.o): In function lbnMemFree':
/home/thomas/projets/buildroot/output/build/freeswitch-1.6.6/libs/

libzrtp/third_party/bnlib/lbnmem.c:87:

Quoted 6 lines

undefined reference to `zrtp_sys_free' collect2: error: ld returned 1 exit status Makefile:1470: recipe for target 'fs_ivrd' failed make[4]:
*** [fs_ivrd] Error 1

*** Warning: Linking the shared library libfreeswitch.la against the *** static library libs/libzrtp/libzrtp.a is not portable!

Hi Thomas,

this is weird, using the same defconfig I can compile freeswitch without problems. Could you please pastebin your whole freeswitch configure log so I can compare it with mine?

Regards, Bernd

#4 lore raw

PATCH v9 1/28 package/freeswitch: new package

Bernd,

Quoted 3 lines · Bernd Kuhls

this is weird, using the same defconfig I can compile freeswitch without problems. Could you please pastebin your whole freeswitch configure log so I can compare it with mine?

Are you testing with all freeswitch patches applied or just patch 01/28 ? I am testing with just patch 01/28 applied, which can be a difference from your testing scenario.

I did the test again, with PATCH 01/28 applied on top of the current next branch. You can find the exact commit I've tested at
http://git.free-electrons.com/users/thomas-petazzoni/buildroot/log/?h=freeswitch.

And I still get the same build failure (with the defconfig I provided yesterday). The entire build log can be found at:

http://free-electrons.com/~thomas/pub/freeswitch.log

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v9 1/28 package/freeswitch: new package

Am Tue, 01 Mar 2016 10:18:58 +0100 schrieb Thomas Petazzoni:

Quoted 11 lines

Bernd,

Quoted 3 lines · Bernd Kuhls

this is weird, using the same defconfig I can compile freeswitch without problems. Could you please pastebin your whole freeswitch configure log so I can compare it with mine?

Are you testing with all freeswitch patches applied or just patch 01/28 ? I am testing with just patch 01/28 applied, which can be a difference from your testing scenario.

Hi Thomas,

ok, with 01/28 I can reproduce the bug with your defconfig. Further including only 02/28 and 03/28 (libuuid) fixes the bug, hm. Using only 01/28 and manually adding libuuid from util-linux also fixes the bug, wt*? Libuuid has nothing to do with libzrtp...

Adding this patch to freeswitch fixes the problem here:

Makefile.am +1 -1
@@ -238,7 +238,7 @@ ZRTP_LIBS = -lbn -lzrtp
 libfreeswitch_la_LDFLAGS += $(ZRTP_LDFLAGS)
 libfreeswitch_la_LIBADD += $(ZRTP_LIBS)
 CORE_LIBS += libs/libzrtp/libzrtp.a
-LIBS += libs/libzrtp/third_party/bnlib/libbn.a
+LIBS += libs/libzrtp/third_party/bnlib/libbn.a libs/libzrtp/libzrtp.a
 endif
 
 library_includedir      = $(includedir)

I will send v10 of my series in a few minutes. Could you please test with v10 whether the bug is fixed for you or not? If it is fixed, I will send the patch upstream.

Regards, Bernd

#6 lore raw

PATCH v9 2/28 package/freeswitch: enable optional modules

In reply to Bernd Kuhls

All these modules have no external dependencies.

---
 package/freeswitch/freeswitch.mk | 76 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)
package/freeswitch/freeswitch.mk +76 -0
index 3c527fe..3172ba8 100644
@@ -82,4 +82,80 @@ else
 FREESWITCH_CONF_OPTS += --disable-zrtp
 endif
 
+# Enable more 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_scgi
+
+define FREESWITCH_ENABLE_MODULE # (option, file)
+	echo '$(1)' >> $(2)
+endef
+
+define FREESWITCH_ENABLE_MODULES
+	$(foreach mod,$(FREESWITCH_ENABLED_MODULES),\
+		$(call FREESWITCH_ENABLE_MODULE,$(mod),$(@D)/modules.conf)$(sep))
+endef
+
+FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
+
 $(eval $(autotools-package))
Signature · 1 line
2.7.0
#7 lore raw

PATCH v9 3/28 package/freeswitch: add optional dependency to libuuid

In reply to Bernd Kuhls
---
 package/freeswitch/Config.in     | 4 ++++
 package/freeswitch/freeswitch.mk | 4 ++++
 2 files changed, 8 insertions(+)
package/freeswitch/Config.in +4 -0
index b52d469..a641008 100644
@@ -10,6 +10,10 @@ config BR2_PACKAGE_FREESWITCH
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_SPEEX
 	select BR2_PACKAGE_SQLITE
+	# "libuuid development package highly recommended!"
+	# https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/build/config/uuid.m4#9
+	select BR2_PACKAGE_UTIL_LINUX if BR2_USE_WCHAR
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID if BR2_USE_WCHAR
 	select BR2_PACKAGE_ZLIB
 	help
 	  FreeSWITCH is a scalable open source cross-platform telephony
package/freeswitch/freeswitch.mk +4 -0
index 3172ba8..b3e0784 100644
@@ -158,4 +158,8 @@ endef
 
 FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
 
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
+FREESWITCH_DEPENDENCIES += util-linux
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.7.0
#8 lore raw

PATCH v9 4/28 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 b3e0784..477e5d7 100644
@@ -67,7 +67,6 @@ FREESWITCH_CONF_ENV += \
 	ac_cv_gcc_supports_w_no_unused_result=no
 
 FREESWITCH_CONF_OPTS = \
-	--disable-core-libedit-support \
 	--disable-core-odbc-support \
 	--without-erlang \
 	--enable-fhs \
@@ -158,6 +157,13 @@ 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
+
 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 FREESWITCH_DEPENDENCIES += util-linux
 endif
Signature · 1 line
2.7.0
#9 lore raw

PATCH v9 5/28 package/freeswitch: enable mod_enum, add optional dependency to libldns

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 477e5d7..89d54a7 100644
@@ -164,6 +164,11 @@ else
 FREESWITCH_CONF_OPTS += --disable-core-libedit-support
 endif
 
+ifeq ($(BR2_PACKAGE_LIBLDNS),y)
+FREESWITCH_DEPENDENCIES += libldns
+FREESWITCH_ENABLED_MODULES += applications/mod_enum
+endif
+
 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 FREESWITCH_DEPENDENCIES += util-linux
 endif
Signature · 1 line
2.7.0
#10 lore raw

PATCH v9 6/28 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 89d54a7..a85a176 100644
@@ -169,6 +169,11 @@ 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
+
 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 FREESWITCH_DEPENDENCIES += util-linux
 endif
Signature · 1 line
2.7.0
#11 lore raw

PATCH v9 7/28 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 a85a176..1d14cca 100644
@@ -67,7 +67,6 @@ FREESWITCH_CONF_ENV += \
 	ac_cv_gcc_supports_w_no_unused_result=no
 
 FREESWITCH_CONF_OPTS = \
-	--disable-core-odbc-support \
 	--without-erlang \
 	--enable-fhs \
 	--without-python \
@@ -174,6 +173,15 @@ 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
+
 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 FREESWITCH_DEPENDENCIES += util-linux
 endif
Signature · 1 line
2.7.0
#12 lore raw

PATCH v9 8/28 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 1d14cca..f89f089 100644
@@ -156,6 +156,10 @@ 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.7.0
#13 lore raw

PATCH v9 9/28 package/freeswitch: enable mod_yaml, add optional dependency to libyaml

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index f89f089..b4a98f3 100644
@@ -177,6 +177,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.7.0
#14 lore raw

PATCH v9 10/28 package/freeswitch: enable mod_lua, add optional dependency to lua

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index b4a98f3..7662a94 100644
@@ -182,6 +182,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.7.0
#15 lore raw

PATCH v9 11/28 package/freeswitch: enable mod_fsv, add optional dependencies to libvpx & libyuv

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 7662a94..3925573 100644
@@ -182,6 +182,11 @@ FREESWITCH_DEPENDENCIES += libyaml
 FREESWITCH_ENABLED_MODULES += languages/mod_yaml
 endif
 
+ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yy)
+FREESWITCH_DEPENDENCIES += libvpx libyuv
+FREESWITCH_ENABLED_MODULES += applications/mod_fsv
+endif
+
 ifeq ($(BR2_PACKAGE_LUA),y)
 FREESWITCH_DEPENDENCIES += lua
 FREESWITCH_ENABLED_MODULES += languages/mod_lua
Signature · 1 line
2.7.0
#16 lore raw

PATCH v9 12/28 package/freeswitch: enable mod_av, add optional dependencies to ffmpeg, libvpx & libyuv

In reply to Bernd Kuhls

mod_av delivers native support for these video codecs:

codec,H263 Video,mod_av
codec,H263+ Video,mod_av
codec,H264 Video,mod_av

---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 3925573..51762cf 100644
@@ -156,6 +156,11 @@ endef
 
 FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
 
+ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE)$(BR2_PACKAGE_FFMPEG_SWSCALE)$(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yyyy)
+FREESWITCH_DEPENDENCIES += ffmpeg libvpx libyuv
+FREESWITCH_ENABLED_MODULES += applications/mod_av
+endif
+
 ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
Signature · 1 line
2.7.0
#17 lore raw

PATCH v9 13/28 package/freeswitch: enable mod_vpx, add optional dependency to libvpx

In reply to Bernd Kuhls

mod_vpx delivers native support for these video codecs:

codec,VP8 Video,mod_vpx
codec,VP9 Video,mod_vpx

---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 51762cf..6f218dd 100644
@@ -187,6 +187,11 @@ FREESWITCH_DEPENDENCIES += libyaml
 FREESWITCH_ENABLED_MODULES += languages/mod_yaml
 endif
 
+ifeq ($(BR2_PACKAGE_LIBVPX),y)
+FREESWITCH_DEPENDENCIES += libvpx
+FREESWITCH_ENABLED_MODULES += codecs/mod_vpx
+endif
+
 ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yy)
 FREESWITCH_DEPENDENCIES += libvpx libyuv
 FREESWITCH_ENABLED_MODULES += applications/mod_fsv
Signature · 1 line
2.7.0
#18 lore raw

PATCH v9 14/28 package/freeswitch: enable mod_bv, add optional dependency to libbroadvoice

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 6f218dd..39825e1 100644
@@ -165,6 +165,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.7.0
#19 lore raw

PATCH v9 15/28 package/freeswitch: enable mod_codec2, add optional dependency to libcodec2

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 39825e1..a0940b3 100644
@@ -170,6 +170,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.7.0
#20 lore raw

PATCH v9 16/28 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 a0940b3..880a848 100644
@@ -182,6 +182,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.7.0
#21 lore raw

PATCH v9 17/28 package/freeswitch: enable mod_ilbc, add optional dependency to libilbc

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 880a848..0da1257 100644
@@ -186,6 +186,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.7.0
#22 lore raw

PATCH v9 18/28 package/freeswitch: enable mod_isac

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/freeswitch/freeswitch.mk +6 -0
index 0da1257..6028db6 100644
@@ -156,6 +156,12 @@ 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_ENABLED_MODULES += codecs/mod_isac
+endif
+
 ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE)$(BR2_PACKAGE_FFMPEG_SWSCALE)$(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yyyy)
 FREESWITCH_DEPENDENCIES += ffmpeg libvpx libyuv
 FREESWITCH_ENABLED_MODULES += applications/mod_av
Signature · 1 line
2.7.0
#23 lore raw

PATCH v9 19/28 package/freeswitch: enable mod_opus, add optional dependency to opus

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 6028db6..636b875 100644
@@ -227,6 +227,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.7.0
#24 lore raw

PATCH v9 20/28 package/freeswitch: enable mod_portaudio, add optional dependency to portaudio

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 636b875..1d0d2b5 100644
@@ -232,6 +232,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.7.0
#25 lore raw

PATCH v9 21/28 package/freeswitch: enable mod_silk, add optional dependency to libsilk

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 1d0d2b5..a345950 100644
@@ -237,6 +237,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.7.0
#26 lore raw

PATCH v9 22/28 package/freeswitch: enable mod_sndfile, add optional dependency to libsndfile

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index a345950..66e8e0d 100644
@@ -242,6 +242,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.7.0
#27 lore raw

PATCH v9 23/28 package/freeswitch: enable mod_alsa, add optional dependency to alsa-lib

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index 66e8e0d..ba462eb 100644
@@ -162,6 +162,11 @@ ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_6
 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_FFMPEG_AVRESAMPLE)$(BR2_PACKAGE_FFMPEG_SWSCALE)$(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yyyy)
 FREESWITCH_DEPENDENCIES += ffmpeg libvpx libyuv
 FREESWITCH_ENABLED_MODULES += applications/mod_av
Signature · 1 line
2.7.0
#28 lore raw

PATCH v9 24/28 package/freeswitch: enable mod_soundtouch, add optional dependency to libsoundtouch

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index ba462eb..4a2cf55 100644
@@ -252,6 +252,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.7.0
#29 lore raw

PATCH v9 25/28 package/freeswitch: enable mod_xml_rpc

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/freeswitch/freeswitch.mk +4 -0
index 4a2cf55..c9277ed 100644
@@ -162,6 +162,10 @@ ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_6
 FREESWITCH_ENABLED_MODULES += codecs/mod_isac
 endif
 
+ifeq ($(BR2_USE_WCHAR),y)
+FREESWITCH_ENABLED_MODULES += xml_int/mod_xml_rpc
+endif
+
 ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
 FREESWITCH_DEPENDENCIES += alsa-lib
 FREESWITCH_ENABLED_MODULES += endpoints/mod_alsa
Signature · 1 line
2.7.0
#30 lore raw

PATCH v9 26/28 package/freeswitch: enable mod_imagick, add optional dependencies to imagemagick, libvpx & libyuv

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index c9277ed..d97fd3f 100644
@@ -180,6 +180,11 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
 FREESWITCH_DEPENDENCIES += freetype
 endif
 
+ifeq ($(BR2_PACKAGE_IMAGEMAGICK)$(BR2_PACKAGE_LIBVPX)$(BR2_PACKAGE_LIBYUV),yyy)
+FREESWITCH_DEPENDENCIES += imagemagick libvpx libyuv
+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.7.0
#31 lore raw

PATCH v9 26/28 package/freeswitch: enable mod_imagick, add optional dependencies to imagemagick, libvpx & libyuv

Bernd,

Quoted 5 lines · Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)

Small typo in the commit log: "enable mod_imagick" -> "enable mod_imagemagick".

The commit title is slightly too long. Ideally for such commits, it should be:

"""
package/freeswitch: enable mod_imagemagick

This commit enables mod_imagemagick, which requires imagemagick, libvpx and libyux as optional dependencies.
"""

(There is the same issue in other patches in your series, though this is really a minor nit)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#32 lore raw

PATCH v9 26/28 package/freeswitch: enable mod_imagick, add optional dependencies to imagemagick, libvpx & libyuv

Hello Thomas,

Am Mon, 29 Feb 2016 22:31:22 +0100 schrieb Thomas Petazzoni:

Quoted 2 lines

Small typo in the commit log: "enable mod_imagick" -> "enable mod_imagemagick".

thanks, updated in v10.

Quoted 5 lines

The commit title is slightly too long. Ideally for such commits, it should be:

"""
package/freeswitch: enable mod_imagemagick

thanks, updated in v10.

Quoted 2 lines

This commit enables mod_imagemagick, which requires imagemagick, libvpx and libyux as optional dependencies.

Let's start nitpicking ;)

I think this last part of text is misleading, mod_imagemagick is not enabled by this patch, only added to the package ;) The module is only enabled if the packages imagemagick, libvpx and libyuv are enabled. These packages itself are optional dependencies for the core functions of freeswitch, but they are required dependencies for mod_imagemagick. To require an optional dependency is an oxymoron ;)
Shall I explain this as detailed as I have written here or shall I just remove the ", add optional dependency to *" part of the patch subjects without adding further text? I think the code speaks for itself:
http://patchwork.ozlabs.org/patch/589401/

ifeq ($(BR2_PACKAGE_IMAGEMAGICK)$(BR2_PACKAGE_LIBVPX) $(BR2_PACKAGE_LIBYUV),yyy) FREESWITCH_DEPENDENCIES += imagemagick libvpx libyuv FREESWITCH_ENABLED_MODULES += formats/mod_imagick endif

This means: You get mod_imagick only if you have enabled imagemagick, libvpx & libyuv.

Regards, Bernd

#33 lore raw

PATCH v9 27/28 package/freeswitch: enable mod_memcache, add optional dependency to libmemcached

In reply to Bernd Kuhls
---
 package/freeswitch/freeswitch.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/freeswitch/freeswitch.mk +5 -0
index d97fd3f..92a983b 100644
@@ -216,6 +216,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.7.0
#34 lore raw

PATCH v9 28/28 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 92a983b..9765f3f 100644
@@ -284,4 +284,8 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 FREESWITCH_DEPENDENCIES += util-linux
 endif
 
+ifeq ($(BR2_PACKAGE_XZ),y)
+FREESWITCH_DEPENDENCIES += xz
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.7.0
#35 lore raw

v9 cover package/freeswitch: new package

In reply to Bernd Kuhls

Bernd,

Quoted 11 lines · Bernd Kuhls

this patch series splits my previous patch into smaller chunks for easier review as requested by Luca and Thomas. I also removed all options from Config.in.

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.

Thanks for this patch series. Besides my build issue and minor comments on PATCH 01/28, it looks fine. I've looked at all other patches, and despite a really minor nit on PATCH 26/28, I think we'll be able to apply this once the PATCH 01/28 problems are fixed.

The fact that you did split the package addition in a minimal package and then trivial additions of optional dependencies really made the whole thing a lot easier to look at and review, so thanks for having done that!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#36 lore raw

v9 cover package/freeswitch: new package

Hi Bernd, Thomas, All,
Le 29/02/2016 22:33, Thomas Petazzoni a ?crit :

Quoted 21 lines

Bernd,

Quoted 11 lines · Bernd Kuhls

this patch series splits my previous patch into smaller chunks for easier review as requested by Luca and Thomas. I also removed all options from Config.in.

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.

Thanks for this patch series. Besides my build issue and minor comments on PATCH 01/28, it looks fine. I've looked at all other patches, and despite a really minor nit on PATCH 26/28, I think we'll be able to apply this once the PATCH 01/28 problems are fixed.

Quoted 4 lines

The fact that you did split the package addition in a minimal package and then trivial additions of optional dependencies really made the whole thing a lot easier to look at and review, so thanks for having done that!

+1

Also, I tried to force the build system to use apr and apr-util libraries provided by Buildroot packages, but It's not easy without deep modifications and breaking a lot of stuff :-(

Let's hope that the further release will have a better build system...

Best regards,
Romain

Quoted 3 lines

Thomas