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/pre
-AC_INIT([GStreamer Good Plug-ins],[1.13.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.16.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
AG_GST_INIT
dnl sets host_* variables
AC_CANONICAL_HOST
+dnl PKG_CONFIG_SYSROOT_DIR is a valid environment variable
+m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
+
dnl use pretty build output with automake >= 1.11
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
[AM_DEFAULT_VERBOSITY=1
[GStreamer API Version])
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 1300, 0, 1300)
+AS_LIBTOOL(GST, 1600, 0, 1600)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.13.0.1
-GSTPB_REQ=1.13.0.1
+GST_REQ=1.16.0
+GSTPB_REQ=1.16.0
dnl *** autotools stuff ****
dnl Determine endianness
AC_C_BIGENDIAN
+dnl *** software ***
+
+dnl check for large file support
+dnl affected plugins must include config.h
+AC_SYS_LARGEFILE
+
dnl *** checks for programs ***
dnl find a compiler
fi
dnl Allow enabling v4l2 device probing
+default_v4l2_probe=no
AS_CASE([$host],
[*-*linux*],
[AS_CASE([$host_cpu],
[arm*], [
- enable_v4l2_probe="yes"],
+ default_v4l2_probe=yes],
[aarch64*], [
- enable_v4l2_probe="yes"])])
+ default_v4l2_probe=yes])])
AC_ARG_ENABLE(
v4l2-probe,
AC_HELP_STRING(
[--enable-v4l2-probe],
- [enable V4L2 plugin to probe devices @<:@default=no@:>@]))
+ [enable V4L2 plugin to probe devices]),
+ [], [enable_v4l2_probe=$default_v4l2_probe])
if test "x$enable_v4l2_probe" = "xyes"; then
AC_DEFINE(GST_V4L2_ENABLE_PROBE, 1,
[Define if Video4Linux probe shall be run at plugin load])
])
AM_CONDITIONAL(USE_LIBIEC61883, [ test "x${HAVE_LIBIEC61883}" = xyes ] )
+dnl *** Qt ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
+AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
+ PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
+ QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
+ QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
+ AC_ARG_WITH([moc],
+ AS_HELP_STRING([--with-moc], [Set location of qt moc tool]),
+ [MOC=$withval])
+ AC_PATH_PROGS(MOC, [moc-qt5 moc], [moc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
+ AC_ARG_WITH([rcc],
+ AS_HELP_STRING([--with-rcc], [Set location of qt rcc tool]),
+ [RCC=$withval])
+ AC_PATH_PROGS(RCC, [rcc-qt5 rcc], [rcc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
+ AC_ARG_WITH([uic],
+ AS_HELP_STRING([--with-uic], [Set location of qt uic tool]),
+ [UIC=$withval])
+ AC_PATH_PROGS(UIC, [uic-qt5 uic], [uic], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
+ if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
+ AC_MSG_WARN([One of the required qt build programs was not found])
+ HAVE_QT="no"
+ else
+ HAVE_QT="yes"
+ HAVE_QT_WINDOWING="no"
+ QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`"
+ QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
+ AS_IF([test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
+ QT_CFLAGS="$QT_CFLAGS -I$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH"
+ HAVE_QT_QPA_HEADER="yes"
+ AC_DEFINE([HAVE_QT_QPA_HEADER], [], [Define if the Qt QPA header is installed])
+ ], [AC_MSG_NOTICE([Cannot find QPA])])
+ if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1" || test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+ PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
+ AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
+ QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
+ QT_LIBS="$QT_LIBS $QT_X11_LIBS"
+ HAVE_QT_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
+ fi
+ if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1" -a "x$HAVE_QT_QPA_HEADER" = "xyes"; then
+ PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
+ AC_DEFINE([HAVE_QT_WAYLAND], [],
+ [Define if Qt Wayland integration is installed])
+ QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
+ QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
+ HAVE_QT_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
+ fi
+ if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+ if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
+ PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
+ # c++ on android requires a standard library and there are multiple
+ # choices. cerbero provides a pkg-config file the describes a choice
+ # so try to use that. Outside cerbero one has to pass these flags
+ # manually for the library one is using
+ PKG_CHECK_MODULES(GNUSTL, gnustl, [
+ QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
+ QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
+ ], [
+ AC_MSG_NOTICE([Could not find Standard C++ library])])
+ AC_DEFINE([HAVE_QT_ANDROID], [],
+ [Define if Qt Android integration is installed])
+ QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
+ QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
+ HAVE_QT_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
+ else
+ AC_DEFINE([HAVE_QT_EGLFS], [],
+ [Define if Qt eglfs integration is installed])
+ HAVE_QT_WINDOWING="yes"
+ fi
+ fi
+ if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
+ PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
+ AC_DEFINE([HAVE_QT_MAC], [],
+ [Define if Qt Mac integration is installed])
+ QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
+ QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
+ QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
+ HAVE_QT_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
+ fi
+ if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
+ if test "x$HAVE_IOS" = "xyes"; then
+ # iOS doesn't have its own extras package so if we have the core
+ # modules we are good to go
+ AC_DEFINE([HAVE_QT_IOS], [],
+ [Define if Qt iOS integration is installed])
+ HAVE_QT_WINDOWING="yes"
+ fi
+ fi
+ if test "x$HAVE_QT_WINDOWING" = "xno"; then
+ AC_MSG_WARN([Could not find any Qt Windowing integration])
+ HAVE_QT="no"
+ fi
+ AC_SUBST([QT_CFLAGS])
+ AC_SUBST([QT_LIBS])
+ fi
+ ], [
+ HAVE_QT="no"
+ ])
+])
+
dnl *** shout2 ***
translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
AG_GST_CHECK_FEATURE(SHOUT2, [Shoutcast/Icecast client library], shout2, [
AC_DEFINE(HAVE_VPX_1_4, 1, [Defined if the VPX library version is 1.4 or bigger])
], [true])
+ PKG_CHECK_MODULES(VPX_180, vpx >= 1.8.0, [
+ AC_DEFINE(HAVE_VPX_1_8, 1, [Defined if the VPX library version is 1.8 or bigger])
+ ], [true])
+
LIBS="$OLD_LIBS"
CFLAGS="$OLD_CFLAGS"
fi
AM_CONDITIONAL(USE_DV1394, false)
AM_CONDITIONAL(USE_FLAC, false)
AM_CONDITIONAL(USE_GDK_PIXBUF, false)
+AM_CONDITIONAL(USE_GTK3, false)
+AM_CONDITIONAL(USE_GTK3_GL, false)
AM_CONDITIONAL(USE_JACK, false)
AM_CONDITIONAL(USE_JPEG, false)
AM_CONDITIONAL(USE_LAME, false)
AM_CONDITIONAL(USE_OSX_AUDIO, false)
AM_CONDITIONAL(USE_OSX_VIDEO, false)
AM_CONDITIONAL(USE_PULSE, false)
+AM_CONDITIONAL(USE_QT, false)
AM_CONDITIONAL(USE_SHOUT2, false)
AM_CONDITIONAL(USE_SOUP, false)
AM_CONDITIONAL(USE_SPEEX, false)
ext/libpng/Makefile
ext/mpg123/Makefile
ext/pulse/Makefile
+ext/qt/Makefile
ext/raw1394/Makefile
ext/shout2/Makefile
ext/soup/Makefile
tests/examples/jack/Makefile
tests/examples/level/Makefile
tests/examples/rtp/Makefile
+tests/examples/rtsp/Makefile
tests/examples/shapewipe/Makefile
tests/examples/spectrum/Makefile
tests/examples/v4l2/Makefile