From 0394f56f0f3f9873f28d4973f6c8de24739c5912 Mon Sep 17 00:00:00 2001 From: nico Date: Tue, 13 Oct 2009 07:20:19 +0000 Subject: [PATCH] [packages] freeswitch: make it fully modular, add patches to allow more modules to cross-compile git-svn-id: svn://svn.openwrt.org/openwrt/packages@18044 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/freeswitch/Makefile | 348 +++++++++++++++++++++--- net/freeswitch/files/freeswitch.default | 2 +- net/freeswitch/files/freeswitch.init | 2 +- net/freeswitch/patches/203-curl.patch | 11 + net/freeswitch/patches/204-honor_cppflags.patch | 22 ++ net/freeswitch/patches/205-openzap.patch | 11 + net/freeswitch/patches/301-modrules_cross.patch | 327 ++++++++++++++++++++++ 7 files changed, 683 insertions(+), 40 deletions(-) create mode 100644 net/freeswitch/patches/203-curl.patch create mode 100644 net/freeswitch/patches/204-honor_cppflags.patch create mode 100644 net/freeswitch/patches/205-openzap.patch create mode 100644 net/freeswitch/patches/301-modrules_cross.patch diff --git a/net/freeswitch/Makefile b/net/freeswitch/Makefile index 95278a27b..2f784b301 100644 --- a/net/freeswitch/Makefile +++ b/net/freeswitch/Makefile @@ -15,14 +15,113 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://files.freeswitch.org/ PKG_MD5SUM:=86e34bdd8cc027d71772cb0dc51388da +PKG_FIXUP:=libtool + +FS_MOD_AVAILABLE:= \ + alsa \ + amr \ + amrwb \ + cdr-csv \ + celt \ + cepstral \ + cluechoo \ + commands \ + conference \ + console \ + curl \ + dahdi-codec \ + dialplan-asterisk \ + dialplan-directory \ + dialplan-xml \ + dingaling \ + dptools \ + easyroute \ + enum \ + erlang-event \ + esf \ + event-multicast \ + event-socket \ + expr \ + fax \ + fifo \ + file-string \ + flite \ + fsv \ + g723-1 \ + g729 \ + h26x \ + iax \ + ilbc \ + lcr \ + ldap \ + limit \ + local-stream \ + logfile \ + loopback \ + lua \ + memcache \ + native-file \ + nibblebill \ + opal \ + openzap \ + perl \ + pocketsphinx \ + portaudio \ + python \ + radius-cdr \ + rss \ + say-de \ + say-en \ + say-es \ + say-fr \ + say-it \ + say-nl \ + say-ru \ + say-zh \ + shout \ + siren \ + skypiax \ + sndfile \ + snom \ + sofia \ + soundtouch \ + speex \ + spidermonkey \ + spidermonkey-core-db \ + spidermonkey-curl \ + spidermonkey-odbc \ + spidermonkey-socket \ + spidermonkey-teletone \ + spy \ + syslog \ + tone-stream \ + unimrcp \ + vmd \ + voicemail \ + voipcodecs \ + xml-cdr \ + xml-curl \ + xml-ldap \ + xml-rpc \ + yaml \ + +PKG_CONFIG_DEPENDS:= \ + $(patsubst %,CONFIG_PACKAGE_freeswitch-mod-%,$(FS_MOD_AVAILABLE)) \ + include $(INCLUDE_DIR)/package.mk -define Package/freeswitch +define Package/freeswitch/Default SECTION:=net CATEGORY:=Network - TITLE:=FreeSWITCH open source telephony platform URL:=http://www.freeswitch.org/ - DEPENDS:=+libopenssl +libcurl +libreadline +libncurses +libpthread +endef + + +define Package/freeswitch +$(call Package/freeswitch/Default) + TITLE:=FreeSWITCH open source telephony platform + DEPENDS:=+libopenssl +libreadline +libncurses +libpthread + MENU:=1 endef define Package/freeswitch/description @@ -31,20 +130,67 @@ define Package/freeswitch/description from a soft-phone up to a soft-switch. endef -FS_MODULES_DISABLED:= \ - applications/mod_cluechoo \ - codecs/mod_amr \ - codecs/mod_ilbc \ - codecs/mod_siren \ - languages/mod_lua \ - languages/mod_spidermonkey \ - languages/mod_spidermonkey_curl \ - languages/mod_spidermonkey_teletone \ - languages/mod_spidermonkey_core_db \ - languages/mod_spidermonkey_socket \ - say/mod_say_ru \ + +define Package/freeswitch-default +$(call Package/freeswitch/Default) + TITLE:=FreeSWITCH default config + DEPENDS:=freeswitch \ + +freeswitch-mod-cdr-csv \ + +freeswitch-mod-commands \ + +freeswitch-mod-conference \ + +freeswitch-mod-console \ + +freeswitch-mod-dialplan-xml \ + +freeswitch-mod-dptools \ + +freeswitch-mod-enum \ + +freeswitch-mod-event-socket \ + +freeswitch-mod-expr \ + +freeswitch-mod-fifo \ + +freeswitch-mod-file-string \ + +freeswitch-mod-esf \ + +freeswitch-mod-fsv \ + +freeswitch-mod-iax \ + +freeswitch-mod-limit \ + +freeswitch-mod-local-stream \ + +freeswitch-mod-logfile \ + +freeswitch-mod-loopback \ + +freeswitch-mod-native-file \ + +freeswitch-mod-rss \ + +freeswitch-mod-say-en \ + +freeswitch-mod-sndfile \ + +freeswitch-mod-sofia \ + +freeswitch-mod-syslog \ + +freeswitch-mod-tone-stream \ + +freeswitch-mod-voicemail \ + +freeswitch-mod-voipcodecs \ + +freeswitch-mod-xml-cdr \ + +freeswitch-mod-xml-rpc +endef + + +define Package/freeswitch-minimal +$(call Package/freeswitch/Default) + TITLE:=FreeSWITCH minimal config + DEPENDS:=freeswitch \ + +freeswitch-mod-commands \ + +freeswitch-mod-console \ + +freeswitch-mod-dialplan-xml \ + +freeswitch-mod-dptools \ + +freeswitch-mod-sofia \ + +freeswitch-mod-voipcodecs +endef + + +define Package/freeswitch-tools +$(call Package/freeswitch/Default) + TITLE:=FreeSWITCH control tools + DEPENDS:=freeswitch +endef + CONFIGURE_ARGS+= \ + --prefix="/usr/freeswitch" \ + --bindir="/usr/bin" \ + --libdir="/usr/lib" \ --sysconfdir="/etc/freeswitch" \ --with-modinstdir="/usr/lib/freeswitch" \ --enable-ipv6 \ @@ -71,25 +217,20 @@ CONFIGURE_VARS+= \ CC_FOR_BUILD="$(HOSTCC)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ - LIBS="-lpthread" \ + LDFLAGS="$(TARGET_LDFLAGS) -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\"" \ ac_cv_file_dbd_apr_dbd_mysql_c="no" \ apr_cv_process_shared_works="no" \ apr_cv_tcp_nodelay_with_cork="yes" \ -# apr_cv_gai_addrconfig="yes" -# apr_cv_mutex_recursive="no" -# apr_cv_mutex_robust_shared="no" -# apr_cv_pthreads_lib="-lpthread" - -# SWITCH_CONF_DIR="/etc/freeswitch" -# ac_cv_file_dbd_apr_dbd_mysql_c="no" -# ac_cv_cflags_warn_all_ansi=no - define Build/Configure ( cd $(PKG_BUILD_DIR); ./rebootstrap.sh; ) $(call Build/Configure/Default) - $(foreach m,$(FS_MODULES_DISABLED), \ - $(SED) 's|^\($(m)\)$$$$|# \1|g' $(PKG_BUILD_DIR)/modules.conf; \ + $(foreach m,$(FS_MOD_AVAILABLE), + $(if $(CONFIG_PACKAGE_freeswitch-mod-$(m)), + $(SED) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR)/modules.conf + , + $(SED) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR)/modules.conf + ) ) endef @@ -100,22 +241,153 @@ define Build/Compile all install endef +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/freeswitch + $(CP) $(PKG_INSTALL_DIR)/usr/freeswitch/include/* $(1)/usr/include/freeswitch/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreeswitch.{a,so*} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/etc/default + $(INSTALL_DATA) ./files/freeswitch.default $(1)/etc/default/freeswitch + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/freeswitch.init $(1)/etc/init.d/freeswitch +endef + define Package/freeswitch/install $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ - $(INSTALL_DIR) $(1)/usr/db + $(CP) $(PKG_INSTALL_DIR)/usr/bin/freeswitch $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/ - $(INSTALL_DIR) $(1)/usr/log - $(CP) $(PKG_INSTALL_DIR)/usr/log/* $(1)/usr/log/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreeswitch.so.* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/lib/freeswitch - $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeswitch/*.so $(1)/usr/lib/freeswitch/ +endef + +define Package/freeswitch-default/install $(INSTALL_DIR) $(1)/etc/freeswitch - $(CP) $(PKG_INSTALL_DIR)/etc/freeswitch/ $(1)/etc/freeswitch/ - $(INSTALL_DIR) $(1)/etc/default - $(INSTALL_DATA) ./files/freeswitch.default $(1)/etc/default/freeswitch - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/freeswitch.init $(1)/etc/init.d/freeswitch + $(CP) $(PKG_INSTALL_DIR)/etc/freeswitch/* $(1)/etc/freeswitch/ +endef + +define Package/freeswitch-minimal/install + $(INSTALL_DIR) $(1)/etc/freeswitch + $(CP) $(PKG_INSTALL_DIR)/etc/freeswitch/* $(1)/etc/freeswitch/ +endef + +define Package/freeswitch-tools/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/fs_cli $(1)/usr/bin/ +endef + +# 1. Name +# 2. Title +# 3. Files +# 4. Inter Depends +# 5. Extra Depends +define BuildPlugin + define Package/freeswitch-mod-$(1) + $$(call Package/freeswitch/Default) + TITLE:= FS $(2) module + DEPENDS:=freeswitch $$(foreach m,$(4),+freeswitch-mod-$$m) $(5) + endef + + define Package/freeswitch-mod-$(1)/install + [ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/usr/lib/freeswitch + for f in $(3); do \ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/freeswitch/$$$$$$$${f}.so \ + $$(1)/usr/lib/freeswitch/ ; \ + done + endef + + $$(eval $$(call BuildPackage,freeswitch-mod-$(1))) endef $(eval $(call BuildPackage,freeswitch)) +$(eval $(call BuildPackage,freeswitch-default)) +$(eval $(call BuildPackage,freeswitch-minimal)) +$(eval $(call BuildPackage,freeswitch-tools)) + +#$(eval $(call BuildPlugin,Name,Title,Files,Depends)) +$(eval $(call BuildPlugin,alsa,Alsa endpoint,mod_alsa,,+alsa-lib)) +$(eval $(call BuildPlugin,amr,GSM-AMR codec,mod_amr,,)) +$(eval $(call BuildPlugin,amrwb,GSM-AMRWB,mod_amrwb,,)) +$(eval $(call BuildPlugin,cdr-csv,CSV-CDR handler,mod_cdr_csv,,)) +$(eval $(call BuildPlugin,celt,CELT ultra-low delay codec,mod_celt,,)) +$(eval $(call BuildPlugin,cepstral,Cepstral interface,mod_cepstral,,@BROKEN)) # needs +$(eval $(call BuildPlugin,cluechoo,Framework Demo,mod_cluechoo,,)) +$(eval $(call BuildPlugin,commands,API commands,mod_commands,,)) +$(eval $(call BuildPlugin,conference,Conference room,mod_conference,,)) +$(eval $(call BuildPlugin,console,Console logger,mod_console,,)) +$(eval $(call BuildPlugin,curl,HTTP request,mod_curl,,)) +$(eval $(call BuildPlugin,dahdi-codec,DAHDI codecs,mod_dahdi_codec,,)) +$(eval $(call BuildPlugin,dialplan-asterisk,Asterisk dialplan parser,mod_dialplan_asterisk,,)) +$(eval $(call BuildPlugin,dialplan-directory,Dialplan-Directory interface,mod_dialplan_directory,,)) +$(eval $(call BuildPlugin,dialplan-xml,Dialplan-XML interface,mod_dialplan_xml,,)) +$(eval $(call BuildPlugin,dingaling,Jabber interface,mod_dingaling,,)) +$(eval $(call BuildPlugin,dptools,Dialplan tools,mod_dptools,,)) +$(eval $(call BuildPlugin,easyroute,DID routing,mod_easyroute,,)) +$(eval $(call BuildPlugin,enum,ENUM routing,mod_enum,,)) +$(eval $(call BuildPlugin,erlang-event,Erlang event handler,mod_erlang_event,,@BROKEN)) # needs +$(eval $(call BuildPlugin,esf,Extra SIP Functionality,mod_esf,,)) +$(eval $(call BuildPlugin,event-multicast,Multicast event handler,mod_event_multicast,,)) +$(eval $(call BuildPlugin,event-socket,Socket event handler,mod_event_socket,,)) +$(eval $(call BuildPlugin,expr,Expression evaluation,mod_expr,,)) +$(eval $(call BuildPlugin,fax,Fax,mod_fax,,@BROKEN)) # fails in spandsp +$(eval $(call BuildPlugin,fifo,FIFO,mod_fifo,,)) +$(eval $(call BuildPlugin,file-string,File streaming,mod_file_string,,)) +$(eval $(call BuildPlugin,flite,Festival TTS,mod_flite,,)) +$(eval $(call BuildPlugin,fsv,Video,mod_fsv,,)) +$(eval $(call BuildPlugin,g723-1,G.723.1 codec,mod_g723_1,,)) +$(eval $(call BuildPlugin,g729,G.729 codec,mod_g729,,)) +$(eval $(call BuildPlugin,h26x,H26X linear codec,mod_h26x,,)) +$(eval $(call BuildPlugin,iax,IAX2 interface,mod_iax,,)) +$(eval $(call BuildPlugin,ilbc,ILBC codec,mod_ilbc,,)) +$(eval $(call BuildPlugin,lcr,Least Cost Routing,mod_lcr,,)) +$(eval $(call BuildPlugin,ldap,LDAP interface,mod_ldap,,@BROKEN)) # fails in openldap +$(eval $(call BuildPlugin,limit,Resource limitation,mod_limit,,)) +$(eval $(call BuildPlugin,local-stream,Local streaming,mod_local_stream,,)) +$(eval $(call BuildPlugin,logfile,File logger,mod_logfile,,)) +$(eval $(call BuildPlugin,loopback,Loopback endpoint,mod_loopback,,)) +$(eval $(call BuildPlugin,lua,Lua language interface,mod_lua,,@BROKEN)) # needs C++ +$(eval $(call BuildPlugin,memcache,MemCached interface,mod_memcache,,@BROKEN)) # fails in libmemcached +$(eval $(call BuildPlugin,native-file,Native files,mod_native_file,,)) +$(eval $(call BuildPlugin,nibblebill,Billing,mod_nibblebill,,)) +$(eval $(call BuildPlugin,opal,Multi-Protocol endpoint,mod_opal,,@BROKEN)) # needs Opal +$(eval $(call BuildPlugin,openzap,Zaptel harware interface,mod_openzap ozmod_analog ozmod_analog_em ozmod_isdn ozmod_skel ozmod_ss7_boost ozmod_zt,,)) +$(eval $(call BuildPlugin,perl,Perl language interface,mod_perl,,+perl @BROKEN)) # needs Perl +$(eval $(call BuildPlugin,pocketsphinx,PocketSphinx SR,mod_pocketsphinx,,@BROKEN)) # fails in sphinxbase +$(eval $(call BuildPlugin,portaudio,Local audio endpoint,mod_portaudio,,+alsa-lib)) +$(eval $(call BuildPlugin,python,Python language interface,mod_python,,+python @BROKEN)) # needs Python +$(eval $(call BuildPlugin,radius-cdr,Radius-CDR interface,mod_radius_cdr,,@BROKEN)) # fails in freeradius-client +$(eval $(call BuildPlugin,rss,RRS feeds via TTS,mod_rss,,)) +$(eval $(call BuildPlugin,say-de,German say,mod_say_de,,)) +$(eval $(call BuildPlugin,say-en,English say,mod_say_en,,)) +$(eval $(call BuildPlugin,say-es,Spanish say,mod_say_es,,)) +$(eval $(call BuildPlugin,say-fr,French say,mod_say_fr,,)) +$(eval $(call BuildPlugin,say-it,Italian say,mod_say_it,,)) +$(eval $(call BuildPlugin,say-nl,Dutch say,mod_say_nl,,)) +$(eval $(call BuildPlugin,say-ru,Russian say,mod_say_ru,,)) +$(eval $(call BuildPlugin,say-zh,Chineese say,mod_say_zh,,)) +$(eval $(call BuildPlugin,shout,MP3 and Shoutcast stream,mod_shout,,@BROKEN)) # needs Ogg/Vorbis +$(eval $(call BuildPlugin,siren,G.722.1 codec,mod_siren,,@BROKEN)) # fails in libg722_1 +$(eval $(call BuildPlugin,skypiax,Skype compatible endpoint,mod_skypiax,,@BROKEN)) # needs +$(eval $(call BuildPlugin,sndfile,Multi-Format file transcoder,mod_sndfile,,)) +$(eval $(call BuildPlugin,snom,SNOM specific features,mod_snom,,)) +$(eval $(call BuildPlugin,sofia,SIP,mod_sofia,,)) +$(eval $(call BuildPlugin,soundtouch,Sound effects,mod_soundtouch,,@BROKEN)) # needs C++ +$(eval $(call BuildPlugin,speex,Speex codec,mod_speex,,)) +$(eval $(call BuildPlugin,spidermonkey,JavaScript,mod_spidermonkey,,@BROKEN)) # fails in js +$(eval $(call BuildPlugin,spidermonkey-core_db,JavaScript DB,mod_spidermonkey_core_db,,@BROKEN)) +$(eval $(call BuildPlugin,spidermonkey-curl,JavaScript Curl,mod_spidermonkey_curl,,@BROKEN)) +$(eval $(call BuildPlugin,spidermonkey-odbc,JavaScript ODBC,mod_spidermonkey_odbc,,@BROKEN)) +$(eval $(call BuildPlugin,spidermonkey-socket,JavaScript socket,mod_spidermonkey_socket,,@BROKEN)) +$(eval $(call BuildPlugin,spidermonkey-teletone,JavaScript teletone,mod_spidermonkey_teletone,,@BROKEN)) +$(eval $(call BuildPlugin,spy,User spy,mod_spy,,)) +$(eval $(call BuildPlugin,syslog,SysLog logger,mod_syslog,,)) +$(eval $(call BuildPlugin,tone-stream,Tone generation stream,mod_tone_stream,,)) +$(eval $(call BuildPlugin,unimrcp,MRCP interface,mod_unimrcp,,)) +$(eval $(call BuildPlugin,vmd,VoiceMail beep detection,mod_vmd,,)) +$(eval $(call BuildPlugin,voicemail,VoiceMail,mod_voicemail,,)) +$(eval $(call BuildPlugin,voipcodecs,VoIP codecs,mod_voipcodecs,,)) +$(eval $(call BuildPlugin,xml-cdr,XML-CDR handler,mod_xml_cdr,,+libcurl)) +$(eval $(call BuildPlugin,xml-curl,XML-Curl gateway,mod_xml_curl,,+libcurl)) +$(eval $(call BuildPlugin,xml-ldap,LDAP-XML gateway,mod_xml_ldap,,@BROKEN)) # fails in openldap +$(eval $(call BuildPlugin,xml-rpc,XML-RPC interface,mod_xml_rpc,,)) +$(eval $(call BuildPlugin,yaml,YAML dialplans,mod_yaml,,)) diff --git a/net/freeswitch/files/freeswitch.default b/net/freeswitch/files/freeswitch.default index c7af99252..61c247819 100644 --- a/net/freeswitch/files/freeswitch.default +++ b/net/freeswitch/files/freeswitch.default @@ -1,7 +1,7 @@ #FS_DIR="/opt" FS_DIR_ETC="$FS_DIR/etc/freeswitch" FS_DIR_MOD="$FS_DIR/usr/lib/freeswitch" -FS_DIR_LOG="$FS_DIR/tmp/freeswitch/log" FS_DIR_DB="$FS_DIR/tmp/freeswitch/db" +FS_DIR_LOG="$FS_DIR/tmp/freeswitch/log" OPTIONS="-conf $FS_DIR_ETC -log $FS_DIR_LOG -db $FS_DIR_DB -mod $FS_DIR_MOD" diff --git a/net/freeswitch/files/freeswitch.init b/net/freeswitch/files/freeswitch.init index 08aa425ec..544c8c8de 100644 --- a/net/freeswitch/files/freeswitch.init +++ b/net/freeswitch/files/freeswitch.init @@ -7,8 +7,8 @@ OPTIONS="" start() { [ -f $DEFAULT ] && . $DEFAULT - mkdir -p $FS_DIR_LOG mkdir -p $FS_DIR_DB + mkdir -p $FS_DIR_LOG $FS_DIR/usr/bin/freeswitch $OPTIONS -c } diff --git a/net/freeswitch/patches/203-curl.patch b/net/freeswitch/patches/203-curl.patch new file mode 100644 index 000000000..cc4b59c31 --- /dev/null +++ b/net/freeswitch/patches/203-curl.patch @@ -0,0 +1,11 @@ +--- a/build/config/libcurl.m4 ++++ b/build/config/libcurl.m4 +@@ -71,7 +71,7 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], + if test -d "$_libcurl_with" ; then + LIBCURL_CPPFLAGS="-I$withval/include" + _libcurl_ldflags="-L$withval/lib" +- AC_PATH_PROG([_libcurl_config],["$withval/bin/curl-config"]) ++ _libcurl_config="$withval/bin/curl-config" + else + AC_PATH_PROG([_libcurl_config],[curl-config]) + fi diff --git a/net/freeswitch/patches/204-honor_cppflags.patch b/net/freeswitch/patches/204-honor_cppflags.patch new file mode 100644 index 000000000..8feedb80d --- /dev/null +++ b/net/freeswitch/patches/204-honor_cppflags.patch @@ -0,0 +1,22 @@ +--- a/build/modmake.rules.in ++++ b/build/modmake.rules.in +@@ -38,7 +38,7 @@ SOLINK = @SOLINK@ + + LDFLAGS=@SWITCH_AM_LDFLAGS@ @LDFLAGS@ $(OUR_LDFLAGS) + +-ALL_CFLAGS = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CFLAGS@ @CFLAGS@ -D_GNU_SOURCE $(OUR_CFLAGS) ++ALL_CFLAGS = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CFLAGS@ @CFLAGS@ @CPPFLAGS@ -D_GNU_SOURCE $(OUR_CFLAGS) + ALL_CXXFLAGS = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CXXFLAGS@ @CXXFLAGS@ -D_GNU_SOURCE $(OUR_CFLAGS) + + COMPILE = $(CC) $(ALL_CFLAGS) $(DEFS) +--- a/libs/portaudio/Makefile.in ++++ b/libs/portaudio/Makefile.in +@@ -16,7 +16,7 @@ bindir = @bindir@ + libdir = @libdir@ + includedir = @includedir@ + CC = @CC@ +-CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/common -I$(top_srcdir)/src/os/unix @CFLAGS@ @DEFS@ ++CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src/common -I$(top_srcdir)/src/os/unix @CFLAGS@ @CPPFLAGS@ @DEFS@ + LIBS = @LIBS@ + AR = @AR@ + RANLIB = @RANLIB@ diff --git a/net/freeswitch/patches/205-openzap.patch b/net/freeswitch/patches/205-openzap.patch new file mode 100644 index 000000000..907c0ce05 --- /dev/null +++ b/net/freeswitch/patches/205-openzap.patch @@ -0,0 +1,11 @@ +--- a/libs/openzap/mod_openzap/Makefile.in ++++ b/libs/openzap/mod_openzap/Makefile.in +@@ -15,7 +15,7 @@ $(OZLA): $(OZ_DIR)/.update + + local_install: + cd $(OZ_DIR) && $(MAKE) install +- [ -f $(DESTDIR)$(PREFIX)/conf/autoload_configs/openzap.conf.xml ] || cp -f $(OZ_DIR)/conf/openzap.conf.xml $(DESTDIR)$(PREFIX)/conf/autoload_configs ++ [ -f $(DESTDIR)$(sysconfdir)/autoload_configs/openzap.conf.xml ] || cp -f $(OZ_DIR)/conf/openzap.conf.xml $(DESTDIR)$(sysconfdir)/autoload_configs + + local_clean: + cd $(OZ_DIR) && $(MAKE) clean diff --git a/net/freeswitch/patches/301-modrules_cross.patch b/net/freeswitch/patches/301-modrules_cross.patch new file mode 100644 index 000000000..0acfc5993 --- /dev/null +++ b/net/freeswitch/patches/301-modrules_cross.patch @@ -0,0 +1,327 @@ +--- a/build/modmake.rules.in ++++ b/build/modmake.rules.in +@@ -3,6 +3,10 @@ + switch_builddir=@switch_builddir@ + switch_srcdir=@switch_srcdir@ + ++build=@build@ ++host=@host@ ++target=$(host) ++ + CC=@CC@ + CXX=@CXX@ + AWK=@AWK@ +@@ -36,6 +40,8 @@ DYNAMIC_LIB_EXTEN = @DYNAMIC_LIB_EXTEN@ + LIBTOOL_LIB_EXTEN = @LIBTOOL_LIB_EXTEN@ + SOLINK = @SOLINK@ + ++CFLAGS=@CFLAGS@ ++CPPFLAGS=@CPPFLAGS@ + LDFLAGS=@SWITCH_AM_LDFLAGS@ @LDFLAGS@ $(OUR_LDFLAGS) + + ALL_CFLAGS = $(LOCAL_CFLAGS) $(MOD_CFLAGS) @SWITCH_AM_CFLAGS@ @CFLAGS@ @CPPFLAGS@ -D_GNU_SOURCE $(OUR_CFLAGS) +--- a/src/mod/applications/mod_curl/Makefile ++++ b/src/mod/applications/mod_curl/Makefile +@@ -11,7 +11,9 @@ LOCAL_LIBADD=$(JSONLA) + + include $(BASE)/build/modmake.rules + +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" + + $(LOCAL_OBJS): $(LOCAL_SOURCES) + +@@ -19,7 +21,7 @@ $(JSON_DIR): + $(GETLIB) $(json-c).tar.gz + + $(JSON_DIR)/Makefile: $(JSON_DIR) +- cd $(JSON_DIR) && CFLAGS=$(AM_CFLAGS) CC=$(CC) CXX=$(CXX) ./configure --disable-shared --with-pic CPPFLAGS= LDFLAGS= ++ cd $(JSON_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + + $(JSONLA): $(JSON_DIR)/Makefile +--- a/src/mod/asr_tts/mod_flite/Makefile ++++ b/src/mod/asr_tts/mod_flite/Makefile +@@ -13,15 +13,21 @@ LOCAL_LIBADD=$(FLITE_A) + BASE=../../../.. + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS+= --without-audio ++DEFAULT_VARS:= CFLAGS="$(subst -std=c99,,$(CFLAGS))" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(FLITE_DIR): + $(GETLIB) $(FLITE)-latest.tar.gz + + $(FLITE_DIR)/Makefile: $(FLITE_DIR) +- cd $(FLITE_DIR) && CFLAGS="`echo $(CFLAGS) | sed -e 's:-std=c99::'`" ./configure --without-audio --with-pic --disable-shared ++ cd $(FLITE_DIR) && cp -fp ../../build/config/config.sub . ++ cd $(FLITE_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + + $(FLITE_A): $(FLITE_DIR) $(FLITE_DIR)/Makefile + cd $(FLITE_DIR) && $(MAKE) + test -d $(FLITE_LIBDIR) || mkdir $(FLITE_LIBDIR) +- cd $(FLITE_DIR) && FLITE_TMP_LIBDIR=`$(FLITE_DIR)/config.guess | sed "s/-[^-]*//" | sed "s/i[3456]86/i386/"` && cp build/$$FLITE_TMP_LIBDIR/lib/*.a $(FLITE_LIBDIR) ++ cd $(FLITE_DIR) && cp build/*/lib/*.a $(FLITE_LIBDIR) + +--- a/src/mod/directories/mod_ldap/Makefile ++++ b/src/mod/directories/mod_ldap/Makefile +@@ -8,15 +8,18 @@ LIBLBERLA=$(LDAP_DIR)/libraries/liblber/ + + LOCAL_CFLAGS=-DWITH_OPENLDAP -DLDAP_DEPRECATED -I$(LDAP_DIR)/include + +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic +- + LOCAL_LIBADD=$(LDAPLA) $(LIBLBERLA) + + include $(switch_srcdir)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS+= --disable-bdb --disable-hdb --disable-slapd ++DEFAULT_VARS+= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(LDAP_DIR): + $(GETLIB) $(LDAP).tar.gz +- cd $(LDAP_DIR) && ./configure $(DEFAULT_ARGS) --disable-bdb --disable-hdb --disable-slapd ++ cd $(LDAP_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + + $(LDAPLA) $(LIBLBERLA): $(LDAP_DIR) + cd $(LDAP_DIR) && $(MAKE) +--- a/src/mod/codecs/mod_siren/Makefile ++++ b/src/mod/codecs/mod_siren/Makefile +@@ -5,6 +5,10 @@ G722_1_LA=$(G722_1_DIR)/src/.libs/libg72 + LOCAL_LIBADD=$(G722_1_LA) + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(G722_1_LA): $(G722_1_DIR)/.update +- cd $(G722_1_DIR) && ./configure --disable-shared --with-pic && $(MAKE) ++ cd $(G722_1_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) && $(MAKE) + $(TOUCH_TARGET) +--- a/src/mod/languages/mod_yaml/Makefile ++++ b/src/mod/languages/mod_yaml/Makefile +@@ -7,10 +7,15 @@ VERBOSE=1 + + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS+= --without-audio ++DEFAULT_VARS+= CFLAGS="$(AM_CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + local_depend: $(LIBYAML_A) + + $(LIBYAML_A): +- cd $(YAMLLIB) && ./configure $(DEFAULT_ARGS) --disable-shared --with-pic ++ cd $(YAMLLIB) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + cd $(YAMLLIB) && $(MAKE) + + yamlclean: +--- a/src/mod/applications/mod_memcache/Makefile ++++ b/src/mod/applications/mod_memcache/Makefile +@@ -12,7 +12,9 @@ LOCAL_LIBADD=$(MEMCACHEDLA) + + include $(switch_srcdir)/build/modmake.rules + +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" + + $(LOCAL_OBJS): $(LOCAL_SOURCES) + +@@ -20,7 +22,7 @@ $(MEMCACHED_DIR): + $(GETLIB) $(MEMCACHED).tar.gz + + $(MEMCACHED_DIR)/Makefile: $(MEMCACHED_DIR) +- cd $(MEMCACHED_DIR) && CFLAGS=$(AM_CFLAGS) CC=$(CC) CXX=$(CXX) ./configure --disable-shared --with-pic CPPFLAGS= LDFLAGS= ++ cd $(MEMCACHED_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + + $(MEMCACHEDLA): $(MEMCACHED_DIR)/Makefile +--- a/src/mod/applications/mod_soundtouch/Makefile ++++ b/src/mod/applications/mod_soundtouch/Makefile +@@ -5,13 +5,16 @@ LA=$(DIRECTORY)/source/SoundTouch/.libs/ + BASE=../../../.. + LOCAL_CFLAGS += -I$(DIRECTORY)/include -DINTEGER_SAMPLES + LOCAL_LIBADD=$(LA) +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic + + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(DIRECTORY)/Makefile $(DIRECTORY)/config.status: + $(GETLIB) $(VERSION).tar.gz +- cd $(DIRECTORY) && ./configure $(DEFAULT_ARGS) --enable-integer-samples ++ cd $(DIRECTORY) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) --enable-integer-samples + $(TOUCH_TARGET) + + $(LA): $(DIRECTORY)/Makefile $(DIRECTORY)/config.status +--- a/src/mod/asr_tts/mod_pocketsphinx/Makefile ++++ b/src/mod/asr_tts/mod_pocketsphinx/Makefile +@@ -12,13 +12,19 @@ SPHINXMODEL=communicator_semi_6000_20080 + LOCAL_CFLAGS=-I$(SPHINXBASE_DIR)/include -I$(POCKETSPHINX_DIR)/include + LOCAL_LIBADD=$(SPHINXBASE_LA) $(SPHINXBASE_LA2) $(POCKETSPHINX_LA) + BASE=../../../.. ++ + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS+= --without-python ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(SPHINXBASE_DIR): + $(GETLIB) $(SPHINXBASE)-latest.tar.gz + + $(SPHINXBASE_DIR)/buildstamp: $(SPHINXBASE_DIR) +- test -f $(SPHINXBASE_DIR)/Makefile || (cd $(SPHINXBASE_DIR) && ./configure --with-pic --without-python --disable-shared CFLAGS=) ++ test -f $(SPHINXBASE_DIR)/Makefile || (cd $(SPHINXBASE_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS)) + test -f $(SPHINXBASE_DIR)/buildstamp || (touch $(SPHINXBASE_DIR)/buildstamp) + + $(SPHINXBASE_LA): $(SPHINXBASE_DIR)/buildstamp +@@ -29,7 +35,7 @@ $(POCKETSPHINX_DIR): + $(GETLIB) $(POCKETSPHINX)-latest.tar.gz + + $(POCKETSPHINX_DIR)/Makefile: $(POCKETSPHINX_DIR) +- cd $(POCKETSPHINX_DIR) && ./configure --with-pic --without-python --disable-shared --with-sphinxbase=$(SPHINXBASE_DIR) CFLAGS= ++ cd $(POCKETSPHINX_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) --with-sphinxbase=$(SPHINXBASE_DIR) + $(TOUCH_TARGET) + + $(POCKETSPHINX_DIR)/buildstamp: $(POCKETSPHINX_DIR)/Makefile +--- a/src/mod/codecs/mod_celt/Makefile ++++ b/src/mod/codecs/mod_celt/Makefile +@@ -8,11 +8,16 @@ CELT_LA=$(CELT_DIR)/libcelt/.libs/libcel + LOCAL_LIBADD=$(CELT_LA) + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS+= --without-ogg ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(CELT_DIR): + $(GETLIB) $(CELT).tar.gz + + $(CELT_DIR)/Makefile: $(CELT_DIR) +- cd $(CELT_DIR) && CFLAGS=$(AM_CFLAGS) ./configure --disable-shared --with-pic ++ cd $(CELT_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + + $(CELT_LA): $(CELT_DIR)/Makefile + cd $(CELT_DIR) && $(MAKE) +--- a/src/mod/event_handlers/mod_radius_cdr/Makefile ++++ b/src/mod/event_handlers/mod_radius_cdr/Makefile +@@ -10,11 +10,15 @@ LOCAL_LIBADD=$(RADCLIENT_LA) + BASE=../../../.. + include $(BASE)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(RADCLIENT_DIR): + $(GETLIB) $(RADCLIENT).tar.gz + + $(RADCLIENT_DIR)/Makefile: $(RADCLIENT_DIR) +- cd $(RADCLIENT_DIR) && ./configure --disable-shared --with-pic ++ cd $(RADCLIENT_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + + $(RADCLIENT_LA): $(RADCLIENT_DIR)/Makefile +--- a/src/mod/event_handlers/mod_zeroconf/Makefile ++++ b/src/mod/event_handlers/mod_zeroconf/Makefile +@@ -7,13 +7,15 @@ HOWLLA=$(HOWL_DIR)/src/lib/howl/libhowl. + LOCAL_CFLAGS=-I$(HOWL_DIR)/include + LOCAL_LIBADD=$(HOWLLA) + +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic +- + include $(switch_srcdir)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(HOWL_DIR): + $(GETLIB) $(HOWL).tar.gz +- cd $(HOWL_DIR) && ./configure $(DEFAULT_ARGS) ++ cd $(HOWL_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + + $(HOWLLA): $(HOWL_DIR) + cd $(HOWL_DIR) && $(MAKE) +--- a/src/mod/formats/mod_shout/Makefile ++++ b/src/mod/formats/mod_shout/Makefile +@@ -22,7 +22,9 @@ LOCAL_SOURCES=$(MP3SOURCES) + + include $(switch_srcdir)/build/modmake.rules + +-DEFAULT_ARGS=--prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic ++DEFAULT_VARS:= CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" + + $(LOCAL_OBJS): $(LOCAL_SOURCES) + +@@ -30,7 +32,7 @@ $(MPG123_DIR): + $(GETLIB) $(MPG123).tar.gz + + $(MPG123_DIR)/Makefile: $(MPG123_DIR) +- cd $(MPG123_DIR) && CFLAGS=$(AM_CFLAGS) CC=$(CC) CXX=$(CXX) ./configure --disable-shared --with-pic CPPFLAGS= LDFLAGS= ++ cd $(MPG123_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + + $(MPG123LA): $(MPG123_DIR)/Makefile +@@ -41,7 +43,7 @@ $(LAME_DIR): + $(GETLIB) $(LAME).tar.gz + + $(LAME_DIR)/Makefile: $(LAME_DIR) +- cd $(LAME_DIR) && CC=$(CC) CXX=$(CXX) ./configure $(DEFAULT_ARGS) --disable-decoder CPPFLAGS= LDFLAGS= ++ cd $(LAME_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) --disable-decoder + $(TOUCH_TARGET) + + $(LAMELA): $(LAME_DIR)/Makefile +@@ -52,7 +54,7 @@ $(SHOUT_DIR): + $(GETLIB) $(SHOUT).tar.gz + + $(SHOUT_DIR)/Makefile: $(SHOUT_DIR) +- cd $(SHOUT_DIR) && CC=$(CC) CXX=$(CXX) ./configure $(DEFAULT_ARGS) --without-speex --without-vorbis --without-ogg CPPFLAGS= LDFLAGS= ++ cd $(SHOUT_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) --without-speex --without-vorbis --without-ogg + $(TOUCH_TARGET) + + $(SHOUTLA): $(SHOUT_DIR)/Makefile +--- a/src/mod/xml_int/mod_xml_ldap/Makefile ++++ b/src/mod/xml_int/mod_xml_ldap/Makefile +@@ -9,16 +9,18 @@ LIBLUTILA=$(LDAP_DIR)/libraries/liblutil + + LOCAL_CFLAGS=-DWITH_OPENLDAP -DLDAP_DEPRECATED -I$(LDAP_DIR)/include + +-DEFAULT_ARGS= --prefix=$(PREFIX) --disable-shared --with-pic --disable-slapd +-DEFAULT_ARGS+= --disable-slurpd --disable-relay --disable-bdb --disable-hdb +- + LOCAL_LIBADD=$(LDAPLA) $(LIBLBERLA) $(LIBLUTILA) + + include $(switch_srcdir)/build/modmake.rules + ++DEFAULT_ARGS:= --build=$(build) --host=$(host) --target=$(target) ++DEFAULT_ARGS+= --prefix=$(PREFIX) --disable-shared --with-pic --disable-slapd ++DEFAULT_ARGS+= --disable-slurpd --disable-relay --disable-bdb --disable-hdb ++DEFAULT_VARS:= CFLAGS="$(subst -std=c99,,$(CFLAGS))" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" CXX="$(CXX)" ++ + $(LDAP_DIR): + $(GETLIB) $(LDAP).tar.gz +- cd $(LDAP_DIR) && CFLAGS="`echo $(CFLAGS) | sed -e 's:-std=c99::'`" ./configure $(DEFAULT_ARGS) ++ cd $(LDAP_DIR) && $(DEFAULT_VARS) ./configure $(DEFAULT_ARGS) + + $(LIBLUTILA) $(LDAPLA) $(LIBLBERLA): $(LDAP_DIR) + cd $(LDAP_DIR) && $(MAKE) -- 2.11.0