ifdef HAVE_DARWIN_OS
X264CONF=--host=$(HOST)
X264CONF += --enable-pic
-FFMPEGCONF += --enable-libvpx
ifdef HAVE_DARWIN_32
FFMPEGCONF += --cc=gcc-4.0
else
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
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
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 $@
.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
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
# ***************************************************************************
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
CLEAN_PKG += faad2
DISTCLEAN_PKG += faad2-$(FAAD2_VERSION).tar.gz
+# ***************************************************************************
+# libebml
+# ***************************************************************************
+
+libebml-$(LIBEBML_VERSION).tar.bz2:
+ $(WGET) $(LIBEBML_URL)
+
+libebml: libebml-$(LIBEBML_VERSION).tar.bz2
+ $(EXTRACT_BZ2)
+
+.ebml: libebml
+ifdef HAVE_WIN32
+ (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
+endif
+ touch $@
+
+CLEAN_FILE += .ebml
+CLEAN_PKG += libebml
+DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
# ***************************************************************************
-# libvp8
+# libmatroska
# ***************************************************************************
-libvpx-$(VPX_VERSION).tar.bz2:
- $(WGET) $(VPX_URL)
+libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
+ $(WGET) $(LIBMATROSKA_URL)
-vpx: libvpx-$(VPX_VERSION).tar.bz2
+libmatroska: libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
$(EXTRACT_BZ2)
- patch -p0 < Patches/libvpx-cross.patch
+
+.matroska: libmatroska .ebml
+ifdef HAVE_WIN32
+ (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) $(HOSTCC) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
+ $(RANLIB) $(PREFIX)/lib/libmatroska.a
+endif
+ touch $@
+
+
+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_DARWIN_OS
patch -p0 < Patches/libvpx-darwin.patch
endif
ifdef HAVE_WIN32
VPX_TARGET=x86-win32-gcc
+CROSS=
else
ifdef HAVE_DARWIN_OS
ifdef HAVE_DARWIN_64
endif
endif
-.vpx: vpx
- (cd $<; ./configure --target=$(VPX_TARGET) --disable-install-bins --disable-install-srcs --disable-install-libs --disable-examples && XCC=$(CC) XNM=$(NM) XSTRIP=$(STRIP) make && make install)
- (cd $<; cp vp8/*.h vpx_codec/*.h vpx_ports/*.h $(PREFIX)/include) # Of course, why the hell would one expect it to be listed or in make install?
- rm $(PREFIX)/include/config.h
+.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 += .vpx
-CLEAN_PKG += vpx
-DISTCLEAN_PKG += libvpx-$(VPX_VERSION).tar.bz2
+CLEAN_FILE += .libvpx
+CLEAN_PKG += libvpx
+#DISTCLEAN_PKG += libvpx-$(VPX_VERSION).tar.bz2
# ***************************************************************************
# lame
CLEAN_PKG += lame
DISTCLEAN_PKG += lame-$(LAME_VERSION).tar.gz
-# ***************************************************************************
-# libebml
-# ***************************************************************************
-
-libebml-$(LIBEBML_VERSION).tar.bz2:
- $(WGET) $(LIBEBML_URL)
-
-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))
-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
-endif
- touch $@
-
-CLEAN_FILE += .ebml
-CLEAN_PKG += libebml
-DISTCLEAN_PKG += libebml-$(LIBEBML_VERSION).tar.bz2
-
-# ***************************************************************************
-# libmatroska
-# ***************************************************************************
-
-libmatroska-$(LIBMATROSKA_VERSION).tar.bz2:
- $(WGET) $(LIBMATROSKA_URL)
-
-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))
-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
-endif
- touch $@
-
-
-CLEAN_FILE += .matroska
-CLEAN_PKG += libmatroska
-DISTCLEAN_PKG += libmatroska-$(LIBMATROSKA_VERSION).tar.bz2
# ***************************************************************************
# libamrnb
ifdef HAVE_WIN32
ffmpeg: .dshow_headers
else
-ffmpeg:
+ffmpeg:
endif
$(SVN) co $(FFMPEG_SVN) ffmpeg
- (cd ffmpeg; patch -p0 < ../Patches/ffmpeg-libvpx.patch;)
ifdef HAVE_ISA_THUMB
patch -p0 < Patches/ffmpeg-avcodec-no-thumb.patch
endif
patch -p0 < Patches/ffmpeg-svn-internal-define.patch
patch -p0 < Patches/ffmpeg-svn-libavformat.patch
endif
+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 !"
--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
FFMPEGCONF += --enable-pthreads
endif
+FFMPEG_CFLAGS += --std=gnu99
endif
ifdef HAVE_WINCE
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
CLEAN_PKG += libdvdcss
DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2
-# ***************************************************************************
-# dummy dvdread to trigger the INSTALL_NAME script
-# ***************************************************************************
-# .dvdread: .dvdnav
-# $(INSTALL_NAME)
-# touch $@
-#
-# CLEAN_FILE += .dvdread
-
# ***************************************************************************
# libdvdread: We use dvdnav's dvdread
# ***************************************************************************
# 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
CLEAN_FILE += .dvbpsi
CLEAN_PKG += libdvbpsi
-DISTCLEAN_PKG += libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
+DISTCLEAN_PKG += libdvbpsi-$(LIBDVBPSI_VERSION).tar.gz
# ***************************************************************************
# live
goom: goom$(GOOM2k4_VERSION).tar.gz
$(EXTRACT_GZ)
ifdef HAVE_WIN32
- (cd $@; dos2unix configure.in)
+ (cd $@; fromdos configure.in)
patch -p0 < Patches/goom2k4-0-win32.patch
else
patch -p0 < Patches/goom2k4-0-mmx.patch
libcaca: libcaca-$(LIBCACA_VERSION).tar.gz
$(EXTRACT_GZ)
- patch -p0 < Patches/libcaca-static.patch
ifdef HAVE_DARWIN_OS
patch -p0 < Patches/libcaca-osx-sdkofourchoice.patch
(cd $@; sed -e 's%/Developer/SDKs/MacOSX10.4u.sdk%$(MACOSX_SDK)%' -i.orig configure)
endif
.caca: libcaca
-ifdef HAVE_WIN32
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --enable-win32 --disable-x11 --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
-else
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && make && make install)
-endif
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-imlib2 --disable-doc --disable-ruby --disable-csharp --disable-cxx && cd caca && make && make install)
touch $@
CLEAN_FILE += .caca
ifdef HAVE_WIN32
(cd x264; patch -p0 < ../Patches/x264-svn-win32.patch )
endif
-
else
+x264:
+ echo "x264 snapshot is too old, you MUST use Git !"
+ exit -1
-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
-endif
endif
ifdef HAVE_WIN32
libmodplug: libmodplug-$(MODPLUG_VERSION).tar.gz
$(EXTRACT_GZ)
-ifdef HAVE_WIN32
- patch -p0 < Patches/libmodplug-win32.patch
- (cd $@; autoreconf -ivf )
-endif
.mod: libmodplug
(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-shared --enable-static && make && make install)
# qt4 (source-code compilation for Mac)
# ***************************************************************************
-qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz:
+qt-everywhere-opensource-src-$(QT4_MAC_VERSION).tar.gz:
$(WGET) $(QT4_MAC_URL)
-qt4_mac: qt-mac-opensource-src-$(QT4_MAC_VERSION).tar.gz
+qt4_mac: qt-everywhere-opensource-src-$(QT4_MAC_VERSION).tar.gz
$(EXTRACT_GZ)
.qt4_mac: qt4_mac
zlib: zlib-$(ZLIB_VERSION).tar.gz
$(EXTRACT_GZ)
- patch -p0 < Patches/zlib.patch
+ patch -p0 < Patches/zlib-wince.patch
+ patch -p0 < Patches/zlib-static.patch
.zlib: zlib
- (cd zlib; $(HOSTCC2) ./configure --prefix=$(PREFIX) && make install)
+ (cd zlib; $(HOSTCC) ./configure --prefix=$(PREFIX) --static && make install)
$(INSTALL_NAME)
touch $@
libgpg-error: libgpg-error-$(GPGERROR_VERSION).tar.bz2
$(EXTRACT_BZ2)
+ifdef HAVE_WIN32
+ patch -p 0 < Patches/libgpg-error-win32.patch
+ (cd $@; ./autogen.sh)
+endif
.gpg-error: libgpg-error
ifdef HAVE_DARWIN_OS_ON_INTEL
dxva2api.h:
$(WGET) $(DXVA2_URL)
-.dshow_headers: dshow-headers.tgz dxva2api.h
+d2d_headers.tar.gz:
+ $(WGET) $(D2D_URL) -O $@
+
+.dshow_headers: dshow-headers.tgz dxva2api.h d2d_headers.tar.gz
tar xzf $< -C $(PREFIX)/include
+ tar xzf d2d_headers.tar.gz -C $(PREFIX)/include
cp dxva2api.h $(PREFIX)/include
touch $@
endif
.tag: taglib
- (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
+ (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --enable-mp4 --enable-asf --prefix=$(PREFIX) && make && make install)
$(INSTALL_NAME)
touch $@
# ***************************************************************************
# projectM
# ***************************************************************************
-libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz:
+projectM-$(LIBPROJECTM_VERSION)-Source.tar.gz:
$(WGET) $(LIBPROJECTM_URL)
-libprojectM: libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz
+libprojectM: projectM-$(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
+ -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)