]> git.sesse.net Git - vlc/blobdiff - extras/contrib/src/contrib-src.mak
portaudio: drop patch applied upstream
[vlc] / extras / contrib / src / contrib-src.mak
index a7ff4c2047885fb9c6f822addf19ba9385290ec6..ffa72ca630cfea4b5924e4f08be20ace485ec907 100644 (file)
@@ -35,11 +35,11 @@ include ./packages.mak
 # Set a clean environment
 # ***************************************************************************
 
-#ifdef HAVE_DARWIN_OS
+ifdef HAVE_DARWIN_OS
 export PATH := $(PREFIX)/bin:$(EXTRA_PATH):/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:
-#else
+else
 export PATH := $(PREFIX)/bin:$(EXTRA_PATH):$(PATH)
-#endif
+endif
 export PKG_CONFIG_PATH
 export PKG_CONFIG_LIBDIR = $(PREFIX)/lib/pkgconfig
 export MACOSX_DEPLOYMENT_TARGET = $(SDK_TARGET)
@@ -88,13 +88,6 @@ ifeq ($(RANLIB),)
 RANLIB=ranlib
 endif
 
-# For libebml/libmatroska. Grrr.
-ifneq ($(AR),)
-HOSTCC2=$(HOSTCC) AR="$(AR) rcvu"
-else
-HOSTCC2=$(HOSTCC)
-endif
-
 # Just a shortcut for readability
 ENABLED=1
 
@@ -746,11 +739,11 @@ endif
        patch -p0 < Patches/libFLAC-pc.patch
 
 FLAC_DISABLE_FLAGS = --disable-oggtest --disable-xmms-plugin --disable-cpplibs
-
-.flac: flac .ogg
 ifdef HAVE_MACOSX_ON_INTEL
 FLAC_DISABLE_FLAGS += --disable-asm-optimizations
 endif
+
+.flac: flac .ogg
        cd $< && $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) $(FLAC_DISABLE_FLAGS)
        cd $</src && make -C libFLAC && make -C libFLAC install
        cd $< && make -C include install
@@ -815,7 +808,7 @@ libebml: libebml-$(LIBEBML_VERSION).tar.bz2
 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))
+       (cd $<; make -C make/linux prefix=$(PREFIX) $(HOSTCC) staticlib && make -C make/linux install_staticlib install_headers prefix=$(PREFIX))
        $(RANLIB) $(PREFIX)/lib/libebml.a
 endif
        touch $@
@@ -940,50 +933,53 @@ CLEAN_PKG += libamrwb
 DISTCLEAN_PKG += amrwb-$(LIBAMR_WB_VERSION).tar.bz2
 
 # ***************************************************************************
-
 # ffmpeg
 # ***************************************************************************
 
-FFMPEGCONF=--disable-doc --disable-decoder=libvpx
+#Common configuration
+FFMPEGCONF = --disable-doc \
+       --disable-decoder=libvpx \
+       --disable-debug \
+       --enable-gpl \
+       --enable-postproc \
+       --disable-ffprobe \
+       --disable-ffserver \
+       --disable-ffmpeg \
+       --disable-ffplay \
+       --disable-devices \
+       --disable-protocols \
+       --disable-avfilter \
+       --disable-network
 
+FFMPEGCONFSMALL = --disable-encoders --disable-muxers
+FFMPEGCONFNEON = --cpu=cortex-a8 --disable-runtime-cpudetect --enable-neon
+
+#Cross-Compilation
 ifdef HAVE_CROSS_COMPILE
 FFMPEGCONF += --enable-cross-compile
 endif
+
 ifdef HAVE_CROSS_COMPILE_NEEDS_CROSS_PREFIX
 ifndef HAVE_ANDROID
 ifndef HAVE_SYMBIAN
 FFMPEGCONF += --cross-prefix=$(HOST)-
 else
-FFMPEGCONF += --cross-prefix=arm-none-symbianelf- --arch=armv6 --disable-asm
+FFMPEGCONF += --cross-prefix=arm-none-symbianelf- --arch=armv6 --disable-asm --target-os=none
+FFMPEGCONF += $(FFMPEGCONFSMALL)
 endif
 else
-FFMPEGCONF += --cross-prefix=arm-linux-androideabi- --arch=armv4l
+FFMPEGCONF += --cross-prefix=arm-linux-androideabi- --arch=armv6
+FFMPEGCONF += $(FFMPEGCONFSMALL)
 endif
 endif
 
+ifdef CC
+FFMPEGCONF += --cc="$(CC)"
+endif
+
 #
 # Special target-dependant options
 #
-
-ifdef HAVE_WINCE
-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
-ifdef HAVE_BIGENDIAN
-FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-iwmmxt
-else
-FFMPEGCONF+= --arch=armv4l
-endif
-FFMPEGCONF+= --enable-small --disable-mpegaudio-hp
-FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
-endif
-
 ifndef HAVE_UCLIBC
 ifndef HAVE_WINCE
 ifndef HAVE_IOS
