libav: use LIBAV_CPPFLAGS for -I include paths
authorU. Artie Eoff <ullysses.a.eoff@intel.com>
Tue, 24 Oct 2017 02:35:31 +0000 (19:35 -0700)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 13 Jan 2018 12:18:54 +0000 (12:18 +0000)
Autotools automatically appends user CPPFLAGS after target
CPPFLAGS.  Also, it puts all CPPFLAGS before CFLAGS in final
generated gcc compile command.  The internal ffmpeg include
paths need to come before any other external include paths
to ensure we don't accidentally pickup external ffmpeg
headers first (i.e. from user CPPFLAGS include paths).  Thus,
move the internal LIBAV include paths to LIBAV_CPPFLAGS so
that they come before any user defined CPPFLAGS.

This allows ffmpeg and gst-ffmpeg to coexist on users system.

https://bugzilla.gnome.org/show_bug.cgi?id=789379

configure.ac
ext/libav/Makefile.am

index 1ee3c27..8944f99 100644 (file)
@@ -300,9 +300,10 @@ else
   fi
 
   dnl libgstlibav.la: include dirs
-  LIBAV_CFLAGS="-I \$(top_srcdir)/gst-libs/ext/libav \
-                -I \$(top_builddir)/gst-libs/ext/libav \
-                 -Wno-deprecated-declarations"
+  LIBAV_CPPFLAGS="-I \$(top_srcdir)/gst-libs/ext/libav \
+                -I \$(top_builddir)/gst-libs/ext/libav"
+
+  LIBAV_CFLAGS="-Wno-deprecated-declarations"
 
   LIBAV_DEPS="\$(top_builddir)/gst-libs/ext/libav/libavfilter/libavfilter.a \
               \$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
@@ -463,6 +464,7 @@ fi
 AM_CONDITIONAL(HAVE_BZ2, test "x$HAVE_BZ2" = "xyes")
 AM_CONDITIONAL(HAVE_LZMA, test "x$HAVE_LZMA" = "xyes")
 
+AC_SUBST(LIBAV_CPPFLAGS)
 AC_SUBST(LIBAV_CFLAGS)
 AC_SUBST(LIBAV_DEPS)
 AC_SUBST(LIBAV_LIBS)
index b4a8bef..837b4f7 100644 (file)
@@ -17,6 +17,7 @@ libgstlibav_la_SOURCES = gstav.c      \
 #      \
 #                        gstavscale.c
 
+libgstlibav_la_CPPFLAGS = $(LIBAV_CPPFLAGS) $(GST_PLUGINS_BASE_CPPFLAGS) $(GST_CPPFLAGS)
 libgstlibav_la_CFLAGS = $(LIBAV_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
 libgstlibav_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
        -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \