X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=6d6fcd04b57757ad5ed97e352ee8bd675c71034a;hb=2e3a8c064b0bbe7cccec85b4a2bb9082ef7d8433;hp=b6ba0f0bf443d31f18d3e009ba86be93c7c5ec23;hpb=c460870aebf217e8b73ef48dde04dd4fd34532f3;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index b6ba0f0bf4..6d6fcd04b5 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -115,7 +115,7 @@ endif # ifdef HAVE_WIN32 HOSTCONF+= --without-pic --disable-shared --enable-msw --disable-dependency-tracking -FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack +FFMPEGCONF+= --target-os=mingw32 --arch=x86 --enable-memalign-hack ifdef HAVE_WIN64 FFMPEGCONF+= --cpu=athlon64 --arch=x86_64 else @@ -125,7 +125,7 @@ endif ifdef HAVE_WINCE HOSTCONF+= --without-pic --disable-shared -FFMPEGCONF+= --arch=armv4l --cpu=armv4t --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 +FFMPEGCONF+= --target-os=mingw32ce --arch=armv4l --cpu=armv4t --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 @@ -169,6 +169,7 @@ FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree endif ifdef HAVE_LINUX +FFMPEGCONF+= --target-os=linux ifdef HAVE_MAEMO ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),) FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8 @@ -376,9 +377,6 @@ gettext-$(GETTEXT_VERSION).tar.gz: gettext: gettext-$(GETTEXT_VERSION).tar.gz $(EXTRACT_GZ) -ifdef HAVE_WIN32 - patch -p0 < Patches/gettext-win32.patch -endif ifdef HAVE_DARWIN_OS patch -p0 < Patches/gettext-macosx.patch endif @@ -392,18 +390,18 @@ endif ifneq ($(HOST),$(BUILD)) 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 ) + ( cd $< && make -C gettext-runtime/intl && 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 ) + ( cd $< && make && make install ) endif else # Build and install the whole gettext - ( cd $< && make && patch -p1 < ../Patches/libintl.patch && make install ) + ( cd $< && make && make install ) endif # Work around another non-sense of autoconf. ifdef HAVE_WIN32 - (cd $(PREFIX)/include; sed -i.orig '311 c #if 0' libintl.h) + (cd $(PREFIX)/include; sed -i.orig '314 c #if 0' libintl.h) endif $(INSTALL_NAME) touch $@ @@ -469,13 +467,13 @@ fontconfig: fontconfig-$(FONTCONFIG_VERSION).tar.gz Patches/fontconfig.patch ifdef HAVE_WIN32 patch -p0 < Patches/fontconfig.patch patch -p0 < Patches/fontconfig-noxml2.patch -endif (cd $@; autoreconf -ivf) +endif .fontconfig: fontconfig .xml .freetype ifdef HAVE_WIN32 ifdef HAVE_CYGWIN - (cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --enable-libxml2 && make && make install) + (cd $<; ./configure --target=$(HOST) --disable-pic --disable-shared --disable-docs --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --disable-libxml2 && make && make install) else (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --with-arch=i686 --prefix=$(PREFIX) --with-freetype-config=$(PREFIX)/bin/freetype-config --disable-libxml2 --disable-docs && make && make install) endif @@ -575,29 +573,6 @@ CLEAN_FILE += .mpeg2 CLEAN_PKG += libmpeg2 DISTCLEAN_PKG += libmpeg2-$(LIBMPEG2_VERSION).tar.gz -# *************************************************************************** -# libid3tag -# *************************************************************************** - -libid3tag-$(LIBID3TAG_VERSION).tar.gz: - $(WGET) $(LIBID3TAG_URL) - -libid3tag: libid3tag-$(LIBID3TAG_VERSION).tar.gz - $(EXTRACT_GZ) - patch -d libid3tag -p0 < Patches/libid3tag-0.15.1b-fix-CVE-2008-2109.patch -ifdef HAVE_DARWIN_OS - ( cd $@; sed -e 's%-dynamiclib%-dynamiclib -arch $(ARCH)%' -i.orig configure ) -endif - -.id3tag: libid3tag - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) - $(INSTALL_NAME) - touch $@ - -CLEAN_FILE += .id3tag -CLEAN_PKG += libid3tag -DISTCLEAN_PKG += libid3tag-$(LIBID3TAG_VERSION).tar.gz - # *************************************************************************** # pcre # *************************************************************************** @@ -693,7 +668,7 @@ libogg-$(OGG_VERSION).tar.gz: libogg: libogg-$(OGG_VERSION).tar.gz $(EXTRACT_GZ) - patch -p0 < Patches/ogg.patch + patch -p0 < Patches/libogg-inttypes.patch patch -p0 < Patches/libogg-1.1.patch ifdef HAVE_WINCE patch -p0 < Patches/libogg-wince.patch @@ -850,19 +825,18 @@ endif FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs .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 -ifdef HAVE_DARWIN_OS ifdef HAVE_DARWIN_OS_ON_INTEL - (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 $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) && cd src && make -C libFLAC && make -C libFLAC install && cd .. && make -C include install) -endif + cd $< && \ + $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-asm-optimizations $(FLAC_DISABLE_FLAGS) else - (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 + cd $< && \ + $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS) +endif + cd $> libFLAC/flac.pc && \ + make -C libFLAC install + cd $< && make -C include install $(INSTALL_NAME) touch $@ @@ -910,24 +884,6 @@ CLEAN_FILE += .faad CLEAN_PKG += faad2 DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz -# *************************************************************************** -# lame -# *************************************************************************** - -lame-$(LAME_VERSION).tar.gz: - $(WGET) $(LAME_URL) - -lame: lame-$(LAME_VERSION).tar.gz - $(EXTRACT_GZ) - -.lame: lame - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install) - touch $@ - -CLEAN_FILE += .lame -CLEAN_PKG += lame -DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz - # *************************************************************************** # libebml # *************************************************************************** @@ -937,16 +893,10 @@ libebml-$(LIBEBML_VERSION).tar.bz2: libebml: libebml-$(LIBEBML_VERSION).tar.bz2 $(EXTRACT_BZ2) -ifdef HAVE_WIN32 - (cd $@; patch -p0 < ../Patches/libebml-svn-win32.patch) -endif -ifdef HAVE_WIN64 - patch -p0 < Patches/libebml-win64.patch -endif .ebml: libebml ifdef HAVE_WIN32 - (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) CFLAGS="$(CFLAGS) -DWIN32" SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2)) + (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) SHARED=no && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC)) 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 @@ -966,16 +916,12 @@ libmatroska-$(LIBMATROSKA_VERSION).tar.bz2: libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 $(EXTRACT_BZ2) - patch -p0 < ./Patches/libmatroska-kaxblock.patch -ifdef HAVE_WIN32 - (cd $@; patch -p0 < ../Patches/libmatroska-win32.patch) -endif .matroska: libmatroska .ebml ifdef HAVE_WIN32 - (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2)) + (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC) SHARED=no EBML_DLL=no libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC)) else - (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) + (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) $(RANLIB) $(PREFIX)/lib/libmatroska.a endif touch $@ @@ -985,6 +931,66 @@ CLEAN_FILE += .matroska CLEAN_PKG += libmatroska DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 + +# *************************************************************************** +# libvp8 +# *************************************************************************** + +#ibvpx-$(VPX_VERSION).tar.bz2: +#$(WGET) $(VPX_URL) + +libvpx: + $(GIT) clone git://review.webmproject.org/libvpx.git + +ifdef HAVE_WIN32 +VPX_TARGET=x86-win32-gcc +CROSS= +else +ifdef HAVE_DARWIN_OS +ifdef HAVE_DARWIN_64 +VPX_TARGET=x86_64-darwin9-gcc +else +ifdef HAVE_DARWIN_OS_ON_INTEL +VPX_TARGET=x86-darwin9-gcc +else +VPX_TARGET=ppc32-darwin9-gcc +endif +endif +else +VPX_TARGET=FIXME +endif +endif + +.libvpx: libvpx + (cd $<; CROSS=$(HOST)- ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-examples && make && make install) + (rm -rf $(PREFIX)/include/vpx/ && mkdir $(PREFIX)/include/vpx/; cd $< && cp vpx/*.h vpx_ports/*.h $(PREFIX)/include/vpx/) # Of course, why the hell would one expect it to be listed or in make install? + rm $(PREFIX)/include/vpx/config.h + (cd $<; $(RANLIB) libvpx.a && cp libvpx.a $(PREFIX)/lib) # Of course, why the hell would one expect it to be listed or in make install? + touch $@ + +CLEAN_FILE += .libvpx +CLEAN_PKG += libvpx +#DISTCLEAN_PKG += libvpx-$(VPX_VERSION).tar.bz2 + +# *************************************************************************** +# lame +# *************************************************************************** + +lame-$(LAME_VERSION).tar.gz: + $(WGET) $(LAME_URL) + +lame: lame-$(LAME_VERSION).tar.gz + $(EXTRACT_GZ) + +.lame: lame + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-analyser-hooks --disable-decoder --disable-shared --disable-gtktest --disable-frontend && make && make install) + touch $@ + +CLEAN_FILE += .lame +CLEAN_PKG += lame +DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz + + # *************************************************************************** # libamrnb # *************************************************************************** @@ -1031,18 +1037,23 @@ ifdef SVN ifdef HAVE_WIN32 ffmpeg: .dshow_headers else -ffmpeg: +ffmpeg: endif $(SVN) co $(FFMPEG_SVN) ffmpeg ifdef HAVE_ISA_THUMB patch -p0 < Patches/ffmpeg-avcodec-no-thumb.patch endif +ifdef HAVE_WIN64 + (cd ffmpeg/libswscale; patch -p0 < ../../Patches/ffmpeg-win64.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 - (cd $@; patch -p1 < ../Patches/eac3_spectral.patch) +ifdef HAVE_WIN32 + sed -i "s/std=c99/std=gnu99/" ffmpeg/configure +endif else ffmpeg-$(FFMPEG_VERSION).tar.gz: echo "ffmpeg snapshot is too old, you MUST use subversion !" @@ -1062,12 +1073,17 @@ FFMPEGCONF += \ --disable-ffplay \ --disable-devices \ --disable-protocols \ - --disable-filters \ + --disable-avfilter \ --disable-network +ifdef HAVE_WIN64 +FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --disable-dxva2 --disable-bsfs +else ifdef HAVE_WIN32 -FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --enable-dxva2 --disable-bsfs +FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis --enable-libmp3lame --enable-w32threads --enable-dxva2 --disable-bsfs --enable-libvpx else -FFMPEGCONFG += --enable-pthreads +FFMPEGCONF += --enable-pthreads +endif +FFMPEG_CFLAGS += --std=gnu99 endif ifdef HAVE_WINCE @@ -1076,10 +1092,14 @@ else ifdef HAVE_UCLIBC .ffmpeg: ffmpeg else -.ffmpeg: ffmpeg .lame .gsm +ifeq ($(ARCH),armel) +.ffmpeg: ffmpeg .lame .gsm .zlib +else +.ffmpeg: ffmpeg .lame .gsm .libvpx .zlib +endif endif endif - (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) $(FFMPEG_CFLAGS)" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers) + (cd $<; $(HOSTCC) ./configure --prefix=$(PREFIX) --extra-cflags="$(FFMPEG_CFLAGS) -DHAVE_STDINT_H" --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) --disable-shared --enable-static && make && make install-libs install-headers) touch $@ ifdef SVN @@ -1097,42 +1117,33 @@ DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz # libdvdcss # *************************************************************************** -libdvdcss-$(LIBDVDCSS_VERSION).tar.gz: +libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2: $(WGET) $(LIBDVDCSS_URL) -ifdef SVN -libdvdcss: - $(SVN) co svn://svn.videolan.org/libdvdcss/trunk libdvdcss - cd $@ && sh bootstrap -else -libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.gz - $(EXTRACT_GZ) -endif +# ifdef SVN +# libdvdcss: +# $(SVN) co svn://svn.videolan.org/libdvdcss/trunk libdvdcss +# cd $@ && sh bootstrap +# else +libdvdcss: libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2 + $(EXTRACT_BZ2) +# endif .dvdcss: libdvdcss (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --disable-doc --prefix=$(PREFIX) && make && make install) $(INSTALL_NAME) touch $@ -ifdef SVN -libdvdcss-source: libdvdcss - tar cv --exclude=.svn libdvdcss | bzip2 > libdvdcss-$(DATE).tar.bz2 - -SOURCE += libdvdcss-source -endif +# ifdef SVN +# libdvdcss-source: libdvdcss +# tar cv --exclude=.svn libdvdcss | bzip2 > libdvdcss-$(DATE).tar.bz2 +# +# SOURCE += libdvdcss-source +# endif CLEAN_FILE += .dvdcss CLEAN_PKG += libdvdcss -DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz - -# *************************************************************************** -# dummy dvdread to trigger the INSTALL_NAME script -# *************************************************************************** -# .dvdread: .dvdnav -# $(INSTALL_NAME) -# touch $@ -# -# CLEAN_FILE += .dvdread +DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2 # *************************************************************************** # libdvdread: We use dvdnav's dvdread @@ -1180,7 +1191,7 @@ endif ifdef HAVE_WIN32 (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) && make && make install) else - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -Dlseek64=lseek -Doff64_t=off_t" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) CFLAGS="$(CFLAGS)" && make && make install) endif $(INSTALL_NAME) touch $@ @@ -1193,10 +1204,10 @@ DISTCLEAN_PKG += libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 # libdvbpsi # *************************************************************************** -libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz: +libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz: $(WGET) $(LIBDVBPSI_URL) -libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz +libdvbpsi: libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz $(EXTRACT_GZ) .dvbpsi: libdvbpsi @@ -1206,7 +1217,7 @@ libdvbpsi: libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz CLEAN_FILE += .dvbpsi CLEAN_PKG += libdvbpsi -DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz +DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz # *************************************************************************** # live @@ -1218,9 +1229,15 @@ live555-$(LIVEDOTCOM_VERSION).tar.gz: live: live555-$(LIVEDOTCOM_VERSION).tar.gz $(EXTRACT_GZ) patch -p0 < Patches/live-uselocale.patch + patch -p0 < Patches/live-inet_ntop.patch ifdef HAVE_WIN64 patch -p0 < Patches/live-win64.patch endif +ifndef HAVE_WIN32 +ifndef HAVE_WINCE + patch -p0 < Patches/live-getaddrinfo.patch +endif +endif .live: live ifdef HAVE_WIN32 @@ -1239,12 +1256,16 @@ ifdef HAVE_UCLIBC ifdef HAVE_BIGENDIAN (cd $<; ./genMakefiles armeb-uclibc && make $(HOSTCC)) endif +else +ifeq ($(ARCH)$(HAVE_MAEMO),armel) + (cd $<; ./genMakefiles armlinux && make $(HOSTCC)) else (cd $<; sed -e 's%-D_FILE_OFFSET_BITS=64%-D_FILE_OFFSET_BITS=64\ -fPIC\ -DPIC%' -i.orig config.linux) (cd $<; ./genMakefiles linux && make $(HOSTCC)) endif endif endif +endif endif mkdir -p $(PREFIX)/lib $(PREFIX)/include cp $