diff --git a/net/freeswitch/Config.in b/net/freeswitch/Config.in
index 21a61ea..7f869df 100644
--- a/net/freeswitch/Config.in
+++ b/net/freeswitch/Config.in
@@ -31,13 +31,13 @@ menu "Configuration"
endchoice
choice
- depends on FS_WITH_LATEST_HEAD
prompt "FS TARRED archive to use"
default FS_WITH_OPENWRT_SOURCE
help
Select which tarred to use: local or OpenWRT
- local: FS tarred from local archive
- OpenWRT: FS tarred download from source by OpenWRT
+ local: Manually downloaded from FS git repo
+ OpenWRT: FS tarred-file downloaded from source by OpenWRT
+ FS git repo: https://freeswitch.org/stash/scm/fs/freeswitch.git
config FS_WITH_LOCAL_SOURCE
bool "local"
@@ -155,6 +155,18 @@ menu "Configuration"
Build FreeSWITCH to comply with FHS when placing
files and directories.
+ config FS_WITH_LIBVPX
+ bool "Enable building libvpx"
+ default y
+ help
+ Compile to build libs/libvpx.
+
+ config FS_WITH_LIBYUV
+ bool "Enable building libyuv"
+ default y
+ help
+ Compile to build libs/libyuv.
+
config FS_WITH_LZMA
bool "Enable liblzma usage in libtiff"
default y
@@ -219,13 +231,6 @@ menu "Configuration"
help
Use OpenSSL crypto primitives.
- config FS_WITH_PYTHON
- depends on PACKAGE_freeswitch-mod-python
- bool "Enable to use system provided version of python"
- default n
- help
- Enable to use system provided version of python.
-
config FS_WITH_STUN
bool "Enable stun module"
default y
@@ -236,7 +241,7 @@ menu "Configuration"
depends on PACKAGE_freeswitch-mod-erlang-event
string
prompt "path to erlang installed directory"
- default "$$(STAGING_DIR_HOST)/lib/erlang"
+ default "$$(STAGING_DIR)/host/lib/erlang"
help
Specify the path to erlang libraries.
@@ -247,4 +252,18 @@ menu "Configuration"
# help
# Specify the include header path for OGG library.
+ config FS_WITH_PYTHON
+ bool "Enable to use system provided version of python"
+ default y
+ help
+ Enable to use system provided version of python.
+
+ config FS_WITH_PYTHON_PATH
+ depends on FS_WITH_PYTHON
+ string
+ prompt "full path to binary python$(PYTHON3_VERSION)"
+ default "$$(STAGING_DIR)/host/bin/python$(PYTHON3_VERSION)"
+ help
+ Specify the full path to binary python$(PYTHON3-VERSION).
+
endmenu
diff --git a/net/freeswitch/Makefile b/net/freeswitch/Makefile
index 1148884..bbe2372 100644
--- a/net/freeswitch/Makefile
+++ b/net/freeswitch/Makefile
@@ -1,61 +1,58 @@
#
-# Copyright (C) 2009-2013 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
#
include $(TOPDIR)/rules.mk
--include perlmod.mk
+
+
+ifneq ($(PACKAGE_$(PKG_NAME)-mod-perl),)
+include $(TOPDIR)/feeds/packages/lang/perl/perlmod.mk
+endif
PKG_NAME:=freeswitch
PKG_SOURCE_PROTO:=git
PKG_DISTNAME:=$(PKG_NAME)_$(PKG_SOURCE_PROTO)
-PKG_VERSION:=1.5.final
+PKG_VERSION:=1.7.0
#
# The latest FS git hash in PKG_SOURCE_VERSION can be obtained from
# http://fisheye.freeswitch.org
#
-FS_WITH_DEFAULT_HEAD:=16d600c0350a79c2532c739dd1432f7ed318ea09
PKG_SOURCE_URL:=https://$(PKG_NAME).org/stash/scm/fs/$(PKG_NAME).git
-PKG_SOURCE_VERSION:=$(if $(CONFIG_FS_WITH_LATEST_HEAD),$(shell git ls-remote $(PKG_SOURCE_URL) HEAD|cut -f1),$(FS_WITH_DEFAULT_HEAD))
+PATCH_DIR:=./patches/$(CONFIG_LIBC)
+
+
+FS_WITH_DEFAULT_HEAD:=bb258288801b50e8fb673a620a6c2b4855e11daf
FS_WITH_DEFAULT_HEAD_SHORT:=$(shell echo $(FS_WITH_DEFAULT_HEAD)|cut -b -7)
+PKG_SOURCE_VERSION:=$(if $(CONFIG_FS_WITH_LATEST_HEAD),$(shell git ls-remote $(PKG_SOURCE_URL) HEAD | cut -f1),$(FS_WITH_DEFAULT_HEAD))
PKG_SOURCE_VERSION_SHORT:=$(shell echo $(PKG_SOURCE_VERSION)|cut -b -7)
PKG_RELEASE:=$(PKG_SOURCE_VERSION_SHORT)
-PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR)-$(if $(CONFIG_FS_WITH_LOCAL_SOURCE),$(FS_WITH_DEFAULT_HEAD_SHORT).tar.xz,$(PKG_SOURCE_VERSION_SHORT).tar.bz2)
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_DISTNAME)-$(FS_WITH_DEFAULT_HEAD_SHORT).tar.xz
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
-PATCH_DIR=./patches/$(CONFIG_LIBC)
+TAR_OPTIONS+= --strip-components=1 -C $(PKG_BUILD_DIR)
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=0
+
PKG_LICENSE:=MPL-1.1
PKG_LICENSE_FILES:=COPYING
+
ifeq ($(CONFIG_DEVEL),y)
export QUILT=1
endif
-PKG_BUILD_DEPENDS:= \
- FS_WITH_CORE_LIBEDIT_SUPPORT:libedit \
- FS_WITH_MYSQL:libmysqlclient \
- FS_WITH_POSTGRESQL:libpq \
- FS_WITH_SQLITE2:libsqlite2 \
- FS_WITH_SQLITE3:libsqlite3 \
- FS_WITH_APR_SCTP:sctp \
-
-
-TAR_OPTIONS+= --strip-components=1 -C $(PKG_BUILD_DIR)
-
-
FS_MOD_AVAILABLE:= \
abstraction \
alsa \
@@ -108,6 +105,7 @@ FS_MOD_AVAILABLE:= \
fsv \
g723-1 \
g729 \
+ graylog2 \
gsmopen \
h26x \
h323 \
@@ -137,9 +135,11 @@ FS_MOD_AVAILABLE:= \
opus \
oreka \
perl \
+ png \
portaudio \
portaudio-stream \
posix-timer \
+ prefix \
python \
radius-cdr \
rayo \
@@ -187,6 +187,7 @@ FS_MOD_AVAILABLE:= \
syslog \
timerfd \
tone-stream \
+ translate \
tts-commandline \
unimrcp \
valet-parking \
@@ -194,17 +195,17 @@ FS_MOD_AVAILABLE:= \
vmd \
voicemail \
voicemail-ivr \
- vpx \
xml-cdr \
xml-curl \
xml-ldap \
- xml-rpc \
xml-radius \
+ xml-rpc \
xml-scgi \
yaml \
PKG_CONFIG_DEPENDS:= \
+ CONFIG_FS_WITH_LATEST_HEAD \
CONFIG_FS_WITH_ALSA \
CONFIG_FS_WITH_APR_CONFIG_SWITCHES \
CONFIG_FS_WITH_APR_IPV6 \
@@ -216,8 +217,9 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_FS_WITH_ERLANG \
CONFIG_FS_WITH_FHS \
CONFIG_FS_WITH_FIXED_POINT \
- CONFIG_FS_WITH_LATEST_HEAD \
CONFIG_FS_WITH_LOCAL_SOURCE \
+ CONFIG_FS_WITH_LIBVPX \
+ CONFIG_FS_WITH_LIBYUV \
CONFIG_FS_WITH_LZMA \
CONFIG_FS_WITH_MYSQL \
CONFIG_FS_WITH_ODBC \
@@ -227,6 +229,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_FS_WITH_OPT \
CONFIG_FS_WITH_POSTGRESQL \
CONFIG_FS_WITH_PYTHON \
+ CONFIG_FS_WITH_PYTHON_PATH \
CONFIG_FS_WITH_SILENT_RULES \
CONFIG_FS_WITH_SQLITE2 \
CONFIG_FS_WITH_SQLITE3 \
@@ -241,11 +244,8 @@ PKG_CONFIG_DEPENDS:= \
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-
-
-ifneq ($(CONFIG_CCACHE),)
-TARGET_CC=$(TARGET_CC_NOCACHE)
-TARGET_CXX=$(TARGET_CXX_NOCACHE)
+ifneq ($(CONFIG_FS_WITH_PYTHON),)
+$(call include_mk, python3-package.mk)
endif
@@ -265,10 +265,10 @@ endef
define Package/$(PKG_NAME)
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
MENU:=1
TITLE:=FreeSWITCH open source telephony platform ($(PKG_SOURCE_VERSION_SHORT))
- DEPENDS:=+FS_WITH_CORE_LIBEDIT_SUPPORT:libedit +FS_WITH_OPENSSL:libopenssl +libcurl +libdb47 +libfreetype +libgdbm $(ICONV_DEPENDS) $(INTL_DEPENDS) +libjpeg +libncurses +libopenldap +libpcre +libpng +libpthread +librt +libspeex +libspeexdsp +FS_WITH_SQLITE2:libsqlite2 +FS_WITH_SQLITE3:libsqlite3 +FS_WITH_SRTP:libsrtp +SSP_SUPPORT:libssp +libstdcpp +libuuid +PACKAGE_$(PKG_NAME)-mod-perl:perl +libvpx
+ DEPENDS:=+FS_WITH_CORE_LIBEDIT_SUPPORT:libedit +FS_WITH_OPENSSL:libopenssl +libcurl +libdb47 +libfreetype +libgdbm $(ICONV_DEPENDS) $(INTL_DEPENDS) +libjpeg +libncurses +libopenldap +libpcre +libpng +libpthread +librt +libspeex +libspeexdsp +FS_WITH_SQLITE2:libsqlite2 +FS_WITH_SQLITE3:libsqlite3 +libsrtp +SSP_SUPPORT:libssp +libstdcpp +libuuid +PACKAGE_$(PKG_NAME)-mod-perl:perl
endef
@@ -296,7 +296,7 @@ endef
define Package/$(PKG_NAME)-example-config
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH example config (commented)
DEPENDS:= $(PKG_NAME)
endef
@@ -310,7 +310,7 @@ endef
define Package/$(PKG_NAME)-config-upstream-defaults
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH upstream config
DEPENDS:= $(PKG_NAME)
endef
@@ -324,7 +324,7 @@ endef
define Package/$(PKG_NAME)-config-minimal
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH minimal config
DEPENDS:= $(PKG_NAME)
endef
@@ -337,7 +337,7 @@ endef
define Package/$(PKG_NAME)-collection-upstream-defaults
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FS upstream def sample conf
DEPENDS:= $(PKG_NAME) \
+$(PKG_NAME)-config-upstream-defaults \
@@ -370,7 +370,7 @@ endef
define Package/$(PKG_NAME)-collection-minimal
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH minimal package collection
DEFAULT:=y
DEPENDS:= $(PKG_NAME) \
@@ -391,63 +391,63 @@ endef
define Package/$(PKG_NAME)-sounds-en-08KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 8KHz english sounds
DEPENDS:= $(PKG_NAME)
endef
define Package/$(PKG_NAME)-sounds-en-16KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 16KHz english sounds
DEPENDS:= +$(PKG_NAME)-sounds-en-08KHz
endef
define Package/$(PKG_NAME)-sounds-en-32KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 32KHz english sounds
DEPENDS:= +$(PKG_NAME)-sounds-en-16KHz
endef
define Package/$(PKG_NAME)-sounds-en-48KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 48KHz english sounds
DEPENDS:= +$(PKG_NAME)-sounds-en-32KHz
endef
define Package/$(PKG_NAME)-sounds-moh-08KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 8KHz music-on-hold sounds
DEPENDS:= $(PKG_NAME)
endef
define Package/$(PKG_NAME)-sounds-moh-16KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 16KHz music-on-hold sounds
DEPENDS:= +$(PKG_NAME)-sounds-moh-08KHz
endef
define Package/$(PKG_NAME)-sounds-moh-32KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 32KHz music-on-hold sounds
DEPENDS:= +$(PKG_NAME)-sounds-moh-16KHz
endef
define Package/$(PKG_NAME)-sounds-moh-48KHz
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH 48KHz music-on-hold sounds
DEPENDS:= +$(PKG_NAME)-sounds-moh-32KHz
endef
define Package/$(PKG_NAME)-tools
-$(call Package/$(PKG_NAME)/Default)
+ $(call Package/$(PKG_NAME)/Default)
TITLE:=FreeSWITCH control tools
DEPENDS:= $(PKG_NAME)
endef
@@ -551,21 +551,18 @@ endif
ifeq ($(CONFIG_LIBC),musl)
TARGET_CFLAGS += -D_GNU_SOURCE
endif
-#FS_TARGET_CFLAGS:= $(TARGET_CFLAGS) -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-format -Wno-unused-variable -Wno-unused-but-set-variable -Wno-implicit-function-declaration
-#FS_TARGET_CXXFLAGS:= $(TARGET_CXXFLAGS)
-#FS_TARGET_CPPFLAGS:= -I. -I./lua $(TARGET_CPPFLAGS) $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-json-cdr),-Wno-error) -I`ls -d $(PKG_BUILD_DIR)/libs/*|grep tiff`/libtiff -I$(PKG_BUILD_DIR)/libs/spandsp/src
-#MAKE_FLAGS += \
-# OPT_FLAGS+="$(TARGET_CFLAGS)"
+MAKE_FLAGS += \
+ AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
+ CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
+ CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
+ RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
+ CC_FOR_BUILD="$(HOSTCC)" \
-#MAKE_VARS += \
-# AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
-# CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
-# CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
-# RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
-# CC_FOR_BUILD="$(HOSTCC)" \
+MAKE_VARS += \
+ OPT_FLAGS+="$(TARGET_CFLAGS)"
CONFIGURE_ARGS+= \
@@ -582,6 +579,8 @@ CONFIGURE_ARGS+= \
$(call autoconf_bool,CONFIG_FS_WITH_CORE_LIBEDIT_SUPPORT,core-libedit-support) \
$(call autoconf_bool,CONFIG_FS_WITH_FHS,fhs) \
$(call autoconf_bool,CONFIG_FS_WITH_APR_IPV6,ipv6) \
+ $(call autoconf_bool,CONFIG_FS_WITH_LIBVPX,libvpx) \
+ $(call autoconf_bool,CONFIG_FS_WITH_LIBYUV,libyuv) \
$(call autoconf_bool,CONFIG_FS_WITH_LZMA,lzma) \
$(call autoconf_bool,CONFIG_FS_WITH_ODBC,core-odbc-support) \
$(call autoconf_bool,CONFIG_FS_WITH_OPT,optimization) \
@@ -604,7 +603,7 @@ CONFIGURE_ARGS+= \
$(if $(CONFIG_FS_WITH_OPENSSL),--with-openssl="pkg-config") \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-erlang-event),--with-erlang="$(CONFIG_FS_WITH_ERLANG)",--without-erlang) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-java),--with-java="$(STAGING_DIR)/usr",--without-java) \
- $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-python),--with-python="$(CONFIG_FS_WITH_PYTHON)",--without-python) \
+ $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-python),--with-python="$(CONFIG_FS_WITH_PYTHON_PATH)",--without-python) \
$(if ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl)|$(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-cdr)|$(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-curl)),--with-libcurl="$(STAGING_DIR)/usr",--without-libcurl) \
--with$(if $(CONFIG_FS_WITH_MYSQL),,out)-mysql \
--with$(if $(CONFIG_FS_WITH_POSTGRESQL),,out)-pgsql \
@@ -627,34 +626,6 @@ endif
#endif
-#CONFIGURE_VARS+= \
-# config_TARGET_CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
-# config_TARGET_CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
-# config_TARGET_CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
-# config_TARGET_CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
-# config_TARGET_CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
-# config_TARGET_READLINE_INC="$(FS_TARGET_CPPFLAGS)" \
-# config_TARGET_READLINE_LIBS="-lreadline -lncurses" \
-# config_TARGET_LIBS="-lpthread -ldl" \
-# config_BUILD_CC="$(HOSTCC)" \
-# CC_FOR_BUILD="$(HOSTCC)" \
-# BUILDTOOL_CC="$(HOSTCC)" \
-# BUILDTOOL_CCLD="$(HOSTCC)" \
-# CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
-# CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
-# AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
-# RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
-# CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
-# CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
-# CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
-# LDFLAGS="-L$(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\" -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/$(PERL_VERSION)/CORE)\" -Wl,-rpath,/usr/lib -Wl,-rpath,/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/$(PERL_VERSION)/CORE -lperl -lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc)" \
-# HOST_CC="/usr/bin/cc" \
-# HOST_CXX="/usr/bin/g++" \
-# CROSS_COMPILE="1" \
-# $(if $(CONFIG_FS_WITH_APR_SCTP),ac_cv_header_netinet_sctp_h="yes") \
-# ac_cv_file_dbd_apr_dbd_mysql_c="no" \
-
-
define Build/Prepare
$(call Build/Prepare/Default)
$(call Prepare/event-zmq)
@@ -999,12 +970,13 @@ $(eval $(call BuildPlugin,event-zmq,Socket Event Handler By Zero MQ,vanilla,,,,+
$(eval $(call BuildPlugin,expr,Expression Evaluation,vanilla,,,,))
$(eval $(call BuildPlugin,fifo,FIFO,vanilla,,,,))
$(eval $(call BuildPlugin,file-string,Streaming Multiple Sound Files Sequentially,vanilla,,,,@OBSOLETE)) # merged into dptools
-$(eval $(call BuildPlugin,flite,Festival TTS,vanilla,,,,+flite @BROKEN)) # flite is from old package and/or qi repo
+$(eval $(call BuildPlugin,flite,Festival TTS,vanilla,,,,+flite @(!(armeb||avr32)||BROKEN))) # flite is from old package repo
$(eval $(call BuildPlugin,format-cdr,XML CDR Module to files or curl,vanilla,,,,))
$(eval $(call BuildPlugin,fsk,Bell-202 1200-Baud FSK Decoder,vanilla,,,,))
$(eval $(call BuildPlugin,fsv,Video Player / Recorder,vanilla,,,,+libyuv @BROKEN)) # Requires unsupported libyuv.
$(eval $(call BuildPlugin,g723-1,G.723.1 Codec,vanilla,,,,))
$(eval $(call BuildPlugin,g729,G.729 Codec,vanilla,,,,))
+$(eval $(call BuildPlugin,graylog2,Graylog2 GELF logger,vanilla,,,,))
$(eval $(call BuildPlugin,gsmopen,GSM Modem compatible Endpoint,mod,,,alsa,+FS_WITH_ALSA:alsa-lib +FS_WITH_LZMA:liblzma @FS_WITH_ALSA @BROKEN)) # needs gsmlib
$(eval $(call BuildPlugin,h26x,H26X Linear Codec,vanilla,,,,))
$(eval $(call BuildPlugin,h323,H323 Endpoint,mod,,,,@BROKEN)) # Req. H323Plus v1.24.x or newer
@@ -1031,13 +1003,15 @@ $(eval $(call BuildPlugin,mp4,MP4 File Format Support For Video,vanilla,,,,@BROK
$(eval $(call BuildPlugin,mp4v,MP4 CoDec Support For Video,vanilla,,,,))
$(eval $(call BuildPlugin,native-file,WAV Format Sound Player,vanilla,,,,))
$(eval $(call BuildPlugin,nibblebill,Credit / Debit Billing,vanilla,,,,))
-$(eval $(call BuildPlugin,opus,Opus CoDec,vanilla,,,,+libopus))
+$(eval $(call BuildPlugin,opus,Opus CoDec,vanilla,,,,+opus))
$(eval $(call BuildPlugin,oreka,Media Recording with Oreka,vanilla,,,,))
+$(eval $(call BuildPlugin,png,play a png as video with audio,vanilla,,,,+libpng))
$(eval $(call BuildPlugin,perl,Perl Language Interface,vanilla,,lib/perl5/$(PERL_VERSION)/$(PKG_NAME).la lib/perl5/$(PERL_VERSION)/$(PKG_NAME).pm lib/perl5/$(PERL_VERSION)/$(PKG_NAME).so,,+perl +libdb47 +libgdbm @BROKEN))
$(eval $(call BuildPlugin,portaudio,Portaudio To Sound Card Interface,vanilla,,,alsa,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA @BROKEN)) # needs portaudio
$(eval $(call BuildPlugin,portaudio-stream,Portaudio Streaming Interface,vanilla,,,alsa,+FS_WITH_ALSA:alsa-lib @FS_WITH_ALSA @BROKEN)) # needs portaudio
$(eval $(call BuildPlugin,posix-timer,POSIX Compliant Soft Timer,vanilla,,,,))
-$(eval $(call BuildPlugin,python,Python Language Interface,vanilla,,,,python @BROKEN))
+$(eval $(call BuildPlugin,prefix,longest-prefix match in store,mod,,,,))
+$(eval $(call BuildPlugin,python,Python Language Interface,vanilla,,lib/python$(PYTHON3_VERSION)/site-packages/freeswitch.py,,+FS_WITH_PYTHON:python3 @FS_WITH_PYTHON))
$(eval $(call BuildPlugin,radius-cdr,Radius-CDR interface,vanilla,,,,@BROKEN)) # fails in freeradius-client
$(eval $(call BuildPlugin,rayo,Rayo server & node implementation,vanilla,,,,))
$(eval $(call BuildPlugin,redis,Redis limit backend,vanilla,,,,))
@@ -1060,7 +1034,7 @@ $(eval $(call BuildPlugin,say-zh,Chineese Say,vanilla,,,,))
$(eval $(call BuildPlugin,shell-stream,Streaming Audio Through CLI,vanilla,,,,))
$(eval $(call BuildPlugin,silk,Skype(TM) SILK Codec Module,vanilla,,,,+libsilk @BROKEN)) # Requires unsupported libsilk
$(eval $(call BuildPlugin,siren,G.722.1 Codec,vanilla,,,,+libg7221 @BROKEN)) # Requires unsupported libg7221
-$(eval $(call BuildPlugin,skel,Template For New Module,vanilla,,,,))
+$(eval $(call BuildPlugin,skel,Template For New Module,vanilla,,,,@BROKEN))
$(eval $(call BuildPlugin,skinny,Skinny Call Control Protocol (SCCP),vanilla,,,,))
$(eval $(call BuildPlugin,skypopen,Skype Compatible Endpoint,mod,,,,@FEATURE_drawing-backend_libX11))
$(eval $(call BuildPlugin,sms,SMS,vanilla,,,,))
@@ -1084,6 +1058,7 @@ $(eval $(call BuildPlugin,stress,Voice Stress Detection,vanilla,,,,))
$(eval $(call BuildPlugin,syslog,SysLog logger,vanilla,,,,))
$(eval $(call BuildPlugin,timerfd,Linux Kernel timerfd API,vanilla,,,,))
$(eval $(call BuildPlugin,tone-stream,Tone Generation Stream,vanilla,,,,))
+$(eval $(call BuildPlugin,translate,Translate,vanilla,,,,))
$(eval $(call BuildPlugin,tts-commandline,ASR TTS Command Interface,vanilla,,,,))
$(eval $(call BuildPlugin,unimrcp,UniMRCP (MRCP Client),vanilla,,,,@BROKEN))
$(eval $(call BuildPlugin,valet-parking,Valet Parking Application,vanilla,,,,))
@@ -1091,7 +1066,6 @@ $(eval $(call BuildPlugin,verto,HTML5 Verto interface,vanilla,,lib/perl5/$(PERL_
$(eval $(call BuildPlugin,vmd,VoiceMail Beep Detection,vanilla,,,,))
$(eval $(call BuildPlugin,voicemail,VoiceMail,vanilla,,,,))
$(eval $(call BuildPlugin,voicemail-ivr,VoiceMail IVR,vanilla,,,,))
-$(eval $(call BuildPlugin,vpx,VP8/9 Video Codec with transcoding,vanilla,,,,+libvpx))
$(eval $(call BuildPlugin,xml-cdr,XML-CDR Handler,vanilla,,,,+libcurl))
$(eval $(call BuildPlugin,xml-curl,XML-Curl Gateway,vanilla,,,,+libcurl))
$(eval $(call BuildPlugin,xml-ldap,LDAP-XML Gateway,vanilla,,,,+PACKAGE_$(PKG_NAME)-mod-ldap:libopenldap))
diff --git a/net/freeswitch/patches/musl/configure_ac.patch b/net/freeswitch/patches/musl/configure_ac.patch
index 9bd513d..5a47835 100644
--- a/net/freeswitch/patches/musl/configure_ac.patch
+++ b/net/freeswitch/patches/musl/configure_ac.patch
@@ -41,7 +41,7 @@
#
-AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl=yes],[ac_cv_have_perl=no])
-+AC_CHECK_PROG(PERL,[perl],[ac_cv_have_perl=yes],[ac_cv_have_perl=no],[${STAGING_DIR}/../host/usr/bin])
++AC_CHECK_PROG(PERL,[perl],[ac_cv_have_perl=yes],[ac_cv_have_perl=no],[${STAGING_DIR}/host/usr/bin])
+PERL=$as_dir/$ac_word$ac_exec_ext
# -a "x$ac_cv_have_EXTERN_h" != "xno"
diff --git a/net/freeswitch/patches/musl/rel/build-config-erlang_m4.patch b/net/freeswitch/patches/musl/rel/build-config-erlang_m4.patch
new file mode 100644
index 0000000..5d744f7
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/build-config-erlang_m4.patch
@@ -0,0 +1,97 @@
+--- a/build/config/erlang.m4
++++ b/build/config/erlang.m4
+@@ -1,6 +1,6 @@
+ AC_DEFUN([CHECK_ERLANG], [
+ #
+-# Erlang checks for mod_erlang_event
++# Erlang check
+ #
+ AC_ARG_WITH(
+ [erlang],
+@@ -20,22 +20,23 @@ then
+ if test ! -x "$with_erlang" ; then
+ AC_MSG_ERROR([Specified erlang does not exist or is not executable: $with_erlang])
+ fi
+- AC_MSG_RESULT([$with_erlang])
+- AC_SUBST([ERLANG], ["$with_erlang"])
++ AC_MSG_RESULT(["$with_erlang/bin/erl"])
++ AC_SUBST([ERL],["$with_erlang/bin/erl"])
+ else
+- AC_PATH_PROG([ERLANG], ["erl"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"])
++ AC_ERLANG_NEED_ERL(["$with_erlang/bin"])
+ fi
+
+- if test "$ERLANG" != "no" ; then
++ if test "$ERL" != "no" ; then
+ AC_MSG_CHECKING([erlang version])
+- ERLANG_VER="`$ERLANG -version 2>&1 | cut -d' ' -f6`"
++ ERLANG_VER="`$ERL -version 2>&1 | cut -d' ' -f6`"
+
+ if test -z "$ERLANG_VER" ; then
+ AC_MSG_ERROR([Unable to detect erlang version])
++ else
++ AC_MSG_RESULT([$ERLANG_VER])
+ fi
+- AC_MSG_RESULT([$ERLANG_VER])
+
+- ERLANG_LIBDIR=`$ERLANG -noshell -eval 'io:format("~n~s/lib~n", [[code:lib_dir("erl_interface")]]).' -s erlang halt | tail -n 1`
++ ERLANG_LIBDIR=`$ERL -noshell -eval 'io:format("~n~s/lib~n", [[code:lib_dir("erl_interface")]]).' -s erlang halt | tail -n 1`
+ AC_MSG_CHECKING([erlang libdir])
+ if test -z "`echo $ERLANG_LIBDIR`" ; then
+ AC_MSG_ERROR([failed])
+@@ -43,9 +44,16 @@ then
+ ERLANG_LDFLAGS="-L$ERLANG_LIBDIR $ERLANG_LDFLAGS"
+ LIBS="-L$ERLANG_LIBDIR $LIBS"
+ fi
++
++ #
++ # Don't use the above ERLANG_LDFLAGS
++ #
++ ERLANG_LIBDIR="${STAGING_DIR}/usr/lib"
++ ERLANG_LDFLAGS="-L$ERLANG_LIBDIR"
++ LIBS="-L$ERLANG_LIBDIR $LIBS"
+ AC_MSG_RESULT([$ERLANG_LIBDIR])
+
+- ERLANG_INCDIR=`$ERLANG -noshell -eval 'io:format("~n~s/include~n", [[code:lib_dir("erl_interface")]]).' -s erlang halt | tail -n 1`
++ ERLANG_INCDIR=`$ERL -noshell -eval 'io:format("~n~s/include~n", [[code:lib_dir("erl_interface")]]).' -s erlang halt | tail -n 1`
+ AC_MSG_CHECKING([erlang incdir])
+ if test -z "`echo $ERLANG_INCDIR`" ; then
+ AC_MSG_ERROR([failed])
+@@ -59,10 +67,11 @@ then
+
+ ERLANG_LIB="ei"
+
+- # check liei
++ # check libei
+ AC_CHECK_LIB([$ERLANG_LIB], [ei_encode_version], [has_libei="yes"], [has_libei="no"])
+ # maybe someday ei will actually expose this?
+- AC_CHECK_LIB([$ERLANG_LIB], [ei_link_unlink], [ERLANG_CFLAGS="$ERLANG_CFLAGS -DEI_LINK_UNLINK"])
++ # until then, we comment it out
++ #AC_CHECK_LIB([$ERLANG_LIB], [ei_link_unlink], [ERLANG_CFLAGS="$ERLANG_CFLAGS -DEI_LINK_UNLINK"])
+
+ if test "$has_libei" = "no" ; then
+ AS_IF([test "$with_erlang" = "try"],
+@@ -76,7 +85,7 @@ then
+ )
+ else
+ ERLANG_LDFLAGS="$ERLANG_LDFLAGS -lei"
+- AC_MSG_NOTICE([Your erlang seems OK, do not forget to enable mod_erlang_event in modules.conf])
++ AC_MSG_NOTICE([Your erlang seems OK. You can now use ErLang in your codes.])
+ AC_SUBST([ERLANG_CFLAGS], [$ERLANG_CFLAGS])
+ AC_SUBST([ERLANG_LDFLAGS], [$ERLANG_LDFLAGS])
+ AM_CONDITIONAL([HAVE_ERLANG],[true])
+@@ -87,12 +96,12 @@ then
+
+ else
+ AS_IF([test "$with_erlang" = "try"],
+- [AC_MSG_WARN([Could not find erlang, mod_erlang_event will not build, use --with-erlang to specify the location])],
++ [AC_MSG_WARN([Could not find erlang, codes depend on erlang will not build, use --with-erlang to specify the location])],
+ [AC_MSG_ERROR([Could not find erlang, use --with-erlang to specify the location])]
+ )
+ fi
+ else
+- AC_MSG_WARN([erlang support disabled, building mod_erlang_event will fail!])
++ AC_MSG_WARN([erlang support disabled!])
+ fi
+
+ ])
diff --git a/net/freeswitch/patches/musl/rel/build-modules_conf_in.patch b/net/freeswitch/patches/musl/rel/build-modules_conf_in.patch
new file mode 100644
index 0000000..9db0e8e
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/build-modules_conf_in.patch
@@ -0,0 +1,10 @@
+--- a/build/modules.conf.in
++++ b/build/modules.conf.in
+@@ -38,6 +38,7 @@ applications/mod_httapi
+ #applications/mod_rad_auth
+ #applications/mod_redis
+ #applications/mod_rss
++#applications/mod_skel
+ applications/mod_sms
+ #applications/mod_snapshot
+ #applications/mod_snom
diff --git a/net/freeswitch/patches/musl/rel/build-openwrt_rules.mk.patch b/net/freeswitch/patches/musl/rel/build-openwrt_rules.mk.patch
new file mode 100644
index 0000000..31fb16f
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/build-openwrt_rules.mk.patch
@@ -0,0 +1,10 @@
+--- /dev/null
++++ b/build/openwrt_rules.mk
+@@ -0,0 +1,7 @@
++OPENWRT_DIR=$(shell (cd $(BASE)/../../..;pwd))
++STAGING_PREFIX=$(OPENWRT_DIR)/staging_dir/host
++STAGING_DIR=$(OPENWRT_DIR)/staging_dir/$(shell (cd $(BASE)/..;basename `pwd`))
++ARCH="$(shell grep CONFIG_ARCH $(OPENWRT_DIR)/.config|cut -d= -d'"' -f2)"
++GNU_TARGET_NAME=$(ARCH)-openwrt-linux
++
++include $(OPENWRT_DIR)/rules.mk
diff --git a/net/freeswitch/patches/musl/rel/configure_ac.patch b/net/freeswitch/patches/musl/rel/configure_ac.patch
new file mode 100644
index 0000000..9bd513d
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/configure_ac.patch
@@ -0,0 +1,65 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -254,7 +254,7 @@ AX_COMPILER_VENDOR
+ if test "x${cross_compiling}" = "xyes"; then
+ CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
+ case "$host" in
+- arm*-linux-gnueabi*|arm*-*-linux-gnueabi*)
++ arm*-linux-gnueabi*|arm*-*-linux-*)
+ # spandsp modem
+ ac_cv_file__dev_ptmx=yes
+ # libjs
+@@ -273,7 +273,7 @@ if test "x${cross_compiling}" = "xyes";
+ export apr_cv_mutex_recursive=yes
+ export ac_cv_func_pthread_rwlock_init=yes
+ export apr_cv_type_rwlock_t=yes
+- export apr_cv_process_shared_works=yes
++ export apr_cv_process_shared_works=no
+ export apr_cv_mutex_robust_shared=yes
+ ;;
+ esac
+@@ -405,9 +405,6 @@ elif test "x${ax_cv_c_compiler_vendor}"
+ elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
+ APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC)
+ APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC)
+- if test "$ac_cv_gcc_supports_w_no_unused_result" = yes; then
+- APR_ADDTO(SWITCH_AM_CFLAGS, -Werror)
+- fi
+ if test "${enable_64}" = "yes"; then
+ case "$host" in
+ *darwin*)
+@@ -901,7 +898,6 @@ AC_CHECK_LIB(pthread, pthread_setschedpa
+
+ AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
+
+-AC_CHECK_FILE(/dev/ptmx, [AC_DEFINE(HAVE_DEV_PTMX, 1, [Define if you have /dev/ptmx])])
+ AC_CHECK_LIB(util, openpty, [AC_DEFINE(HAVE_OPENPTY, 1, [Define if you have openpty()])])
+
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
+@@ -1474,14 +1470,14 @@ AM_CONDITIONAL([HAVE_MYSQL],[test "$foun
+ # perl checks
+ #
+
+-AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl=yes],[ac_cv_have_perl=no])
++AC_CHECK_PROG(PERL,[perl],[ac_cv_have_perl=yes],[ac_cv_have_perl=no],[${STAGING_DIR}/../host/usr/bin])
++PERL=$as_dir/$ac_word$ac_exec_ext
+
+ # -a "x$ac_cv_have_EXTERN_h" != "xno"
+
+ if test "x$ac_cv_have_perl" != "xno"; then
+- PERL=perl
+- PERL_SITEDIR="`$PERL -MConfig -e 'print $Config{archlib}'`"
+- PERL_LIBDIR="-L`$PERL -MConfig -e 'print $Config{archlib}'`/CORE"
++ PERL_SITEDIR="`$PERL -MConfig -e 'print $Config{archlibexp}'`"
++ PERL_LIBDIR="-L`$PERL -MConfig -e 'print $Config{archlibexp}'`/CORE"
+ PERL_LIBS="`$PERL -MConfig -e 'print $Config{libs}'`"
+ PERL_CFLAGS="-w -DMULTIPLICITY `$PERL -MExtUtils::Embed -e ccopts | sed -e 's|-arch x86_64 -arch i386||'` -DEMBED_PERL"
+ PERL_LDFLAGS="`$PERL -MExtUtils::Embed -e ldopts| sed -e 's|-arch x86_64 -arch i386||'`"
+@@ -1498,6 +1494,7 @@ if test "x$ac_cv_have_perl" != "xno"; th
+ AC_CHECK_LIB([perl], [perl_alloc], ac_cv_use_libperl=yes, ac_cv_use_libperl=no)
+ LDFLAGS="$save_LDFLAGS"
+
++ AC_SUBST(PERL)
+ AC_SUBST(PERL_SITEDIR)
+ AC_SUBST(PERL_LIBDIR)
+ AC_SUBST(PERL_LIBS)
diff --git a/net/freeswitch/patches/musl/rel/libs-apr-configure_ac.patch b/net/freeswitch/patches/musl/rel/libs-apr-configure_ac.patch
new file mode 100644
index 0000000..c4667dd
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/libs-apr-configure_ac.patch
@@ -0,0 +1,15 @@
+--- a/libs/apr/configure.ac
++++ b/libs/apr/configure.ac
+@@ -1956,7 +1956,11 @@ fi
+
+ APR_CHECK_TCP_NODELAY_INHERITED
+ APR_CHECK_O_NONBLOCK_INHERITED
+-APR_CHECK_TCP_NODELAY_WITH_CORK
++
++dnl Check TCP_NODELAY_WITH_CORK ONLY when NOT cross compiling
++if test "$cross_compiling" != yes; then
++ APR_CHECK_TCP_NODELAY_WITH_CORK
++fi
+
+ # Look for a way of corking TCP...
+ APR_CHECK_DEFINE(TCP_CORK, netinet/tcp.h)
diff --git a/net/freeswitch/patches/musl/rel/libs-apr-util-configure_gnu.patch b/net/freeswitch/patches/musl/rel/libs-apr-util-configure_gnu.patch
new file mode 100644
index 0000000..b933b3c
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/libs-apr-util-configure_gnu.patch
@@ -0,0 +1,8 @@
+--- a/libs/apr-util/configure.gnu
++++ b/libs/apr-util/configure.gnu
+@@ -1,4 +1,4 @@
+ #! /bin/sh
+ srcpath=$(dirname $0 2>/dev/null ) || srcpath="."
+-$srcpath/configure "$@" --with-apr=../apr --disable-shared --with-pic --without-sqlite2 --without-sqlite3 --with-expat=builtin
++$srcpath/configure "$@" --with-apr=../apr --disable-shared --with-expat=builtin
+
diff --git a/net/freeswitch/patches/musl/rel/libs-srtp-configure_ac.patch b/net/freeswitch/patches/musl/rel/libs-srtp-configure_ac.patch
new file mode 100644
index 0000000..56c1691
--- /dev/null
+++ b/net/freeswitch/patches/musl/rel/libs-srtp-configure_ac.patch
@@ -0,0 +1,13 @@
+--- a/libs/srtp/configure.ac
++++ b/libs/srtp/configure.ac
+@@ -130,10 +130,6 @@ if test "$enable_kernel_linux" = "yes";
+ fi
+ AC_MSG_RESULT($enable_kernel_linux)
+
+-dnl Check for /dev/urandom
+-AC_CHECK_FILE(/dev/urandom, DEV_URANDOM=/dev/urandom,
+- [AC_CHECK_FILE(/dev/random, DEV_URANDOM=/dev/random)])
+-
+ dnl Checks for header files.
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS(stdlib.h)
diff --git a/net/freeswitch/patches/uClibc/Makefile_am.patch b/net/freeswitch/patches/uClibc/Makefile_am.patch
new file mode 100644
index 0000000..6689883
--- /dev/null
+++ b/net/freeswitch/patches/uClibc/Makefile_am.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -533,7 +533,7 @@ libs/libzrtp/libzrtp.a:
+ cd libs/libzrtp && $(MAKE)
+
+ libs/libvpx/Makefile:
+- cd libs/libvpx && CC=$(CC) CXX=$(CXX) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="-fvisibility=hidden"
++ cd libs/libvpx && CC=$(CC) CXX=$(CXX) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CROSS=$(ARCH)-openwrt-linux LD=$(CXX) ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="-fvisibility=hidden"
+
+ libs/libvpx/libvpx.a: libs/libvpx/Makefile
+ @cd libs/libvpx && $(MAKE)
diff --git a/net/freeswitch/patches/uClibc/configure_ac.patch b/net/freeswitch/patches/uClibc/configure_ac.patch
index 477af6b..a69a12b 100644
--- a/net/freeswitch/patches/uClibc/configure_ac.patch
+++ b/net/freeswitch/patches/uClibc/configure_ac.patch
@@ -1,15 +1,18 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -254,7 +254,7 @@ AX_COMPILER_VENDOR
+@@ -257,9 +257,9 @@ AX_COMPILER_VENDOR
if test "x${cross_compiling}" = "xyes"; then
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
case "$host" in
- arm*-linux-gnueabi*|arm*-*-linux-gnueabi*)
+ arm*-linux-gnueabi*|arm*-*-linux-*)
# spandsp modem
- ac_cv_file__dev_ptmx=yes
+- ac_cv_file__dev_ptmx=yes
++ ac_cv_file__dev_ptmx=no
# libjs
-@@ -273,7 +273,7 @@ if test "x${cross_compiling}" = "xyes";
+ export ac_cv_va_copy=yes
+ # srtp
+@@ -276,7 +276,7 @@ if test "x${cross_compiling}" = "xyes";
export apr_cv_mutex_recursive=yes
export ac_cv_func_pthread_rwlock_init=yes
export apr_cv_type_rwlock_t=yes
@@ -18,17 +21,17 @@
export apr_cv_mutex_robust_shared=yes
;;
esac
-@@ -405,9 +405,6 @@ elif test "x${ax_cv_c_compiler_vendor}"
- elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
+@@ -409,9 +409,6 @@ elif test "x${ax_cv_c_compiler_vendor}"
APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC)
APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC)
+ AC_SUBST([AM_MOD_AVMD_CXXFLAGS], [-std=gnu99]) # FS-8809, needed for MAP_POPULATE
- if test "$ac_cv_gcc_supports_w_no_unused_result" = yes; then
- APR_ADDTO(SWITCH_AM_CFLAGS, -Werror)
- fi
if test "${enable_64}" = "yes"; then
case "$host" in
*darwin*)
-@@ -901,7 +898,6 @@ AC_CHECK_LIB(pthread, pthread_setschedpa
+@@ -912,7 +909,6 @@ AC_CHECK_LIB(pthread, pthread_setschedpa
AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
@@ -36,12 +39,12 @@
AC_CHECK_LIB(util, openpty, [AC_DEFINE(HAVE_OPENPTY, 1, [Define if you have openpty()])])
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
-@@ -1478,14 +1474,14 @@ AM_CONDITIONAL([HAVE_MYSQL],[test "$foun
+@@ -1487,16 +1483,16 @@ AM_CONDITIONAL([HAVE_MYSQL],[test "$foun
# perl checks
#
-AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl=yes],[ac_cv_have_perl=no])
-+AC_CHECK_PROG(PERL,[perl],[ac_cv_have_perl=yes],[ac_cv_have_perl=no],[${STAGING_DIR}/../host/usr/bin])
++AC_CHECK_PROG(PERL,[perl],[ac_cv_have_perl=yes],[ac_cv_have_perl=no],[${STAGING_DIR}/host/usr/bin])
+PERL=$as_dir/$ac_word$ac_exec_ext
# -a "x$ac_cv_have_EXTERN_h" != "xno"
@@ -53,9 +56,12 @@
+ PERL_SITEDIR="`$PERL -MConfig -e 'print $Config{archlibexp}'`"
+ PERL_LIBDIR="-L`$PERL -MConfig -e 'print $Config{archlibexp}'`/CORE"
PERL_LIBS="`$PERL -MConfig -e 'print $Config{libs}'`"
- PERL_CFLAGS="-w -DMULTIPLICITY `$PERL -MExtUtils::Embed -e ccopts | sed -e 's|-arch x86_64 -arch i386||'` -DEMBED_PERL"
+- PERL_CFLAGS="-w -DMULTIPLICITY `$PERL -MExtUtils::Embed -e ccopts | sed -e 's|-arch x86_64 -arch i386||'` -DEMBED_PERL"
++ PERL_CFLAGS="-w -DMULTIPLICITY `$PERL -MExtUtils::Embed -e ccopts | sed -e 's| -I/usr/local/include||g'` -DEMBED_PERL"
PERL_LDFLAGS="`$PERL -MExtUtils::Embed -e ldopts| sed -e 's|-arch x86_64 -arch i386||'`"
-@@ -1502,6 +1498,7 @@ if test "x$ac_cv_have_perl" != "xno"; th
+ PERL_INC="`$PERL -MExtUtils::Embed -e perl_inc`"
+
+@@ -1511,6 +1507,7 @@ if test "x$ac_cv_have_perl" != "xno"; th
AC_CHECK_LIB([perl], [perl_alloc], ac_cv_use_libperl=yes, ac_cv_use_libperl=no)
LDFLAGS="$save_LDFLAGS"
@@ -63,3 +69,69 @@
AC_SUBST(PERL_SITEDIR)
AC_SUBST(PERL_LIBDIR)
AC_SUBST(PERL_LIBS)
+@@ -1526,16 +1523,16 @@ AM_CONDITIONAL([HAVE_PERL],[test "x$ac_c
+ #
+
+ AC_CHECK_PROG(PHP,php,[ac_cv_have_php=yes],[ac_cv_have_php=no])
+-AC_CHECK_PROG(PHP_CONFIG,php-config,[ac_cv_have_php_config=yes],[ac_cv_have_php_config=no])
++AC_CHECK_PROG(PHP_CONFIG,php-config,[ac_cv_have_php_config=yes],[ac_cv_have_php_config=no],[${STAGING_DIR}/host/usr/bin])
+ AM_CONDITIONAL([HAVE_PHP],[test "x$ac_cv_have_php" != "xno" -a "x$ac_cv_have_php_config" != "xno"])
+
+ if test "x$ac_cv_have_php" != "xno" -a "x$ac_cv_have_php_config" != "xno"; then
+ PHP=php
+- PHP_CONFIG=php-config
++ PHP_CONFIG=${STAGING_DIR}/host/usr/bin/php-config
+ PHP_LDFLAGS="`$PHP_CONFIG --ldflags`"
+ PHP_LIBS="`$PHP_CONFIG --libs | sed -r 's/ ?-l(bz2|pcre|xml2|gssapi_krb5|krb5|k5crypto|com_err|history|z|readline|gmp|ssl|crypto)//g'`"
+ PHP_EXT_DIR="`$PHP_CONFIG --extension-dir`"
+- PHP_INC_DIR="`$PHP -r 'echo ini_get("include_path");' | cut -d: -f2`"
++ PHP_INC_DIR="`$PHP_CONFIG --includes | cut -d" " -f1 | cut -dI -f2`"
+ PHP_INI_DIR="`$PHP_CONFIG --configure-options | tr " " "\n" | grep -- --with-config-file-scan-dir | cut -f2 -d=`"
+ PHP_CFLAGS="`$PHP_CONFIG --includes`"
+ AC_SUBST(PHP_LDFLAGS)
+@@ -1569,12 +1566,12 @@ then
+ AC_MSG_RESULT([$with_python])
+ AC_SUBST([PYTHON], ["$with_python"])
+ else
+- AC_PATH_PROG([PYTHON], ["python"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"])
++ AC_PATH_PROG([PYTHON], ["python3"], ["no"], ["$PATH:${STAGING_DIR}/host/bin:/usr/bin:/usr/local/bin"])
+ fi
+
+ if test "$PYTHON" != "no" ; then
+ AC_MSG_CHECKING([python version])
+- PYTHON_VER="`$PYTHON -V 2>&1 | cut -d' ' -f2`"
++ PYTHON_VER=`$PYTHON -c "import sys; print('%d.%d' % (sys.version_info[[0]], sys.version_info[[1]]))"`
+
+ if test -z "$PYTHON_VER" ; then
+ AC_MSG_ERROR([Unable to detect python version])
+@@ -1593,12 +1590,12 @@ then
+ if test "$python_has_distutils" != "no" ; then
+ AC_MSG_CHECKING([location of site-packages])
+
+- PYTHON_SITE_DIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(0));'`"
++ if test -d "`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(0));'`" ; then
++ PYTHON_SITE_DIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(0));' | sed -e 's|\(^.*\)/host|/usr|g'`"
+
+- if test -z "$PYTHON_SITE_DIR" ; then
+- AC_MSG_ERROR([Unable to detect python site-packages path])
+- elif test ! -d "$PYTHON_SITE_DIR" ; then
+- AC_MSG_ERROR([Path $PYTHON_SITE_DIR returned by python does not exist!])
++ if test -z "$PYTHON_SITE_DIR" ; then
++ AC_MSG_ERROR([Unable to detect python site-packages path])
++ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_SITE_DIR])
+ AC_SUBST([PYTHON_SITE_DIR], [$PYTHON_SITE_DIR])
+@@ -1606,10 +1603,10 @@ then
+ #
+ # python distutils found, get settings from python directly
+ #
+- PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; flags = [[\"-I\" + sysconfig.get_python_inc(0), \"-I\" + sysconfig.get_python_inc(1), \" \".join(sysconfig.get_config_var(\"CFLAGS\").split())]]; print(\" \".join(flags));' | sed -e 's/-arch i386//g;s/-arch x86_64//g'`"
++ PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; flags = [[\"-I\" + sysconfig.get_python_inc(0), \"-I\" + sysconfig.get_python_inc(1), \" \".join(sysconfig.get_config_var(\"CFLAGS\").split())]]; print(\" \".join(flags));' | sed -e 's|host|usr|g'`"
+ PYTHON_LDFLAGS="`$PYTHON -c 'from distutils import sysconfig; libs = sysconfig.get_config_var(\"LIBS\").split() + sysconfig.get_config_var(\"SYSLIBS\").split(); libs.append(\"-lpython\"+sysconfig.get_config_var(\"VERSION\")); print(\" \".join(libs));'`"
+ PYTHON_LIB="`$PYTHON -c 'from distutils import sysconfig; print(\"python\" + sysconfig.get_config_var(\"VERSION\"));'`"
+- PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"));'`"
++ PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"));' | sed -e 's|host|usr|g'`"
+
+ # handle python being installed into /usr/local
+ AC_MSG_CHECKING([python libdir])
diff --git a/net/freeswitch/patches/uClibc/src-mod-applications-mod_http_cache-conf-autoload_configs-http_cache_conf_xml.patch b/net/freeswitch/patches/uClibc/src-mod-applications-mod_http_cache-conf-autoload_configs-http_cache_conf_xml.patch
new file mode 100644
index 0000000..d1a6715
--- /dev/null
+++ b/net/freeswitch/patches/uClibc/src-mod-applications-mod_http_cache-conf-autoload_configs-http_cache_conf_xml.patch
@@ -0,0 +1,11 @@
+--- a/src/mod/applications/mod_http_cache/conf/autoload_configs/http_cache.conf.xml
++++ b/src/mod/applications/mod_http_cache/conf/autoload_configs/http_cache.conf.xml
+@@ -9,7 +9,7 @@
+
+
+
+-
+
+
+
diff --git a/net/freeswitch/patches/uClibc/src-mod-endpoints-mod_sofia-conf-sofia_conf_xml.patch b/net/freeswitch/patches/uClibc/src-mod-endpoints-mod_sofia-conf-sofia_conf_xml.patch
new file mode 100644
index 0000000..78db028
--- /dev/null
+++ b/net/freeswitch/patches/uClibc/src-mod-endpoints-mod_sofia-conf-sofia_conf_xml.patch
@@ -0,0 +1,11 @@
+--- a/src/mod/endpoints/mod_sofia/conf/sofia.conf.xml
++++ b/src/mod/endpoints/mod_sofia/conf/sofia.conf.xml
+@@ -216,7 +216,7 @@
+
+
+
+-
+
+
+
diff --git a/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-Makefile_am.patch b/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-Makefile_am.patch
new file mode 100644
index 0000000..7ce0878
--- /dev/null
+++ b/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-Makefile_am.patch
@@ -0,0 +1,11 @@
+--- a/src/mod/languages/mod_python/Makefile.am
++++ b/src/mod/languages/mod_python/Makefile.am
+@@ -20,7 +20,7 @@ swigclean: clean
+ rm -f mod_python_wrap.* freeswitch.py
+
+ mod_python_wrap.cpp: mod_python_extra.c hack.diff
+- swig2.0 -python -c++ -I../../../../src/include -oh mod_python_wrap.h -o mod_python_wrap.cpp mod_python.i
++ ${STAGING_DIR}/host/bin/swig -python -c++ -I../../../../src/include -oh mod_python_wrap.h -o mod_python_wrap.cpp mod_python.i
+ echo "#include \"mod_python_extra.c\"" >> mod_python_wrap.cpp
+ patch -s -p0 -i hack.diff
+
diff --git a/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-freeswitch_python_cpp.patch b/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-freeswitch_python_cpp.patch
new file mode 100644
index 0000000..9d509c8
--- /dev/null
+++ b/net/freeswitch/patches/uClibc/src-mod-languages-mod_python-freeswitch_python_cpp.patch
@@ -0,0 +1,15 @@
+--- a/src/mod/languages/mod_python/freeswitch_python.cpp
++++ b/src/mod/languages/mod_python/freeswitch_python.cpp
+@@ -319,7 +319,12 @@ switch_status_t Session::run_dtmf_callba
+ }
+
+ if ((pyresult = PyEval_CallObject(cb_function, arglist))) {
++#if PY_MAJOR_VERSION < 3
+ str = (char *) PyString_AsString(pyresult);
++#else
++ //str = (char *) pyresult->encode('UTF-8');
++ str = (char *) PyUnicode_AsUnicode(pyresult);
++#endif
+ } else {
+ PyErr_Print();
+ }