dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/prerelease
-AC_INIT([GStreamer Base Plug-ins],[1.13.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.16.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
AG_GST_INIT
dnl 1.10.9 (who knows) => 1009
dnl
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 1300, 0, 1300)
+AS_LIBTOOL(GST, 1602, 0, 1602)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.13.0.1
+GST_REQ=1.16.2
dnl *** autotools stuff ****
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
+dnl check for supporting tbm
+AC_MSG_CHECKING([for supporting tbm])
+AC_ARG_ENABLE(tbm, AC_HELP_STRING([--enable-tbm], [tbm support]),
+ [
+ case "${enableval}" in
+ yes) USE_TBM=yes ;;
+ no) USE_TBM=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tbm) ;;
+ esac
+ ],
+ [USE_TBM=no])
+AM_CONDITIONAL(USE_TBM, test "x$USE_TBM" = "xyes")
+AC_MSG_RESULT([$USE_TBM])
+if test "x$USE_TBM" = "xyes"; then
+ AC_DEFINE(USE_TBM, 1, [tbm support])
+fi
+
+dnl Check for tv-product
+AC_ARG_ENABLE(tv, AC_HELP_STRING([--enable-tv], [use tv]),
+ [
+ case "${enableval}" in
+ yes) HAVE_TV_PRODUCT=yes ;;
+ no) HAVE_TV_PRODUCT=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tv) ;;
+ esac
+ ],)
+AM_CONDITIONAL([HAVE_TV_PRODUCT], [test "x$HAVE_TV_PRODUCT" = "xyes"])
+
dnl check for gobject-introspection
GOBJECT_INTROSPECTION_CHECK([1.31.1])
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#include <arm_neon.h>
- int32x4_t testfunc(int16_t *a, int16_t *b) {
+ int32x4_t __attribute__((used)) testfunc(int16_t *a, int16_t *b) {
asm volatile ("vmull.s16 q0, d0, d0" : : : "q0");
return vmull_s16(vld1_s16(a), vld1_s16(b));
}
dnl used to be used in gst-libs/gst/floatcast/floatcast.h (FIXME: still needed?)
save_libs=$LIBS
LIBS="$LIBS $LIBM"
-AC_C99_FUNC_LRINT
-AC_C99_FUNC_LRINTF
+#AC_C99_FUNC_LRINT
+#AC_C99_FUNC_LRINTF
LIBS=$save_libs
dnl Check for a way to display the function name in debug output
ORC_CHECK([0.4.24])
+dnl For Requires.private in pkg-config files
+ORC_PC=
+if test x"$HAVE_ORC" = "xyes"; then
+ ORC_PC="orc-0.4"
+fi
+AC_SUBST(ORC_PC)
+
dnl checks for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
AC_SUBST(GLIB_PREFIX)
AC_SUBST(GST_PREFIX)
+dnl check for gudev
+PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
+ AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
+ HAVE_GUDEV="yes" ],
+ [HAVE_GUDEV="no"])
+
+AG_GST_GL_CHECKS
+
dnl GTK is optional and only used in examples
HAVE_GTK=no
HAVE_GTK_X11=no
AM_CONDITIONAL(HAVE_QT, test "x$HAVE_QT" = "xyes")
AM_CONDITIONAL(HAVE_QT_MOC, test "x$HAVE_QT_MOC" != "xno")
+dnl Check for OpenGL example dependencies (clutter, sdl, etc.)
+AG_GST_GL_EXAMPLES_CHECKS
+
dnl chck for linux headers needed by the joystick seek example
AC_COMPILE_IFELSE(
[
dnl define an ERROR_CFLAGS Makefile variable
dnl -Wformat-nonliteral - see ext/pango/gstclockoverlay.c and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438
+dnl -Waggregate-return - xcb_intern_atom() returns an aggregate value
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
- -Wwrite-strings -Wformat-nonliteral -Wformat-security
- -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return
+ -Wwrite-strings -Wformat-nonliteral -Wformat-security
+ -Winit-self -Wmissing-include-dirs -Waddress
-Wno-multichar -Wnested-externs $NO_WARNINGS])
dnl define an ERROR_CXXFLAGS Makefile variable
AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wredundant-decls -Wundef
-Wwrite-strings -Wformat-nonliteral -Wformat-security
- -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return
+ -Winit-self -Wmissing-include-dirs -Waddress
-Wno-multichar $NO_WARNINGS])
dnl define correct level for debugging messages
dnl Check for mmap (needed by allocators library)
AC_CHECK_FUNC([mmap], [AC_DEFINE(HAVE_MMAP, 1, [Defined if mmap is supported])])
+dnl Check for DMABuf synchronization ioctl (needed for DMABuf CPU access)
+AC_CHECK_HEADERS([linux/dma-buf.h], [])
+
dnl *** plug-ins to include ***
dnl these are all the gst plug-ins, compilable without additional libs
AG_GST_CHECK_PLUGIN(adder)
AG_GST_CHECK_PLUGIN(app)
AG_GST_CHECK_PLUGIN(audioconvert)
+AG_GST_CHECK_PLUGIN(audiomixer)
AG_GST_CHECK_PLUGIN(audiorate)
AG_GST_CHECK_PLUGIN(audiotestsrc)
+AG_GST_CHECK_PLUGIN(compositor)
AG_GST_CHECK_PLUGIN(encoding)
AG_GST_CHECK_PLUGIN(videoconvert)
AG_GST_CHECK_PLUGIN(gio)
+AG_GST_CHECK_PLUGIN(overlaycomposition)
AG_GST_CHECK_PLUGIN(playback)
AG_GST_CHECK_PLUGIN(audioresample)
AG_GST_CHECK_PLUGIN(rawparse)
dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
+dnl *** gl ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
+AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
+ HAVE_GL="no"
+
+ if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
+ HAVE_GL="yes"
+ AG_GST_GL_PLUGIN_CHECKS
+ fi
+])
+
dnl *** ivorbis ***
dnl AM_PATH_IVORBIS only takes two options
translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
dnl but we still need to set the conditionals
AM_CONDITIONAL(USE_ALSA, false)
AM_CONDITIONAL(USE_CDPARANOIA, false)
+AM_CONDITIONAL(USE_GL, false)
AM_CONDITIONAL(USE_IVORBIS, false)
AM_CONDITIONAL(USE_LIBVISUAL, false)
AM_CONDITIONAL(USE_OGG, false)
fi dnl of EXT plugins
+AM_CONDITIONAL(HAVE_GRAPHENE, test "x$HAVE_GRAPHENE" = "xyes")
+AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
+AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
+
dnl *** gio-unix-2.0 for tests/check/pipelines/tcp.c ***
PKG_CHECK_MODULES(GIO_UNIX_2_0, gio-unix-2.0 >= 2.24,
HAVE_GIO_UNIX_2_0="yes",
AC_SUBST(DEPRECATED_CFLAGS)
VISIBILITY_CFLAGS=""
-AS_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"])
+AS_COMPILER_FLAG([-fvisibility=hidden], [
+ VISIBILITY_CFLAGS="-fvisibility=hidden"
+ AC_DEFINE(GST_API_EXPORT, [extern __attribute__ ((visibility ("default")))], [public symbol export define])
+], [
+ VISIBILITY_CFLAGS=""
+ AC_DEFINE(GST_API_EXPORT, [extern], [public symbol export define])
+])
AC_SUBST(VISIBILITY_CFLAGS)
VISIBILITY_CXXFLAGS=""
fi
AC_SUBST(VISIBILITY_CXXFLAGS)
+dnl disable strict aliasing
+AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"])
+AC_SUBST(EXTRA_CFLAGS)
+
dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
dnl at make time with e.g. make ERROR_CFLAGS=""
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
dnl FIXME: do we want to rename to GST_ALL_* ?
dnl add GST_OPTION_CFLAGS, but overridable
GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS"
-GST_CXXFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CXXFLAGS) \$(VISIBILITY_CXXFLAGS)"
-GST_CFLAGS="$GLIB_CFLAGS $GST_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CFLAGS) \$(VISIBILITY_CFLAGS)"
+GST_CXXFLAGS="$GLIB_CFLAGS $GST_CFLAGS $EXTRA_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CXXFLAGS) \$(VISIBILITY_CXXFLAGS)"
+GST_CFLAGS="$GLIB_CFLAGS $GST_CFLAGS $EXTRA_CFLAGS \$(GLIB_EXTRA_CFLAGS) \$(GST_OPTION_CFLAGS) \$(VISIBILITY_CFLAGS)"
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_CXXFLAGS)
dnl add GCOV libs because libtool strips -fprofile-arcs -ftest-coverage
GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS)
+dnl use tbm
+PKG_CHECK_MODULES(TBM, libdrm libtbm)
+AC_SUBST(TBM_CFLAGS)
+AC_SUBST(TBM_LIBS)
+
dnl *** output files ***
$MKDIR_P tests/check/orc
gst/adder/Makefile
gst/app/Makefile
gst/audioconvert/Makefile
+gst/audiomixer/Makefile
gst/audiorate/Makefile
gst/audioresample/Makefile
gst/audiotestsrc/Makefile
+gst/compositor/Makefile
gst/encoding/Makefile
gst/videoconvert/Makefile
gst/gio/Makefile
+gst/overlaycomposition/Makefile
gst/pbtypes/Makefile
gst/playback/Makefile
gst/rawparse/Makefile
ext/Makefile
ext/alsa/Makefile
ext/cdparanoia/Makefile
+ext/gl/Makefile
ext/libvisual/Makefile
ext/ogg/Makefile
ext/opus/Makefile
gst-libs/gst/audio/Makefile
gst-libs/gst/app/Makefile
gst-libs/gst/fft/Makefile
+gst-libs/gst/gl/Makefile
+gst-libs/gst/gl/android/Makefile
+gst-libs/gst/gl/cocoa/Makefile
+gst-libs/gst/gl/dispmanx/Makefile
+gst-libs/gst/gl/glprototypes/Makefile
+gst-libs/gst/gl/eagl/Makefile
+gst-libs/gst/gl/egl/Makefile
+gst-libs/gst/gl/wayland/Makefile
+gst-libs/gst/gl/win32/Makefile
+gst-libs/gst/gl/x11/Makefile
+gst-libs/gst/gl/viv-fb/Makefile
+gst-libs/gst/gl/gbm/Makefile
gst-libs/gst/riff/Makefile
gst-libs/gst/rtp/Makefile
gst-libs/gst/rtsp/Makefile
pkgconfig/gstreamer-tag-uninstalled.pc
pkgconfig/gstreamer-video.pc
pkgconfig/gstreamer-video-uninstalled.pc
+pkgconfig/gstreamer-gl.pc
+pkgconfig/gstreamer-gl-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc
tests/Makefile
tests/examples/Makefile
tests/examples/app/Makefile
tests/examples/audio/Makefile
+tests/examples/compositor/Makefile
tests/examples/decodebin_next/Makefile
tests/examples/dynamic/Makefile
tests/examples/encoding/Makefile
tests/examples/fft/Makefile
tests/examples/gio/Makefile
+tests/examples/gl/Makefile
+tests/examples/gl/generic/Makefile
+tests/examples/gl/generic/cube/Makefile
+tests/examples/gl/generic/doublecube/Makefile
+tests/examples/gl/generic/recordgraphic/Makefile
+tests/examples/gl/generic/cubeyuv/Makefile
+tests/examples/gl/qt/Makefile
+tests/examples/gl/gtk/Makefile
+tests/examples/gl/gtk/fxtest/Makefile
+tests/examples/gl/gtk/3dvideo/Makefile
+tests/examples/gl/gtk/switchvideooverlay/Makefile
+tests/examples/gl/gtk/filternovideooverlay/Makefile
+tests/examples/gl/gtk/filtervideooverlay/Makefile
+tests/examples/gl/cocoa/Makefile
+tests/examples/gl/sdl/Makefile
tests/examples/overlay/Makefile
+tests/examples/overlaycomposition/Makefile
tests/examples/seek/Makefile
tests/examples/snapshot/Makefile
tests/examples/playback/Makefile