Commit stuff that should have gone in last week when I made the pre-releases:
[platform/upstream/gst-plugins-base.git] / configure.ac
index 7e12164..5f69cd6 100644 (file)
@@ -5,10 +5,12 @@ dnl please read gstreamer/docs/random/autotools before changing this file
 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.11.1,
+AC_INIT(GStreamer Base Plug-ins, 0.10.20.2,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-plugins-base)
 
+AG_GST_INIT
+
 dnl initialize automake
 AM_INIT_AUTOMAKE
 
@@ -42,17 +44,18 @@ dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
 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.11.1
+GST_REQ=0.10.20.1
 
 dnl *** autotools stuff ****
 
@@ -66,20 +69,20 @@ dnl set up gettext
 dnl the version check needs to stay here because autopoint greps for it
 AM_GNU_GETTEXT_VERSION([0.11.5])
 AM_GNU_GETTEXT([external])
-GST_GETTEXT([gst-plugins-base-$GST_MAJORMINOR])
+AG_GST_GETTEXT([gst-plugins-base-$GST_MAJORMINOR])
 
 dnl *** check for arguments to configure ***
 
-GST_ARG_DEBUG
-GST_ARG_PROFILING
-GST_ARG_VALGRIND
-GST_ARG_GCOV
+AG_GST_ARG_DEBUG
+AG_GST_ARG_PROFILING
+AG_GST_ARG_VALGRIND
+AG_GST_ARG_GCOV
 
-GST_ARG_EXAMPLES
+AG_GST_ARG_EXAMPLES
 
-GST_ARG_WITH_PKG_CONFIG_PATH
-GST_ARG_WITH_PACKAGE_NAME
-GST_ARG_WITH_PACKAGE_ORIGIN
+AG_GST_ARG_WITH_PKG_CONFIG_PATH
+AG_GST_ARG_WITH_PACKAGE_NAME
+AG_GST_ARG_WITH_PACKAGE_ORIGIN
 
 dnl let distro override plugin install helper path
 AC_ARG_WITH(install-plugins-helper,
@@ -102,53 +105,11 @@ AC_DEFINE_UNQUOTED(GST_INSTALL_PLUGINS_HELPER, "$GST_INSTALL_PLUGINS_HELPER",
     [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
-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 ***
 
@@ -156,21 +117,19 @@ dnl * hardware/architecture *
 
 dnl common/m4/gst-arch.m4
 dnl check CPU type
-GST_ARCH
+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 determine c++ compiler
-AC_PROG_CXX
-dnl determine if c++ is available on this system
-AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
-
-dnl determine c++ preprocessor
-dnl FIXME: do we need this ?
-AC_PROG_CXXCPP
+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")
@@ -178,13 +137,13 @@ AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
 dnl check for documentation tools
 GTK_DOC_CHECK([1.3])
 AS_PATH_PYTHON([2.1])
-GST_PLUGIN_DOCS([1.3],[2.1])
+AG_GST_PLUGIN_DOCS([1.3],[2.1])
 
 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)
 
 dnl *** checks for header files ***
 
@@ -199,12 +158,46 @@ dnl used in gst/subparse/gstsubparse.c
 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/utils and associated unit test
+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])
 
 dnl ffmpegcolorspace includes _stdint.h
@@ -212,7 +205,7 @@ dnl also, Windows does not have long long
 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 ***
 
@@ -229,38 +222,39 @@ AC_C_INLINE
 
 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
-GST_CHECK_FUNCTION
+AG_GST_CHECK_FUNCTION
 
 dnl *** checks for dependency libraries ***
 
 dnl GLib is required
