From 2cd39dbf16579e6381dcb3ac962523727fe5cf4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Diego=20Petten=C3=B2?= <flameeyes@gmail.com>
Date: Wed, 22 Oct 2008 10:36:34 +0000
Subject: [PATCH] Include headers for optional libraries only when enabled.

Include the headers for libavfilter, libswscale and libpostproc when
they are enabled (and thus linked in).

Without this change, Sun Studio will fail to link FFmpeg since two
inline functions defined in avfilter.h will have undefined references
to non-inline libavfilter functions.

Originally committed as revision 15665 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 cmdutils.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/cmdutils.c b/cmdutils.c
index 5c6715dd136..f52f56e7e2b 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -24,12 +24,20 @@
 #include <errno.h>
 #include <math.h>
 
+/* Include only the enabled headers since some compilers (namely, Sun
+   Studio) will not omit unused inline functions and create undefined
+   references to libraries that are not being built. */
+
 #include "config.h"
 #include "libavformat/avformat.h"
+#ifdef CONFIG_AVFILTER
 #include "libavfilter/avfilter.h"
+#endif
 #include "libavdevice/avdevice.h"
 #include "libswscale/swscale.h"
+#ifdef CONFIG_POSTPROC
 #include "libpostproc/postprocess.h"
+#endif
 #include "libavutil/avstring.h"
 #include "libavcodec/opt.h"
 #include "cmdutils.h"
-- 
GitLab