From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernd Kuhls Date: Sun, 3 Apr 2016 16:18:38 +0200 Subject: [Buildroot] [PATCH v11 26/26] package/freeswitch: enable video support In-Reply-To: <1459693118-19072-1-git-send-email-bernd.kuhls@t-online.de> References: <1459693118-19072-1-git-send-email-bernd.kuhls@t-online.de> Message-ID: <1459693118-19072-27-git-send-email-bernd.kuhls@t-online.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Signed-off-by: Bernd Kuhls --- package/freeswitch/Config.in | 14 ++++++++++++++ package/freeswitch/freeswitch.mk | 38 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in index a641008..70e8055 100644 --- a/package/freeswitch/Config.in +++ b/package/freeswitch/Config.in @@ -22,6 +22,20 @@ config BR2_PACKAGE_FREESWITCH https://www.freeswitch.org +if BR2_PACKAGE_FREESWITCH + +config BR2_PACKAGE_FREESWITCH_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" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 38483f9..8e74a83 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -61,8 +61,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 \ @@ -269,4 +267,40 @@ ifeq ($(BR2_PACKAGE_XZ),y) FREESWITCH_DEPENDENCIES += xz endif +ifeq ($(BR2_PACKAGE_FREESWITCH_VIDEO),y) +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)) -- 2.8.0.rc3