From b7dc49f290878558d041c1e3f71acbd4b4c03f70 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Thu, 20 Jun 2013 14:44:29 +0200 Subject: [PATCH] Compile libxml2. --- submodules/build/builder-iphone-os.mk | 8 +-- submodules/build/builders.d/libxml2.mk | 63 +++++++++++++++++++++++ submodules/build/builders.d/libxml2.patch | 13 +++++ 3 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 submodules/build/builders.d/libxml2.mk create mode 100644 submodules/build/builders.d/libxml2.patch 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..8b3e467ef --- /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-python=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 +