From 944e0663932ef3c634718bbfb9facbfaa3034e21 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 27 May 2013 22:07:52 +0200 Subject: [PATCH] add opus submodule --- .gitmodules | 3 + submodules/build/builder-iphone-os.mk | 8 +-- submodules/build/builders.d/opus.mk | 67 +++++++++++++++++++ submodules/externals/opus | 1 + .../liblinphone.xcodeproj/project.pbxproj | 8 +++ submodules/linphone | 2 +- 6 files changed, 84 insertions(+), 5 deletions(-) create mode 100644 submodules/build/builders.d/opus.mk create mode 160000 submodules/externals/opus diff --git a/.gitmodules b/.gitmodules index 48fa6c484..801c0cc77 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,3 +49,6 @@ [submodule "submodules/bcg729"] path = submodules/bcg729 url = git://git.linphone.org/bcg729.git +[submodule "submodules/externals/opus"] + path = submodules/externals/opus + url = git://git.opus-codec.org/opus.git diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index e7643586d..605e898c4 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -109,18 +109,18 @@ veryclean: veryclean-linphone veryclean-msbcg729 rm -rf $(BUILDER_BUILD_DIR) -.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-ffmpeg build-libvpx detect_gpl_mode_switch $(LINPHONE_BUILD_DIR)/Makefile +.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-ffmpeg build-libvpx build-opus detect_gpl_mode_switch $(LINPHONE_BUILD_DIR)/Makefile cd $(LINPHONE_BUILD_DIR) && export PKG_CONFIG_LIBDIR=$(prefix)/lib/pkgconfig export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make newdate && make && make install mkdir -p $(prefix)/share/linphone/tutorials && cp -f $(LINPHONE_SRC_DIR)/coreapi/help/*.c $(prefix)/share/linphone/tutorials/ -clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 +clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 clean-opus cd $(LINPHONE_BUILD_DIR) && make clean -veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 veryclean-libvpx +veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 veryclean-libvpx veryclean-opus #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure -clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-ffmpeg clean-makefile-libvpx clean-makefile-mssilk +clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-ffmpeg clean-makefile-libvpx clean-makefile-mssilk clean-makefile-opus cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile diff --git a/submodules/build/builders.d/opus.mk b/submodules/build/builders.d/opus.mk new file mode 100644 index 000000000..6d905843e --- /dev/null +++ b/submodules/build/builders.d/opus.mk @@ -0,0 +1,67 @@ +############################################################################ +# opus.mk +# Copyright (C) 2013 Belledonne Communications,Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ +opus_dir?=externals/opus +enable_opus?=yes + +libopus_configure_options=--disable-extra-programs --disable-doc +#ifeq (,$(findstring armv7s,$(host))) +# libopus_configure_options+= --enable-fixed-point +#compilation error with armv7, switching to fpu impl +#endif + +$(BUILDER_SRC_DIR)/$(opus_dir)/configure: + @echo -e "\033[01;32m Running autogen for msopus in $(BUILDER_SRC_DIR)/$(opus_dir) \033[0m" + cd $(BUILDER_SRC_DIR)/$(opus_dir) && ./autogen.sh + +$(BUILDER_BUILD_DIR)/$(opus_dir)/Makefile: $(BUILDER_SRC_DIR)/$(opus_dir)/configure + @echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(opus_dir) \033[0m" + mkdir -p $(BUILDER_BUILD_DIR)/$(opus_dir) + cd $(BUILDER_BUILD_DIR)/$(opus_dir)/ \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + $(BUILDER_SRC_DIR)/$(opus_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \ + ${libopus_configure_options} + +ifeq ($(enable_opus),yes) + +build-opus: $(BUILDER_BUILD_DIR)/$(opus_dir)/Makefile + @echo -e "\033[01;32m building opus \033[0m" + cd $(BUILDER_BUILD_DIR)/$(opus_dir) \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig \ + CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + make -j1 && make install + + +else +build-opus: + @echo "opus is disabled" + +endif + +clean-opus: + -cd $(BUILDER_BUILD_DIR)/$(opus_dir) && make clean + +veryclean-opus: + -cd $(BUILDER_BUILD_DIR)/$(opus_dir) && make distclean + rm -f $(BUILDER_SRC_DIR)/$(opus_dir)/configure + +clean-makefile-opus: + -cd $(BUILDER_BUILD_DIR)/$(opus_dir) && rm -f Makefile diff --git a/submodules/externals/opus b/submodules/externals/opus new file mode 160000 index 000000000..fcecd29ab --- /dev/null +++ b/submodules/externals/opus @@ -0,0 +1 @@ +Subproject commit fcecd29abf32164326e568acdcdf7d8e877b33b1 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index dc4fcbf65..ddc235483 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -364,6 +364,8 @@ 22A10B5911F84E2D00373793 /* proto.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5311F84E2D00373793 /* proto.h */; }; 22A10B5A11F84E2D00373793 /* toast.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5411F84E2D00373793 /* toast.h */; }; 22A10B5B11F84E2D00373793 /* unproto.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5511F84E2D00373793 /* unproto.h */; }; + 22AF73BE1753E83700BE8398 /* msopus.c in Sources */ = {isa = PBXBuildFile; fileRef = 22AF73BD1753E83700BE8398 /* msopus.c */; }; + 22AF73C01753F3E100BE8398 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AF73BF1753F3E100BE8398 /* libopus.a */; }; 22D07CD016F3BC5F009F2C9E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 22D07CB416F3BC5F009F2C9E /* InfoPlist.strings */; }; 22D07CD116F3BC5F009F2C9E /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22D07CB616F3BC5F009F2C9E /* MainWindow.xib */; }; 22D07CD216F3BC5F009F2C9E /* mediastreamViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22D07CB816F3BC5F009F2C9E /* mediastreamViewController.xib */; }; @@ -666,6 +668,8 @@ 22A10B5311F84E2D00373793 /* proto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = proto.h; sourceTree = ""; }; 22A10B5411F84E2D00373793 /* toast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = toast.h; sourceTree = ""; }; 22A10B5511F84E2D00373793 /* unproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unproto.h; sourceTree = ""; }; + 22AF73BD1753E83700BE8398 /* msopus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msopus.c; sourceTree = ""; }; + 22AF73BF1753F3E100BE8398 /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; 22D07CB516F3BC5F009F2C9E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 22D07CB716F3BC5F009F2C9E /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = ""; }; 22D07CB916F3BC5F009F2C9E /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/mediastreamViewController.xib; sourceTree = ""; }; @@ -715,6 +719,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 22AF73C01753F3E100BE8398 /* libopus.a in Frameworks */, 225D65CD1521C19A008B2E81 /* libortp.a in Frameworks */, 225D65CC1521C195008B2E81 /* libmediastreamer.a in Frameworks */, 2211DB9F14765CED00DEE054 /* libmssilk.a in Frameworks */, @@ -767,6 +772,7 @@ 0867D691FE84028FC02AAC07 /* liblinphone */ = { isa = PBXGroup; children = ( + 22AF73BF1753F3E100BE8398 /* libopus.a */, 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */, 2211DB9E14765CEC00DEE054 /* libmssilk.a */, 7066FC0913E830B800EFC6DC /* libvpx.a */, @@ -1050,6 +1056,7 @@ 223CA7EF16D9268D00EF1BEC /* audiofilters */ = { isa = PBXGroup; children = ( + 22AF73BD1753E83700BE8398 /* msopus.c */, 0406A7651721FF79009FD24F /* aac-eld.c */, 22D07CE416F3BFCB009F2C9E /* speexec.c */, 223CA7F016D9268D00EF1BEC /* alaw.c */, @@ -1679,6 +1686,7 @@ 223CA8D416D9268D00EF1BEC /* scaler.c in Sources */, 223CA8D716D9268D00EF1BEC /* videostream.c in Sources */, 22D07CE516F3BFCB009F2C9E /* speexec.c in Sources */, + 22AF73BE1753E83700BE8398 /* msopus.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/linphone b/submodules/linphone index 7cb2aa263..5355e3775 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 7cb2aa2639fd6180e8996eee303cfbbcb3048941 +Subproject commit 5355e37750d8c32fbd978161966ba80390a8bec0