-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)
-GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
-GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
-GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ])
-GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ])
-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")
+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)
+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`"
@@ -268,26 +262,8 @@ GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
 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 ***
@@ -298,16 +274,50 @@ AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
 AC_SUBST(GST_LICENSE)
 
 dnl set location of plugin directory
-GST_SET_PLUGINDIR
+AG_GST_SET_PLUGINDIR
 
 dnl define an ERROR_CFLAGS Makefile variable
-GST_SET_ERROR_CFLAGS($GST_CVS)
+AG_GST_SET_ERROR_CFLAGS($GST_CVS)
 
 dnl define correct level for debugging messages
-GST_SET_LEVEL_DEFAULT($GST_CVS)
+AG_GST_SET_LEVEL_DEFAULT($GST_CVS)
 
 dnl used in examples
-GST_DEFAULT_ELEMENTS
+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 ***
 
@@ -317,7 +327,7 @@ echo
 
 dnl *** X11 ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
-GST_CHECK_FEATURE(X, [X libraries and plugins],
+AG_GST_CHECK_FEATURE(X, [X libraries and plugins],
                   [ximagesink], [
   AC_PATH_XTRA
   ac_cflags_save="$CFLAGS"
@@ -347,14 +357,14 @@ GST_CHECK_FEATURE(X, [X libraries and plugins],
   
 dnl Check for Xv extension
 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
-GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
+AG_GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
                   [xvimagesink], [
-  GST_CHECK_XV
+  AG_GST_CHECK_XV
 ])
 
 dnl check for X Shm
 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
-GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], , [
+AG_GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], , [
   if test x$HAVE_X = xyes; then
     AC_CHECK_LIB(Xext, XShmAttach, 
                 HAVE_XSHM="yes", HAVE_XSHM="no",
@@ -382,7 +392,7 @@ dnl *** Video 4 Linux ***
 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
 dnl renamed to GST_V4L in accordance with V4L2 below
 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L, true)
-GST_CHECK_FEATURE(GST_V4L, [Video 4 Linux], video4linux, [
+AG_GST_CHECK_FEATURE(GST_V4L, [Video 4 Linux], video4linux, [
   AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_GST_V4L="yes", HAVE_GST_V4L="no", [
 #include <sys/types.h>
 #define _LINUX_TIME_H
@@ -409,7 +419,7 @@ echo
 
 dnl *** alsa ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
-GST_CHECK_FEATURE(ALSA, [ALSA], alsa, [
+AG_GST_CHECK_FEATURE(ALSA, [ALSA], alsa, [
   PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
     HAVE_ALSA="yes"
     AC_SUBST(ALSA_CFLAGS)
@@ -421,8 +431,8 @@ GST_CHECK_FEATURE(ALSA, [ALSA], alsa, [
 
 dnl *** CDParanoia ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
-GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
-  GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
+AG_GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
+  AG_GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
                       cdda_open, -lm, 
                       cdda_interface.h, 
                       CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
@@ -430,7 +440,7 @@ GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
                       FOUND_CDPARANOIA="yes")
   if test "x$FOUND_CDPARANOIA" != "xyes";
   then
-    GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
+    AG_GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, 
                         cdda_open, -lm, 
                         cdda/cdda_interface.h, 
                         CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
@@ -450,24 +460,37 @@ dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
 
 dnl *** GNOME VFS ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
-GST_CHECK_FEATURE(GNOME_VFS, [GNOME VFS], gnomevfs, [
-  GST_PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0)
+AG_GST_CHECK_FEATURE(GNOME_VFS, [GNOME VFS], gnomevfs, [
+  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)
-GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
-  GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
+AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
+  AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
   if test $HAVE_LIBVISUAL = no
   then
-    GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.2.0)
+    AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.2.0)
   fi
 ])
 
 dnl *** ogg ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
-GST_CHECK_FEATURE(OGG, [Xiph Ogg library], ogg, [
-  GST_PKG_CHECK_MODULES(OGG, ogg >= 1.0)
+AG_GST_CHECK_FEATURE(OGG, [Xiph Ogg library], ogg, [
+  AG_GST_PKG_CHECK_MODULES(OGG, ogg >= 1.0)
   if test $HAVE_OGG = no
   then
     XIPH_PATH_OGG(HAVE_OGG="yes", HAVE_OGG="no")
@@ -477,26 +500,23 @@ GST_CHECK_FEATURE(OGG, [Xiph Ogg library], ogg, [
 
 dnl *** pango ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_PANGO, true)
-GST_CHECK_FEATURE(PANGO, [Pango font rendering], pango, [
-  GST_PKG_CHECK_MODULES(PANGO, pango pangoft2)
+AG_GST_CHECK_FEATURE(PANGO, [Pango font rendering], pango, [
+  AG_GST_PKG_CHECK_MODULES(PANGO, pango pangoft2)
 ])
 
 dnl *** theora ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
-GST_CHECK_FEATURE(THEORA, [Xiph Theora video codec], theora, [
-  GST_PKG_CHECK_MODULES(THEORA, theora)
-  if test $HAVE_THEORA = no
-  then
-    GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg")
-    AC_SUBST(THEORA_LIBS)
-  fi
+AG_GST_CHECK_FEATURE(THEORA, [Xiph Theora video codec], theora, [
+  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 ***
 dnl AM_PATH_VORBIS only takes two options
 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
-GST_CHECK_FEATURE(VORBIS, [Xiph Vorbis audio codec], vorbis, [
-  GST_PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0)
+AG_GST_CHECK_FEATURE(VORBIS, [Xiph Vorbis audio codec], vorbis, [
+  AG_GST_PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0)
   if test $HAVE_VORBIS = no
   then
     XIPH_PATH_VORBIS(HAVE_VORBIS="yes", HAVE_VORBIS="no")
@@ -506,9 +526,6 @@ GST_CHECK_FEATURE(VORBIS, [Xiph Vorbis audio codec], 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>
@@ -531,6 +548,7 @@ dnl but we still need to set the conditionals
 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)
@@ -566,7 +584,12 @@ if test "x$USE_DEBUG" = xyes; then
 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
@@ -598,7 +621,8 @@ AC_SUBST(GST_ALL_LDFLAGS)
 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
@@ -635,6 +659,7 @@ ext/Makefile
 ext/alsa/Makefile
 ext/cdparanoia/Makefile
 ext/gnomevfs/Makefile
+ext/gio/Makefile
 ext/libvisual/Makefile
 ext/ogg/Makefile
 ext/pango/Makefile
@@ -644,25 +669,55 @@ gst-libs/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/utils/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/xerror/Makefile
+tests/examples/snapshot/Makefile
 tests/icles/Makefile
 docs/Makefile
 docs/design/Makefile
@@ -676,4 +731,4 @@ m4/Makefile
 )
 AC_OUTPUT
 
-GST_OUTPUT_PLUGINS
+AG_GST_OUTPUT_PLUGINS