X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=76e1d3f550db60744b5da304d17afaf5807cdd9a;hb=13c581afd2979c5f0467b6fef1f18c4a67b43dd3;hp=9ca9ba9c7d637b8425621a509fa5ebde1f49f273;hpb=a5b7677e204efb07bfb505190832d831f5f5516c;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index 9ca9ba9c7d..76e1d3f550 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -23,7 +23,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. # *************************************************************************** include ../config.mak @@ -65,6 +65,11 @@ ifneq ($(AR),) HOSTCC+= AR="$(AR)" endif +# Define ranlib on non-cross compilation setups +ifeq ($(RANLIB),) +RANLIB=ranlib +endif + # For libebml/libmatroska. Grrr. ifneq ($(AR),) HOSTCC2=$(HOSTCC) AR="$(AR) rcvu" @@ -78,7 +83,7 @@ HOSTCONF=--host=$(HOST) --build=$(BUILD) FFMPEGCONF=--cross-prefix=$(HOST)- X264CONF=--crosscompile=$(HOST) else - ifneq ($CC,) + ifneq ($(CC),) FFMPEGCONF=--cc="$(CC)" endif endif @@ -93,7 +98,7 @@ endif ifdef HAVE_WINCE HOSTCONF+= --without-pic --disable-shared -FFMPEGCONF+= --enable-mingwce --cpu=armv4l --disable-debug --disable-encoders --disable-muxers --disable-mpegaudio-hp --disable-codec=snow --disable-codec=vc9 --disable-codec=wmv3 --disable-codec=vorbis --disable-codec=vorbis --disable-codec=dvdsub --disable-codec=dvbsub --disable-protocols +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 else FFMPEGCONF+= --enable-mp3lame --enable-faac endif @@ -102,18 +107,25 @@ ifdef HAVE_BEOS FFMPEGCONF+= --cpu=x86 endif +ifeq ($(HOST),i686-apple-darwin8) +FFMPEGCONF += --enable-memalign-hack +endif + # *************************************************************************** # Standard rules # *************************************************************************** ifdef HAVE_DARWIN_OS all: .autoconf .automake .libtool .iconv .intl .pkgcfg .freetype .fribidi \ - .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .x264 .theora \ - .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg .openslp \ - .dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \ + .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ + .FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg \ + .dvdcss .dvdnav .dvdread .dvbpsi .live .x264 .caca .mod \ .png .gpg-error .gcrypt .gnutls .opendaap .cddb .cdio .vcdimager .SDL_image \ - .glib .libidl .gecko .libmpcdec .expat .clinkcc .aclocal + .glib .libidl .gecko .mpcdec .expat .clinkcc .aclocal # .mozilla will build an entire mozilla. it can be used if we need to create a new .gecko package +ifneq ($(HOST),i686-apple-darwin8) +all: .goom2k4 +endif else ifdef HAVE_BEOS @@ -122,14 +134,14 @@ else all: .perl .autoconf .automake .libtool .iconv .intl .freetype .fribidi \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ - .dvdread .dvdnav .dvbpsi .aclocal + .dvdnav .dvbpsi .aclocal else # Cross compiling: we already have the Linux tools, only build the # libraries now all: .iconv .intl .freetype .fribidi \ .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .twolame .ebml .matroska .ffmpeg .dvdcss \ - .dvdread .dvdnav .dvbpsi .aclocal + .dvdnav .dvbpsi .aclocal endif else @@ -139,10 +151,10 @@ else .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .ebml .matroska .ffmpeg .dvdcss \ .live .goom2k4 .caca .mod .x264 .xml .twolame \ - .png .gpg-error .gcrypt .gnutls .libmpcdec \ - .gnutls .dvdread .dvdnav .dvbpsi .wxwidgets .dirac \ + .png .gpg-error .gcrypt .gnutls .mpcdec \ + .gnutls .dvdnav .dvbpsi .wxwidgets .dirac \ .dx_headers .dshow_headers .aclocal .gecko-win32 -# .SDL_image .daap .cddb .cdio .vcdimager .dts .portaudio +# .SDL_image .daap .cddb .cdio .vcdimager .dts .portaudio else ifdef HAVE_WINCE @@ -155,8 +167,8 @@ else .a52 .mpeg2 .id3tag .mad .ogg .vorbis .vorbisenc .theora \ .FLAC .speex .faad .faac .lame .ebml .dts .matroska .ffmpeg .dvdcss \ .live .goom2k4 .caca .mod .x264 .xml .twolame\ - .png .gpg-error .gcrypt .gnutls .libmpcdec\ - .gnutls .dvdread .dvdnav .dvbpsi .wxwidgets .dirac \ + .png .gpg-error .gcrypt .gnutls .mpcdec\ + .gnutls .dvdnav .dvbpsi .wxwidgets .dirac \ .aclocal # .SDL_image .daap .cddb .cdio .vcdimager endif @@ -275,6 +287,7 @@ DISTCLEAN_PKG += autoconf-$(AUTOCONF_VERSION).tar.gz 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 \ @@ -668,6 +681,9 @@ flac-$(FLAC_VERSION).tar.gz: flac: flac-$(FLAC_VERSION).tar.gz $(EXTRACT_GZ) +ifdef HAVE_DARWIN_OS + patch -p 0 < Patches/flac-mactel.patch +endif ifneq ($(HOST),$(BUILD)) (patch -p 0 < Patches/flac-cross.patch && cd $@ && autoconf) endif @@ -721,11 +737,11 @@ faad2-$(FAAD2_VERSION).tar.bz2: faad2: faad2-$(FAAD2_VERSION).tar.bz2 $(EXTRACT_BZ2) - (cd faad2; patch -p 0 < ../Patches/faad2.patch && ./bootstrap) + (cd $@; patch -p 0 < ../Patches/faad2.patch && ./bootstrap) .faad: faad2 (cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="-O3" && make -C libfaad && make -C libfaad install) -ifndef HAVE_DARWIN +ifndef HAVE_DARWIN_OS $(INSTALL_NAME) endif touch $@ @@ -840,10 +856,8 @@ DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 ffmpeg: echo $(FFMPEG_CVSROOT) A > ./ffmpeg.cvs CVS_PASSFILE=./ffmpeg.cvs cvs -z3 -d $(FFMPEG_CVSROOT) co ffmpeg - (cd $@;patch -p 0 <../Patches/ffmpeg-cvs.patch) ifeq ($(HOST),i586-pc-beos) - patch -p 0 < Patches/ffmpeg-beos.patch.cvs - (cd $@; ./bootstrap) + (cd $@; patch -p 0 < ../Patches/ffmpeg-cvs-beos.patch) endif ifdef HAVE_WIN32 patch -p 0 < Patches/ffmpeg-cvs-win32.patch @@ -855,6 +869,9 @@ endif ifdef HAVE_DARWIN_OS patch -p 0 < Patches/ffmpeg-cvs-osx.patch endif +ifeq ($(HOST),i686-apple-darwin8) + (cd $@;patch -p 0 < ../Patches/ffmpeg-cvs-mactel.patch) +endif ffmpeg-$(FFMPEG_VERSION).tar.gz: $(WGET) $(FFMPEG_URL) @@ -868,32 +885,13 @@ ifdef HAVE_WINCE else .ffmpeg: ffmpeg .faac .lame endif - (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay && for dir in libavcodec/libpostproc libavcodec libavformat libavutil; do make -C $$dir && make -C $$dir installlib; done) + (cd $<; $(HOSTCC) ./configure $(FFMPEGCONF) --prefix=$(PREFIX) --extra-cflags="$(CFLAGS) -DRUNTIME_CPUDETECT" --extra-ldflags="$(LDFLAGS)" --enable-gpl --enable-pp --disable-vhook --disable-ffserver --disable-network --enable-a52 --disable-ffplay && make install-libs install-headers) touch $@ CLEAN_FILE += .ffmpeg CLEAN_PKG += ffmpeg ffmpeg.cvs DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz -# *************************************************************************** -# openslp -# *************************************************************************** - -openslp-$(OPENSLP_VERSION).tar.gz: - $(WGET) $(OPENSLP_URL) - -openslp: openslp-$(OPENSLP_VERSION).tar.gz - $(EXTRACT_GZ) - patch -p 0 < Patches/openslp.patch - -.openslp: openslp - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make SUBDIRS="common libslpattr slpd libslp slptool" && make install SUBDIRS="common libslpattr slpd libslp slptool") - touch $@ - -CLEAN_FILE += .openslp -CLEAN_PKG += openslp -DISTCLEAN_PKG += openslp-$(OPENSLP_VERSION).tar.gz - # *************************************************************************** # libdvdcss # *************************************************************************** @@ -920,32 +918,42 @@ CLEAN_PKG += libdvdcss DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz # *************************************************************************** -# libdvdread +# libdvdread: We use dvdnav's dvdread # *************************************************************************** -libdvdread-$(LIBDVDREAD_VERSION).tar.bz2: - $(WGET) $(LIBDVDREAD_URL) +#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 +#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 -p 0 < ../Patches/libdvdread-20041028-win32.patch; ./bootstrap) -endif +# (cd libdvdread; patch -p 0 < ../Patches/libdvdread-20041028-win32.patch; ./bootstrap) +#endif -.dvdread: libdvdread .dvdcss - (cd libdvdread; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) && make && make install) +#.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/libdvdnav.dylib) touch $@ CLEAN_FILE += .dvdread -CLEAN_PKG += libdvdread -DISTCLEAN_PKG += libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 # *************************************************************************** # libdvdnav @@ -956,16 +964,13 @@ libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2: libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 $(EXTRACT_BZ2) -ifdef HAVE_WIN32 - (cd $@; patch -p 0 < ../Patches/libdvdnav-20050211-win32.patch) -else patch -p 0 < Patches/dvdnav.patch -endif + patch -p 0 < Patches/libdvdnav-mactel.patch (cd $@; ./autogen.sh noconfig) -.dvdnav: libdvdnav .dvdread +.dvdnav: libdvdnav .dvdcss ifdef HAVE_WIN32 - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) --disable-builtin-dvdread CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -DNDEBUG -Dssize_t=long" && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-static --prefix=$(PREFIX) --with-libdvdcss=$(PREFIX) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -Dssize_t=long" && 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 @@ -1104,7 +1109,7 @@ libdts-$(LIBDTS_VERSION).tar.gz: ifeq ($(HOST),i586-pc-beos) # libdts 0.0.2 doesn't compile on BeOS libdts: - svn co svn://svn.videolan.org/libdts/trunk libdts + $(SVN) co svn://svn.videolan.org/libdts/trunk libdts (cd $@; ./bootstrap) else libdts: libdts-$(LIBDTS_VERSION).tar.gz @@ -1127,9 +1132,9 @@ ifdef SVN x264: $(SVN) co svn://svn.videolan.org/x264/trunk/ x264 ifdef HAVE_WIN32 - (cd x264; patch -p 0 <../Patches/x264-svn-win32.patch ) + (cd x264; patch -p 0 < ../Patches/x264-svn-win32.patch ) else - cd x264 && patch -p 0 < ../Patches/x264_svn.patch + patch -p 0 < Patches/x264_svn.patch rm x264/x264.c endif else @@ -1146,7 +1151,11 @@ else endif endif +ifeq ($(HOST),i686-apple-darwin8) +.x264: x264 .nasm +else .x264: x264 +endif (cd $<; ./configure $(X264CONF) --prefix=$(PREFIX) && make && make install) touch $@ @@ -1301,6 +1310,9 @@ pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz: portaudio: pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz $(EXTRACT_GZ) +ifneq ($(HOST),$(BUILD)) + (patch -p 0 < Patches/portaudio-cross.patch;cd $@; autoconf) +endif .portaudio: portaudio (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install) @@ -1688,23 +1700,26 @@ DISTCLEAN_PKG += SDL_image-$(SDL_IMAGE_VERSION).tar.gz libmpcdec-$(MUSE_VERSION).tar.bz2: $(WGET) $(MUSE_URL) -libmpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 +mpcdec: libmpcdec-$(MUSE_VERSION).tar.bz2 $(EXTRACT_BZ2) - patch -p 0 < Patches/libmpcdec.patch + patch -p 0 < Patches/mpcdec.patch ifdef HAVE_WIN32 (cd $@; ./autogen.sh) endif -.libmpcdec: libmpcdec +.mpcdec: mpcdec 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) +endif +ifdef HAVE_DARWIN_OS + $(INSTALL_NAME) endif touch $@ -CLEAN_FILE += .libmpcdec -CLEAN_PKG += libmpcdec +CLEAN_FILE += .mpcdec +CLEAN_PKG += mpcdec DISTCLEAN_PKG += libmpcdec-$(MUSE_VERSION).tar.bz2 # *************************************************************************** @@ -1794,6 +1809,29 @@ CLEAN_FILE += .clinkcc CLEAN_PKG += clinkcc DISTCLEAN_PKG += clinkcc-$(CLINKCC_VERSION).tar.gz +# *************************************************************************** +# NASM assembler +# *************************************************************************** + +nasm-$(NASM_VERSION).tar.bz2: + $(WGET) $(NASM_URL) + +nasm: nasm-$(NASM_VERSION).tar.bz2 + $(EXTRACT_BZ2) + +#nasm: +# echo $(NASM_CVSROOT) A > ./nasm.cvs +# CVS_PASSFILE=./nasm.cvs cvs -z3 -d $(NASM_CVSROOT) co nasm +# (cd $@ && autoconf && autoheader) + +.nasm: nasm + (cd $< && $(HOSTCC) ./configure --prefix=$(PREFIX) && make && make install) + touch $@ + +CLEAN_FILE += .nasm +CLEAN_PKG += nasm nasm.cvs +DISTCLEAN_PKG += nasm-$(NASM_VERSION).tar.bz2 + # *************************************************************************** # Copy aclocal files # This is necessary for --missing aclocal to succeed after a