@@ -994,10 +990,7 @@ endif
 endif
 endif
 
-ifdef CC
-FFMPEGCONF += --cc="$(CC)"
-endif
-
+# MacOS X
 ifdef HAVE_MACOSX_ON_INTEL
 FFMPEGCONF += --enable-memalign-hack
 endif
@@ -1024,36 +1017,45 @@ endif
 ifdef HAVE_IOS
 FFMPEGCONF += --sysroot=${IOS_SDK_ROOT}
 ifeq ($(ARCH),arm)
-FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8
+FFMPEGCONF += $(FFMPEGCONFNEON)
 else
 FFMPEGCONF += --disable-mmx
 endif
 endif #IOS
 
-ifdef HAVE_AMR
-FFMPEGCONF+= --enable-libamr-nb --enable-libamr-wb --enable-nonfree
+# Linux
+ifdef HAVE_LINUX
+FFMPEGCONF += --target-os=linux --enable-pic
 endif
 
-ifdef HAVE_LINUX
-FFMPEGCONF += --target-os=linux
-FFMPEGCONF += --enable-pic
+ifdef HAVE_MAEMO
+ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),)
+FFMPEGCONF += $(FFMPEGCONFNEON)
+endif
 endif
 
-ifdef HAVE_SYMBIAN
-FFMPEGCONF += --target-os=none
+ifdef HAVE_ANDROID
+ifdef HAVE_NEON
+FFMPEGCONF += $(FFMPEGCONFNEON)
+FFMPEG_CFLAGS +=-mfloat-abi=softfp -mfpu=neon
+endif
 endif
 
-ifdef HAVE_MAEMO
-ifneq ($(filter -m%=cortex-a8, $(EXTRA_CFLAGS)),)
-FFMPEGCONF += --disable-runtime-cpudetect --enable-neon --cpu=cortex-a8
+ifdef HAVE_UCLIBC
+ifdef HAVE_BIGENDIAN
+FFMPEGCONF+= --arch=armeb --enable-armv5te --enable-iwmmxt
+else
+FFMPEGCONF+= --arch=armv4l
 endif
+FFMPEGCONF+= --enable-small --disable-mpegaudio-hp
+FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
 endif
 
+# Win32
 ifdef HAVE_WIN32
 FFMPEGCONF+= --target-os=mingw32 --arch=x86 --enable-memalign-hack
-
 FFMPEGCONF += --disable-bzlib --disable-decoder=dca --disable-encoder=vorbis \
-                     --enable-libmp3lame --enable-w32threads --disable-bsfs
+                       --enable-libmp3lame --enable-w32threads --disable-bsfs
 ifdef HAVE_WIN64
 FFMPEGCONF += --disable-dxva2
 FFMPEGCONF+= --cpu=athlon64 --arch=x86_64
@@ -1063,21 +1065,27 @@ FFMPEGCONF+= --cpu=i686
 endif
 endif
 
+# WinCE
+ifdef HAVE_WINCE
+FFMPEGCONF+= --target-os=mingw32ce --arch=armv4l --cpu=armv4t \
+                        --disable-decoder=snow --disable-decoder=vc9 \
+                        --disable-decoder=wmv3 --disable-decoder=vorbis \
+                        --disable-decoder=dvdsub --disable-decoder=dvbsub
+FFMPEGCONF += $(FFMPEGCONFSMALL)
+endif
+
 ifndef HAVE_WIN32
 FFMPEGCONF += --enable-pthreads
 FFMPEG_CFLAGS += --std=gnu99
 endif
 
-PHONY += ffmpeg-svn ffmpeg-tar
+ifdef GIT
 
-ffmpeg/.svn:
-       $(SVN) co $(FFMPEG_SVN) ffmpeg
+ffmpeg:
+       $(GIT) clone $(FFMPEG_GIT)
 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
@@ -1086,30 +1094,15 @@ endif
 ifdef HAVE_WIN32
        sed -i "s/std=c99/std=gnu99/" ffmpeg/configure
 endif
-       (cd ffmpeg; patch -p1 < ../Patches/libavformat-ape.c.patch )
        touch $@
 
-ffmpeg-$(FFMPEG_VERSION).tar.gz:
-       echo "ffmpeg snapshot is too old, you MUST use subversion !"
-       exit -1
-       $(WGET) $(FFMPEG_URL)
+else
 
-ffmpeg/.untar: ffmpeg-$(FFMPEG_VERSION).tar.gz
-       $(EXTRACT_GZ)
-       touch $@
+ffmpeg:
+       echo "ffmpeg snapshot is too old, you MUST use git !"
+       exit 1
 
