[FreeSWITCH]: Ref. to FS git commit bb258288801b50e8fb673a620a6c2b4855e11daf
authorMazi Lo <openwrt.mazilo@recursor.net>
Sat, 26 Mar 2016 21:49:30 +0000 (17:49 -0400)
committerMazi Lo <openwrt.mazilo@recursor.net>
Sat, 26 Mar 2016 21:49:30 +0000 (17:49 -0400)
 1. Update to FS v1.7.0
 2. Fix erlang detection
 3. Fix mod-python
 4. Add libvpx and libyuv configure switches.
 5. Add mod-graylog2, mod-png, mod-prefix, and mod-translate.
 6. Use $(STAGING_DIR)/host instead of $(STAGING_DIR_HOST).

--
Signed-off-by: Mazi Lo <openwrt.mazilo@recursor.net>
16 files changed:
net/freeswitch/Config.in
net/freeswitch/Makefile
net/freeswitch/patches/musl/configure_ac.patch
net/freeswitch/patches/musl/rel/build-config-erlang_m4.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/build-modules_conf_in.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/build-openwrt_rules.mk.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/configure_ac.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/libs-apr-configure_ac.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/libs-apr-util-configure_gnu.patch [new file with mode: 0644]
net/freeswitch/patches/musl/rel/libs-srtp-configure_ac.patch [new file with mode: 0644]
net/freeswitch/patches/uClibc/Makefile_am.patch [new file with mode: 0644]
net/freeswitch/patches/uClibc/configure_ac.patch
net/freeswitch/patches/uClibc/src-mod-applications-mod_http_cache-conf-autoload_configs-http_cache_conf_xml.patch [new file with mode: 0644]
net/freeswitch/patches/uClibc/src-mod-endpoints-mod_sofia-conf-sofia_conf_xml.patch [new file with mode: 0644]
net/freeswitch/patches/uClibc/src-mod-languages-mod_python-Makefile_am.patch [new file with mode: 0644]
net/freeswitch/patches/uClibc/src-mod-languages-mod_python-freeswitch_python_cpp.patch [new file with mode: 0644]

index 21a61eabfbaf0caa3feecae413349cdab4da6db6..7f869df1b01252d84d4d98b8e47bd9b90ec2032a 100644 (file)
@@ -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
index 1148884d81a81c1643b15fbe3bfccf731755c87a..bbe2372d52627708643c5a2eddc1ce9aaafb2975 100644 (file)
@@ -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))
index 9bd513d8a8c7140f44446d46ebe2f31e26b708bb..5a478353553f5e1cb14ddc979b4a64794199c8cd 100644 (file)
@@ -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 (file)
index 0000000..5d744f7
--- /dev/null
@@ -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 (file)
index 0000000..9db0e8e
--- /dev/null
@@ -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 (file)
index 0000000..31fb16f
--- /dev/null
@@ -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 (file)
index 0000000..9bd513d
--- /dev/null
@@ -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 (file)
index 0000000..c4667dd
--- /dev/null
@@ -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 (file)
index 0000000..b933b3c
--- /dev/null
@@ -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 (file)
index 0000000..56c1691
--- /dev/null
@@ -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 (file)
index 0000000..6689883
--- /dev/null
@@ -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)
index 477af6bbc3400673cd1bd7c945e3254854ed37fb..a69a12ba5aafc3bd2bae7022ea6d2af932c56719 100644 (file)
@@ -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
                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))
  
  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"
 +   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"
  
     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 (file)
index 0000000..d1a6715
--- /dev/null
@@ -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 @@
+     <param name="ssl-verifyhost" value="true"/>
+     <param name="ssl-verifypeer" value="true"/>
+     <!-- default is 300 seconds, override here -->
+-    <!--param name="connect-timeout" value="300"/>
++    <!-- param name="connect-timeout" value="300"/> -->
+   </settings>
+   <profiles>
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 (file)
index 0000000..78db028
--- /dev/null
@@ -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 @@
+         <!-- <param name="unregister-on-options-fail" value="true"/> -->
+         <!-- Send an OPTIONS packet to all registered endpoints -->
+         <!--<param name="all-reg-options-ping" value="true"/>-->
+-        <!-- Send an OPTIONS packet to NATed registered endpoints. Can be 'true' or 'udp-only
++        <!-- Send an OPTIONS packet to NATed registered endpoints. Can be 'true' or 'udp-only -->
+         <!--<param name="nat-options-ping" value="true"/>-->
+         <!-- TLS: disabled by default, set to "true" to enable -->
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 (file)
index 0000000..7ce0878
--- /dev/null
@@ -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 (file)
index 0000000..9d509c8
--- /dev/null
@@ -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();
+       }