X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=extras%2Fcontrib%2Fsrc%2FMakefile;h=86492ac899888ca83724870fa71201836b87d615;hb=b3134f44d76cdb2edfb86ae72e2ac4a6190ef375;hp=175cb2a8b1c3309b5c679a1e34e1fd2a75e71d02;hpb=bcd4620eed3c4abf45da11f74ac7f63fad171971;p=vlc diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile index 175cb2a8b1..86492ac899 100644 --- a/extras/contrib/src/Makefile +++ b/extras/contrib/src/Makefile @@ -59,7 +59,6 @@ endif ifneq ($(CC),) HOSTCC+= CC="$(CC)" -FFMPEGCONF += --cc=$(CC) endif ifneq ($(CXX),) HOSTCC+= CXX="$(CXX)" @@ -116,15 +115,17 @@ endif # ifdef HAVE_WIN32 HOSTCONF+= --without-pic --disable-shared --enable-msw --disable-dependency-tracking -FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack --cpu=i686 --arch=i686 -endif +FFMPEGCONF+= --target-os=mingw32 --enable-memalign-hack ifdef HAVE_WIN64 -FFMPEGCONF+= --cpu=x86_64 +FFMPEGCONF+= --cpu=athlon64 --arch=x86_64 +else +FFMPEGCONF+= --cpu=i686 +endif endif ifdef HAVE_WINCE HOSTCONF+= --without-pic --disable-shared -FFMPEGCONF+= --enable-mingwce --cpu=armv4l --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+= --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 @@ -136,8 +137,10 @@ endif FFMPEGCONF+= --enable-small --disable-mpegaudio-hp FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99 else +ifndef HAVE_WINCE FFMPEGCONF+= --enable-libmp3lame --enable-libgsm endif +endif ifdef HAVE_DARWIN_OS_ON_INTEL FFMPEGCONF += --enable-memalign-hack @@ -162,9 +165,22 @@ FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree endif ifdef HAVE_LINUX +ifdef HAVE_MAEMO +ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),) +FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8 +endif +# Really, this could be done on all Linux platforms, not just Maemo. +# Installing statically-linked VLC plugins is so much simpler. +HOSTCONF += --with-pic --disable-shared +endif +FFMPEGCONF += --enable-pic X264CONF += --enable-pic endif +ifdef HAVE_ISA_THUMB +NOTHUMB ?= -mno-thumb +endif + DATE=`date +%Y-%m-%d` # *************************************************************************** @@ -213,6 +229,22 @@ endef # $(INSTALL_NAME) # touch $@ +# *************************************************************************** +# errno +# *************************************************************************** + +errno: + mkdir -p $@ + $(WGET) $(ERRNO_URL)/errno.h -O $@/errno.h + +.errno: errno + mkdir -p $(PREFIX)/include + cp $" > ogg.h && rm -f os_types.h && echo "#include " > os_types.h && ./autogen.sh) + (cd $@; rm -f ogg.h && echo "#include " > ogg.h && rm -f os_types.h && echo "#include " > os_types.h) else tremor-$(TREMOR_VERSION).tar.bz2: echo "tremor snapshot does not exist, you MUST use subversion !" @@ -702,13 +748,13 @@ tremor: tremor-$(TREMOR_VERSION).tar.bz2 endif .tremor: tremor .ogg - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared && make && make install) + (cd $<; $(HOSTCC) ./autogen.sh $(HOSTCONF) --prefix=$(PREFIX) --disable-shared CFLAGS="$(NOTHUMB)" && make && make install) $(INSTALL_NAME) touch $@ ifdef SVN tremor-source: tremor - tar cfvz tremor-$(DATE).tar.gz tremor + tar cv --exclude=.svn tremor | bzip2 > tremor-$(DATE).tar.bz2 SOURCE += tremor-source endif @@ -726,25 +772,9 @@ libtheora-$(THEORA_VERSION).tar.bz2: libtheora: libtheora-$(THEORA_VERSION).tar.bz2 $(EXTRACT_BZ2) -ifndef HAVE_DARWIN_OS - patch -p0 < Patches/theora.patch -else -ifdef HAVE_DARWIN_OS_ON_INTEL - patch -p0 < Patches/theora_mac_intel32.patch -else - patch -p0 < Patches/theora_mac_ppc.patch -endif -endif patch -p0 < Patches/libtheora-includes.patch -ifdef HAVE_WIN32 - patch -p0 < Patches/theora-doc.patch -endif - (cd $@; autoconf) THEORACONF = --disable-sdltest --disable-oggtest --disable-vorbistest --disable-examples -ifdef HAVE_WIN32 -THEORACONF += --disable-docs -endif ifdef HAVE_DARWIN_64 THEORACONF += --disable-asm @@ -754,7 +784,19 @@ THEORACONF += --disable-asm endif .theora: libtheora .ogg - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) && make && make install) +ifdef HAVE_DARWIN_OS + cd $<; ($(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) && make && make install) +else +ifdef HAVE_WIN32 + cd $<; $(HOSTCC) ./autogen.sh $(HOSTCONF) --prefix=$(PREFIX) $(THEORACONF) +endif + if test ! -f $ ffmpeg-$(DATE).tar.bz2 SOURCE += ffmpeg-source endif @@ -1070,7 +1114,7 @@ endif ifdef SVN libdvdcss-source: libdvdcss - tar cfvz libdvdcss-$(DATE).tar.gz libdvdcss + tar cv --exclude=.svn libdvdcss | bzip2 > libdvdcss-$(DATE).tar.bz2 SOURCE += libdvdcss-source endif @@ -1091,8 +1135,6 @@ DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz # *************************************************************************** # libdvdread: We use dvdnav's dvdread # *************************************************************************** - - libdvdread: $(SVN) co $(LIBDVDREAD_SVN) libdvdread (cd $@; patch -p 0 < ../Patches/libdvdread.patch) @@ -1183,6 +1225,9 @@ endif ifdef HAVE_WIN32 (cd $<;./genMakefiles mingw && make $(HOSTCC)) else +ifdef HAVE_WINCE + (cd $<;./genMakefiles mingw && make $(HOSTCC)) +else ifdef HAVE_DARWIN_OS (cd $<; sed -e 's%-DBSD=1%-DBSD=1\ $(EXTRA_CFLAGS)\ $(EXTRA_LDFLAGS)%' -e 's%cc%$(CC)%' -e 's%c++%$(CXX)%' -i.orig config.macosx) (cd $<; ./genMakefiles macosx && make) @@ -1197,6 +1242,7 @@ else (cd $<; ./genMakefiles linux && make $(HOSTCC)) endif endif +endif endif mkdir -p $(PREFIX)/lib $(PREFIX)/include cp $ ../x264-$(DATE).tar.bz2 SOURCE += x264-source endif @@ -1384,9 +1426,19 @@ libcddb-$(CDDB_VERSION).tar.bz2: libcddb: libcddb-$(CDDB_VERSION).tar.bz2 $(EXTRACT_BZ2) + (cd $@; patch -p0 < ../Patches/libcddb-cross.patch ) +ifdef HAVE_WIN32 + (cd $@; patch -p0 < ../Patches/libcddb-win32.patch ) +endif + (cd $@; autoreconf -fisv) +ifdef HAVE_WIN32 +.cddb: libcddb .regex + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static --without-iconv CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" && make && make install) +else .cddb: libcddb (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static CFLAGS="$(CFLAGS) -D_BSD_SOCKLEN_T_=int" LDFLAGS="$(LDFLAGS) -liconv" && make && make install) +endif touch $@ CLEAN_FILE += .cddb @@ -2110,7 +2162,7 @@ DISTCLEAN_PKG += dirac-$(DIRAC_VERSION).tar.gz win32-dx7headers.tgz: $(WGET) $(DX_HEADERS_URL) .dx_headers: win32-dx7headers.tgz - (cd ../include ; tar xzf ../src/$<) + tar xzf $< -C $(PREFIX)/include touch $@ CLEAN_FILE += .dx_headers DISTCLEAN_PKG += win32-dx7headers.tgz @@ -2120,11 +2172,17 @@ DISTCLEAN_PKG += win32-dx7headers.tgz # ************************************************************************* dshow-headers.tgz: $(WGET) $(DSHOW_HEADERS_URL) -.dshow_headers: dshow-headers.tgz - (cd ../include ; tar xzf ../src/$<) + +dxva2api.h: + $(WGET) $(DXVA2_URL) + +.dshow_headers: dshow-headers.tgz dxva2api.h + tar xzf $< -C $(PREFIX)/include + cp dxva2api.h $(PREFIX)/include touch $@ + CLEAN_FILE += .dshow_headers -DISTCLEAN_PKG += dshow-headers.tgz +DISTCLEAN_PKG += dshow-headers.tgz dxva2api.h # *************************************************************************** # libexpat @@ -2235,7 +2293,7 @@ DISTCLEAN_PKG += libtiger-$(TIGER_VERSION).tar.gz # ************************************************************************** .aclocal: - cp -R $(PREFIX)/share/aclocal/* $(PREFIX)/../../m4/ + cp -R $(PREFIX)/share/aclocal/* ../../../m4/ touch $@ CLEAN_FILE += .aclocal @@ -2296,7 +2354,8 @@ ncurses: ncurses-$(NCURSES_VERSION).tar.gz $(EXTRACT_GZ) .ncurses: ncurses - (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --without-debug --enable-widec --without-develop --without-shared && make && make install) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=/usr --without-debug --enable-widec --without-develop --without-shared && make -C ncurses && make -C include && make -C ncurses DESTDIR=$(PREFIX) install && make -C include DESTDIR=$(PREFIX) install) + (cp -R $(PREFIX)/usr/* $(PREFIX) && rm -rf $(PREFIX)/usr) touch $@ CLEAN_FILE += .ncurses @@ -2314,7 +2373,7 @@ fluidsynth: fluidsynth-$(FLUID_VERSION).tar.gz $(EXTRACT_GZ) ifdef HAVE_WIN32 patch -p0 < Patches/fluid-win32.patch - cd $@; ./autogen.sh + cd $@; ./autogen.sh || true endif .fluid: fluidsynth @@ -2339,8 +2398,6 @@ liboil: liboil-$(OIL_VERSION).tar.gz patch -d liboil -p1 < Patches/liboil-Xcompile.patch (cd $@; autoreconf) - - .liboil: liboil ifdef HAVE_DARWIN_OS (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS)") @@ -2373,7 +2430,7 @@ CLEAN_PKG += schroedinger DISTCLEAN_PKG += schroedinger-$(SCHROED_VERSION).tar.gz # *************************************************************************** -# ASS library +# libass # *************************************************************************** libass-$(ASS_VERSION).tar.bz2: @@ -2383,7 +2440,7 @@ libass: $(GIT) clone $(ASS_GIT) (cd $@; autoreconf -ivf) -.libass: libass +.libass: libass .freetype (cd $<; $(HOSTCC) ./configure --disable-png $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make && make install) touch $@ @@ -2395,19 +2452,14 @@ DISTCLEAN_PKG += libass-$(ASS_VERSION).tar.bz2 # Sparkle # *************************************************************************** -"Sparkle-$(SPARKLE_VERSION).zip": +Sparkle-$(SPARKLE_VERSION).zip: $(WGET) $(SPARKLE_URL) -Sparkle: "Sparkle-$(SPARKLE_VERSION).zip" +.Sparkle: Sparkle-$(SPARKLE_VERSION).zip rm -rf $@ || true unzip $< - touch $@ - -.Sparkle: Sparkle rm -rf ../Sparkle mv Sparkle .. - mkdir Sparkle - (cd $<) touch $@ CLEAN_FILE += .Sparkle @@ -2432,9 +2484,9 @@ CLEAN_FILE += .libupnp CLEAN_PKG += libupnp DISTCLEAN_PKG += libupnp-$(UPNP_VERSION).tar.bz2 -# ********* +# *************************************************************************** # GSM -# ********* +# *************************************************************************** gsm-$(GSM_VERSION).tar.gz: $(WGET) $(GSM_URL) @@ -2457,6 +2509,161 @@ CLEAN_FILE += .gsm CLEAN_PKG += gsm DISTCLEAN_PKG += gsm-$(GSM_VERSION).tar.gz +# *************************************************************************** +### GLEW +# *************************************************************************** +glew-$(GLEW_VERSION)-src.tgz: + $(WGET) $(GLEW_URL) + +glew: glew-$(GLEW_VERSION)-src.tgz + $(EXTRACT_GZ) + (patch -p0 < Patches/glew-win32.patch) + +.glew: glew + (cd $<; $(HOSTCC) CFLAGS="$(CFLAGS) -DGLEW_STATIC" make && $(HOSTCC) GLEW_DEST=$(PREFIX) make install) +ifdef HAVE_WIN32 + rm -rf $(PREFIX)/lib/libglew32.dll* +endif + touch $@ + +CLEAN_FILE += .glew +CLEAN_PKG += glew +DISTCLEAN_PKG += glew-$(GLEW_VERSION)-src.tgz + + +# *************************************************************************** +# projectM +# *************************************************************************** +libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz: + $(WGET) $(LIBPROJECTM_URL) + +libprojectM: libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz + rm -rf $@ || true + gunzip -c $< | tar xf - --exclude='[*?:<>\|]' + mv projectM-$(LIBPROJECTM_VERSION)-Source $@ || true + patch -p0 < Patches/libprojectM-win32.patch + cd $@; rm CMakeCache.txt + +.libprojectM: libprojectM .glew + (cd $<; $(HOSTCC) CPPFLAGS="$(CPPFLAGS)" cmake . -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DINCLUDE-PROJECTM-LIBVISUAL:BOOL=OFF -DDISABLE_NATIVE_PRESETS:BOOL=ON -DUSE_FTGL:BOOL=OFF -DINCLUDE-PROJECTM-PULSEAUDIO:BOOL=OFF -DINCLUDE-PROJECTM-QT:BOOL=OFF -DBUILD_PROJECTM_STATIC:BOOL=ON -DCMAKE_INSTALL_PREFIX=$(PREFIX) && make install) +ifdef HAVE_WIN32 + (cd $<;cp Renderer/libRenderer.a MilkdropPresetFactory/libMilkdropPresetFactory.a $(PREFIX)/lib) +endif + touch $@ + +CLEAN_FILE += .libprojectM +CLEAN_PKG += libprojectM +DISTCLEAN_PKG += libprojectM-$(LIBPROJECTM_VERSION).tar.bz2 + +# *************************************************************************** +# X11 C Bindings +# *************************************************************************** + +libxcb-$(XCB_VERSION).tar.bz2: + $(WGET) $(XCB_URL)/$@ + +libxcb: libxcb-$(XCB_VERSION).tar.bz2 + -rm -rf $@ + bzcat $< | tar xf - + mv libxcb-$(XCB_VERSION) $@ + touch $@ + +.xcb: libxcb + cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) \ + --disable-composite \ + --disable-damage \ + --disable-dpms \ + --disable-glx \ + --enable-randr \ + --disable-record \ + --enable-render \ + --disable-resource \ + --disable-screensaver \ + --disable-shape \ + --enable-shm \ + --disable-sync \ + --disable-xevie \ + --disable-xfixes \ + --disable-xfree86-dri \ + --disable-xinerama \ + --disable-xinput \ + --disable-xprint \ + --disable-selinux \ + --disable-xtest \ + --enable-xv \ + --disable-xvmc \ + --disable-build-docs + cd $< && make install + touch $@ + +xcb-util-$(XCB_UTIL_VERSION).tar.bz2: + $(WGET) $(XCB_UTIL_URL)/$@ + +xcb-util: xcb-util-$(XCB_UTIL_VERSION).tar.bz2 + -rm -rf $@ + bzcat $< | tar xf - + mv xcb-util-$(XCB_UTIL_VERSION) $@ + touch $@ + +.xcb-util: xcb-util .xcb + cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) + cd $< && make install + touch $@ + +CLEAN_FILE += .xcb-util .xcb +CLEAN_PKG += xcb-util xcb +DISTCLEAN_PKG += xcb-util-$(XCB_UTIL_VERSION).tar.bz2 libxcb-$(XCB_VERSION).tar.bz2 + +# *************************************************************************** +# Peflags utility (Windows only) +# *************************************************************************** + +peflags/peflags.c: + mkdir -p peflags + cd peflags && $(WGET) $(PEFLAGS_URL)/peflags.c + +.peflags: peflags/peflags.c + cd peflags && gcc peflags.c -o peflags + install -d $(PREFIX)/bin + cd peflags && install ./peflags $(PREFIX)/bin + touch $@ + +CLEAN_PKG += peflags +CLEAN_FILE += .peflags + +# *************************************************************************** +# Regex +# *************************************************************************** +regex-$(REGEX_VERSION).tar.gz: + $(WGET) $(REGEX_URL) + +regex: regex-$(REGEX_VERSION).tar.gz + $(EXTRACT_GZ) + +.regex: regex + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make subirs= && $(AR) ru libregex.a regex.o && $(RANLIB) libregex.a && cp -v regex.h $(PREFIX)/include && cp -v libregex.a $(PREFIX)/lib ) + touch $@ + +CLEAN_FILE += .regex +CLEAN_PKG += regex +DISTCLEAN_PKG += regex-$(REGEX_VERSION).tar.gz + +# *************************************************************************** +# SQLite +# *************************************************************************** +sqlite-amalgamation-$(SQLITE_VERSION).tar.gz: + $(WGET) $(SQLITE_URL) + +sqlite-$(SQLITE_VERSION): sqlite-amalgamation-$(SQLITE_VERSION).tar.gz + $(EXTRACT_GZ) + +.sqlite3: sqlite-$(SQLITE_VERSION) + (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install ) + touch $@ + +CLEAN_FILE += .sqlite3 +CLEAN_PKG += sqlite-$(SQLITE_VERSION) +DISTCLEAN_PKG += sqlite-amalgamation-$(SQLITE_VERSION).tar.gz # ***************************************************************************