X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=527c88bb5d2e70f023a021c92a6295e6bf160cf1;hb=c0b34512b2ea261782ec0f62b7fb9dacf51aee22;hp=46628a7f8c593b01866106226a0dbe7558bf6ff9;hpb=2b465b9afc8413f00f9c655c50f6e4f282343f58;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index 46628a7f8c..8744d83c33 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -1,13 +1,13 @@ #*************************************************************************** # src/Makefile : Dearchive and compile all files necessary # *************************************************************************** -# Copyright (C) 2003 - 2007 the VideoLAN team +# Copyright (C) 2003 - 2009 the VideoLAN team # $Id$ # # Authors: Christophe Massiot # Derk-Jan Hartman # Eric Petit -# Felix Kühne +# Felix Paul Kühne # Christophe Mutricy # Gildas Bazin # Damien Fouilleul @@ -38,16 +38,17 @@ include ./packages.mak export PATH := $(PREFIX)/bin:$(EXTRA_PATH):$(PATH) export PKG_CONFIG_PATH export PKG_CONFIG_LIBDIR = $(PREFIX)/lib/pkgconfig -export DYLD_LIBRARY_PATH = $(PREFIX)/lib -# following is required for configure scripts that check dyld libraries -# by building and running a test app -export DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(PREFIX)/vlc-lib export MACOSX_DEPLOYMENT_TARGET = $(SDK_TARGET) export LIBRARY_PATH := $(PREFIX)/lib:$(LIBRARY_PATH) export CFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) export CPPFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) export CXXFLAGS = -I$(PREFIX)/include $(EXTRA_CFLAGS) $(EXTRA_CPPFLAGS) export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS) +ifdef HAVE_DARWIN_OS +export CC +export CXX +export LD +endif # *************************************************************************** # Cross compilation variables @@ -58,6 +59,7 @@ export LDFLAGS = -L$(PREFIX)/lib $(EXTRA_LDFLAGS) ifneq ($(CC),) HOSTCC+= CC="$(CC)" +FFMPEGCONF += --cc=$(CC) endif ifneq ($(CXX),) HOSTCC+= CXX="$(CXX)" @@ -88,14 +90,9 @@ else HOSTCC2=$(HOSTCC) endif -# For ffmpeg if not cross compiling -ifneq ($(CC),) - FFMPEGCONF=--cc="$(CC)" -endif +FFMPEGCONF= -# # cross compiling -# #This should be inside the if block but some config scripts are buggy HOSTCONF=--target=$(HOST) --host=$(HOST) --build=$(BUILD) --program-prefix="" ifneq ($(BUILD),$(HOST)) @@ -105,7 +102,7 @@ ifneq ($(BUILD),$(HOST)) # ifndef HAVE_CYGWIN # We are REALLY cross compiling - FFMPEGCONF=--cross-prefix=$(HOST)- --cross-compile + FFMPEGCONF+=--cross-prefix=$(HOST)- --enable-cross-compile X264CONF=--host=$(HOST) PTHREADSCONF="CROSS=$(HOST)-" else @@ -118,8 +115,8 @@ endif # Special target-dependant options # ifdef HAVE_WIN32 -HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-dependency-tracking -FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --disable-debug +HOSTCONF+= --without-pic --disable-shared --enable-msw --disable-dependency-tracking +FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686 --disable-debug endif ifdef HAVE_WINCE @@ -129,14 +126,14 @@ endif ifdef HAVE_UCLIBC ifdef HAVE_BIGENDIAN -FFMPEGCONF+= --arch=armeb +FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-iwmmxt else FFMPEGCONF+= --arch=armv4l endif -FFMPEGCONF+= --enable-small --disable-debug --disable-encoders --disable-muxers --disable-demuxer=mpegts --disable-v4l --disable-v4l2 --disable-bktr --disable-dv1394 --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols --disable-encoders +FFMPEGCONF+= --enable-small --disable-debug --disable-mpegaudio-hp FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99 else -FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52 +FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-libgsm endif ifdef HAVE_BEOS @@ -144,23 +141,29 @@ FFMPEGCONF+= --cpu=x86 --disable-debug --disable-audio-beos endif ifdef HAVE_DARWIN_OS_ON_INTEL -FFMPEGCONF += --enable-memalign-hack --cpu=pentium-m +FFMPEGCONF += --enable-memalign-hack endif ifdef HAVE_DARWIN_OS X264CONF += --enable-pic +FFMPEGCONF += --cc=$(CC) +FFMPEGCONF += --arch=$(ARCH) ifdef HAVE_DARWIN_OS_ON_INTEL FFMPEG_CFLAGS += -DHAVE_LRINTF endif endif +ifdef HAVE_AMR +FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree +endif + DATE=`date +%Y-%m-%d` # *************************************************************************** # Standard rules # *************************************************************************** # Generated by ./bootstrap from default configuration in src/Distributions -# +# include ../distro.mak FORCE: @@ -171,14 +174,14 @@ FORCE: define EXTRACT_GZ rm -rf $@ || true - gunzip -c $< | tar xf - --exclude='[*?:<>\|]' + gunzip -c $< | tar xf - --exclude='[*?:<>\|]' mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true touch $@ endef define EXTRACT_BZ2 rm -rf $@ || true - bunzip2 -c $< | tar xf - --exclude='[*?:<>\|]' + bunzip2 -c $< | tar xf - --exclude='[*?:<>\|]' mv $(patsubst %.tar.bz2,%,$(notdir $<)) $@ || true touch $@ endef @@ -202,38 +205,6 @@ endef # $(INSTALL_NAME) # touch $@ -ifdef HAVE_DARWIN_OS -# the original libtoto.dylib is copied from contrib/lib to vlc-lib as -# vlc_libtoto.dylib. a soft link to this library is created in contrib/lib -# using the orginal dylib name. if libtoto.la also exists, the library named -# in dlname is also changed to a soft-link to vlc-lib in order to support -# libtool. to satisfy VLC.app dyld search, vlc_libtoto.dylib dyld id is changed -# to @executable_path/lib/vlc_libtoto.dylib - -define INSTALL_NAME - if which install_name_tool >/dev/null; then \ - mkdir -p $(PREFIX)/vlc-lib ; \ - libname='lib$(patsubst .%,%,$@)' ; \ - dlname="$$libname.dylib" ; \ - cp $(PREFIX)/lib/$$dlname \ - $(PREFIX)/vlc-lib/vlc_$$dlname ; \ - rm $(PREFIX)/lib/$$dlname ; \ - ln -s $(PREFIX)/vlc-lib/vlc_$$dlname \ - $(PREFIX)/lib/$$dlname ; \ - if [ -f $(PREFIX)/lib/$$libname.la ]; then \ - eval ltname=`sed -n 's/dlname=//p' $(PREFIX)/lib/$$libname.la`; \ - rm $(PREFIX)/lib/$$ltname ; \ - ln -s $(PREFIX)/vlc-lib/vlc_$$dlname \ - $(PREFIX)/lib/$$ltname ; \ - fi ; \ - install_name_tool \ - -id @executable_path/lib/vlc_$$dlname \ - $(PREFIX)/vlc-lib/vlc_$$dlname ; \ - fi -endef - -endif - ifeq ($(HOST),i586-pc-beos) # We test if the file actually exists, as sometimes (but not always) # libtool won't accept to build the shared library @@ -285,6 +256,47 @@ CLEAN_FILE += .autoconf CLEAN_PKG += autoconf DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2 +# *************************************************************************** +# gnumake +# *************************************************************************** + +make-$(GNUMAKE_VERSION).tar.bz2: + $(WGET) $(GNUMAKE_URL) + +gnumake: make-$(GNUMAKE_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +.gnumake: gnumake +ifdef HAVE_DARWIN_OS +ifndef HAVE_DARWIN_9 + (cd $<; ./configure --prefix=$(PREFIX) && make && make install) +endif +endif + touch $@ + +CLEAN_FILE += .gnumake +CLEAN_PKG += gnumake +DISTCLEAN_PKG += make-$(GNUMAKE_VERSION).tar.bz2 + +# *************************************************************************** +# CMake +# *************************************************************************** +cmake-$(CMAKE_VERSION).tar.gz: + $(WGET) $(CMAKE_URL) + +cmake: cmake-$(CMAKE_VERSION).tar.gz + $(EXTRACT_GZ) + +#cmake: +# cvs -d :pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake co -d cmake CMake + +.cmake: cmake + (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + touch $@ + +CLEAN_FILE += .cmake +CLEAN_PKG += cmake + # *************************************************************************** # libtool # *************************************************************************** @@ -354,9 +366,10 @@ pkgconfig: pkg-config-$(PKGCFG_VERSION).tar.gz $(EXTRACT_GZ) patch -d pkgconfig/glib-1.2.8 -p 1 < Patches/glib.patch patch -d pkgconfig -p0 < Patches/pkgcfg.patch + (cd $@; autoconf) .pkgcfg: pkgconfig - (cd pkgconfig; autoconf && ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) + (cd pkgconfig; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) touch $@ CLEAN_FILE += .pkgcfg @@ -372,12 +385,12 @@ gettext-$(GETTEXT_VERSION).tar.gz: gettext: gettext-$(GETTEXT_VERSION).tar.gz $(EXTRACT_GZ) -ifdef HAVE_DARWIN_OS - patch -p0 < Patches/gettext-macosx.patch -endif ifdef HAVE_WIN32 patch -p0 < Patches/gettext-win32.patch endif +ifdef HAVE_DARWIN_OS + patch -p0 < Patches/gettext-macosx.patch +endif .intl: gettext .iconv ifdef HAVE_WIN32 @@ -391,8 +404,13 @@ ifeq ($(BUILD),i586-pc-beos) ( cd $< && for f in `find . -name libtool`; do sed -e 's/ -shared / -nostart /' -e 's/^predep_objects.*/predep_objects=""/' -i $$f; chmod +x $$f; done ) endif ifneq ($(HOST),$(BUILD)) -# We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap + ifndef HAVE_CYGWIN + # We'll use the installed gettext and only need to cross-compile libintl, also build autopoint and gettextsize tools need for VLC bootstrap ( cd $< && make -C gettext-runtime/intl && patch -p1 < ../Patches/libintl.patch && make -C gettext-runtime/intl install && make -C gettext-tools/misc install ) + else + # We are compiling for MinGW on Cygwin -- build the full current gettext + ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install ) + endif else # Build and install the whole gettext ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install ) @@ -443,22 +461,24 @@ DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz fontconfig-$(FONTCONFIG_VERSION).tar.gz: $(WGET) $(FONTCONFIG_URL) -fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Makefile Patches/fontconfig.patch +fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch $(EXTRACT_GZ) patch -p0 < Patches/fontconfig.patch + patch -p0 < Patches/fontconfig-nodocs.patch + (cd $@; autoreconf) -.fontconfig: fontconfig +.fontconfig: fontconfig .xml .freetype ifdef HAVE_WIN32 ifdef HAVE_CYGWIN - (cd $<; LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure --target=$(HOST) --disable-pic --disable-shared --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install) + (cd $<; LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\\windows\fonts --with-add-fonts=C:\\winnt\fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install) else - (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install) + (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --with-cache-dir=WINDOWSTEMPDIR --with-arch=i686 --with-default-fonts=C:\\windows\fonts --with-add-fonts=C:\\winnt\fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install) endif else ifdef HAVE_DARWIN_OS - (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/var/cache/fontconfig --with-confdir=/etc/fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install-exec && (cd fontconfig ; make install-data)) + (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`xml2-config --cflags` LIBXML2_LIBS=`xml2-config --libs` ./configure $(HOSTCONF) --with-cache-dir=/usr/X11/var/cache/fontconfig --with-confdir=/usr/X11/lib/X11/fonts --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts,~/Library/Fonts --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --with-arch=$(ARCH) --enable-libxml2 --disable-docs && make && make install-exec && (cd fontconfig ; make install-data) && cp fontconfig.pc $(PKG_CONFIG_LIBDIR)) else - (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install) + (cd $<; $(HOSTCC) LIBXML2_CFLAGS=`$(PREFIX)/bin/xml2-config --cflags` ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 --disable-docs && make && make install) endif endif $(INSTALL_NAME) @@ -495,27 +515,22 @@ DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz # fribidi # *************************************************************************** -fribidi-$(FRIBIDI_VERSION).tar.bz2: +fribidi-$(FRIBIDI_VERSION).tar.gz: $(WGET) $(FRIBIDI_URL) -fribidi: fribidi-$(FRIBIDI_VERSION).tar.bz2 - $(EXTRACT_BZ2) - patch -p0 < Patches/fribidi.patch.real -ifdef HAVE_WIN32 - patch -p0 " > ogg.h && rm -f os_types.h && echo "#include " > os_types.h && ./autogen.sh) else @@ -755,14 +786,26 @@ libtheora-$(THEORA_VERSION).tar.bz2: libtheora: libtheora-$(THEORA_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/theora.patch + patch -p0 < Patches/libtheora-includes.patch +ifdef HAVE_WIN32 + patch -p0 < Patches/theora-doc.patch +endif (cd $@; autoconf) +THEORACONF = --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples +ifdef HAVE_WIN32 +THEORACONF += --disable-docs +endif + +ifdef HAVE_DARWIN_10 +THEORACONF += --disable-asm +endif + .theora: libtheora .ogg ifdef HAVE_BEOS - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) --disable-asm && make && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples && make && make install) - + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF)&& make && make install) endif $(INSTALL_NAME) touch $@ @@ -784,7 +827,7 @@ ifdef HAVE_WIN32 patch -p0 < Patches/libshout-win32.patch (cd $@; autoreconf && automake) endif - + .shout: libshout .theora .ogg .speex .vorbis (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install ) $(INSTALL_NAME) @@ -803,14 +846,13 @@ flac-$(FLAC_VERSION).tar.gz: flac: flac-$(FLAC_VERSION).tar.gz $(EXTRACT_GZ) -ifneq ($(HOST),$(BUILD)) - (patch -p0 < Patches/flac-cross.patch) +ifdef HAVE_WIN32 + patch -p0 < Patches/flac-win32.patch endif - cd $@ && autoconf FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs -.flac: flac .ogg +.flac: flac .ogg ifdef HAVE_WIN32 (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install) else @@ -858,28 +900,20 @@ DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz # faad2 # *************************************************************************** -#faad2: -# @echo "*** Please type return here : ***" -# cvs -d $(FAAD2_CVSROOT) login -# cvs -d $(FAAD2_CVSROOT) co faad2 -# (cd $@; patch -p1 < ../Patches/faad2.patch) -# (cd $@; sh ./bootstrap) - -faad2-$(FAAD2_VERSION).tar.bz2: +faad2-$(FAAD2_VERSION).tar.gz: $(WGET) $(FAAD2_URL) -faad: faad2-$(FAAD2_VERSION).tar.bz2 - $(EXTRACT_BZ2) - (cd $@; patch -p1 < ../Patches/faad2.patch && ./bootstrap) +faad2: faad2-$(FAAD2_VERSION).tar.gz + $(EXTRACT_GZ) + (cd $@; sh ./bootstrap) -.faad: faad - (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install) - $(INSTALL_NAME) +.faad: faad2 + (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --disable-shared --prefix=$(PREFIX) CFLAGS="-O3" && sed -i.orig "s/shrext_cmds/shrext/g" libtool && make -C libfaad && make -C libfaad install) touch $@ CLEAN_FILE += .faad -CLEAN_PKG += faad -DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.bz2 +CLEAN_PKG += faad2 +DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz # *************************************************************************** # faac @@ -890,8 +924,6 @@ faac-$(FAAC_VERSION).tar.gz: faac: faac-$(FAAC_VERSION).tar.gz $(EXTRACT_GZ) - patch -p0 < Patches/faac.patch - cd $@; perl -pi -e 's/\r$$//' bootstrap configure.in Makefile.am; cd .. .faac: faac (cd $<; ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --without-mp4v2 --prefix=$(PREFIX) --disable-shared && make && make install) @@ -910,7 +942,6 @@ lame-$(LAME_VERSION).tar.gz: lame: lame-$(LAME_VERSION).tar.gz $(EXTRACT_GZ) - rm -rf lame; mv lame-3.97 lame; touch lame .lame: lame (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install) @@ -927,13 +958,14 @@ DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz libebml-$(LIBEBML_VERSION).tar.bz2: $(WGET) $(LIBEBML_URL) -ifdef SVN -libebml: - $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libebml libebml -else +## No reasons to use SVN anymore +#ifdef SVN +#libebml: +# $(SVN) co http://svn.matroska.org/svn/matroska/trunk/libebml libebml +#else libebml: libebml-$(LIBEBML_VERSION).tar.bz2 $(EXTRACT_BZ2) -endif +#endif ifdef HAVE_WIN32 (cd $@; patch -p0 < ../Patches/libebml-svn-win32.patch) endif @@ -944,14 +976,14 @@ ifdef HAVE_WIN32 else (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) $(RANLIB) $(PREFIX)/lib/libebml.a -endif - touch $@ - -ifdef SVN -libebml-source: libebml - tar cfvz libebml-$(DATE).tar.gz libebml -SOURCE += libebml-source endif + touch $@ +## No reasons to use SVN anymore +#ifdef SVN +#libebml-source: libebml +# tar cfvz libebml-$(DATE).tar.gz libebml +#SOURCE += libebml-source +#endif CLEAN_FILE += .ebml CLEAN_PKG += libebml @@ -964,13 +996,15 @@ DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2 libmatroska-$(LIBMATROSKA_VERSION).tar.bz2: $(WGET) $(LIBMATROSKA_URL) -ifdef SVN -libmatroska: - $(SVN) export http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska -else +## No reasons to use SVN anymore +#if SVN +#libmatroska: +# $(SVN) co http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska +#else libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 $(EXTRACT_BZ2) -endif +#endif + patch -p0 < ./Patches/libmatroska-kaxblock.patch ifdef HAVE_WIN32 (cd $@; patch -p0 < ../Patches/libmatroska-win32.patch) endif @@ -984,25 +1018,63 @@ else endif touch $@ -ifdef SVN -libmatroska-source: libmatroska - tar cfvz libmatroska-$(DATE).tar.gz libmatroska - -SOURCE += libmatroska-source -endif +## No reasons to use SVN anymore +#ifdef SVN +#libmatroska-source: libmatroska +# tar cfvz libmatroska-$(DATE).tar.gz libmatroska +# +#SOURCE += libmatroska-source +#endif CLEAN_FILE += .matroska CLEAN_PKG += libmatroska DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 # *************************************************************************** +# libamrnb +# *************************************************************************** + +amrnb-$(LIBAMR_NB_VERSION).tar.bz2: + $(WGET) $(LIBAMR_NB) + +libamrnb: amrnb-$(LIBAMR_NB_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +.libamrnb: libamrnb + (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install) + touch $@ + +CLEAN_FILE += .libamrnb +CLEAN_PKG += libamrnb +DISTCLEAN_PKG += amrnb-$(LIBAMR_NB_VERSION).tar.bz2 + +# *************************************************************************** +# libamrwb +# *************************************************************************** + +amrwb-$(LIBAMR_WB_VERSION).tar.bz2: + $(WGET) $(LIBAMR_WB) + +libamrwb: amrwb-$(LIBAMR_WB_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +.libamrwb: libamrwb + (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --enable-shared && make && make install) + touch $@ + + +CLEAN_FILE += .libamrwb +CLEAN_PKG += libamrwb +DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).tar.bz2 + +# *************************************************************************** + # ffmpeg # *************************************************************************** ifdef SVN ffmpeg: - $(SVN) export $(FFMPEG_SVN) ffmpeg - (cd "$@" && patch -p0 < ../Patches/ffmpeg-svn-swscale-pc.patch) + $(SVN) co $(FFMPEG_SVN) ffmpeg ifeq ($(HOST),i586-pc-beos) (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch) endif @@ -1012,12 +1084,21 @@ endif ifdef HAVE_BEOS (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch) endif +ifdef HAVE_DARWIN_OS_ON_INTEL + (cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch) +endif ifdef HAVE_UCLIBC patch -p0 < Patches/ffmpeg-svn-uclibc.patch patch -p0 < Patches/ffmpeg-svn-internal-define.patch - patch -p0 < Patches/ffmpeg-svn-grab.patch + patch -p0 < Patches/ffmpeg-svn-libavformat.patch +endif +ifdef HAVE_WIN32 + (cd $@; patch -p0 < ../Patches/ffmpeg-svn-win32.patch) +endif +ifdef NO_TEXT_RELOCATION + echo "Broken LD. Fix your tools." + exit -1 endif - else ffmpeg-$(FFMPEG_VERSION).tar.gz: echo "ffmpeg snapshot is too old, you MUST use subversion !" @@ -1028,16 +1109,21 @@ ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz $(EXTRACT_GZ) endif +FFMPEGCONF += --enable-gpl --enable-postproc --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols --disable-network +ifdef HAVE_WIN32 +FFMPEGCONF += --disable-bzlib --disable-decoder=dca +endif + ifdef HAVE_WINCE .ffmpeg: ffmpeg .zlib else ifdef HAVE_UCLIBC .ffmpeg: ffmpeg else -.ffmpeg: ffmpeg .faac .lame +.ffmpeg: ffmpeg .faac .lame .gsm endif endif - (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay && make && make install-libs install-headers) + (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers) touch $@ ifdef SVN @@ -1048,7 +1134,7 @@ SOURCE += ffmpeg-source endif CLEAN_FILE += .ffmpeg -CLEAN_PKG += ffmpeg ffmpeg.cvs +CLEAN_PKG += ffmpeg DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz # *************************************************************************** @@ -1059,8 +1145,8 @@ libdvdcss-$(LIBDVDCSS_VERSION).tar.gz: $(WGET) $(LIBDVDCSS_URL) ifdef SVN -libdvdcss: - $(SVN) export svn://svn.videolan.org/libdvdcss/trunk libdvdcss +libdvdcss: + $(SVN) co svn://svn.videolan.org/libdvdcss/trunk libdvdcss cd $@ && sh bootstrap else libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz @@ -1086,31 +1172,61 @@ DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz # *************************************************************************** # dummy dvdread to trigger the INSTALL_NAME script # *************************************************************************** -.dvdread: .dvdnav +# .dvdread: .dvdnav +# $(INSTALL_NAME) +# touch $@ +# +# CLEAN_FILE += .dvdread + +# *************************************************************************** +# libdvdread: We use dvdnav's dvdread +# *************************************************************************** + + +libdvdread: + $(SVN) co $(LIBDVDREAD_SVN) libdvdread + (cd $@; patch -p 0 < ../Patches/libdvdread.patch) +ifdef HAVE_WIN32 + (cd $@; patch -p 0 < ../Patches/libdvdread-win32.patch) +endif + (cd $@; sh autogen.sh noconfig) + +.libdvdread: libdvdread .dvdcss + (cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) $(INSTALL_NAME) - (install_name_tool -change $(PREFIX)/lib/libdvdread.0.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib) touch $@ -CLEAN_FILE += .dvdread +CLEAN_FILE += .libdvdread +CLEAN_PKG += libdvdread +#DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz # *************************************************************************** # libdvdnav # *************************************************************************** -libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2: +ifdef SVN +libdvdnav: + $(SVN) co $(LIBDVDNAV_SVN) libdvdnav + patch -d libdvdnav -p0 < Patches/libdvdnav.patch + (cd $@; ./autogen.sh noconfig) +else +libdvdnav-$(LIBDVDNAV_VERSION).tar.gz: $(WGET) $(LIBDVDNAV_URL) -libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 - $(EXTRACT_BZ2) - patch -p0 < Patches/dvdnav.patch - patch -p0 < Patches/libdvdnav-mactel.patch +libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.gz + $(EXTRACT_GZ) + patch -p0 < Patches/libdvdnav.patch +ifdef HAVE_WIN32 + patch -p0 < Patches/libdvdnav-win32.patch +endif (cd $@; ./autogen.sh noconfig) +endif -.dvdnav: libdvdnav .dvdcss -ifdef HAVE_WIN32 - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -Dssize_t=long" && make && make install) +.dvdnav: libdvdnav .libdvdread +ifdef HAVE_WIN32 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) && make && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) endif $(INSTALL_NAME) touch $@ @@ -1123,10 +1239,10 @@ DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 # libdvbpsi # *************************************************************************** -libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz: +libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz: $(WGET) $(LIBDVBPSI_URL) -libdvbpsi: libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz +libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz $(EXTRACT_GZ) .dvbpsi: libdvbpsi @@ -1136,7 +1252,7 @@ libdvbpsi: libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz CLEAN_FILE += .dvbpsi CLEAN_PKG += libdvbpsi -DISTCLEAN_PKG += libdvbpsi4-$(LIBDVBPSI_VERSION).tar.gz +DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz # *************************************************************************** # live @@ -1147,25 +1263,18 @@ live555-$(LIVEDOTCOM_VERSION).tar.gz: live: live555-$(LIVEDOTCOM_VERSION).tar.gz $(EXTRACT_GZ) - patch -p0 < Patches/live.patch -ifdef HAVE_WIN32 - patch -p0 < Patches/livedotcom-win32.patch -endif -ifdef HAVE_DARWIN_OS - patch -p0 < Patches/live-osx.patch -endif - patch -p0 < Patches/live-starttime.patch - patch -Np0 < Patches/live-config.patch -ifdef HAVE_UCLIBC patch -p0 < Patches/live-noapps.patch + patch -p0 < Patches/live-uselocale.patch +ifdef HAVE_WIN32 + patch -p0 < Patches/live-win32-nonblock.patch endif .live: live -ifdef HAVE_WIN32 +ifdef HAVE_WIN32 (cd $<;./genMakefiles mingw && make $(HOSTCC)) else ifdef HAVE_DARWIN_OS - (cd $<; sed -e 's%EXTRA_CFLAGS%$(EXTRA_CFLAGS)%' -e 's%EXTRA_LDFLAGS%$(EXTRA_LDFLAGS)%' -i.orig config.macosx) + (cd $<; sed -e 's%-DBSD=1%-DBSD=1\ $(EXTRA_CFLAGS)\ $(EXTRA_LDFLAGS)%' -e 's%cc%$(CC)%' -e 's%c++%$(CXX)%' -i.orig config.macosx) (cd $<; ./genMakefiles macosx && make) else (cd $<; sed -e 's/=/= EXTRA_CPPFLAGS/' -e 's%EXTRA_CPPFLAGS%-I/include%' -i.orig groupsock/Makefile.head) @@ -1178,30 +1287,20 @@ else endif endif endif + cp $ configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install) + (cd $< && rm -f configure; aclocal -I m4/ && automake --add-missing && autoconf configure.in > configure && $(HOSTCC) sh ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --disable-glibtest --disable-gtktest && make && make install) endif touch $@ @@ -1243,12 +1345,22 @@ libcaca-$(LIBCACA_VERSION).tar.gz: libcaca: libcaca-$(LIBCACA_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_DARWIN_OS + #remove me at next libcaca upgrade + patch -p0 < Patches/caca_driver_cocoa.diff + patch -p0 < Patches/caca_macosx.diff +ifndef HAVE_DARWIN_OS_ON_INTEL + patch -p0 < Patches/caca-osx-ppc.patch +endif + patch -p0 < Patches/libcaca-osx-sdkofourchoice.patch + (cd $@; sed -e 's%/Developer/SDKs/MacOSX10.4u.sdk%$(MACOSX_SDK)%' -i.orig configure) +endif .caca: libcaca ifdef HAVE_WIN32 - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install) endif touch $@ @@ -1265,9 +1377,13 @@ libdca-$(LIBDCA_VERSION).tar.bz2: libdca: libdca-$(LIBDCA_VERSION).tar.bz2 $(EXTRACT_BZ2) +ifdef HAVE_DARWIN_9 + ( cd $@; patch -p0 < ../Patches/libdca-llvm-gcc.patch ) +endif .dca: libdca (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + $(INSTALL_NAME) touch $@ CLEAN_FILE += .dca @@ -1281,18 +1397,25 @@ DISTCLEAN_PKG += libdca-$(LIBDCA_VERSION).tar.bz2 x264-$(X264_VERSION).tar.gz: $(WGET) $(X264_URL) -ifdef SVN -x264: - $(SVN) export svn://svn.videolan.org/x264/trunk/ x264 +ifdef GIT +x264: + $(GIT) clone git://git.videolan.org/x264.git + patch -p0 < Patches/x264-svn-info-threads.patch ifdef HAVE_WIN32 (cd x264; patch -p0 < ../Patches/x264-svn-win32.patch ) endif +ifdef HAVE_DARWIN_OS + (cd $@; patch -p0 < ../Patches/x264-svn-darwin.patch ) +endif + else x264: x264-$(X264_VERSION).tar.gz $(EXTRACT_GZ) ifdef HAVE_WIN32 + ifndef HAVE_CYGWIN (cd x264;patch -p0 <../Patches/x264-20050624-win32.patch) + endif else patch -p0 < Patches/x264.patch rm x264/x264.c @@ -1301,10 +1424,19 @@ endif ifdef HAVE_WIN32 .x264: x264 .pthreads + ifdef HAVE_CYGWIN + (cd $<; $(HOSTCC) RANLIB="ranlib" AR="ar" STRIP="strip" ./configure $(X264CONF) --prefix="$(PREFIX)" --extra-cflags="-I$(PREFIX)/include" --extra-ldflags="-L$(PREFIX)/lib" && make && make install) + else + (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" --enable-pthread && make && make install) + endif +else +ifdef HAVE_DARWIN_OS_ON_INTEL + .x264: x264 .yasm (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) else -.x264: x264 + .x264: x264 (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) +endif endif touch $@ @@ -1328,6 +1460,11 @@ libmodplug-$(MODPLUG_VERSION).tar.gz: libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz $(EXTRACT_GZ) + patch -p0 < Patches/libmodplug-gccllvm42.patch +ifdef HAVE_WIN32 + patch -p0 < Patches/libmodplug-win32.patch + (cd $@; autoreconf) +endif .mod: libmodplug (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) @@ -1388,9 +1525,13 @@ libcdio-$(CDIO_VERSION).tar.gz: libcdio: libcdio-$(CDIO_VERSION).tar.gz $(EXTRACT_GZ) + patch -p0 < Patches/libcdio-install-cdparanoia-pc.patch +ifdef HAVE_DARWIN_OS + patch -p0 < Patches/libcdio-modernOSX.patch +endif .cdio: libcdio - (cd $<; sed -e 's%@ENABLE_CPP_TRUE@SUBDIRS = C++%@ENABLE_CPP_TRUE@SUBDIRS = %' -i.orig example/Makefile.in && ./configure --prefix=$(PREFIX) --without-vcdinfo --disable-shared && make && make install) + (cd $<; sed -e 's%@ENABLE_CPP_TRUE@SUBDIRS = C++%@ENABLE_CPP_TRUE@SUBDIRS = %' -i.orig example/Makefile.in && autoreconf -fisv && ./configure --prefix=$(PREFIX) --without-vcdinfo --disable-shared && make && make install) touch $@ CLEAN_FILE += .cdio @@ -1407,7 +1548,6 @@ wxWidgets-$(WXWIDGETS_VERSION).tar.gz: wxwidgets: wxWidgets-$(WXWIDGETS_VERSION).tar.gz $(EXTRACT_GZ) (cd wxwidgets; patch -p0 < ../Patches/wxwidgets_uri.patch) -# (cd wxwidgets; patch -p1 <../Patches/wxMSW-win32.patch) .wxwidgets: wxwidgets (cd wxwidgets; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-optimise --disable-debug --enable-unicode --disable-threads --disable-gif --disable-pcx --disable-iff --disable-pnm --without-zlib --without-libpng --without-libjpeg --without-libtiff --without-regex --disable-zipstream --disable-fs_zip --enable-no_rtti --enable-no_exceptions --disable-exceptions --disable-stl --disable-html --without-expat --disable-protocols --disable-protocol --disable-xrc --disable-sound --disable-dialupman --disable-mediactrl --disable-joystick --disable-grid --disable-datepick --disable-postscript--disable-filesystem --disable-fileproto --disable-ipc --disable-sockets --disable-precomp-headers && make && make install) @@ -1422,24 +1562,76 @@ DISTCLEAN_PKG += wxWidgets-$(WXWIDGETS_VERSION).tar.gz # qt4 (win32 binary) # *************************************************************************** -qt4-$(QT4_VERSION)-win32-bin.tar.gz: +qt4-$(QT4_VERSION)-win32-bin.tar.bz2: $(WGET) $(QT4_URL) -qt4: qt4-$(QT4_VERSION)-win32-bin.tar.gz - $(EXTRACT_GZ) +qt4_win32: qt4-$(QT4_VERSION)-win32-bin.tar.bz2 + $(EXTRACT_BZ2) + chmod -R 755 qt4_win32 -.qt4: qt4 - (cd qt4;mkdir -p $(PREFIX)/bin; mkdir -p $(PREFIX)/include;mkdir -p $(PREFIX)/lib/pkgconfig;rm -f $(PREFIX)/lib/pkgconfig/Qt*; sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtCore.pc.in > $(PREFIX)/lib/pkgconfig/QtCore.pc;sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtGui.pc.in > $(PREFIX)/lib/pkgconfig/QtGui.pc;cp -r include/* $(PREFIX)/include;cp lib/*a $(PREFIX)/lib) +.qt4_win32: qt4_win32 + (cd qt4_win32;mkdir -p $(PREFIX)/bin; mkdir -p $(PREFIX)/include;mkdir -p $(PREFIX)/lib/pkgconfig;rm -f $(PREFIX)/lib/pkgconfig/Qt*; sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtCore.pc.in > $(PREFIX)/lib/pkgconfig/QtCore.pc;sed 's,@@PREFIX@@,$(PREFIX),' lib/pkgconfig/QtGui.pc.in > $(PREFIX)/lib/pkgconfig/QtGui.pc;cp -r include/* $(PREFIX)/include;cp lib/*a $(PREFIX)/lib) ifeq ($(BUILD),i686-pc-cygwin) - (cd qt4;cp bin/*.exe $(PREFIX)/bin) + (cd qt4_win32;cp bin/*.exe $(PREFIX)/bin) else - (cd qt4;cp bin/* $(PREFIX)/bin) + (cd qt4_win32;cp bin/* $(PREFIX)/bin) endif touch $@ -CLEAN_FILE += .qt4 -CLEAN_PKG += qt4 -DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.gz +CLEAN_FILE += .qt4_win32 +CLEAN_PKG += qt4_win32 +DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.bz2 + +# *************************************************************************** +# qt4 (trolltech binaries) +# *************************************************************************** + +qt-win-opensource-$(QT4T_VERSION)-mingw.exe: + wget $(QT4T_URL) + +Qt_win32: qt-win-opensource-$(QT4T_VERSION)-mingw.exe + mkdir Qt + 7z -oQt x qt-win-opensource-$(QT4T_VERSION)-mingw.exe \$$OUTDIR/bin\ /bin \$$OUTDIR/bin\ /lib \$$OUTDIR/bin\ /include/QtCore \$$OUTDIR/bin\ /include/QtGui \$$OUTDIR/bin\ /src/gui \$$OUTDIR/bin\ /src/corelib \$$OUTDIR/bin\ /translations + mv Qt/\$$OUTDIR/bin\ /* Qt/ && rmdir Qt/\$$OUTDIR/bin\ Qt/\$$OUTDIR + find Qt -name '* ' -exec sh -c "mv \"{}\" `echo {}`" \; + find Qt/src -name '*.cpp' -exec rm {} \; + find Qt/translations -type f -a ! -name 'qt_*.qm' -exec rm {} \; + find Qt/include -name '*.h' -exec sh -c "mv {} {}.tmp; sed 's,..\/..\/src,..\/src,' {}.tmp > {}; rm -f {}.tmp" \; + mkdir Qt/lib/pkgconfig + sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtCore.pc.in > Qt/lib/pkgconfig/QtCore.pc + sed -e s,@@VERSION@@,$(QT4T_VERSION), -e s,@@PREFIX@@,$(PREFIX), Patches/QtGui.pc.in > Qt/lib/pkgconfig/QtGui.pc + +.Qt_win32: Qt_win32 + mkdir -p $(PREFIX)/bin $(PREFIX)/include/qt4/src $(PREFIX)/lib/pkgconfig $(PREFIX)/share/qt4/translations + cp Qt/bin/moc.exe Qt/bin/rcc.exe Qt/bin/uic.exe $(PREFIX)/bin + cp -r Qt/include/QtCore Qt/include/QtGui $(PREFIX)/include/qt4 + cp -r Qt/src/corelib Qt/src/gui $(PREFIX)/include/qt4/src + cp Qt/lib/libQtCore4.a Qt/lib/libQtGui4.a $(PREFIX)/lib + cp Qt/lib/pkgconfig/* $(PREFIX)/lib/pkgconfig + cp Qt/translations/* $(PREFIX)/share/qt4/translations + touch $@ + +CLEAN_FILE += .Qt_win32 +CLEAN_PKG += Qt_win32 +DISTCLEAN_PKG += qt-win-opensource-$(QT4T_VERSION)-mingw.exe + +# *************************************************************************** +# qt4 (source-code compilation for Mac) +# *************************************************************************** + +qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz: + $(WGET) $(QT4_MAC_URL) + +qt4_mac: qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz + $(EXTRACT_GZ) + +.qt4_mac: qt4_mac + (cd qt4_mac; ./configure -prefix $(PREFIX) -release -fast -no-qt3support -nomake "examples demos" -sdk $(MACOSX_SDK) -no-framework && make && make install) + touch $@ + +CLEAN_FILE += .qt4_mac +CLEAN_PKG += qt4_mac +DISTCLEAN_PKG += qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz # *************************************************************************** # zlib @@ -1462,7 +1654,7 @@ CLEAN_PKG += zlib DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz # *************************************************************************** -# PortAudio +# PortAudio # *************************************************************************** pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz: @@ -1474,7 +1666,7 @@ ifneq ($(HOST),$(BUILD)) (patch -p0 < Patches/portaudio-cross.patch;cd $@; autoconf) endif -.portaudio: portaudio +.portaudio: portaudio (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ @@ -1492,19 +1684,18 @@ libxml2-$(XML_VERSION).tar.gz: xml: libxml2-$(XML_VERSION).tar.gz $(EXTRACT_GZ) -ifdef HAVE_WIN32 - patch -p0 < Patches/xml2-win32.patch - rm -f xml/aclocal.m4 -endif ifdef HAVE_UCLIBC patch -p0 < Patches/xml2-uclibc.patch endif +XMLCONF = --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp --without-debug --without-docbook --without-regexps --without-python + .xml: xml -ifdef HAVE_WIN32 - (cd xml; aclocal && automake && autoreconf) -endif - (cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp && make && make install) + ifdef HAVE_CYGWIN + (cd xml; ac_cv_header_pthread_h="no" CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(XMLCONF) && make && make install) + else + (cd xml; CFLAGS="-DLIBXML_STATIC" $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(XMLCONF) && make && make install) + endif ifndef HAVE_DARWIN_OS $(INSTALL_NAME) endif @@ -1526,11 +1717,11 @@ twolame: twolame-$(TWOLAME_VERSION).tar.gz ifdef HAVE_BEOS patch -p0 < Patches/twolame-BeOS.patch endif - -.twolame: twolame ifdef HAVE_WIN32 (cd twolame/win32; $(WGET) "http://twolame.svn.sourceforge.net/viewvc/*checkout*/twolame/trunk/win32/winutil.h") -endif +endif + +.twolame: twolame (cd twolame; $(HOSTCC) CFLAGS="${CFLAGS} -DLIBTWOLAME_STATIC" ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd libtwolame && make && make install) $(INSTALL_NAME) touch $@ @@ -1558,7 +1749,7 @@ ifdef HAVE_DARWIN_OS_ON_INTEL (patch -p0 < Patches/libpng-darwin-mactel.patch) endif -.png: libpng +.png: libpng .zlib ifdef HAVE_DARWIN_OS (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) else @@ -1570,9 +1761,9 @@ ifeq ($(PNG_VERSION),1.2.8) else (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) endif +endif endif $(INSTALL_NAME) -endif touch $@ CLEAN_FILE += .png @@ -1588,6 +1779,9 @@ zvbi-$(ZVBI_VERSION).tar.bz2: zvbi: zvbi-$(ZVBI_VERSION).tar.bz2 $(EXTRACT_BZ2) +ifdef HAVE_WIN32 + (cd $@; patch -p1 < ../Patches/zvbi-win32.patch; patch -p1 < ../Patches/zvbi-makefile.patch; autoreconf) +endif ifdef HAVE_WIN32 .zvbi: zvbi .pthreads @@ -1595,10 +1789,15 @@ else .zvbi: zvbi endif ifdef HAVE_DARWIN_OS - (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install) else - (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) +ifdef HAVE_WIN32 + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) --std=gnu99" LIBS="-lpthreadGC2" && make && make install) +else + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make -C src && make -C src install) +endif endif + $(INSTALL_NAME) touch $@ CLEAN_FILE += .zvbi @@ -1611,7 +1810,7 @@ DISTCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2 #ifdef SVN #libraw1394: -# $(SVN) export -r 325 $(LIBDC1394_SVN)/libraw1394/trunk/libraw1394 libraw1394 +# $(SVN) co -r 325 $(LIBDC1394_SVN)/libraw1394/trunk/libraw1394 libraw1394 # (cd $<; libtoolize --copy --force; \ # autopoint -f; \ # aclocal -I extras/contrib/share/aclocal; \ @@ -1628,10 +1827,10 @@ libraw1394: libraw1394-$(LIBRAW1394_VERSION).tar.gz #endif .raw1394: libraw1394 - (cd $<; ./configure --prefix=$(PREFIX) && make && make DESTDIR=$(PRFIX) install) + (cd $<; ./configure --prefix=$(PREFIX) && make && make DESTDIR=$(PREFIX) install) # sed 's/^typedef u_int8_t byte_t;/\/* typedef u_int8_t byte_t;\*\//' touch $@ - + CLEAN_FILE += .raw1394 CLEAN_PKG += libraw1394 DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz @@ -1642,7 +1841,7 @@ DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz #ifdef SVN #libdc1394: -# $(SVN) export -r 325 $(LIBDC1394_SVN)/libdc1394/trunk/libdc1394 libdc1394 +# $(SVN) co -r 325 $(LIBDC1394_SVN)/libdc1394/trunk/libdc1394 libdc1394 # (cd $<; libtoolize --copy --force; \ # autopoint -f; \ # aclocal -I extras/contrib/share/aclocal; \ @@ -1661,15 +1860,15 @@ libdc1394: libdc1394-$(LIBDC1394_VERSION).tar.gz .dc1394: libdc1394 (cd $<; ./configure --prefix=$(PREFIX) && \ patch -p1 < ../Patches/libdc1394-noexamples.patch && \ - make && make DESTDIR=$(PRFIX) install) + make && make DESTDIR=$(PREFIX) install) touch $@ - + CLEAN_FILE += .dc1394 CLEAN_PKG += libdc1394 DISTCLEAN_PKG += libdc1394-$(LIBDC1394_VERSION).tar.gz # *************************************************************************** -# gpg-error +# gpg-error # *************************************************************************** libgpg-error-$(GPGERROR_VERSION).tar.bz2: @@ -1677,15 +1876,12 @@ libgpg-error-$(GPGERROR_VERSION).tar.bz2: libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2 $(EXTRACT_BZ2) -ifdef HAVE_WIN32 - patch -p0 < Patches/libgpg-error-win32.patch -endif .gpg-error: libgpg-error ifdef HAVE_DARWIN_OS_ON_INTEL (cd $<; ./autogen.sh) endif - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls --disable-shared && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-nls --disable-shared --disable-languages && make && make install) # $(INSTALL_NAME) touch $@ @@ -1704,14 +1900,13 @@ libgcrypt: libgcrypt-$(GCRYPT_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/gcrypt.patch +CIPHDIG= --enable-ciphers=aes,des,rfc2268,arcfour --enable-digests=sha1,md5,rmd160 --enable-publickey-digests=dsa + .gcrypt: libgcrypt .gpg-error ifdef HAVE_WIN32 - (cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && sed -i 46s@sys/times.h@sys/time.h@ cipher/random.c && make && make install) + (cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) --disable-shared --enable-static --disable-nls && make && make install) else -ifdef HAVE_DARWIN_OS_ON_INTEL - (cd $<; $(HOSTCC) ./configure --host=$(HOST) --build=$(BUILD) --prefix=$(PREFIX) --disable-asm CFLAGS="$(CFLAGS)" && make && make install) -endif - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) && make && make install) endif $(INSTALL_NAME) touch $@ @@ -1720,6 +1915,24 @@ CLEAN_FILE += .gcrypt CLEAN_PKG += libgcrypt DISTCLEAN_PKG += libgcrypt-$(GCRYPT_VERSION).tar.bz2 +# *************************************************************************** +# opencdk (requires by gnutls 2.x) +# *************************************************************************** + +opencdk-$(OPENCDK_VERSION).tar.bz2: + $(WGET) $(OPENCDK_URL) + +opencdk: opencdk-$(OPENCDK_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +.opencdk: opencdk + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(HOSTCC) && make && make install) + touch $@ + +CLEAN_FILE += .opencdk +CLEAN_PKG += opencdk +DISTCLEAN_PKG += opencdk-$(OPENCDK_VERSION).tar.bz2 + # *************************************************************************** # gnutls # *************************************************************************** @@ -1731,14 +1944,15 @@ gnutls: gnutls-$(GNUTLS_VERSION).tar.bz2 $(EXTRACT_BZ2) ifdef HAVE_WIN32 patch -p0 < Patches/gnutls-win32.patch - (cd $@; cd lgl; ln -sf alloca_.h alloca.h) + (cd $@; cd lgl; ln -sf alloca_.h alloca.h;) + (cd $@; autoconf) endif .gnutls: gnutls .gcrypt .gpg-error ifdef HAVE_WIN32 - (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc && cd gl && make && cd ../lgl && make && cd ../lib &&make && make install && cd ../includes && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc --disable-cxx -disable-shared --enable-static --disable-nls --with-included-opencdk --with-included-libtasn1 && cd lgl && make && cd ../gl && make && cd ../lib &&make && make install && cd ../includes && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --disable-cxx && cd gl && make && cd ../lgl && make && cd ../lib &&make && make install && cd ../includes && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --disable-cxx --with-included-opencdk --disable-guile && make && make install) endif $(INSTALL_NAME) touch $@ @@ -1815,6 +2029,9 @@ gecko-sdk: gecko-sdk-ppc-macosx10.2-1.7.5.tar.gz $(EXTRACT_GZ) .gecko: gecko-sdk + rm -rf ../gecko-sdk + mv gecko-sdk .. + mkdir gecko-sdk #creating an empty dir is faster than copying the whole dir (cd $<) touch $@ @@ -1849,7 +2066,7 @@ CLEAN_PKG += gecko-sdk-win32 DISTCLEAN_PKG += gecko-sdk-i586-pc-msvc-1.8b1.zip libIDL-0.6.3-win32-bin.zip glib-19990228.zip # *************************************************************************** -# mozilla +# mozilla-macosx # *************************************************************************** mozilla-source-$(MOZILLA_VERSION).tar.bz2: @@ -1858,12 +2075,12 @@ mozilla-source-$(MOZILLA_VERSION).tar.bz2: mozilla: mozilla-source-$(MOZILLA_VERSION).tar.bz2 $(EXTRACT_BZ2) -.mozilla: mozilla +.mozilla-macosx: mozilla (cd $<; ./configure --prefix=$(PREFIX) --enable-default-toolkit=mac --enable-standalone-modules=xpcom,plugin && make && make install) touch $@ -CLEAN_FILE += .mozilla -CLEAN_PKG += mozilla +CLEAN_FILE += .mozilla-macosx +CLEAN_PKG += mozilla-macosx DISTCLEAN_PKG += mozilla-source-$(MOZILLA_VERSION).tar.bz2 # *************************************************************************** @@ -1873,7 +2090,7 @@ DISTCLEAN_PKG += mozilla-source-$(MOZILLA_VERSION).tar.bz2 jpeg-$(JPEG_VERSION).tar.gz: $(WGET) $(JPEG_URL) -jpeg: jpeg-$(JPEG_VERSION).tar.gz +jpeg: jpeg-$(JPEG_VERSION).tar.gz $(EXTRACT_GZ) .jpeg: jpeg @@ -1892,7 +2109,7 @@ DISTCLEAN_PKG += jpeg-$(JPEG_VERSION).tar.gz tiff-$(TIFF_VERSION).tar.gz: $(WGET) $(TIFF_URL) -tiff: tiff-$(TIFF_VERSION).tar.gz +tiff: tiff-$(TIFF_VERSION).tar.gz $(EXTRACT_GZ) .tiff: tiff @@ -1909,14 +2126,20 @@ CLEAN_PKG += tiff DISTCLEAN_PKG += tiff-$(TIFF_VERSION).tar.gz # *************************************************************************** -# SDL +# LibSDL # *************************************************************************** +ifndef HAVE_DARWIN_OS SDL-$(SDL_VERSION).tar.gz: $(WGET) $(SDL_URL) -SDL: SDL-$(SDL_VERSION).tar.gz +SDL: SDL-$(SDL_VERSION).tar.gz $(EXTRACT_GZ) +else +SDL: + $(SVN) co http://svn.libsdl.org/trunk/SDL -r 4444 SDL + (cd $@; sh autogen.sh) +endif .SDL: SDL (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-audio --disable-video-x11 --disable-video-aalib --disable-video-dga --disable-video-fbcon --disable-video-directfb --disable-video-ggi --disable-video-svga --disable-directx --enable-joystick --disable-cdrom --disable-threads --disable-sdl-dlopen CFLAGS="$(CFLAGS)" && make && make install) @@ -1934,9 +2157,10 @@ DISTCLEAN_PKG += SDL-$(SDL_VERSION).tar.gz SDL_image-$(SDL_IMAGE_VERSION).tar.gz: $(WGET) $(SDL_IMAGE_URL) -SDL_image: SDL_image-$(SDL_IMAGE_VERSION).tar.gz +SDL_image: SDL_image-$(SDL_IMAGE_VERSION).tar.gz $(EXTRACT_GZ) patch -p0 < Patches/SDL_image.patch + patch -p0 < Patches/SDL_image-CVE-2006-4484.patch .SDL_image: SDL_image .SDL .png .jpeg .tiff (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --enable-tif --disable-sdltest && make && make install) @@ -1954,13 +2178,13 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz libmpcdec-$(MUSE_VERSION).tar.bz2: $(WGET) $(MUSE_URL) -mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 +mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/mpcdec.patch (cd $@; autoreconf) .mpcdec: mpcdec -ifdef HAVE_WIN32 +ifdef HAVE_WIN32 (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS=-D_PTRDIFF_T=mpc_int32_t && make && make install) else (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) @@ -1983,8 +2207,11 @@ dirac-$(DIRAC_VERSION).tar.gz: dirac: dirac-$(DIRAC_VERSION).tar.gz $(EXTRACT_GZ) - patch -p0 ./nasm.cvs -# CVS_PASSFILE=./nasm.cvs cvs -z3 -d $(NASM_CVSROOT) co nasm -# (cd $@ && autoconf && autoheader) +yasm: yasm-$(YASM_VERSION).tar.gz + $(EXTRACT_GZ) -.nasm: nasm - (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) && make && make install) +.yasm: yasm + (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) --host=$(HOST) && make && make install) touch $@ -CLEAN_FILE += .nasm -CLEAN_PKG += nasm nasm.cvs -DISTCLEAN_PKG += nasm-$(NASM_VERSION).tar.bz2 +CLEAN_FILE += .yasm +CLEAN_PKG += yasm +DISTCLEAN_PKG += yasm-$(YASM_VERSION).tar.bz2 # *************************************************************************** -# Copy aclocal files -# This is necessary for --missing aclocal to succeed after a -# configure.ac/Makefile.am change in the vlc root dir -# ************************************************************************** +# kate +# *************************************************************************** -.aclocal: - cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/ +libkate-$(KATE_VERSION).tar.gz: + $(WGET) $(KATE_URL) + +libkate: libkate-$(KATE_VERSION).tar.gz + $(EXTRACT_GZ) + +.kate: libkate .ogg + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-valgrind --disable-doc && make && make install) + $(INSTALL_NAME) touch $@ -CLEAN_FILE += .aclocal +CLEAN_FILE += .kate +CLEAN_PKG += libkate +DISTCLEAN_PKG += libkate-$(KATE_VERSION).tar.gz # *************************************************************************** -# UNICOWS (Unicode support for WINME/98/95) +# tiger # *************************************************************************** -libunicows-$(UNICOWS_VERSION).tar.gz: - $(WGET) $(UNICOWS_URL) - mv libunicows-$(UNICOWS_VERSION)-src.tar.gz $@ || true +libtiger-$(TIGER_VERSION).tar.gz: + $(WGET) $(TIGER_URL) -libunicows: libunicows-$(UNICOWS_VERSION).tar.gz +libtiger: libtiger-$(TIGER_VERSION).tar.gz $(EXTRACT_GZ) -.unicows: libunicows - (cd $