X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=1be389f62a5742133460cf596e3a57c3e9500187;hb=0cdb6d811f340a29abdca80bcb33dab0fb11cc88;hp=ac27ba4fb1ca945436edc1afb6480883580a5e2b;hpb=0e252d3a6af85ea9946f456eb4181bc863fb737e;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index ac27ba4fb1..1be389f62a 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -71,6 +71,10 @@ endif ifneq ($(AR),) HOSTCC+= AR="$(AR)" endif +ifneq ($(STRIP),) +HOSTCC+= STRIP="$(STRIP)" +endif + # Define ranlib on non-cross compilation setups ifeq ($(RANLIB),) @@ -101,12 +105,12 @@ ifneq ($(BUILD),$(HOST)) # ifndef HAVE_CYGWIN # We are REALLY cross compiling - FFMPEGCONF=--cross-prefix=$(HOST)- - X264CONF=--crosscompile=$(HOST) - PTHREADSCONF="CROSS=$(HOST)-" + FFMPEGCONF=--cross-prefix=$(HOST)- --cross-compile + X264CONF=--host=$(HOST) + PTHREADSCONF="CROSS=$(HOST)-" else # We are compiling for MinGW on Cygwin - PTHREADSCONF=$(HOSTCC) + PTHREADSCONF=$(HOSTCC) endif endif @@ -121,8 +125,18 @@ endif ifdef HAVE_WINCE HOSTCONF+= --without-pic --disable-shared FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-decoder=snow --disable-decoder=vc9 --disable-decoder=wmv3 --disable-decoder=vorbis --disable-decoder=dvdsub --disable-decoder=dvbsub --disable-protocols +endif + +ifdef HAVE_UCLIBC +ifdef HAVE_BIGENDIAN +FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-small --enable-iwmmxt else -FFMPEGCONF+= --enable-libmp3lame --enable-libfaac +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 +FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99 +else +FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-liba52 --enable-swscaler endif ifdef HAVE_BEOS @@ -130,7 +144,7 @@ FFMPEGCONF+= --cpu=x86 --disable-debug --disable-audio-beos endif ifdef HAVE_DARWIN_OS_ON_INTEL -FFMPEGCONF += --enable-memalign-hack +FFMPEGCONF += --enable-memalign-hack --cpu=pentium-m endif ifdef HAVE_DARWIN_OS @@ -140,6 +154,10 @@ FFMPEG_CFLAGS += -DHAVE_LRINTF endif endif +ifdef HAVE_AMR +FFMPEGCONF+= --enable-libamr --enable-libamr-nb --enable-libamr-wb +endif + DATE=`date +%Y-%m-%d` # *************************************************************************** @@ -157,7 +175,7 @@ FORCE: define EXTRACT_GZ rm -rf $@ || true - tar xzf $< --exclude='[*?:<>\|]' + gunzip -c $< | tar xf - --exclude='[*?:<>\|]' mv $(patsubst %.tar.gz,%,$(patsubst %.tgz,%,$(notdir $<))) $@ || true touch $@ endef @@ -276,16 +294,22 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.bz2 # *************************************************************************** ifdef HAVE_DARWIN_OS -.libtool: - if test -x /usr/bin/glibtoolize; then \ - mkdir -p $(PREFIX)/bin ; \ - ln -sf /usr/bin/glibtoolize $(PREFIX)/bin/libtoolize ; \ - fi - if test -f /usr/share/aclocal/libtool.m4; then \ - mkdir -p $(PREFIX)/share/aclocal ; \ - ln -sf /usr/share/aclocal/libtool.m4 $(PREFIX)/share/aclocal ; \ - fi +libtool-$(LIBTOOL_VERSION).tar.gz: + $(WGET) $(LIBTOOL_URL) + +libtool: libtool-$(LIBTOOL_VERSION).tar.gz + $(EXTRACT_GZ) + +.libtool: libtool + (cd $<; ./configure --prefix=$(PREFIX) && make && make install) + ln -sf libtool $(PREFIX)/bin/glibtool + ln -sf libtoolize $(PREFIX)/bin/glibtoolize touch $@ + +CLEAN_PKG += libtool +DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz +CLEAN_FILE += .libtool + endif ifeq ($(BUILD),i586-pc-beos) @@ -301,10 +325,10 @@ libtool: libtool-$(LIBTOOL_VERSION).tar.gz CLEAN_PKG += libtool DISTCLEAN_PKG += libtool-$(LIBTOOL_VERSION).tar.gz -endif - CLEAN_FILE += .libtool +endif + # *************************************************************************** # automake # *************************************************************************** @@ -363,7 +387,7 @@ endif ifdef HAVE_WIN32 ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-relocatable --with-iconv-prefix=$(PREFIX) --disable-java --disable-native-java) else - ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-java --disable-native-java) + ( cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-java --disable-native-java --without-emacs) endif ifeq ($(BUILD),i586-pc-beos) # The ugliest kludge ever - so libtool correctly links shared libraries @@ -371,8 +395,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 ) @@ -400,6 +429,7 @@ libiconv: libiconv-$(LIBICONV_VERSION).tar.gz ifdef HAVE_DARWIN_OS patch -p0 < Patches/libiconv.patch endif + patch -p0 < Patches/libiconv-autoconf-uclibc.patch ifdef HAVE_DARWIN_OS .iconv: @@ -415,6 +445,38 @@ CLEAN_FILE += .iconv CLEAN_PKG += libiconv DISTCLEAN_PKG += libiconv-$(LIBICONV_VERSION).tar.gz +# *************************************************************************** +# fontconfig +# *************************************************************************** + +fontconfig-$(FONTCONFIG_VERSION).tar.gz: + $(WGET) $(FONTCONFIG_URL) + +fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch + $(EXTRACT_GZ) + patch -p0 < Patches/fontconfig.patch + +.fontconfig: fontconfig +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) + 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) + 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)) + 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) + endif +endif + $(INSTALL_NAME) + touch $@ + +CLEAN_FILE += .fontconfig +CLEAN_PKG += fontconfig +DISTCLEAN_PKG += fontconfig-$(FONTCONFIG_VERSION).tar.gz + # *************************************************************************** # freetype2 # *************************************************************************** @@ -424,6 +486,7 @@ freetype-$(FREETYPE2_VERSION).tar.gz: freetype2: freetype-$(FREETYPE2_VERSION).tar.gz $(EXTRACT_GZ) + patch -p0 < Patches/freetype-cross.patch .freetype: freetype2 ifdef HAVE_CYGWIN @@ -442,15 +505,19 @@ DISTCLEAN_PKG += freetype-$(FREETYPE2_VERSION).tar.gz # fribidi # *************************************************************************** -fribidi-$(FRIBIDI_VERSION).tar.gz: +fribidi-$(FRIBIDI_VERSION).tar.bz2: $(WGET) $(FRIBIDI_URL) -fribidi: fribidi-$(FRIBIDI_VERSION).tar.gz - $(EXTRACT_GZ) +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 tremor-$(TREMOR_VERSION).tar.bz2: + echo "tremor snapshot does not exist, you MUST use subversion !" + exit -1 $(WGET) $(TREMOR_URL) tremor: tremor-$(TREMOR_VERSION).tar.bz2 @@ -635,8 +746,6 @@ endif ifdef SVN tremor-source: tremor - cd tremor; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; tar cfvz tremor-$(DATE).tar.gz tremor SOURCE += tremor-source @@ -644,7 +753,7 @@ endif CLEAN_FILE += .tremor CLEAN_PKG += tremor -#DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.gz +#DISTCLEAN_PKG += tremor-$(TREMOR_VERSION).tar.bz2 #no tremor snapshot # *************************************************************************** # theora @@ -656,15 +765,17 @@ libtheora-$(THEORA_VERSION).tar.bz2: libtheora: libtheora-$(THEORA_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/theora.patch - patch -p0 < Patches/theora-1.0a7.patch (cd $@; autoconf) .theora: libtheora .ogg ifdef HAVE_BEOS - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest && make && make install) - + ifdef HAVE_DARWIN_9 + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm --disable-sdltest --disable-oggtest --disable-vorbistest --disable-asm --disable-examples && make && make install) + else + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples && make && make install) + endif endif $(INSTALL_NAME) touch $@ @@ -684,10 +795,10 @@ libshout: libshout-$(SHOUT_VERSION).tar.gz $(EXTRACT_GZ) ifdef HAVE_WIN32 patch -p0 < Patches/libshout-win32.patch - (cd $@; aclocal && automake) + (cd $@; autoreconf && automake) endif -.shout: libshout .theora .ogg .speex +.shout: libshout .theora .ogg .speex .vorbis (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install ) $(INSTALL_NAME) touch $@ @@ -706,24 +817,23 @@ flac-$(FLAC_VERSION).tar.gz: flac: flac-$(FLAC_VERSION).tar.gz $(EXTRACT_GZ) ifdef HAVE_WIN32 - patch -p0 < Patches/flac-mingw32.patch -endif -ifneq ($(HOST),$(BUILD)) - (patch -p0 < Patches/flac-cross.patch && cd $@ && autoconf) + patch -p0 < Patches/flac-win32.patch endif +FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs + .flac: flac .ogg ifdef HAVE_WIN32 - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-oggtest && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src&& make -C libFLAC&& make -C libFLAC install && cd .. && make -C include install) else ifdef HAVE_DARWIN_OS ifdef HAVE_DARWIN_OS_ON_INTEL - (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations&& cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) else - (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) endif else - (cd $<; autoconf && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-oggtest && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) endif endif $(INSTALL_NAME) @@ -767,40 +877,38 @@ DISTCLEAN_PKG += speex-$(SPEEX_VERSION).tar.gz # (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 $@; ./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 # *************************************************************************** -faac-$(FAAC_VERSION).tar.bz2: +faac-$(FAAC_VERSION).tar.gz: $(WGET) $(FAAC_URL) -faac: faac-$(FAAC_VERSION).tar.bz2 - $(EXTRACT_BZ2) - patch -p0 < Patches/faac.patch +faac: faac-$(FAAC_VERSION).tar.gz + $(EXTRACT_GZ) .faac: faac - (cd $<; rm -f install-sh mkinstalldirs missing && ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) + (cd $<; ./bootstrap && $(HOSTCC) ./configure $(HOSTCONF) --without-mp4v2 --prefix=$(PREFIX) --disable-shared && make && make install) touch $@ CLEAN_FILE += .faac CLEAN_PKG += faac -DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.bz2 +DISTCLEAN_PKG += faac-$(FAAC_VERSION).tar.gz # *************************************************************************** # lame @@ -811,7 +919,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) @@ -828,13 +935,15 @@ 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) export 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 @@ -847,14 +956,12 @@ else $(RANLIB) $(PREFIX)/lib/libebml.a endif touch $@ - -ifdef SVN -libebml-source: libebml - cd libebml; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; - tar cfvz libebml-$(DATE).tar.gz libebml -SOURCE += libebml-source -endif +## 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 @@ -867,13 +974,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) export http://svn.matroska.org/svn/matroska/trunk/libmatroska libmatroska +#else libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 $(EXTRACT_BZ2) -endif +#endif + ifdef HAVE_WIN32 (cd $@; patch -p0 < ../Patches/libmatroska-win32.patch) endif @@ -887,27 +996,63 @@ else endif touch $@ -ifdef SVN -libmatroska-source: libmatroska - cd libmatroska; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; - 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).bz2 + +# *************************************************************************** + # ffmpeg # *************************************************************************** +ifdef SVN ffmpeg: $(SVN) export $(FFMPEG_SVN) ffmpeg - (cd "$@" && patch -p1 < ../Patches/ffmpeg-svn-nofile.patch) (cd "$@" && patch -p0 < ../Patches/ffmpeg-svn-swscale-pc.patch) ifeq ($(HOST),i586-pc-beos) (cd $@; patch -p0 < ../Patches/ffmpeg-svn-beos.patch) @@ -918,26 +1063,39 @@ endif ifdef HAVE_BEOS (cd $@; patch -p0 < ../Patches/ffmpeg-alignment.patch) endif +ifdef HAVE_DARWIN_OS + (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 +endif +else ffmpeg-$(FFMPEG_VERSION).tar.gz: + echo "ffmpeg snapshot is too old, you MUST use subversion !" + exit -1 $(WGET) $(FFMPEG_URL) -#ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz -# $(EXTRACT_GZ) -# patch -p0 < Patches/ffmpeg.patch +ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz + $(EXTRACT_GZ) +endif ifdef HAVE_WINCE .ffmpeg: ffmpeg .zlib else +ifdef HAVE_UCLIBC +.ffmpeg: ffmpeg +else .ffmpeg: ffmpeg .faac .lame 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-network --enable-liba52 --disable-ffplay && make && make install-libs install-headers) +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) touch $@ ifdef SVN ffmpeg-source: ffmpeg - cd ffmpeg; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; tar cfvz ffmpeg-$(DATE).tar.gz ffmpeg SOURCE += ffmpeg-source @@ -970,52 +1128,23 @@ endif ifdef SVN libdvdcss-source: libdvdcss - cd libmatroska; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; tar cfvz libdvdcss-$(DATE).tar.gz libdvdcss SOURCE += libdvdcss-source endif - CLEAN_FILE += .dvdcss CLEAN_PKG += libdvdcss DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz -# *************************************************************************** -# libdvdread: We use dvdnav's dvdread -# *************************************************************************** - -#libdvdread-$(LIBDVDREAD_VERSION).tar.bz2: -# $(WGET) $(LIBDVDREAD_URL) - -#libdvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 -# $(EXTRACT_BZ2) -# patch -p 0 < Patches/libdvdread.patch -#ifdef HAVE_WIN32 -# if automake-1.4 --version >/dev/null 2>&1; then \ -# echo "Please get rid of your automake 1.4"; \ -# rm -rf $@ \ -# exit 1; \ -# fi -# (cd libdvdread; patch -p0 < ../Patches/libdvdread-20041028-win32.patch; ./bootstrap) -#endif - -#.dvdread: libdvdread .dvdcss -# (cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) -# $(INSTALL_NAME) -# touch $@ - -#CLEAN_FILE += .dvdread -#CLEAN_PKG += libdvdread -#DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 - # *************************************************************************** # dummy dvdread to trigger the INSTALL_NAME script # *************************************************************************** .dvdread: .dvdnav $(INSTALL_NAME) - (install_name_tool -change $(PREFIX)/lib/libdvdread.0.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib) +ifdef HAVE_DARWIN_OS + install_name_tool -change $(PREFIX)/lib/libdvdread.4.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib +endif touch $@ CLEAN_FILE += .dvdread @@ -1024,18 +1153,24 @@ CLEAN_FILE += .dvdread # libdvdnav # *************************************************************************** +ifdef SVN +libdvdnav: + $(SVN) export $(LIBDVDNAV_SVN) libdvdnav + patch -p0 < Patches/libdvdnav.patch + (cd $@; ./autogen.sh noconfig) +else libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2: $(WGET) $(LIBDVDNAV_URL) libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 $(EXTRACT_BZ2) - patch -p0 < Patches/dvdnav.patch - patch -p0 < Patches/libdvdnav-mactel.patch + patch -p0 < Patches/libdvdnav.patch (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) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(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) endif @@ -1050,10 +1185,10 @@ DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 # libdvbpsi # *************************************************************************** -libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz: +libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz: $(WGET) $(LIBDVBPSI_URL) -libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz +libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz $(EXTRACT_GZ) .dvbpsi: libdvbpsi @@ -1063,7 +1198,7 @@ libdvbpsi: libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz CLEAN_FILE += .dvbpsi CLEAN_PKG += libdvbpsi -DISTCLEAN_PKG += libdvbpsi3-$(LIBDVBPSI_VERSION).tar.gz +DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz # *************************************************************************** # live @@ -1082,20 +1217,28 @@ ifdef HAVE_DARWIN_OS patch -p0 < Patches/live-osx.patch endif patch -p0 < Patches/live-starttime.patch - patch -p0 < Patches/live-config.patch + (cd live/liveMedia/include; \ + mv liveMedia_version.hh liveMedia_version.hh.bak; \ + sed -e 's/.*LIVEMEDIA_LIBRARY_VERSION_INT.*/#define LIVEMEDIA_LIBRARY_VERSION_INT 9999999999/' liveMedia_version.hh.bak > liveMedia_version.hh ) + patch -Np0 < Patches/live-config.patch +ifdef HAVE_UCLIBC + patch -p0 < Patches/live-noapps.patch +endif .live: live ifdef HAVE_WIN32 (cd $<;./genMakefiles mingw && make $(HOSTCC)) else -ifeq ($(HOST),ppc-darwin) - (cd $<; ./genMakefiles macosx-before-version-10.4 && make ) -else ifdef HAVE_DARWIN_OS (cd $<; sed -e 's%EXTRA_CFLAGS%$(EXTRA_CFLAGS)%' -e 's%EXTRA_LDFLAGS%$(EXTRA_LDFLAGS)%' -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) +ifdef HAVE_UCLIBC +ifdef HAVE_BIGENDIAN + (cd $<; ./genMakefiles armeb-uclibc && make $(HOSTCC)) +endif +else (cd $<; ./genMakefiles linux && make $(HOSTCC)) endif endif @@ -1140,15 +1283,14 @@ endif ifdef HAVE_WIN32 (cd $@; dos2unix configure.in) patch -p0 < Patches/goom2k4-0-win32.patch -else - patch -p0 < Patches/goom2k4-0-mmx.patch endif + patch -p0 < Patches/goom2k4-0-mmx.patch .goom2k4: goom ifdef HAVE_DARWIN_OS (cd $<; ./configure --prefix=$(PREFIX) --disable-shared --enable-static && make && make install) else - (cd $< && rm -f configure; autoconf configure.in > 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 $@ @@ -1182,25 +1324,20 @@ DISTCLEAN_PKG += libcaca-$(LIBCACA_VERSION).tar.gz # libdca # *************************************************************************** -libdca: - $(SVN) co $(LIBDCA_SVN) -r 35 libdca - (cd $@; ./bootstrap) +libdca-$(LIBDCA_VERSION).tar.bz2: + $(WGET) $(LIBDCA_URL) -.libdca: libdca +libdca: libdca-$(LIBDCA_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +.dca: libdca (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) + $(INSTALL_NAME) touch $@ -ifdef SVN -libdca-source: libdca - cd libdca; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; - tar cfvz libdca-$(DATE).tar.gz libdca - -SOURCE += libdca-source -endif - -CLEAN_FILE += .libdca +CLEAN_FILE += .dca CLEAN_PKG += libdca +DISTCLEAN_PKG += libdca-$(LIBDCA_VERSION).tar.bz2 # *************************************************************************** # libx264 @@ -1220,7 +1357,9 @@ 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 @@ -1229,17 +1368,19 @@ endif ifdef HAVE_WIN32 .x264: x264 .pthreads - (cd $<; ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) + 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)" && make && make install) + endif else .x264: x264 - (cd $<; ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) + (cd $<; $(HOSTCC) ./configure $(X264CONF) --prefix="$(PREFIX)" && make && make install) endif touch $@ ifdef SVN x264-source: x264 - cd x264; find . -depth -iname ".svn" -exec rm -rf {} \; - cd ..; tar cfvz x264-$(DATE).tar.gz x264 SOURCE += x264-source @@ -1327,24 +1468,6 @@ CLEAN_FILE += .cdio CLEAN_PKG += libcdio DISTCLEAN_PKG += libcdio-$(CDIO_VERSION).tar.gz -# *************************************************************************** -# OpenMash -# *************************************************************************** -# -#mash-src-$(MASH_VERSION).tar.gz: -# $(WGET) $(MASH_URL) -# -#mash-code: mash-src-$(MASH_VERSION).tar.gz -# $(EXTRACT_GZ) -# -#.mash: mash-code -# (cd $<; ./configure && make) -# touch $@ -# -#CLEAN_FILE += .mash -#CLEAN_PKG += mash-code -#DISTCLEAN_PKG += mash-src-$(MASH_VERSION).tar.gz - # *************************************************************************** # wxWidgets # *************************************************************************** @@ -1376,19 +1499,18 @@ qt4-$(QT4_VERSION)-win32-bin.tar.gz: qt4: qt4-$(QT4_VERSION)-win32-bin.tar.gz $(EXTRACT_GZ) - .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) ifeq ($(BUILD),i686-pc-cygwin) - (cd qt4;cp bin/rcc.exe bin/uic.exe bin/moc.exe $(PREFIX)/bin) + (cd qt4;cp bin/*.exe $(PREFIX)/bin) else - (cd qt4;cp bin/rcc bin/uic bin/moc $(PREFIX)/bin) + (cd qt4;cp bin/* $(PREFIX)/bin) endif touch $@ CLEAN_FILE += .qt4 CLEAN_PKG += qt4 -#DISTCLEAN_PKG += qt4-$(QT4_VERSION).tar.gz +DISTCLEAN_PKG += qt4-$(QT4_VERSION)-win32-bin.tar.gz # *************************************************************************** # zlib @@ -1410,7 +1532,6 @@ CLEAN_FILE += .zlib CLEAN_PKG += zlib DISTCLEAN_PKG += zlib-$(ZLIB_VERSION).tar.gz - # *************************************************************************** # PortAudio # *************************************************************************** @@ -1433,7 +1554,6 @@ CLEAN_FILE += .portaudio CLEAN_PKG += portaudio DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz - # *************************************************************************** # xml # *************************************************************************** @@ -1447,9 +1567,19 @@ 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 .xml: xml +ifdef HAVE_WIN32 + (cd xml; aclocal && automake && autoreconf) +endif + ifdef HAVE_CYGWIN + (cd xml; ac_cv_header_pthread_h="no" 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) + else (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) + endif ifndef HAVE_DARWIN_OS $(INSTALL_NAME) endif @@ -1459,7 +1589,6 @@ CLEAN_FILE += .xml CLEAN_PKG += xml DISTCLEAN_PKG += libxml2-$(XML_VERSION).tar.gz - # *************************************************************************** # twolame # *************************************************************************** @@ -1516,9 +1645,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 @@ -1535,8 +1664,17 @@ zvbi-$(ZVBI_VERSION).tar.bz2: zvbi: zvbi-$(ZVBI_VERSION).tar.bz2 $(EXTRACT_BZ2) +ifdef HAVE_WIN32 +.zvbi: zvbi .pthreads +else .zvbi: zvbi - (cd $<; ./configure --prefix=$(PREFIX) && make) +endif +ifdef HAVE_DARWIN_OS + (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -fnested-functions" && make && make install) +else + (cd $<; ./configure --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) +endif + $(INSTALL_NAME) touch $@ CLEAN_FILE += .zvbi @@ -1544,9 +1682,6 @@ CLEAN_PKG += zvbi DISTCLEAN_PKG += zvbi-$(ZVBI_VERSION).tar.bz2 # *************************************************************************** -# gpg-error -# *************************************************************************** - # libraw1394 # *************************************************************************** @@ -1568,12 +1703,12 @@ libraw1394: libraw1394-$(LIBRAW1394_VERSION).tar.gz $(EXTRACT_GZ) #endif -.libraw1394: libraw1394 +.raw1394: libraw1394 (cd $<; ./configure --prefix=$(PREFIX) && make && make DESTDIR=$(PRFIX) install) # sed 's/^typedef u_int8_t byte_t;/\/* typedef u_int8_t byte_t;\*\//' touch $@ -CLEAN_file += .libraw1394 +CLEAN_FILE += .raw1394 CLEAN_PKG += libraw1394 DISTCLEAN_PKG += libraw1394-$(LIBRAW1394_VERSION).tar.gz @@ -1599,26 +1734,25 @@ libdc1394: libdc1394-$(LIBDC1394_VERSION).tar.gz $(EXTRACT_GZ) #endif -.libdc1394: libdc1394 +.dc1394: libdc1394 (cd $<; ./configure --prefix=$(PREFIX) && \ patch -p1 < ../Patches/libdc1394-noexamples.patch && \ make && make DESTDIR=$(PRFIX) install) touch $@ -CLEAN_file += .libdc1394 +CLEAN_FILE += .dc1394 CLEAN_PKG += libdc1394 DISTCLEAN_PKG += libdc1394-$(LIBDC1394_VERSION).tar.gz # *************************************************************************** -libgpg-error-$(GPGERROR_VERSION).tar.gz: +# gpg-error +# *************************************************************************** + +libgpg-error-$(GPGERROR_VERSION).tar.bz2: $(WGET) $(GPGERROR_URL) -libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.gz - $(EXTRACT_GZ) - patch -p0 < Patches/libgpg-error.patch -ifdef HAVE_WIN32 - patch -p0 < Patches/libgpg-error-win32.patch -endif +libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2 + $(EXTRACT_BZ2) .gpg-error: libgpg-error ifdef HAVE_DARWIN_OS_ON_INTEL @@ -1630,7 +1764,7 @@ endif CLEAN_FILE += .gpg-error CLEAN_PKG += libgpg-error -DISTCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.gz +DISTCLEAN_PKG += libgpg-error-$(GPGERROR_VERSION).tar.bz2 # *************************************************************************** # libgcrypt @@ -1735,11 +1869,11 @@ libIDL-$(LIBIDL_VERSION).tar.gz: libIDL: libIDL-$(LIBIDL_VERSION).tar.gz $(EXTRACT_GZ) -.libidl: libIDL +.IDL: libIDL (cd $<; ./configure --prefix=$(PREFIX) --host=powerpc-apple-macos && make && make install ) touch $@ -CLEAN_FILE += .libidl +CLEAN_FILE += .IDL CLEAN_PKG += libIDL DISTCLEAN_PKG += libIDL-$(LIBIDL_VERSION).tar.gz @@ -1788,7 +1922,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: @@ -1797,12 +1931,12 @@ mozilla-source-$(MOZILLA_VERSION).tar.bz2: mozilla: mozilla-source-$(MOZILLA_VERSION).tar.bz2 $(EXTRACT_BZ2) -.mozilla: mozilla +.mozilla-macosx: mozilla-macosx (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 # *************************************************************************** @@ -1896,7 +2030,7 @@ libmpcdec-$(MUSE_VERSION).tar.bz2: mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 $(EXTRACT_BZ2) patch -p0 < Patches/mpcdec.patch - (cd $@; ./autogen.sh) + (cd $@; autoreconf) .mpcdec: mpcdec ifdef HAVE_WIN32 @@ -1922,13 +2056,12 @@ dirac-$(DIRAC_VERSION).tar.gz: dirac: dirac-$(DIRAC_VERSION).tar.gz $(EXTRACT_GZ) -ifdef HAVE_DARWIN_OS -# patch -p0