-AC_PREREQ(2.60)
+AC_PREREQ(2.62)
dnl please read gstreamer/docs/random/autotools before changing this file
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, 0.11.0.1,
+AC_INIT(GStreamer Good Plug-ins, 1.0.1,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-plugins-good)
AG_GST_INIT
dnl initialize automake
-AM_INIT_AUTOMAKE([-Wno-portability 1.10])
+AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar])
dnl define PACKAGE_VERSION_* variables
AS_VERSION
AM_CONFIG_HEADER([config.h])
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
-AM_MAINTAINER_MODE
+AM_MAINTAINER_MODE([enable])
dnl sets host_* variables
AC_CANONICAL_HOST
[AM_DEFAULT_VERBOSITY=1
AC_SUBST(AM_DEFAULT_VERBOSITY)])
-dnl our libraries and install dirs use major.minor as a version
-GST_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
-dnl we override it here if we need to for the release candidate of new series
-GST_MAJORMINOR=0.11
-AC_SUBST(GST_MAJORMINOR)
+dnl our libraries and install dirs use GST_API_VERSION in the filename
+dnl to allow side-by-side installation of different API versions
+GST_API_VERSION=1.0
+AC_SUBST(GST_API_VERSION)
+AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
+ [GStreamer API Version])
AG_GST_LIBTOOL_PREPARE
-
-dnl FIXME: this macro doesn't actually work;
-dnl the generated libtool script has no support for the listed tags.
-dnl So this needs to be fixed first if we want to use this
-dnl AS_LIBTOOL_TAGS
-
-AC_LIBTOOL_WIN32_DLL
-AM_PROG_LIBTOOL
+AS_LIBTOOL(GST, 1, 0, 1)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.11.0
-GSTPB_REQ=0.11.0
+GST_REQ=1.0.0
+GSTPB_REQ=1.0.0
dnl *** autotools stuff ****
dnl the version check needs to stay here because autopoint greps for it
AM_GNU_GETTEXT_VERSION([0.17])
AM_GNU_GETTEXT([external])
-AG_GST_GETTEXT([gst-plugins-good-$GST_MAJORMINOR])
+AG_GST_GETTEXT([gst-plugins-good-$GST_API_VERSION])
dnl *** check for arguments to configure ***
dnl FIXME: do we need this ?
AC_PROG_CXXCPP
-AS_PROG_OBJC
+AC_PROG_OBJC
dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl check for documentation tools
-GTK_DOC_CHECK([1.3])
+GTK_DOC_CHECK([1.12])
AS_PATH_PYTHON([2.1])
AG_GST_PLUGIN_DOCS([1.3],[2.1])
dnl *** checks for libraries ***
dnl check for libm, for sin()
-AC_CHECK_LIBM
+LT_LIB_M
AC_SUBST(LIBM)
dnl *** checks for header files ***
dnl used in gst/udp
AC_CHECK_HEADERS([sys/time.h])
+dnl used in gst/udp
+AC_CHECK_HEADERS([sys/socket.h])
+
dnl *** checks for types/defines ***
dnl Check for FIONREAD ioctl declaration. This check is needed
dnl GLib
-GLIB_REQ=2.31.10
+GLIB_REQ=2.32.0
AG_GST_GLIB_CHECK([$GLIB_REQ])
dnl Orc
-ORC_CHECK([0.4.11])
+ORC_CHECK([0.4.16])
dnl checks for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
-AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ], yes)
-AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ], yes)
-AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ], yes)
-AG_GST_CHECK_GST_NET($GST_MAJORMINOR, [$GST_REQ], yes)
-AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
-AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ], yes)
-
-GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-$GST_MAJORMINOR`
+AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
+AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ], yes)
+AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
+AG_GST_CHECK_GST_NET($GST_API_VERSION, [$GST_REQ], yes)
+AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
+AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
+
+GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-$GST_API_VERSION`
if test -z $GST_TOOLS_DIR; then
AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
fi
dnl Check for documentation xrefs
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
-GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
-GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_MAJORMINOR`"
+GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
+GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
AC_SUBST(GLIB_PREFIX)
AC_SUBST(GST_PREFIX)
AC_SUBST(GSTPB_PREFIX)
dnl GTK is optional and used in examples
HAVE_GTK=no
-GTK2_REQ=2.14.0
-GTK3_REQ=2.91.3
+GTK_REQ=3.0.0
if test "x$BUILD_EXAMPLES" = "xyes"; then
- AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
- AC_ARG_WITH([gtk],
- AC_HELP_STRING([--with-gtk=3.0|2.0],
- [which gtk+ version to compile against (default: 2.0)]),
- [case "$with_gtk" in
- 2.0) GTK_REQ=$GTK2_REQ ;;
- 3.0) GTK_REQ=$GTK3_REQ ;;
- *) AC_MSG_ERROR([invalid gtk+ version specified]);;
- esac],
- [with_gtk=2.0
- GTK_REQ=$GTK2_REQ])
- AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
- PKG_CHECK_MODULES(GTK, gtk+-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
+ PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
dnl some examples need gtk+-x11
- PKG_CHECK_MODULES(GTK_X11, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK_X11=yes, HAVE_GTK_X11=no)
+ PKG_CHECK_MODULES(GTK_X11, gtk+-x11-3.0 >= $GTK_REQ, HAVE_GTK_X11=yes, HAVE_GTK_X11=no)
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
fi
["${srcdir}/gst-plugins-good.doap"],
[$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
+# set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
+dnl make sure it doesn't complain about unused variables if debugging is disabled
+NO_WARNINGS=""
+AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
+
dnl define an ERROR_CFLAGS Makefile variable
dnl -Wundef: too many broken headers
-if test "x$HAVE_OSX_VIDEO" != "xyes"; then
- AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
- -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
- -Wwrite-strings -Wold-style-definition -Waggregate-return
- -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
- -Wnested-externs ])
-else
- dnl work-around for us passing GST_CFLAGS to the ObjC-compiler, which
- dnl doesn't understand all warning flags that the C compiler knows about
- dnl (e.g. -Waddress) or causes problems with some flags (-Waggregate-return)
- AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
- -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
- -Wwrite-strings -Wold-style-definition
- -Winit-self -Wmissing-include-dirs -Wno-multichar
- -Wnested-externs ])
-fi
+AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
+ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+ -Wwrite-strings -Wold-style-definition -Waggregate-return
+ -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
-Wwrite-strings
- -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar ])
+ -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
+ $NO_WARNINGS])
+
+dnl define an ERROR_OBJCFLAGS Makefile variable
+AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
+ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
+ -Wwrite-strings -Wold-style-definition
+ -Winit-self -Wmissing-include-dirs -Wno-multichar
+ -Wnested-externs $NO_WARNINGS])
dnl define correct level for debugging messages
AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
dnl Non ported plugins (non-dependant, then dependant)
dnl Make sure you have a space before and after all plugins
-GST_PLUGINS_NONPORTED="deinterlace interleave flx goom2k1 \
- imagefreeze monoscope smpte \
- videobox \
- cairo cairo_gobject dv1394 gdk_pixbuf \
- oss oss4 shout2 \
- wavpack \
- osx_video osx_audio "
+GST_PLUGINS_NONPORTED="cairo cairo_gobject osx_audio "
AC_SUBST(GST_PLUGINS_NONPORTED)
dnl these are all the gst plug-ins, compilable without additional libs
LDFLAGS="$LDFLAGS $DIRECTSOUND_LDFLAGS"
LIBS="$LIBS -ldsound -ldxerr9 -luser32"
AC_MSG_CHECKING(for DirectSound LDFLAGS)
- AC_LINK_IFELSE([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <windows.h>
#include <dxerr9.h>
#include <dsound.h>
-
-int main ()
-{
+]], [[
DXGetErrorString9 (0);
DirectSoundCreate(NULL, NULL, NULL);
-
- return 0;
-}
+]])
],
[HAVE_DIRECTSOUND="yes"],
[HAVE_DIRECTSOUND="no"])
AS_SCRUB_INCLUDE(AALIB_CFLAGS)
])
-dnl *** annodex ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_ANNODEX, true)
-AG_GST_CHECK_FEATURE(ANNODEX, [XML library], annodex, [
- AG_GST_PKG_CHECK_MODULES(ANNODEX, libxml-2.0 >= 2.4.9)
-])
-
dnl *** cairo ***
translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
AG_GST_CHECK_FEATURE(CAIRO, [Cairo graphics rendering], cairo, [
HAVE_SOUP="yes"
AC_DEFINE(HAVE_LIBSOUP_GNOME, 1, [soup gnome integration])
],[
- PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.26, HAVE_SOUP="yes", [
+ PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.26.1, HAVE_SOUP="yes", [
HAVE_SOUP="no"
])
])
fi
])
+dnl *** vpx ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_VPX, vpx)
+AG_GST_CHECK_FEATURE(VPX, [VPX decoder], vpx, [
+ PKG_CHECK_MODULES(VPX, vpx >= 1.1.0, [HAVE_VPX="yes"], [HAVE_VPX="no"])
+
+ if test $HAVE_VPX = "yes"; then
+ OLD_LIBS="$LIBS"
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $VPX_CFLAGS"
+ LIBS="$LIBS $VPX_LIBS"
+ AC_CHECK_LIB(vpx, vpx_codec_vp8_cx_algo, [
+ HAVE_VP8=yes
+ AC_DEFINE(HAVE_VP8_ENCODER, 1, [Defined if the VP8 encoder is available])
+ ])
+ AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [
+ HAVE_VP8=yes
+ AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available])
+ ])
+ LIBS="$OLD_LIBS"
+ CFLAGS="$OLD_CFLAGS"
+ fi
+ AC_SUBST(VPX_LIBS)
+ AC_SUBST(VPX_CFLAGS)
+])
+
dnl *** wavpack ***
translit(dnm, m, l) AM_CONDITIONAL(USE_WAVPACK, true)
AG_GST_CHECK_FEATURE(WAVPACK, [wavpack plug-in], wavpack, [
dnl not building plugins with external dependencies,
dnl but we still need to set the conditionals
AM_CONDITIONAL(USE_AALIB, false)
-AM_CONDITIONAL(USE_ANNODEX, false)
AM_CONDITIONAL(USE_BZ2, false)
AM_CONDITIONAL(USE_CAIRO, false)
AM_CONDITIONAL(USE_CAIRO_GOBJECT, false)
AM_CONDITIONAL(USE_SPEEX, false)
AM_CONDITIONAL(USE_SUNAUDIO, false)
AM_CONDITIONAL(USE_TAGLIB, false)
+AM_CONDITIONAL(USE_VPX, false)
AM_CONDITIONAL(USE_WAVEFORM, false)
AM_CONDITIONAL(USE_WAVPACK, false)
AM_CONDITIONAL(USE_X, false)
fi
AC_SUBST(DEPRECATED_CFLAGS)
-dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
+dnl every flag in GST_OPTION_CFLAGS, GST_OPTION_CXXFLAGS and GST_OPTION_OBJCFLAGS 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)"
GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
+GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
AC_SUBST(GST_OPTION_CFLAGS)
AC_SUBST(GST_OPTION_CXXFLAGS)
+AC_SUBST(GST_OPTION_OBJCFLAGS)
dnl our libraries need to be versioned correctly
AC_SUBST(GST_LT_LDFLAGS)
dnl add ERROR_CFLAGS, but overridable
GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
+GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_CXXFLAGS)
+AC_SUBST(GST_OBJCFLAGS)
AC_SUBST(GST_LIBS)
dnl LDFLAGS really should only contain flags, not libs - they get added before
gst/y4m/Makefile
ext/Makefile
ext/aalib/Makefile
-ext/annodex/Makefile
ext/cairo/Makefile
ext/dv/Makefile
ext/flac/Makefile
ext/soup/Makefile
ext/speex/Makefile
ext/taglib/Makefile
+ext/vpx/Makefile
ext/wavpack/Makefile
sys/Makefile
sys/directsound/Makefile
-e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
-e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
-e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
- -e 's/.* GST_MAJORMINOR$/#define GST_MAJORMINOR "'$GST_MAJORMINOR'"/' \
+ -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
-e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
-e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
-e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \