summaryrefslogtreecommitdiff
path: root/multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch')
-rw-r--r--multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch293
1 files changed, 293 insertions, 0 deletions
diff --git a/multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch b/multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch
new file mode 100644
index 0000000000..a610aa9f4c
--- /dev/null
+++ b/multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch
@@ -0,0 +1,293 @@
+From 6df5c168c9de11fa6fdec250ba2b1c732ff3e9a2 Mon Sep 17 00:00:00 2001
+From: Michael Cronenworth <mike@cchtml.com>
+Date: Sun, 16 Mar 2014 17:23:51 -0500
+Subject: [PATCH 2/2] Revert "linux: link ffmpeg statically"
+
+This reverts commit 974a3c0e97b817ca358a959a026db95330673642.
+
+Conflicts:
+ Makefile.in
+ configure.in
+---
+ Makefile.in | 14 ---------------
+ configure.in | 13 +------------
+ lib/DllAvCodec.h | 4 ++--
+ lib/DllAvFilter.h | 2 +-
+ lib/DllAvFormat.h | 8 ++++----
+ lib/DllAvUtil.h | 4 ++--
+ lib/DllPostProc.h | 2 +-
+ lib/DllSwResample.h | 4 ++--
+ lib/DllSwScale.h | 4 ++--
+ lib/Makefile.in | 14 --------------
+ 10 files changed, 15 insertions(+), 54 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 6f689cf..bfadbe6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -472,20 +472,6 @@ ifeq ($(findstring freebsd,@ARCH@),freebsd)
+ DYNOBJSXBMC+= xbmc/freebsd/freebsd.a
+ endif
+
+-ifeq (@USE_STATIC_FFMPEG@,1)
+-FFMPEGOBJS = lib/ffmpeg/libavcodec/libavcodec.a \
+- lib/ffmpeg/libavfilter/libavfilter.a \
+- lib/ffmpeg/libswresample/libswresample.a \
+- lib/ffmpeg/libavformat/libavformat.a \
+- lib/ffmpeg/libavutil/libavutil.a \
+- lib/ffmpeg/libpostproc/libpostproc.a \
+- lib/ffmpeg/libswscale/libswscale.a
+-DYNOBJSXBMC+= $(FFMPEGOBJS)
+-LIBS+= @GNUTLS_ALL_LIBS@ @VORBISENC_ALL_LIBS@
+-
+-$(FFMPEGOBJS): dvdpcodecs
+-endif
+-
+ ifneq (@USE_LIBXBMC@,1)
+ MAINOBJS+=xbmc/main/main.a
+ else
+diff --git a/configure.in b/configure.in
+index c389b76..0c6fc47 100644
+--- a/configure.in
++++ b/configure.in
+@@ -874,14 +874,6 @@ elif test "$use_arch" = "arm"; then
+ fi
+ fi
+ fi
+-if test "$use_static_ffmpeg" = "yes"; then
+- USE_STATIC_FFMPEG=1
+- AC_DEFINE([USE_STATIC_FFMPEG], [1], [link ffmpeg statically])
+- # ffmpeg may depend on gnutls and vorbisenc, we add those libs at the end of linker
+- # command in order to resolve any missing symbols
+- GNUTLS_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls`
+- VORBISENC_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc`
+-fi
+
+ # Checks for library functions.
+ AC_FUNC_ALLOCA
+@@ -2619,7 +2618,6 @@ AC_SUBST(DISABLE_FISHBMC)
+ AC_SUBST(DISABLE_PROJECTM)
+ AC_SUBST(USE_SKIN_TOUCHED)
+ AC_SUBST(USE_EXTERNAL_FFMPEG)
+-AC_SUBST(USE_STATIC_FFMPEG)
+ AC_SUBST(USE_LIBAV_HACKS)
+ AC_SUBST(PYTHON_VERSION)
+ AC_SUBST(OUTPUT_FILES)
+@@ -2666,8 +2663,6 @@ AC_SUBST(USE_ANDROID)
+ AC_SUBST(GTEST_CONFIGURED)
+ AC_SUBST(USE_DOXYGEN)
+ AC_SUBST(USE_PVR_ADDONS)
+-AC_SUBST(GNUTLS_ALL_LIBS)
+-AC_SUBST(VORBISENC_ALL_LIBS)
+
+ # pushd and popd are not available in other shells besides bash, so implement
+ # our own pushd/popd functions
+@@ -2832,7 +2819,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [
+ --disable-ffserver \
+ --disable-ffmpeg \
+ --disable-crystalhd \
+- `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \
++ --enable-shared \
+ --disable-doc \
+ --enable-postproc \
+ --enable-gpl \
+diff --git a/lib/DllAvCodec.h b/lib/DllAvCodec.h
+index af13a15..5cef736 100644
+--- a/lib/DllAvCodec.h
++++ b/lib/DllAvCodec.h
+@@ -94,7 +94,7 @@ public:
+ virtual AVDictionary* av_frame_get_metadata(const AVFrame* frame)=0;
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+
+ // Use direct layer
+ class DllAvCodec : public DllDynamic, DllAvCodecInterface
+@@ -166,7 +166,7 @@ public:
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() {
+-#if !defined(TARGET_DARWIN) && !defined(USE_STATIC_FFMPEG)
++#if !defined(TARGET_DARWIN)
+ CLog::Log(LOGDEBUG, "DllAvCodec: Using libavcodec system library");
+ #endif
+ return true;
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
+index 05e5c6f..2200bfa 100644
+--- a/lib/DllAvFilter.h
++++ b/lib/DllAvFilter.h
+@@ -104,7 +104,7 @@ public:
+ #endif
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+ // Use direct mapping
+ class DllAvFilter : public DllDynamic, DllAvFilterInterface
+ {
+diff --git a/lib/DllAvFormat.h b/lib/DllAvFormat.h
+index fc7e166..0016c0b 100644
+--- a/lib/DllAvFormat.h
++++ b/lib/DllAvFormat.h
+@@ -41,7 +41,7 @@ extern "C" {
+ void xbmc_read_frame_flush(AVFormatContext *s);
+ #else
+ #include "libavformat/avformat.h"
+- #if defined(TARGET_DARWIN) || defined(USE_STATIC_FFMPEG)
++ #if defined(TARGET_DARWIN)
+ void ff_read_frame_flush(AVFormatContext *s); // internal replacement
+ #define xbmc_read_frame_flush ff_read_frame_flush
+ #endif
+@@ -73,7 +73,7 @@ public:
+ virtual int av_read_play(AVFormatContext *s)=0;
+ virtual int av_read_pause(AVFormatContext *s)=0;
+ virtual int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)=0;
+-#if (!defined USE_EXTERNAL_FFMPEG) && (!defined TARGET_DARWIN) && (!defined USE_STATIC_FFMPEG)
++#if (!defined USE_EXTERNAL_FFMPEG) && (!defined TARGET_DARWIN)
+ virtual int avformat_find_stream_info_dont_call(AVFormatContext *ic, AVDictionary **options)=0;
+ #endif
+ virtual int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options)=0;
+@@ -108,7 +108,7 @@ public:
+ #endif
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+
+ // Use direct mapping
+ class DllAvFormat : public DllDynamic, DllAvFormatInterface
+@@ -170,7 +170,7 @@ public:
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() {
+-#if !defined(TARGET_DARWIN) && !defined(USE_STATIC_FFMPEG)
++#if !defined(TARGET_DARWIN)
+ CLog::Log(LOGDEBUG, "DllAvFormat: Using libavformat system library");
+ #endif
+ CSingleLock lock(DllAvCodec::m_critSection);
+diff --git a/lib/DllAvUtil.h b/lib/DllAvUtil.h
+index 0fcdf10..ce5889b 100644
+--- a/lib/DllAvUtil.h
++++ b/lib/DllAvUtil.h
+@@ -116,7 +116,7 @@ public:
+ #endif
+ };
+
+-#if defined (USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if defined (USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+ // Use direct layer
+ class DllAvUtilBase : public DllDynamic, DllAvUtilInterface
+ {
+@@ -174,7 +174,7 @@ public:
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() {
+-#if !defined(TARGET_DARWIN) && !defined(USE_STATIC_FFMPEG)
++#if !defined(TARGET_DARWIN)
+ CLog::Log(LOGDEBUG, "DllAvUtilBase: Using libavutil system library");
+ #endif
+ return true;
+diff --git a/lib/DllPostProc.h b/lib/DllPostProc.h
+index e9542eb..0265651 100644
+--- a/lib/DllPostProc.h
++++ b/lib/DllPostProc.h
+@@ -78,7 +78,7 @@ public:
+ virtual void pp_free_context(pp_context *ppContext)=0;
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+
+ // We call directly.
+ class DllPostProc : public DllDynamic, DllPostProcInterface
+diff --git a/lib/DllSwResample.h b/lib/DllSwResample.h
+index cd1452b..854d250 100644
+--- a/lib/DllSwResample.h
++++ b/lib/DllSwResample.h
+@@ -60,7 +60,7 @@ public:
+ virtual int swr_set_compensation(struct SwrContext *s, int sample_delta, int compensation_distance) = 0;
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+
+ // Use direct mapping
+ class DllSwResample : public DllDynamic, DllSwResampleInterface
+@@ -71,7 +71,7 @@ public:
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() {
+-#if !defined(TARGET_DARWIN) && !defined(USE_STATIC_FFMPEG)
++#if !defined(TARGET_DARWIN)
+ CLog::Log(LOGDEBUG, "DllAvFormat: Using libswresample system library");
+ #endif
+ return true;
+diff --git a/lib/DllSwScale.h b/lib/DllSwScale.h
+index 97e3b40..36bb616 100644
+--- a/lib/DllSwScale.h
++++ b/lib/DllSwScale.h
+@@ -87,7 +87,7 @@ public:
+ virtual void sws_freeContext(struct SwsContext *context)=0;
+ };
+
+-#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN) || (defined USE_STATIC_FFMPEG)
++#if (defined USE_EXTERNAL_FFMPEG) || (defined TARGET_DARWIN)
+
+ // We call into this library directly.
+ class DllSwScale : public DllDynamic, public DllSwScaleInterface
+@@ -111,7 +111,7 @@ public:
+ // DLL faking.
+ virtual bool ResolveExports() { return true; }
+ virtual bool Load() {
+-#if !defined(TARGET_DARWIN) && !defined(USE_STATIC_FFMPEG)
++#if !defined(TARGET_DARWIN)
+ CLog::Log(LOGDEBUG, "DllSwScale: Using libswscale system library");
+ #endif
+ return true;
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index ca18a4a..906219c 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -27,7 +27,6 @@ endif
+
+ LIBS=
+ ifneq (@USE_EXTERNAL_FFMPEG@,1)
+-ifneq (@USE_STATIC_FFMPEG@,1)
+ LIBS+=$(AVUTIL_SO) \
+ $(AVCODEC_SO) \
+ $(AVFORMAT_SO) \
+@@ -36,12 +35,10 @@ ifneq (@USE_STATIC_FFMPEG@,1)
+ $(SWSCALE_SO) \
+ $(SWRESAMPLE_SO)
+ endif
+-endif
+
+ .PHONY: $(DIRS) codecs
+
+ ifneq ($(findstring osx,$(ARCH)), osx)
+-ifneq (@USE_STATIC_FFMPEG@,1)
+
+ codecs: $(addprefix $(SYSDIR)/, $(LIBS));
+
+@@ -74,17 +71,6 @@ ffmpeg/libswscale/libswscale.so : ffmpeg;
+ ffmpeg/libpostproc/libpostproc.so : ffmpeg;
+ ffmpeg/libswresample/libswresample.so : ffmpeg;
+ endif
+-endif
+-
+-ifeq (@USE_STATIC_FFMPEG@,1)
+-ffmpeg/libavutil/libavutil.a : ffmpeg;
+-ffmpeg/libavcodec/libavcodec.a : ffmpeg;
+-ffmpeg/libavformat/libavformat.a : ffmpeg;
+-ffmpeg/libavfilter/libavfilter.a : ffmpeg;
+-ffmpeg/libswscale/libswscale.a : ffmpeg;
+-ffmpeg/libpostproc/libpostproc.a : ffmpeg;
+-ffmpeg/libswresample/libswresample.a : ffmpeg;
+-endif
+
+ ffmpeg:
+ $(MAKE) -C $@
+--
+1.8.5.3
+