X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=76e1d3f550db60744b5da304d17afaf5807cdd9a;hb=13c581afd2979c5f0467b6fef1f18c4a67b43dd3;hp=ee1bb6cb18a4ad87da88e4e41d1a56682073a0b2;hpb=1a8db66f93d5bd6f01804bd1fc361e054f32601d;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index ee1bb6cb18..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,9 +65,16 @@ 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" +else +HOSTCC2=$(HOSTCC) endif ifneq ($(BUILD),$(HOST)) @@ -76,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 @@ -86,12 +93,12 @@ endif # ifdef HAVE_WIN32 HOSTCONF+= --without-pic --disable-shared --enable-msw --with-included-opencdk --with-included-libtasn1 --disable-depedency-tracking -FFMPEGCONF+= --enable-mingw32 --enable-memalign-hack --cpu=x86 +FFMPEGCONF+= --enable-mingw32 --enable-memalign-hack --cpu=x86 --disable-debug 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-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 @@ -100,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 @@ -120,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 @@ -137,15 +151,15 @@ 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 - all: .dvbpsi .zlib .ffmpeg .ogg .tremor + all: .dvbpsi .zlib .ffmpeg .ogg .tremor .faad else # Standard Linux or other UNIX-like systems @@ -153,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 @@ -273,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 \ @@ -666,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 @@ -719,12 +737,11 @@ faad2-$(FAAD2_VERSION).tar.bz2: faad2: faad2-$(FAAD2_VERSION).tar.bz2 $(EXTRACT_BZ2) -ifdef HAVE_WIN32 - (cd faad2;patch -p 0 < ../Patches/faad2-20050513-win32.patch && ./bootstrap) -endif + (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 $@ @@ -821,7 +838,7 @@ endif .matroska: libmatroska .ebml ifdef HAVE_WIN32 - (cd $<; make -C make/mingw32 prefix=$(PREFIX) $(HOSTCC2) CPPFLAGS=$(CFLAGS) libmatroska.a && make -C make/linux install_staticlib install_headers prefix=$(PREFIX) $(HOSTCC2)) + (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)) else (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC2) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX)) $(RANLIB) $(PREFIX)/lib/libmatroska.a @@ -839,13 +856,12 @@ 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 + patch -p 1 < Patches/ffmpeg-cvs-wince.patch endif ifdef HAVE_WINCE patch -p 1 < Patches/ffmpeg-cvs-wince.patch @@ -853,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) @@ -866,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 # *************************************************************************** @@ -918,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 @@ -954,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 @@ -1054,6 +1061,7 @@ ifdef HAVE_DARWIN_OS patch -p 0 < Patches/goom.patch endif ifdef HAVE_WIN32 + (cd $@; dos2unix configure.in) patch -p 0 ./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