dnl initialize autoconf
dnl releases only do -Wall, cvs and prerelease does -Werror too
dnl use a three digit version number for releases, and four for cvs/prerelease
-AC_INIT(GStreamer Base Plug-ins, 0.10.12.1,
+AC_INIT(GStreamer Base Plug-ins, 0.10.20.2,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-plugins-base)
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 8, 0, 8)
+AS_LIBTOOL(GST, 14, 0, 14)
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
dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.10.12.1
+GST_REQ=0.10.20.1
dnl *** autotools stuff ****
[plugin install helper script])
AC_SUBST(GST_INSTALL_PLUGINS_HELPER)
+AG_GST_ARG_WITH_PLUGINS
-dnl these are all the gst plug-ins, compilable without additional libs
-GST_PLUGINS_ALL="\
- adder \
- audioconvert \
- audiorate \
- audioresample \
- audiotestsrc \
- ffmpegcolorspace \
- gdp \
- playback \
- typefind \
- videotestsrc \
- videorate \
- videoscale \
- volume \
- "
-AC_SUBST(GST_PLUGINS_ALL)
-
-GST_PLUGINS_SELECTED=""
-
-AC_ARG_WITH(plugins,
- AC_HELP_STRING([--with-plugins],
- [comma-separated list of plug-ins to compile]),
- [for i in `echo $withval | tr , ' '`; do
- if echo $GST_PLUGINS_ALL | grep $i > /dev/null
- then
- GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
- else
- echo "plug-in $i not recognized, ignoring..."
- fi
- done],
- [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
-
-AC_SUBST(GST_PLUGINS_SELECTED)
-
-dnl ext plug-ins; plug-ins that have external dependencies
-AG_GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
- [HAVE_EXTERNAL=yes], enabled,
- [
- AC_MSG_NOTICE(building external plug-ins)
- BUILD_EXTERNAL="yes"
- ],[
- AC_MSG_NOTICE(all plug-ins with external dependencies will not be built)
- BUILD_EXTERNAL="no"
- ])
-AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
+AG_GST_ARG_ENABLE_EXTERNAL
+
+AG_GST_ARG_ENABLE_EXPERIMENTAL
dnl *** checks for platform ***
dnl check CPU type
AG_GST_ARCH
+dnl check for large file support
+dnl affected plugins must include config.h
+AC_SYS_LARGEFILE
+
dnl *** checks for programs ***
dnl find a compiler
AC_PROG_CC
+dnl check if the compiler supports '-c' and '-o' options
+AM_PROG_CC_C_O
+
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl *** checks for libraries ***
-dnl For interactive UNIX (a Sun thing)
-dnl FIXME: this adds -lcposix to LIBS, but I doubt we use LIBS
-AC_ISC_POSIX
-
dnl libm, for sin() etc.
AC_CHECK_LIBM
AC_SUBST(LIBM)
AC_CHECK_HEADERS([regex.h], HAVE_REGEX_H="yes", HAVE_REGEX_H="no")
AM_CONDITIONAL(HAVE_REGEX_H, test "x$HAVE_REGEX_H" = "xyes")
+if test "x$HAVE_REGEX_H" = "xyes"; then
+ ac_cppflags_save="$CPPFLAGS"
+ CPPFLAGS="`$PKG_CONFIG --cflags libxml-2.0`"
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([
+#include <libxml/HTMLparser.h>
+ ],[
+#ifndef LIBXML_HTML_ENABLED
+#error libxml2 has no HTML support
+#endif /* LIBXML_HTML_ENABLED */
+ ]), HAVE_LIBXML_HTML="yes", HAVE_LIBXML_HTML="no")
+ CPPFLAGS="$ac_cppflags_save"
+else
+ HAVE_LIBXML_HTML="no"
+fi
+AM_CONDITIONAL(HAVE_LIBXML_HTML, test "x$HAVE_LIBXML_HTML" = "xyes")
+
dnl used in gst/tcp
AC_CHECK_HEADERS([sys/socket.h],
HAVE_SYS_SOCKET_H="yes", HAVE_SYS_SOCKET_H="no")
AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
+dnl used in gst-libs/gst/rtsp
+AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
+if test "x$HAVE_WINSOCK2_H" = "xyes"; then
+ WIN32_LIBS="-lws2_32"
+ AC_SUBST(WIN32_LIBS)
+fi
+
+dnl check for hstrerror, for gst-libs/gst/rtsp
+save_libs="$LIBS"
+AC_CHECK_FUNC(hstrerror, ,
+ AC_CHECK_LIB(resolv, hstrerror, ,
+ [AC_DEFINE(NO_HSTRERROR, 1,
+ [Define if you have no native hstrerror() function.])]))
+HSTRERROR_LIBS=$LIBS
+AC_SUBST(HSTRERROR_LIBS)
+LIBS="$save_libs"
+
dnl used in gst-libs/gst/pbutils and associated unit test
AC_CHECK_HEADERS([process.h sys/types.h sys/wait.h sys/stat.h])
AX_CREATE_STDINT_H
dnl *** checks for functions ***
-AC_CHECK_FUNCS([localtime_r])
+AC_CHECK_FUNCS([localtime_r gmtime_r])
dnl *** checks for types/defines ***
dnl *** checks for library functions ***
+dnl check for fseeko()
+AC_FUNC_FSEEKO
+
dnl Check for fast float to int casting as defined in C99
dnl used in gst-libs/gst/floatcast/floatcast.h
+save_libs=$LIBS
+LIBS="$LIBS $LIBM"
AC_C99_FUNC_LRINT
AC_C99_FUNC_LRINTF
+LIBS=$save_libs
dnl Check for a way to display the function name in debug output
AG_GST_CHECK_FUNCTION
dnl *** checks for dependency libraries ***
dnl GLib is required
-AG_GST_GLIB_CHECK([2.6])
+AG_GST_GLIB_CHECK([2.12])
dnl liboil is required
-PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.8, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
-if test "x$HAVE_LIBOIL" != "xyes"
-then
- AC_ERROR([liboil-0.3.8 or later is required])
+PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.14, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
+if test "x$HAVE_LIBOIL" != "xyes"; then
+ AC_ERROR([liboil-0.3.14 or later is required])
fi
dnl checks for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
-AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ])
+AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ], yes)
AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
-
-dnl FIXME: get rid of this by making sure gstreamer-check brings it in
-dnl check for "check", unit testing library/header
-AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no)
-AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
+AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
dnl Check for documentation xrefs
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
AC_SUBST(GLIB_PREFIX)
AC_SUBST(GST_PREFIX)
-dnl GTK is optional and used in examples
-HAVE_GTK=NO
-PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
-if test "x$HAVE_GTK_22" = "xyes"; then
- HAVE_GTK=yes
- GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
- AC_SUBST(GTK_VERSION)
- GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
- AC_SUBST(GTK_BASE_DIR)
-else
- PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
-fi
-if test "x$HAVE_GTK_20" = "xyes"; then
- HAVE_GTK=yes
-fi
-GTK_CFLAGS=$GTK2_CFLAGS
-GTK_LIBS=$GTK2_LIBS
-AC_SUBST(GTK_LIBS)
-AC_SUBST(GTK_CFLAGS)
-AC_SUBST(HAVE_GTK)
+dnl GTK is optional and only used in examples
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.12.0, HAVE_GTK=yes, HAVE_GTK=no)
AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
dnl *** set variables based on configure arguments ***
dnl used in examples
AG_GST_DEFAULT_ELEMENTS
+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(audioconvert)
+AG_GST_CHECK_PLUGIN(audiorate)
+AG_GST_CHECK_PLUGIN(audioresample)
+AG_GST_CHECK_PLUGIN(audiotestsrc)
+AG_GST_CHECK_PLUGIN(ffmpegcolorspace)
+AG_GST_CHECK_PLUGIN(gdp)
+AG_GST_CHECK_PLUGIN(playback)
+AG_GST_CHECK_PLUGIN(subparse)
+AG_GST_CHECK_PLUGIN(tcp)
+AG_GST_CHECK_PLUGIN(typefind)
+AG_GST_CHECK_PLUGIN(videotestsrc)
+AG_GST_CHECK_PLUGIN(videorate)
+AG_GST_CHECK_PLUGIN(videoscale)
+AG_GST_CHECK_PLUGIN(volume)
+
+dnl check for gstreamer core features (subsystems)
+GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
+AG_GST_PARSE_SUBSYSTEM_DISABLES($GST_CONFIGPATH)
+AM_CONDITIONAL(USE_XML, test $GST_DISABLE_XML != "1")
+
+dnl disable plug-ins that require libxml2's HTML support if it is not available
+if test "x$HAVE_LIBXML_HTML" != "xyes"; then
+ AG_GST_DISABLE_PLUGIN(subparse)
+fi
+
+dnl disable plug-ins that require sys/socket.h if it is not available
+if test "x$HAVE_SYS_SOCKET_H" != "xyes"; then
+ AG_GST_DISABLE_PLUGIN(tcp)
+fi
+
dnl *** sys plug-ins ***
echo
AG_GST_PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0)
])
+dnl *** libgio ***
+USE_GIO=$BUILD_EXPERIMENTAL
+translit(dnm, m, l) AM_CONDITIONAL(USE_GIO, true)
+AG_GST_CHECK_FEATURE(GIO, [GIO library], gio, [
+ PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.15.2, HAVE_GIO="yes", [
+ HAVE_GIO="no"
+ AC_MSG_RESULT(no)
+ ])
+ AC_SUBST(GIO_CFLAGS)
+ AC_SUBST(GIO_LIBS)
+ AC_SUBST(GIO_LDFLAGS)
+])
+
dnl *** libvisual ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
dnl *** theora ***
translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
AG_GST_CHECK_FEATURE(THEORA, [Xiph Theora video codec], theora, [
- AG_GST_PKG_CHECK_MODULES(THEORA, theora)
- if test $HAVE_THEORA = no
- then
- AG_GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg")
- AC_SUBST(THEORA_LIBS)
- fi
+ dnl this check will work as long as theora uses 1.0.x or similar for the
+ dnl first post-alpha release and not just 1.0
+ AG_GST_PKG_CHECK_MODULES(THEORA, theora >= 1.0alpha5)
])
dnl *** vorbis ***
if test "x$HAVE_VORBIS" = "xyes"; then
ac_cflags_save="$CFLAGS"
- dnl FIXME: does this work on non-gcc? -- Company
- dnl FIXME: no, it doesn't. Why is this here in the first place ? -- thomasvs
- CFLAGS="-Wall -Werror"
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([
#include <vorbis/codec.h>
AM_CONDITIONAL(USE_ALSA, false)
AM_CONDITIONAL(USE_CDPARANOIA, false)
AM_CONDITIONAL(USE_GNOME_VFS, false)
+AM_CONDITIONAL(USE_GIO, false)
AM_CONDITIONAL(USE_LIBVISUAL, false)
AM_CONDITIONAL(USE_OGG, false)
AM_CONDITIONAL(USE_PANGO, false)
fi
AC_SUBST(PROFILE_CFLAGS)
-DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
+if test "x$PACKAGE_VERSION_NANO" = "x1"; then
+ dnl Define _only_ during CVS (not pre-releases or releases)
+ DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
+else
+ DEPRECATED_CFLAGS=""
+fi
AC_SUBST(DEPRECATED_CFLAGS)
dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
dnl GST_LIB_LDFLAGS
dnl linker flags shared by all libraries
dnl LDFLAGS modifier defining exported symbols from built libraries
-GST_LIB_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
+dnl (export _gst_foo but not __gst_foo)
+GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
AC_SUBST(GST_LIB_LDFLAGS)
dnl this really should only contain flags, not libs - they get added before
ext/alsa/Makefile
ext/cdparanoia/Makefile
ext/gnomevfs/Makefile
+ext/gio/Makefile
ext/libvisual/Makefile
ext/ogg/Makefile
ext/pango/Makefile
gst-libs/gst/Makefile
gst-libs/gst/audio/Makefile
gst-libs/gst/cdda/Makefile
+gst-libs/gst/fft/Makefile
gst-libs/gst/floatcast/Makefile
gst-libs/gst/interfaces/Makefile
gst-libs/gst/netbuffer/Makefile
gst-libs/gst/riff/Makefile
gst-libs/gst/rtp/Makefile
+gst-libs/gst/rtsp/Makefile
+gst-libs/gst/sdp/Makefile
gst-libs/gst/tag/Makefile
gst-libs/gst/pbutils/Makefile
gst-libs/gst/video/Makefile
tools/Makefile
win32/common/config.h
pkgconfig/Makefile
+pkgconfig/gstreamer-audio.pc
+pkgconfig/gstreamer-audio-uninstalled.pc
+pkgconfig/gstreamer-cdda.pc
+pkgconfig/gstreamer-cdda-uninstalled.pc
+pkgconfig/gstreamer-fft.pc
+pkgconfig/gstreamer-fft-uninstalled.pc
+pkgconfig/gstreamer-floatcast.pc
+pkgconfig/gstreamer-floatcast-uninstalled.pc
+pkgconfig/gstreamer-interfaces.pc
+pkgconfig/gstreamer-interfaces-uninstalled.pc
+pkgconfig/gstreamer-netbuffer.pc
+pkgconfig/gstreamer-netbuffer-uninstalled.pc
+pkgconfig/gstreamer-pbutils.pc
+pkgconfig/gstreamer-pbutils-uninstalled.pc
+pkgconfig/gstreamer-riff.pc
+pkgconfig/gstreamer-riff-uninstalled.pc
+pkgconfig/gstreamer-rtp.pc
+pkgconfig/gstreamer-rtp-uninstalled.pc
+pkgconfig/gstreamer-rtsp.pc
+pkgconfig/gstreamer-rtsp-uninstalled.pc
+pkgconfig/gstreamer-sdp.pc
+pkgconfig/gstreamer-sdp-uninstalled.pc
+pkgconfig/gstreamer-tag.pc
+pkgconfig/gstreamer-tag-uninstalled.pc
+pkgconfig/gstreamer-video.pc
+pkgconfig/gstreamer-video-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc
tests/Makefile
tests/check/Makefile
tests/examples/Makefile
+tests/examples/dynamic/Makefile
tests/examples/seek/Makefile
tests/examples/volume/Makefile
+tests/examples/snapshot/Makefile
tests/icles/Makefile
docs/Makefile
docs/design/Makefile