summaryrefslogtreecommitdiffstats
path: root/multimedia/xbmc/patches/0002-Revert-linux-link-ffmpeg-statically.patch
blob: a610aa9f4c03f800f1584772e7a451bcbb6c2dc8 (plain)
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