-FFMPEGCONF += \
-       --disable-debug \
-       --enable-gpl \
-       --enable-postproc \
-       --disable-ffprobe \
-       --disable-ffserver \
-       --disable-ffmpeg \
-       --disable-ffplay \
-       --disable-devices \
-       --disable-protocols \
-       --disable-avfilter \
-       --disable-network
+endif
 
 ifeq ($(ARCH),armel)
 HAVE_ARMELF=1
@@ -1126,26 +1119,19 @@ FFMPEG_DEPS-$(HAVE_WIN32)  += .dshow_headers
 FFMPEG_DEPS-$(HAVE_ANDROID) =
 FFMPEG_DEPS-$(HAVE_SYMBIAN) =
 
-ifdef SVN
-FFMPEG_MK_TARGET = ffmpeg/.svn
-else
-FFMPEG_MK_TARGET = ffmpeg/.untar
-endif
-
-.ffmpeg: $(FFMPEG_MK_TARGET) $(FFMPEG_DEPS-1)
+.ffmpeg: ffmpeg $(FFMPEG_DEPS-1)
        (cd ffmpeg; $(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
+ifdef GIT
 ffmpeg-source: ffmpeg
-       tar cv --exclude=.svn ffmpeg | bzip2 > ffmpeg-$(DATE).tar.bz2
+       tar cv --exclude=.git ffmpeg | bzip2 > ffmpeg-$(DATE).tar.bz2
 
 SOURCE += ffmpeg-source
 endif
 
 CLEAN_FILE += .ffmpeg
 CLEAN_PKG += ffmpeg
-DISTCLEAN_PKG += ffmpeg-$(FFMPEG_VERSION).tar.gz
 
 # ***************************************************************************
 # libdvdcss
@@ -1278,6 +1264,7 @@ live555-$(LIVEDOTCOM_VERSION).tar.gz:
 
 live: live555-$(LIVEDOTCOM_VERSION).tar.gz
        $(EXTRACT_GZ)
+       chmod -R u+w live
        patch -p0 < Patches/live-uselocale.patch
        patch -p0 < Patches/live-inet_ntop.patch
 ifdef HAVE_WIN64
@@ -1436,7 +1423,7 @@ ifdef HAVE_LINUX
 X264CONF += --enable-pic
 endif
 
-X264CONF += --disable-avs --disable-lavf --disable-ffms --enable-static
+X264CONF += --disable-avs --disable-lavf --disable-ffms --enable-static --disable-cli
 
 x264-$(X264_VERSION).tar.gz:
        $(WGET) $(X264_URL)
@@ -1444,9 +1431,6 @@ x264-$(X264_VERSION).tar.gz:
 ifdef GIT
 x264:
        $(GIT) clone git://git.videolan.org/x264.git
-ifdef HAVE_WIN64
-       (cd x264; patch -p0 < ../Patches/x264-svn-win64.patch )
-endif
 else
 x264:
        echo "x264 snapshot is too old, you MUST use Git !"
@@ -1660,10 +1644,6 @@ portaudio: pa_stable_v$(PORTAUDIO_VERSION).tgz
 ifneq ($(HOST),$(BUILD))
        (patch -p0 < Patches/portaudio-cross.patch;cd $@;  autoconf)
 endif
-ifdef HAVE_WIN64
-       patch -p0 < Patches/portaudio-static.patch
-       (cd $@ ; autoreconf -if)
-endif
 
 .portaudio: portaudio
        (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make  install)
@@ -2223,7 +2203,7 @@ libtiger: libtiger-$(TIGER_VERSION).tar.gz
        $(EXTRACT_GZ)
 
 .tiger: libtiger .kate
-       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
+       (cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) --disable-valgrind --disable-doc && make && make install)
        $(INSTALL_NAME)
        touch $@
 
@@ -2240,6 +2220,9 @@ taglib-$(TAGLIB_VERSION).tar.gz:
 
 taglib: taglib-$(TAGLIB_VERSION).tar.gz
        $(EXTRACT_GZ)
+ifdef HAVE_ANDROID
+       patch -p0 < Patches/taglib-android.patch
+endif
 ifdef HAVE_WIN32
        patch -p0 < Patches/taglib-static.patch
 endif
@@ -2393,7 +2376,7 @@ libass: libass-$(ASS_VERSION).tar.gz
        $(EXTRACT_GZ)
        (cd $@; autoreconf -ivf)
 
-.libass: libass .freetype
+.libass: libass .freetype .fontconfig
        (cd $<; $(HOSTCC) ./configure --disable-png --disable-shared $(HOSTCONF) --prefix=$(PREFIX) CFLAGS="$(CFLAGS) -O3" && make && make install)
        touch $@
 
@@ -2467,6 +2450,7 @@ libupnp: libupnp-$(UPNP_VERSION).tar.bz2
 ifdef HAVE_WIN32
        patch -p0 < Patches/libupnp-configure.patch
        patch -p0 < Patches/libupnp-win32.patch
+       patch -p0 < Patches/libupnp-win64.patch
 endif
        cd $@; libtoolize && autoreconf