X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=97cf1b78a8c0585f2606171f824c62798f8315a1;hb=19ed08bd03eb5475b642a59f65fe86ae87202d7a;hp=da4cd7990342b92e622c7c5407b564261f569ac3;hpb=4713a3672c79e4f681f196caf66a541855d86fba;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index da4cd79903..97cf1b78a8 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 - 2008 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 @@ -101,7 +101,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 @@ -132,7 +132,7 @@ endif FFMPEGCONF+= --enable-small --disable-debug --disable-mpegaudio-hp FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99 else -FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52 --enable-swscaler +FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-swscale endif ifdef HAVE_BEOS @@ -151,6 +151,8 @@ ifdef HAVE_DARWIN_OS X264CONF += --enable-pic ifdef HAVE_DARWIN_OS_ON_INTEL FFMPEG_CFLAGS += -DHAVE_LRINTF +else +FFMPEGCONF += --disable-altivec endif endif @@ -257,17 +259,39 @@ 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-$(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: +# cvs -d :pserver:anonymous:cmake@www.cmake.org:/cvsroot/CMake co -d cmake CMake .cmake: cmake (cd $<; ./configure --prefix=$(PREFIX) && make && make install) @@ -366,6 +390,9 @@ gettext: gettext-$(GETTEXT_VERSION).tar.gz 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 @@ -471,7 +498,6 @@ freetype-$(FREETYPE2_VERSION).tar.gz: freetype2: freetype-$(FREETYPE2_VERSION).tar.gz $(EXTRACT_GZ) - patch -p0 < Patches/freetype-cross.patch .freetype: freetype2 ifdef HAVE_CYGWIN @@ -534,25 +560,25 @@ DISTCLEAN_PKG += a52dec-$(A52DEC_VERSION).tar.gz # cvs -d $(MPEG2DEC_CVSROOT) co mpeg2dec # (cd $@; ./bootstrap) -mpeg2dec-$(MPEG2DEC_VERSION).tar.gz: - $(WGET) $(MPEG2DEC_URL) +libmpeg2-$(LIBMPEG2_VERSION).tar.gz: + $(WGET) $(LIBMPEG2_URL) # It is easier to use bootstrapped versions... #mpeg2dec-$(MPEG2DEC_VERSION).tar.gz: # $(WGET) $(MPEG2DEC_SNAPSHOT) # mv mpeg2dec-$(MPEG2DEC_DATE).tar.gz $@ -mpeg2dec: mpeg2dec-$(MPEG2DEC_VERSION).tar.gz +libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz $(EXTRACT_GZ) -.mpeg2: mpeg2dec +.mpeg2: libmpeg2 (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-x --disable-sdl && cd libmpeg2 && make && make install && cd ../include && make && make install) touch $@ CLEAN_FILE += .mpeg2 -CLEAN_PKG += mpeg2dec +CLEAN_PKG += libmpeg2 #DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION)-cvs.tar.gz -DISTCLEAN_PKG += mpeg2dec-$(MPEG2DEC_VERSION).tar.gz +DISTCLEAN_PKG += libmpeg2-$(LIBMPEG2_VERSION).tar.gz # *************************************************************************** # libid3tag @@ -563,6 +589,7 @@ libid3tag-$(LIBID3TAG_VERSION).tar.gz: libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz $(EXTRACT_GZ) + patch -d libid3tag -p0 < Patches/libid3tag-0.15.1b-fix-CVE-2008-2109.patch .id3tag: libid3tag (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) @@ -693,6 +720,9 @@ libvorbis-$(VORBIS_VERSION).tar.gz: libvorbis: libvorbis-$(VORBIS_VERSION).tar.gz $(EXTRACT_GZ) patch -p0 < Patches/libvorbis.patch + patch -d libvorbis -p0 < Patches/libvorbis-r14598-CVE-2008-1420.patch + patch -d libvorbis -p0 < Patches/libvorbis-r14602-CVE-2008-1419.patch + patch -d libvorbis -p0 < Patches/libvorbis-r14602-CVE-2008-1423.patch (cd $@; autoconf) .vorbis: libvorbis .ogg @@ -755,6 +785,7 @@ libtheora-$(THEORA_VERSION).tar.bz2: libtheora: libtheora-$(THEORA_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/theora.patch + patch -p0 < Patches/libtheora-includes.patch (cd $@; autoconf) .theora: libtheora .ogg @@ -902,6 +933,7 @@ lame-$(LAME_VERSION).tar.gz: lame: lame-$(LAME_VERSION).tar.gz $(EXTRACT_GZ) + patch -p0 < Patches/libmp3lame-mingw32.patch .lame: lame (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install) @@ -1035,7 +1067,7 @@ DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).tar.bz2 ifdef SVN ffmpeg: - $(SVN) co $(FFMPEG_SVN) ffmpeg + $(SVN) co $(FFMPEG_SVN) ffmpeg -r 14080 ifeq ($(HOST),i586-pc-beos) (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch) endif @@ -1045,18 +1077,20 @@ endif ifdef HAVE_BEOS (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch) endif -ifdef HAVE_DARWIN_OS +ifdef HAVE_DARWIN_OS_ON_INTEL (cd $@; patch -p0 < ../Patches/ffmpeg-macosx-intel-mmx.patch) endif +ifdef HAVE_DARWIN_OS + (cd $@/libswscale; patch -p0 < ../../Patches/ffmpeg-fix-noaltivec.patch) +endif ifdef NO_TEXT_RELOCATION - (cd $@; patch -p0 < ../Patches/ffmpeg-svn-mmx_removal-darwin9.patch) + (cd $@; patch -p1 < ../Patches/ffmpeg-svn-mmx_removal-darwin9.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-libavformat.patch endif - else ffmpeg-$(FFMPEG_VERSION).tar.gz: echo "ffmpeg snapshot is too old, you MUST use subversion !" @@ -1077,7 +1111,7 @@ else endif endif - (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-postproc --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices && make && make install-libs install-headers) + (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-postproc --disable-vhook --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols --disable-shared --enable-static && make && make install-libs install-headers) touch $@ ifdef SVN @@ -1126,11 +1160,33 @@ 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) touch $@ -CLEAN_FILE += .dvdread +CLEAN_FILE += .libdvdread +CLEAN_PKG += libdvdread +#DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.gz # *************************************************************************** # libdvdnav @@ -1139,10 +1195,7 @@ CLEAN_FILE += .dvdread ifdef SVN libdvdnav: $(SVN) co $(LIBDVDNAV_SVN) libdvdnav - patch -p0 < Patches/libdvdnav.patch -ifdef HAVE_WIN32 - patch -p0 < Patches/libdvdnav-win32.patch -endif + patch -d libdvdnav -p0 < Patches/libdvdnav.patch (cd $@; ./autogen.sh noconfig) else libdvdnav-$(LIBDVDNAV_VERSION).tar.gz: @@ -1157,11 +1210,11 @@ endif (cd $@; ./autogen.sh noconfig) endif -.dvdnav: libdvdnav .dvdcss +.dvdnav: libdvdnav .libdvdread ifdef HAVE_WIN32 - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) + (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 $@ @@ -1199,6 +1252,7 @@ live555-$(LIVEDOTCOM_VERSION).tar.gz: live: live555-$(LIVEDOTCOM_VERSION).tar.gz $(EXTRACT_GZ) patch -p0 < Patches/live-noapps.patch + patch -p0 < Patches/live-uselocale.patch .live: live ifdef HAVE_WIN32 @@ -1338,9 +1392,9 @@ DISTCLEAN_PKG += libdca-$(LIBDCA_VERSION).tar.bz2 x264-$(X264_VERSION).tar.gz: $(WGET) $(X264_URL) -ifdef SVN -x264: - $(SVN) co 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 ) @@ -1348,6 +1402,7 @@ endif ifdef HAVE_DARWIN_OS (cd $@; patch -p0 < ../Patches/x264-svn-darwin.patch ) endif + else x264: x264-$(X264_VERSION).tar.gz @@ -1370,8 +1425,13 @@ ifdef HAVE_WIN32 (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) endif else -.x264: x264 +ifdef HAVE_DARWIN_OS_ON_INTEL + .x264: x264 .yasm + (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) +else + .x264: x264 (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) +endif endif touch $@ @@ -1395,6 +1455,9 @@ libmodplug-$(MODPLUG_VERSION).tar.gz: libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz $(EXTRACT_GZ) +#ifdef HAVE_WIN32 + patch -p0 < Patches/libmodplug-win32.patch +#end .mod: libmodplug (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) @@ -1455,9 +1518,10 @@ libcdio-$(CDIO_VERSION).tar.gz: libcdio: libcdio-$(CDIO_VERSION).tar.gz $(EXTRACT_GZ) + patch -p0 < Patches/libcdio-install-cdparanoia-pc.patch .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 @@ -1551,7 +1615,7 @@ 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 -sdk $(MACOSX_SDK) -no-framework && make && make install) + (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 @@ -1716,9 +1780,9 @@ 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) + (cd $<; ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) endif $(INSTALL_NAME) touch $@ @@ -1827,11 +1891,8 @@ CIPHDIG= --enable-ciphers=aes,des,rfc2268,arcfour --enable-digests=sha1,md5,rmd1 .gcrypt: libgcrypt .gpg-error ifdef HAVE_WIN32 - (cd $<; ./autogen.sh && $(HOSTCC) ./configure $(HOSTCONF) --target=i586-mingw32msvc --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) && 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 && sed -i 46s@sys/times.h@sys/time.h@ cipher/random.c && make && make install) else -ifdef HAVE_DARWIN_OS_ON_INTEL - (cd $<; $(HOSTCC) ./configure --host=$(HOST) --build=$(BUILD) --prefix=$(PREFIX) --disable-asm CFLAGS="$(CFLAGS)" $(CIPHDIG) && make && make install) -endif (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" $(CIPHDIG) && make && make install) endif $(INSTALL_NAME) @@ -1841,6 +1902,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 # *************************************************************************** @@ -1852,14 +1931,14 @@ 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;) endif -.gnutls: gnutls .gcrypt .gpg-error +.gnutls: gnutls .opencdk .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 $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" --target=i586-mingw32msvc --disable-cxx -disable-shared --enable-static --disable-nls && 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-libopencdk-prefix=$(PREFIX) --disable-guile && make && make install) endif $(INSTALL_NAME) touch $@ @@ -2108,12 +2187,12 @@ 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 +.yasm: yasm (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) && 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 @@ -2240,25 +2314,6 @@ DISTCLEAN_PKG += nasm-$(NASM_VERSION).tar.bz2 CLEAN_FILE += .aclocal -# *************************************************************************** -# UNICOWS (Unicode support for WINME/98/95) -# *************************************************************************** - -libunicows-$(UNICOWS_VERSION).tar.gz: - $(WGET) $(UNICOWS_URL) - mv libunicows-$(UNICOWS_VERSION)-src.tar.gz $@ || true - -libunicows: libunicows-$(UNICOWS_VERSION).tar.gz - $(EXTRACT_GZ) - -.unicows: libunicows - (cd $