diff --git a/.gitmodules b/.gitmodules index 8fda1e943..be0985f80 100644 --- a/.gitmodules +++ b/.gitmodules @@ -61,3 +61,6 @@ [submodule "submodules/externals/opus"] path = submodules/externals/opus url = git://git.opus-codec.org/opus.git +[submodule "submodules/externals/libxml2"] + path = submodules/externals/libxml2 + url = git://git.gnome.org/libxml2 diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index fb86b1276..a7f6e6c16 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 15017E701773578400784ACB /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15017E6F1773578400784ACB /* libxml2.a */; }; + 15017E71177357C500784ACB /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15017E6F1773578400784ACB /* libxml2.a */; }; 1599105316F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; }; 1599105416F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; }; 1599105516F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */; }; @@ -1408,6 +1410,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 15017E6F1773578400784ACB /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = "liblinphone-sdk/apple-darwin/lib/libxml2.a"; sourceTree = ""; }; 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_default_landscape.png; path = Resources/route_bluetooth_off_default_landscape.png; sourceTree = ""; }; 1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_disabled_landscape.png; path = Resources/route_bluetooth_off_disabled_landscape.png; sourceTree = ""; }; 1599104516F746B2007BF52B /* route_bluetooth_off_over_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_over_landscape.png; path = Resources/route_bluetooth_off_over_landscape.png; sourceTree = ""; }; @@ -2419,6 +2422,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 15017E701773578400784ACB /* libxml2.a in Frameworks */, 22AF73C21754C0D100BE8398 /* libopus.a in Frameworks */, 57B0E360173C010400A476B8 /* libpolarssl.a in Frameworks */, 223CA7E616D9255800EF1BEC /* libantlr3c.a in Frameworks */, @@ -2478,6 +2482,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 15017E71177357C500784ACB /* libxml2.a in Frameworks */, 2200C2DC174BBB24002E9A70 /* MobileCoreServices.framework in Frameworks */, 2200C2DB174BB87A002E9A70 /* AssetsLibrary.framework in Frameworks */, D30562131671DC3E00C97967 /* libNinePatch.a in Frameworks */, @@ -2978,6 +2983,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 15017E6F1773578400784ACB /* libxml2.a */, 57B0E35F173C010400A476B8 /* libpolarssl.a */, 223CA7E416D9255800EF1BEC /* libantlr3c.a */, 223CA7E516D9255800EF1BEC /* libbellesip.a */, diff --git a/submodules/belle-sip b/submodules/belle-sip index 8b7546d3b..3d18c79dd 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 8b7546d3bebce04c9c67457bfe44805e0b87caee +Subproject commit 3d18c79dd5c33b748b1952d3743615450e82ae6b diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 5798a0bb9..d96a92106 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -113,18 +113,18 @@ veryclean: veryclean-linphone veryclean-msbcg729 rm -rf $(BUILDER_BUILD_DIR) -.NOTPARALLEL build-linphone: init build-polarssl build-libantlr build-belle-sip build-srtp build-zrtpcpp build-speex build-libgsm build-ffmpeg build-libvpx build-opus detect_gpl_mode_switch $(LINPHONE_BUILD_DIR)/Makefile +.NOTPARALLEL build-linphone: init build-polarssl build-libantlr build-belle-sip build-srtp build-zrtpcpp build-speex build-libgsm build-ffmpeg build-libvpx build-opus build-libxml2 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-libantlr clean-polarssl clean-belle-sip clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 clean-opus +clean-linphone: clean-libantlr clean-polarssl clean-belle-sip clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 clean-opus clean-libxml2 cd $(LINPHONE_BUILD_DIR) && make clean -veryclean-linphone: veryclean-libantlr veryclean-polarssl veryclean-belle-sip veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 veryclean-libvpx veryclean-opus +veryclean-linphone: veryclean-libantlr veryclean-polarssl veryclean-belle-sip veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 veryclean-libvpx veryclean-opus veryclean-libxml2 #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure -clean-makefile-linphone: clean-makefile-libantlr clean-makefile-polarssl clean-makefile-belle-sip 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 +clean-makefile-linphone: clean-makefile-libantlr clean-makefile-polarssl clean-makefile-belle-sip 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 clean-makefile-libxml2 cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile diff --git a/submodules/build/builders.d/libxml2.mk b/submodules/build/builders.d/libxml2.mk new file mode 100644 index 000000000..da3e18cd3 --- /dev/null +++ b/submodules/build/builders.d/libxml2.mk @@ -0,0 +1,63 @@ +############################################################################ +# libxml2.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. +# +############################################################################ +libxml2_dir?=externals/libxml2 + +libxml2_configure_options= \ + --enable-static --disable-shared \ + --disable-rebuild-docs --with-iconv=no --with-python=no --with-zlib=no + +$(BUILDER_SRC_DIR)/$(libxml2_dir)/patched.stamp: + cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/libxml2.patch \ + && touch $@ + +$(BUILDER_SRC_DIR)/$(libxml2_dir)/configure: $(BUILDER_SRC_DIR)/$(libxml2_dir)/patched.stamp + @echo -e "\033[01;32m Running autogen for libxml2 in $(BUILDER_SRC_DIR)/$(libxml2_dir) \033[0m" + cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) NOCONFIGURE=1 \ + $(BUILDER_SRC_DIR)/$(libxml2_dir)/autogen.sh -prefix=$(prefix) --host=$(host) ${library_mode} + +$(BUILDER_BUILD_DIR)/$(libxml2_dir)/Makefile: $(BUILDER_SRC_DIR)/$(libxml2_dir)/configure + @echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(libxml2_dir) \033[0m" + mkdir -p $(BUILDER_BUILD_DIR)/$(libxml2_dir) + cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + $(BUILDER_SRC_DIR)/$(libxml2_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} $(libxml2_configure_options) + +build-libxml2: $(BUILDER_BUILD_DIR)/$(libxml2_dir)/Makefile + @echo -e "\033[01;32m building libxml2 \033[0m" + cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + make && make install + +clean-libxml2: + -cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && make clean + +veryclean-libxml2: + -cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && make distclean + rm -f $(BUILDER_SRC_DIR)/$(libxml2_dir)/configure + cd $(BUILDER_SRC_DIR)/$(libxml2_dir) \ + && git checkout configure.in \ + && rm -f patched.stamp + +clean-makefile-libxml2: + -cd $(BUILDER_BUILD_DIR)/$(libxml2_dir) && rm -f Makefile diff --git a/submodules/build/builders.d/libxml2.patch b/submodules/build/builders.d/libxml2.patch new file mode 100644 index 000000000..eb2ac3cd9 --- /dev/null +++ b/submodules/build/builders.d/libxml2.patch @@ -0,0 +1,13 @@ +diff --git a/configure.in b/configure.in +index 0fb4983..a5f86ca 100644 +--- a/configure.in ++++ b/configure.in +@@ -1,7 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.59) + AC_INIT(entities.c) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + AC_CONFIG_MACRO_DIR([m4]) + AC_CANONICAL_HOST + diff --git a/submodules/externals/libxml2 b/submodules/externals/libxml2 new file mode 160000 index 000000000..c943f708f --- /dev/null +++ b/submodules/externals/libxml2 @@ -0,0 +1 @@ +Subproject commit c943f708f1853de4eb15e5a94cf0b35d108da87a diff --git a/submodules/linphone b/submodules/linphone index f55699af8..fae029b18 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f55699af8e9a6a0c595fbbc1adac612f96b48fc9 +Subproject commit fae029b1874cd341f0a5e5c7886a9dc9db5bbbe9