[ekiga] [windows] Use recent libav and x264 for build...
- From: Eugen Dedu <ededu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] [windows] Use recent libav and x264 for build...
- Date: Mon, 15 Aug 2011 09:02:39 +0000 (UTC)
commit 25807b1e3bed7673d62c3d4f7e732ba4f000a76d
Author: Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr>
Date: Mon Aug 15 10:47:19 2011 +0200
[windows] Use recent libav and x264 for build...
now that opal can use them. Also fix a forgotten variable in cut
command, and other fixes.
win32/Makefile | 89 ++++++++++++++++++++++++++++---------------------------
1 files changed, 45 insertions(+), 44 deletions(-)
---
diff --git a/win32/Makefile b/win32/Makefile
index 4c39869..f82ef9b 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -153,7 +153,7 @@ REGEX_REV := 203e34
REGEX_DIR := $(BUILDROOT)/regex
REGEX_ARCHIVE := regex
-BOOST_VER := 1.46.1
+BOOST_VER := 1.47.0
BOOST_URL := http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VER)
BOOST_ARCHIVE := boost_$(shell echo $(BOOST_VER)|tr . _).tar.gz
BOOST_DIR := $(BUILDROOT)/boost_$(shell echo $(BOOST_VER)|tr . _)
@@ -167,13 +167,16 @@ ICONV_VER := 1.9.2-1
ICONV_URL := http://downloads.sourceforge.net/project/gnuwin32/libiconv/$(ICONV_VER)
ICONV_ARCHIVE := libiconv-$(ICONV_VER)-bin.zip
-# use a revision from 2009-04-13, known to work with current ekiga
-FFMPEG_VER := c573eb85f
-FFMPEG_URL := git://git.videolan.org/ffmpeg.git
-FFMPEG_DIR := $(BUILDROOT)/ffmpeg
-FFMPEG_ARCHIVE := ffmpeg
+# they provide also Windows libs+include, is it better to use them?
+# this is the one used in debian unstable as of 2011-08-07 and is known to work
+LIBAV_VER := 0.6.2
+LIBAV_URL := http://www.libav.org/releases
+LIBAV_DIR := $(BUILDROOT)/libav-$(LIBAV_VER)
+LIBAV_ARCHIVE := libav-$(LIBAV_VER).tar.gz
-X264_VER := d2e1e1c35c43ea9c90c9211be
+# this is the one used in debian unstable as of 2011-08-07 and is known to work
+#old: d2e1e1c35c43ea9c90c9211be
+X264_VER := f8ebd4a
X264_URL := git://git.videolan.org/x264.git
X264_DIR := $(BUILDROOT)/x264
X264_ARCHIVE := x264
@@ -261,7 +264,7 @@ confptlib := $(confflags) \
--disable-v4l --disable-v4l2 --disable-bsdvideo --disable-avc --disable-dc
# disable ilbc and silk non-free codecs
-confopal := $(confflags) --with-ffmpeg-dir=$(FFMPEG_DIR) --disable-t38 --disable-fax --disable-iLBC --disable-silk
+confopal := $(confflags) --with-ffmpeg-dir=$(LIBAV_DIR) --disable-t38 --disable-fax --disable-iLBC --disable-silk
confekiga:= $(confflags) \
--with-directx-dir=$(EKIGA_DIR)/win32/directx --prefix=$(EKIGA_PREFIX) \
@@ -273,25 +276,24 @@ confekiga:= $(confflags) \
#TODO http://ac3filter.net/wiki/How_to_build_ffmpeg tells that
# --extra-cflags='-Dstrtod=__strtod'
#should also be used, check if it is needed
-confffmpeg := --cross-prefix=$(HOST_TOOL_PREFIX)- --enable-shared --enable-memalign-hack \
- --enable-cross-compile --enable-w32threads --arch=`echo $|cut -d -f1` --target-os=mingw32 \
+conflibav := --cross-prefix=$(HOST_TOOL_PREFIX)- --enable-shared --enable-memalign-hack \
+ --enable-cross-compile --enable-w32threads --arch=`echo $(HOST_TOOL_PREFIX)|cut -d- -f1` --target-os=mingw32 \
--disable-ffserver --disable-ffmpeg --disable-ffplay \
--disable-parsers --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=h263 \
- --disable-decoders --enable-decoder=h264 --enable-decoder=mpeg4 --enable-decoder=h263 \
+ --disable-decoders --enable-decoder=h264 --enable-decoder=mpeg4 --enable-decoder=h263 \
--disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4 --enable-muxer=h263 \
--disable-encoders --enable-encoder=mpeg4 --enable-encoder=h263 \
- --disable-protocols --disable-bsfs --disable-ffplay --prefix=$(BUILDROOT) \
- --libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
-# --disable-network
+ --disable-protocols --disable-bsfs --prefix=$(BUILDROOT) \
+ --libdir=$(LIBDIR) --extra-ldflags=-Wl,-static --disable-network
-confx264 := $(confflags) --disable-avs-input
+confx264 := $(confflags) --enable-shared --disable-cli --enable-win32thread --disable-avs
confcelt := $(confflags) --disable-oggtest
conftheora := $(confflags) --disable-vorbistest --disable-sdltest --disable-examples --disable-spec
# only signals is needed
-confboost := --user-config=user-config.jam --layout=system variant=release threading=multi link=shared runtime-link=shared target-os=windows threadapi=win32 --without-math --without-python --without-mpi --without-serialization --without-test --without-thread --without-wave --without-date_time --without-system --without-filesystem --without-graph --without-graph_parallel --without-iostreams --without-program_options --without-regex --without-random -q stage
+confboost := --user-config=user-config.jam --layout=system variant=release threading=multi link=shared runtime-link=shared target-os=windows threadapi=win32 --without-chrono --without-exception --without-math --without-python --without-mpi --without-serialization --without-test --without-thread --without-wave --without-date_time --without-system --without-filesystem --without-graph --without-graph_parallel --without-iostreams --without-program_options --without-regex --without-random -q stage
all: binaries $(TARGETDIR)/$(EKIGA_INSTALLER)
@echo "Built on $(shell date)"
@@ -307,8 +309,8 @@ binaries:
hash tar unzip zip wget aclocal autoheader libtoolize automake autoconf pkg-config gnome-autogen.sh bison gdk-pixbuf-csource || (echo we need more binaries ; exit 1)
[ -f /usr/share/gnome-doc-utils/gnome-doc-utils.make ] || (echo gnome-doc-tools not installed; exit 1)
[ -f /usr/lib/pkgconfig/gconf-2.0.pc ] || (echo libgconf2-dev not installed; exit 1)
- [ -f /usr/lib/pkgconfig/avahi-glib.pc ] || (echo libavahi-glib-dev not installed; exit 1)
- [ -f /usr/lib/pkgconfig/avahi-client.pc ] || (echo libavahi-client-dev not installed; exit 1)
+ [ -f /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/pkgconfig/avahi-glib.pc -o /usr/lib/pkgconfig/avahi-glib.pc ] || (echo libavahi-glib-dev not installed; exit 1)
+ [ -f /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/pkgconfig/avahi-client.pc -o /usr/lib/pkgconfig/avahi-client.pc ] || (echo libavahi-client-dev not installed; exit 1)
hash makensis || (echo nsis not installed; exit 1)
hash xmlto || (echo xmlto not installed; exit 1)
hash yasm || (echo yasm not installed, mandatory for x264; exit 1)
@@ -379,7 +381,7 @@ $(INCLUDEDIR)/expat.h:
install -m 644 $(EXPAT_DIR)/lib/expat.h $(INCLUDEDIR)/
touch $@
-$(LIBDIR)/libexpat.a: $(EXPAT_DIR)/config.status $(INCLUDEDIR)/expat.h
+$(LIBDIR)/libexpat.a: $(EXPAT_DIR)/config.status $(INCLUDEDIR)/expat.h
$(MAKE) $(MAKEOPTS) -C $(EXPAT_DIR)
$(MAKE) $(MAKEOPTS) -C $(EXPAT_DIR) install
touch $@
@@ -485,34 +487,36 @@ $(LIBDIR)/libspeex.a: binaries $(SPEEX_DIR)/config.status
$(MAKE) $(MAKE_LIB_OPTS) -C $(SPEEX_DIR)
$(MAKE) -C $(SPEEX_DIR) install
-### ffmpeg
+### libav
update-sources::
- @echo --- Getting FFMPEG ...
-ifeq ($(wildcard $(SRCDIR)/$(FFMPEG_ARCHIVE)),)
- $(GIT) clone $(FFMPEG_URL) $(SRCDIR)/$(FFMPEG_ARCHIVE)
-endif
- cd $(SRCDIR)/$(FFMPEG_ARCHIVE); git reset --hard $(FFMPEG_VER)
- #touch $(SRCDIR)/$(FFMPEG_ARCHIVE)
+ @echo --- Getting libav ...
+ $(WGET) -P $(SRCDIR) $(LIBAV_URL)/$(LIBAV_ARCHIVE)
+ #touch $(SRCDIR)/$(LIBAV_ARCHIVE)
-$(FFMPEG_DIR)/config.status: $(SRCDIR)/$(FFMPEG_ARCHIVE)
- rm -rf $(FFMPEG_DIR)
- $(CP) -r $(SRCDIR)/$(FFMPEG_ARCHIVE) $(FFMPEG_DIR)
+$(LIBAV_DIR)/config.status: $(SRCDIR)/$(LIBAV_ARCHIVE)
+ rm -rf $(LIBAV_DIR)
+ tar xfz $(SRCDIR)/$(LIBAV_ARCHIVE) -C $(BUILDROOT)
ifeq ($(MINGW32), 0)
#avoid unnecessary configuration error
# see also http://ac3filter.net/wiki/How_to_build_ffmpeg
- sed -i -e 's#die "ERROR: MinGW runtime version must be >= 3.15."#echo die#g' $(FFMPEG_DIR)/configure
- sed -i -e 's#die "ERROR: avisynth and vfwcap_demuxer require w32api version 3.13 or later."#echo die#g' $(FFMPEG_DIR)/configure
+ifeq ($(BIT32), 1)
+ sed -i -e 's#die "ERROR: MinGW runtime version must be >= 3.15."#echo die#g' $(LIBAV_DIR)/configure
+ sed -i -e 's#die "ERROR: avisynth and vfwcap_demuxer require w32api version 3.13 or later."#echo die#g' $(LIBAV_DIR)/configure
+endif
+else
+ # workaround a bug in gcc 4.2.x (http://code.google.com/p/chromium/issues/detail?id=37905)
+ sed -i -e 's#check_cflags -Werror=missing-prototypes##g' $(LIBAV_DIR)/configure
endif
- cd $(FFMPEG_DIR); ./configure $(confffmpeg)
+ cd $(LIBAV_DIR); ./configure $(conflibav)
touch $@
-$(BINDIR)/avcodec.dll: $(FFMPEG_DIR)/config.status
- $(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavutil
- $(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavcodec
- $(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavformat
- $(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavdevice
- $(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)
- $(MAKE) -C $(FFMPEG_DIR) install
+$(BINDIR)/avcodec.dll: $(LIBAV_DIR)/config.status
+ $(MAKE) V=1 $(MAKE_LIB_OPTS) -C $(LIBAV_DIR)/libavutil
+ $(MAKE) V=1 $(MAKE_LIB_OPTS) -C $(LIBAV_DIR)/libavcodec
+ $(MAKE) V=1 $(MAKE_LIB_OPTS) -C $(LIBAV_DIR)/libavformat
+ $(MAKE) V=1 $(MAKE_LIB_OPTS) -C $(LIBAV_DIR)/libavdevice
+ $(MAKE) V=1 $(MAKE_LIB_OPTS) -C $(LIBAV_DIR)
+ $(MAKE) -C $(LIBAV_DIR) install
touch $@
### x264
@@ -527,7 +531,6 @@ endif
$(X264_DIR)/config.status: $(SRCDIR)/$(X264_ARCHIVE)
rm -rf $(X264_DIR)
$(CP) -r $(SRCDIR)/$(X264_ARCHIVE) $(X264_DIR)
- #cd $(X264_DIR); CC=$(REALCC) ./configure $(confx264);
cd $(X264_DIR); ./configure $(confx264); \
sed -i -e 's#ranlib#$(RANLIB)#g' $(X264_DIR)/Makefile; \
sed -i -e 's#strip#$(STRIP)#g' $(X264_DIR)/Makefile; \
@@ -560,7 +563,6 @@ update-sources::
$(THEORA_DIR)/config.status: $(SRCDIR)/$(THEORA_ARCHIVE) $(LIBDIR)/libogg.a
rm -rf $(THEORA_DIR)
tar xfz $(SRCDIR)/$(THEORA_ARCHIVE) -C $(BUILDROOT)
- #cd $(THEORA_DIR); CC=$(REALCC) LD=$(LD) AR=$(AR) RANLIB=$(RANLIB) ./autogen.sh $(conftheora)
cd $(THEORA_DIR); ./autogen.sh $(conftheora)
$(LIBDIR)/libtheora.a: $(THEORA_DIR)/config.status
@@ -601,7 +603,6 @@ $(LIBDIR)/$(OPAL_LIB): binaries $(OPAL_DIR)/config.status
rm -f $(LIBDIR)/$(OPAL_LIB)
$(MAKE) $(MAKEOPTS) VERBOSE=1 -C $(OPAL_DIR)
$(MAKE) -C $(OPAL_DIR) install
-# sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/opal*.pc
### libgtk
update-sources::
@@ -619,7 +620,7 @@ update-sources::
$(WGET) -P $(SRCDIR) $(GTK_INSTALLER_URL)/$(GTK_BIN_EXE)
$(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe: $(SRCDIR)/$(GTK_BIN_EXE)
- $(CP) $(SRCDIR)/$(GTK_BIN_EXE) $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe
+ $(CP) $(SRCDIR)/$(GTK_BIN_EXE) $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe
touch $@
### libglib
@@ -884,7 +885,7 @@ distclean:
$(RM) -rf $(BOOST_DIR)
$(RM) -rf $(SPEEX_DIR)
$(RM) -rf $(EXPAT_DIR)
- $(RM) -rf $(FFMPEG_DIR)
+ $(RM) -rf $(LIBAV_DIR)
$(RM) -rf $(X264_DIR)
$(RM) -rf $(THEORA_DIR)
$(RM) -rf $(CELT_DIR)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]