sync with as-version small autogen fix
[platform/upstream/gstreamer.git] / configure.ac
index 49e3400..da8ff11 100644 (file)
@@ -1,50 +1,23 @@
-dnl Note: this file is generated from configure.base by autogen.sh
+dnl Note: this file is now the main autoconf file
 AC_INIT
-AC_CONFIG_SRCDIR([gst/gstobject.h])
-
 AC_CANONICAL_TARGET([])
 
-AM_CONFIG_HEADER(config.h)
-
-GST_VERSION_MAJOR=0
-GST_VERSION_MINOR=2
-GST_VERSION_MICRO=999
-GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
+dnl when going to/from release please set the nano (fourth number) right !
+AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2, 1)
+AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+AS_LIBTOOL(GST, 0, 0, 0, yes)
 
-PACKAGE=gstreamer
-VERSION=$GST_VERSION
-
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-
-dnl libtool
-GST_CURRENT=0
-GST_REVISION=0
-GST_AGE=0
-GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
+AC_CONFIG_SRCDIR([gst/gst.c])
+AM_CONFIG_HEADER(config.h)
 
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
 dnl Add parameters for aclocal
 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
-ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
-
-AC_SUBST(GST_VERSION_MAJOR)
-AC_SUBST(GST_VERSION_MINOR)
-AC_SUBST(GST_VERSION_MICRO)
-AC_SUBST(GST_VERSION)
-
-AC_SUBST(GST_CURRENT)
-AC_SUBST(GST_REVISION)
-AC_SUBST(GST_AGE)
-AC_SUBST(GST_LIBVERSION)
+ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
 
 AM_MAINTAINER_MODE
 
 AC_PROG_CC
 AM_PROG_CC_STDC
-dnl you need automake 1.5 for AM_PROG_AS to work !
 AM_PROG_AS
 AS="${CC}"
 AC_PROG_CXX
@@ -54,14 +27,9 @@ AC_ISC_POSIX
 dnl We disable static building for development, for time savings
 dnl *NOTE*: dnl this line before release, so release does static too
 dnl AM_DISABLE_STATIC
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
 
 AC_HEADER_STDC([])
 
-dnl This is used for the -config script...
-builddir=`pwd`
-AC_SUBST(builddir)
 
 dnl ##############################
 dnl # Do automated configuration #
@@ -70,109 +38,23 @@ dnl ##############################
 dnl Check for tools:
 dnl ================
 
+dnl modify pkg-config path
+AC_ARG_WITH(pkg-config-path, 
+   AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
+   [export PKG_CONFIG_PATH=${withval}])
+
 dnl Check for nasm
 AC_PATH_PROG(NASM_PATH, nasm, no)
 AC_SUBST(NASM_PATH)
 if test x$NASM_PATH = xno; then
   AC_MSG_WARN(Couldn't find nasm)
   HAVE_NASM="no"
-else
-  AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
+else AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
   HAVE_NASM="yes"
 fi
 
-dnl fix pkg-config's broken default search path
-if test -z "$PKG_CONFIG_PATH"; then
-  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
-fi
-export PKG_CONFIG_PATH
-
-dnl Check for pkgconfig
-AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
-
-dnl check for gtkdoc
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scanobj, :, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scan, :, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mktmpl, :, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, :, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkhtml, :, false)
-AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-fixxref, :, false)
-
-dnl check for docbook tools
-AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false)
-AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false)
-AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, true, false)
-
-dnl check for image conversion tool
-AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
-
-dnl The following is a hack: if fig2dev doesn't display an error message
-dnl for the desired type, we assume it supports it.
-HAVE_FIG2DEV_PNG=false
-if test "x$HAVE_FIG2DEV" = "xtrue" ; then
-  fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
-  if test "x$fig2dev_quiet" = "x" ; then
-    HAVE_FIG2DEV_PNG=true
-  fi
-fi
-HAVE_FIG2DEV_EPS=false
-if test "x$HAVE_FIG2DEV" = "xtrue" ; then
-  fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
-  if test "x$fig2dev_quiet" = "x" ; then
-    HAVE_FIG2DEV_EPS=true
-  fi
-fi
-
-
-dnl Set up conditionals for (target) architecture:
-dnl ==============================================
-
-dnl Determine CPU
-case "x${target_cpu}" in
-  xi?86 | k?) HAVE_CPU_I386=yes
-              AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
-              dnl FIXME could use some better detection
-              dnl       (ie CPUID)
-              case "x${target_cpu}" in
-                xi386 | xi486) ;;
-                *)             AC_DEFINE(HAVE_RDTSC) ;;
-              esac ;;
-  xpowerpc)   HAVE_CPU_PPC=yes
-              AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
-  xalpha)     HAVE_CPU_ALPHA=yes
-              AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
-  xarm*)      HAVE_CPU_ARM=yes
-              AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
-  xsparc*)    HAVE_CPU_SPARC=yes
-              AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
-  xmips*)     HAVE_CPU_MIPS=yes
-              AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
-  xhppa*)     HAVE_CPU_HPPA=yes
-              AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
-esac
-
-dnl Determine endianness
-AC_C_BIGENDIAN
-
-dnl Check for MMX-capable compiler
-AC_MSG_CHECKING(for MMX-capable compiler)
-AC_TRY_RUN([
-#include "include/mmx.h"
-
-main()
-{ movq_r2r(mm0, mm1); return 0; }
-],
-[
-HAVE_LIBMMX="yes"
-AC_MSG_RESULT(yes)
-],
-HAVE_LIBMMX="no"
-AC_MSG_RESULT(no)
-,
-HAVE_LIBMMX="no"
-AC_MSG_RESULT(no)
-)
+GST_DOC()
+GST_ARCH()
 
 dnl
 dnl We should really use AC_SYS_LARGEFILE, but the problem is
@@ -182,6 +64,13 @@ dnl code be compiled with the same sizeof(off_t), so we use
 dnl the following crude hack.
 dnl
 
+dnl
+dnl GST_CFLAGS are split up as GST_EXT_CFLAGS and GST_INT_CFLAGS
+dnl same for libs
+dnl this is so we can make GST_CFLAGS for external modules available
+dnl without mixing in internal (uninstalled) CFLAGS
+dnl
+
 AC_MSG_CHECKING(for large file support)
 AC_TRY_RUN([
 #define _LARGEFILE_SOURCE
@@ -191,7 +80,7 @@ int main () { return !(sizeof(off_t) == 8); }
 ],
 [
 AC_MSG_RESULT(yes)
-GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+GST_EXT_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 ],
 [
 AC_MSG_RESULT(no)
@@ -204,276 +93,31 @@ dnl Check for essential libraries first:
 dnl ====================================
 
 dnl Check for glib2
-translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true)
-GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
-  PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
-    HAVE_GLIB2=yes,HAVE_GLIB2=no)
-  GLIB_LIBS=$GLIB2_LIBS
-  GLIB_CFLAGS=$GLIB2_CFLAGS
-  AC_SUBST(GLIB_LIBS)
-  AC_SUBST(GLIB_CFLAGS)
-], disabled, [
-  AC_DEFINE(USE_GLIB2)
-  GST_CFLAGS="$GST_CFLAGS -DUSE_GLIB2"
-])
-AC_SUBST(USE_GLIB2)
-
-if test x$USE_GLIB2 = xno; then
-  GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0"
-  
-  dnl Check for glib and gtk
-  AM_PATH_GLIB(1.2.0,,
-              AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
-              glib gmodule gthread)
-  AM_PATH_GTK(1.2.0,,
-              AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
-  HAVE_GTK=yes
-
-  GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
-  GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
-else
-  GST_PKG_DEPS="glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0"
-  
-  PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
-
-  GTK_FLAGS=$GTK2_CFLAGS
-  GTK_LIBS=$GTK2_LIBS
+PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
+  HAVE_GLIB2=yes,HAVE_GLIB2=no)
+GLIB_LIBS=$GLIB2_LIBS
+GLIB_CFLAGS=$GLIB2_CFLAGS
+AC_SUBST(GLIB_LIBS)
+AC_SUBST(GLIB_CFLAGS)
 
-  dnl FIXME: check for  gnome2 - this conditional is currently
-  dnl always false.
-  AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes")
-  AC_SUBST(USE_GNOME2)
+if test "x$HAVE_GLIB2" = "xno"; then
+  AC_MSG_ERROR([GStreamer requires GLib 2.0 to compile.])
 fi
 
+GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
 AC_SUBST(GST_PKG_DEPS)
-AC_SUBST(GTK_LIBS)
-AC_SUBST(GTK_CFLAGS)
-
-dnl Check for libxml
-dnl Thomas tries to convert this to pkg-config
-PKG_CHECK_MODULES(XML, libxml >= 1.8.1, XML_CONFIG=yes, XML_CONFIG=no)
-dnl AC_PATH_PROG(XML_CONFIG, xml-config, no)
-if test x$XML_CONFIG = xno; then
-  AC_MSG_ERROR(Couldn't find xml-config)
+  
+LIBXML_PKG=', libxml-2.0'
+PKG_CHECK_MODULES(XML, libxml-2.0, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
+if test "x$HAVE_LIBXML2" = "xyes"; then
+  AC_DEFINE(HAVE_LIBXML2)
+else
+  AC_ERROR([Need libxml2 for glib2 builds -- you should be able to do without it -- this needs fixing])
 fi
-dnl XML_LIBS="`xml-config --libs`"
-dnl XML_CFLAGS="`xml-config --cflags`"
-dnl AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
-dnl  [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
-dnl  $XML_LIBS)
+AC_SUBST(LIBXML_PKG)
 AC_SUBST(XML_LIBS)
 AC_SUBST(XML_CFLAGS)
 
-
-dnl ==========================================================================
-dnl ========================= Macro definitions ==============================
-dnl ==========================================================================
-
-dnl These macros should be moved out to separate files (acinclude.m4?), but
-dnl can't currently be because of the SUBSTFOR magic.
-
-dnl Perform a check for existence of ARTS
-dnl Richard Boulton <richard-alsa@tartarus.org>
-dnl Last modification: 26/06/2001
-dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION,
-dnl                   DEPENDENT-PLUGINS, TEST-FOR-FEATURE)
-dnl
-dnl This check was written for GStreamer: it should be renamed and checked
-dnl for portability if you decide to use it elsewhere.
-dnl
-AC_DEFUN(GST_CHECK_ARTS,
-[
-dnl Set the flags
-ARTS_LIBS="-L/usr/local/lib -L/usr/lib -lmcop -lartsflow -lartsflow_idl"
-ARTS_CFLAGS="-I/usr/local/include/arts -I/usr/include/kde/arts -I/usr/include/arts"
-ARTS_MCOPFLAGS=$ARTS_CFLAGS
-dnl There's no arts-config script, so we make a guess based on the artsc-config
-AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
-if test x$ARTSC_CONFIG = xyes; then
-  ARTS_ARTSC_CFLAGS=`artsc-config --cflags | sed 's/artsc/arts/g'`
-  ARTS_CFLAGS="$ARTS_CFLAGS $ARTS_ARTSC_CFLAGS"
-  ARTS_MCOPFLAGS="$ARTS_MCOPFLAGS $ARTS_ARTSC_CFLAGS"
-fi
-AC_SUBST(ARTS_LIBS)
-AC_SUBST(ARTS_CFLAGS)
-AC_SUBST(ARTS_MCOPFLAGS)
-
-dnl Now check if it exists
-AC_LANG_PUSH(C++)
-HAVE_ARTS=yes
-dnl FIXME: Can't get this test to pass, so commented it out.  Rely on header check.
-dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS)
-
-dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
-dnl FIXME: ensure only suitable flags result from artsc-config --cflags
-AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no)
-
-AC_LANG_POP(C++)
-dnl Check for the idl generator
-AC_CHECK_PROG(HAVE_MCOPIDL, mcopidl, yes, no)
-if test x$HAVE_MCOPIDL = xno; then
-  HAVE_ARTS=no
-fi
-])
-
-dnl ==========================================================================
-dnl ========================= End macro definitions ==========================
-dnl ==========================================================================
-
-
-dnl Next, check for the optional libraries:
-dnl =======================================
-
-
-dnl ***** ESound *****
-translit(dnm, m, l) AM_CONDITIONAL(USE_LIBESD, true)
-GST_CHECK_FEATURE(LIBESD, [esound plugins], esdsrc esdsink, [
-  AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
-])
-
-dnl Check for artsc
-translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
-GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [GST_CHECK_ARTSC()])
-
-dnl Check for arts
-dnl FIXME: thomasvs: I don't understand this, have replaced the check
-dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
-dnl GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [GST_CHECK_ARTS()])
-
-dnl Check for xmms
-dnl translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true)
-dnl GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [
-dnl  AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
-dnl ], disabled)
-
-dnl Check for alsa
-translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
-GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
-  AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
-])
-if test x$HAVE_ALSA = xno; then
-  unset USE_ALSA
-  ALSA_CFLAGS=
-  ALSA_LIBS=
-fi
-
-dnl Check for libaudiofile
-translit(dnm, m, l) AM_CONDITIONAL(USE_LIBAUDIOFILE, true)
-GST_CHECK_FEATURE(LIBAUDIOFILE, [use gdk pixbuf], afsink afsrc, [
-translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_LIBS)
-translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_CFLAGS)
-GST_CHECK_CONFIGPROG(LIBAUDIOFILE, audiofile-config)
-])
-
-dnl Check for libgdk-pixbuf
-dnl FIXME: not sure that this is still used anywhere.
-translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
-GST_CHECK_FEATURE(GDK_PIXBUF, [use gdk pixbuf], , [
-translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_LIBS)
-translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_CFLAGS)
-GST_CHECK_CONFIGPROG(GDK_PIXBUF, gdk-pixbuf-config)
-])
-
-if test x$USE_GLIB2 = xyes; then
-  dnl we don't support gnome/gtk with glib2.0 yet
-  GNOME_LIBS=
-  GNOME_CFLAGS=
-  HAVE_GNOME=no
-  AC_MSG_WARN(gnome disabled for glib2.0)
-else
-  dnl Check for libgnome
-translit(dnm, m, l) AC_SUBST(GNOME_LIBS)
-translit(dnm, m, l) AC_SUBST(GNOME_CFLAGS)
-GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
-fi
-
-dnl Check for libghttp
-translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
-GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
-  dnl FIXME: need to check for header
-  GHTTP_LIBS=
-  GST_HTTPSRC_GET_TYPE=
-  if test x$USE_GLIB2 = xyes; then
-    AC_MSG_WARN(ghttp disabled for glib2.0)
-  else
-    AC_CHECK_LIB(ghttp, ghttp_request_new,
-      [GHTTP_LIBS="-lghttp"
-       GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
-       HAVE_LIBGHTTP=yes
-      ], :, $LIBS)
-  fi
-  AC_SUBST(GHTTP_LIBS)
-  AC_SUBST(GST_HTTPSRC_GET_TYPE)
-])
-
-dnl thomas : adding an arts check taken from xine with it's own .m4
-AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
-
-dnl Check for xmms
-AM_PATH_XMMS(0.9.4, HAVE_XXMS=yes, HAVE_XMMS=no)
-
-dnl Check for libglade
-HAVE_LIBGLADE_GNOME="no"
-if test x$USE_GLIB2 = xyes; then
-  dnl no glade for glib2.0
-  LIBGLADE_GNOME_LIBS=
-  LIBGLADE_GNOME_CFLAGS=
-  AC_MSG_WARN(libglade disabled for glib2.0)
-else
-  AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome)
-  if test x$HAVE_LIBGLADE_GNOME = xno; then
-    AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
-    LIBGLADE_GNOME_LIBS=
-    LIBGLADE_GNOME_CFLAGS=
-  else
-    LIBGLADE_GNOME_LIBS=$LIBGLADE_LIBS
-    LIBGLADE_GNOME_CFLAGS=$LIBGLADE_CFLAGS
-        AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
-                HAVE_LIBGLADE_GNOME="yes"
-                AC_MSG_WARN(
-        [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
-               )
-  fi
-fi
-AC_SUBST(LIBGLADE_GNOME_LIBS)
-AC_SUBST(LIBGLADE_GNOME_CFLAGS)
-
-dnl Check for Gnome VFS
-HAVE_GNOME_VFS="no"
-if test x$USE_GLIB2 = xyes; then
-  VFS_LIBS=
-  VFS_CFLAGS=
-  AC_MSG_WARN(Gnome-VFS disabled for glib2.0)
-else
-  AC_MSG_CHECKING(for Gnome VFS)
-  if gnome-config --libs vfs > /dev/null 2>&1; then
-       HAVE_GNOME_VFS="yes"
-       AC_MSG_RESULT(found)
-        VFS_LIBS="`gnome-config --libs vfs`"
-        VFS_CFLAGS="`gnome-config --cflags vfs`"
-  else
-       AC_MSG_WARN(Did not find Gnome-VFS installed)
-        VFS_LIBS=
-        VFS_CFLAGS=
-  fi
-fi
-AC_SUBST(VFS_LIBS)
-AC_SUBST(VFS_CFLAGS)
-
-dnl Check for Avifile
-HAVE_AVIFILE="no"
-AC_MSG_CHECKING(for Avifile)
-if avifile-config --libs > /dev/null 2>&1; then
-        HAVE_AVIFILE="yes"
-        AC_MSG_RESULT(found)
-else
-        AC_MSG_WARN(Did not find Avifile installed)
-fi
-AVIFILE_LIBS="`avifile-config --libs`"
-AVIFILE_CFLAGS="`avifile-config --cflags`"
-AC_SUBST(AVIFILE_LIBS)
-AC_SUBST(AVIFILE_CFLAGS)
-
 dnl Check for atomic.h
 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
@@ -496,221 +140,20 @@ main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0
   ])
 fi
 
-
-dnl Check for X11 extensions
-AC_PATH_XTRA
-if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
-  AC_MSG_ERROR(can not find X11)
-fi
-AC_SUBST(X_CFLAGS)
-AC_SUBST(X_PRE_LIBS)
-AC_SUBST(X_EXTRA_LIBS)
-AC_SUBST(X_LIBS)
-
-
-dnl Check for the Xv library
-xvsave_LIBS=${LIBS}
-AC_CHECK_LIB(Xv, XvQueryExtension,
-  HAVE_LIBXV=yes,
-  HAVE_LIBXV=no,
-  $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS
-)
-LIBS=${xvsave_LIBS}
-AC_CHECK_HEADER(X11/extensions/Xv.h, :, HAVE_LIBXV=no)
-AC_CHECK_HEADER(X11/extensions/Xvlib.h, :, HAVE_LIBXV=no)
-
-dnl Check for OSS audio
-AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS=yes, HAVE_OSS=no)
-
-dnl Check for xaudio
-AC_CHECK_HEADER(xaudio/decoder.h,
-  AC_DEFINE(HAVE_XAUDIO, 1, [Define if xaudio is available])
-  HAVE_XAUDIO="yes",
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: gstxa
-)
-  HAVE_XAUDIO="no",
-)
-
-dnl Check for libmad
-AC_MSG_CHECKING(MAD library)
-AC_CHECK_LIB(mad, mad_decoder_finish,
-  HAVE_LIBMAD=yes
-  AC_DEFINE(HAVE_LIBMAD, 1, [Define if libmad is available]),
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: mad
-)
-  HAVE_LIBMAD=no,
-)
-
-dnl Check for libmikmod
-AC_MSG_CHECKING(Mikmod library)
-AC_CHECK_LIB(mikmod, MikMod_Init,
-  HAVE_LIBMIKMOD=yes
-  AC_DEFINE(HAVE_LIBMIKMOD, 1, [Define if libmikmod is available]),
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: mikmod
-)
-  HAVE_LIBMIKMOD=no,
-)
-
-
-dnl Check for libvorbis
-AC_MSG_CHECKING(Vorbis library)
-AC_CHECK_LIB(vorbis, ogg_sync_init,
-  HAVE_VORBIS=yes
-  AC_DEFINE(HAVE_VORBIS, 1, [Define if vorbis library is available]),
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: vorbisdec vorbisenc
-)
-  HAVE_VORBIS=no,
-)
-
-dnl Check for libjpeg
-AC_MSG_CHECKING(libjpeg library)
-AC_CHECK_LIB(jpeg, jpeg_set_defaults,
-  HAVE_LIBJPEG=yes
-  AC_DEFINE(HAVE_LIBJPEG, 1, [Define if libjpeg is available]),
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: jpegdec jpegenc
-)
-  HAVE_LIBJPEG=no,
-)
-
-dnl Check for libHermes
-AC_MSG_CHECKING(Hermes library)
-AC_CHECK_LIB(Hermes, Hermes_ConverterInstance,
-  HAVE_LIBHERMES=yes
-  AC_DEFINE(HAVE_LIBHERMES, 1, [Define if Hermes library is available]),
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: colorspace
-)
-  HAVE_LIBHERMES=no,
-)
-AC_CHECK_HEADER(Hermes/Hermes.h, :, HAVE_LIBHERMES=no)
-
-dnl Check for libgsm
-AC_MSG_CHECKING(GSM library)
-AC_CHECK_LIB(gsm, gsm_create, HAVE_LIBGSM=yes, HAVE_LIBGSM=no,)
-GSM_CFLAGS=
-GSM_LIBS=-lgsm
-AC_CHECK_HEADER(gsm.h, :, 
-  GSM_CFLAGS="$GSM_CFLAGS -DGSM_HEADER_IN_SUBDIR"
-  AC_CHECK_HEADER(gsm/gsm.h, :, HAVE_LIBGSM=no)
-)
-AC_SUBST(GSM_CFLAGS)
-AC_SUBST(GSM_LIBS)
-
-if test "x$HAVE_LIBGSM" = "xyes"; then
-  AC_DEFINE(HAVE_LIBGSM, 1, [Define if GSM library is available])
-else
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: gsmdec, gsmenc
-)
-fi
-
-dnl Check for cdparanoia
-AC_MSG_CHECKING(CDparanoia library)
-HAVE_CDPARANOIA=yes
-AC_CHECK_LIB(cdda_interface, cdda_open, : , HAVE_CDPARANOIA=no, )
-AC_CHECK_HEADER(cdda_interface.h, :, HAVE_CDPARANOIA=no)
-AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
-AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
-
-dnl Check for liblame
-AC_MSG_CHECKING(LAME library)
-AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, -lm)
-AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
-
-dnl Check for libshout
-AC_MSG_CHECKING(Shout library)
-AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
-AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
-
-dnl Check for mpeg2dec
-AC_MSG_CHECKING(mpeg2dec library)
-AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
-AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
-
-dnl Check for a52dec
-AC_MSG_CHECKING(a52dec library)
-AC_CHECK_LIB(a52, a52_init, HAVE_A52DEC=yes, HAVE_A52DEC=no, -lm)
-AC_CHECK_HEADER(a52dec/a52.h, :, HAVE_A52DEC=no)
-
-dnl Check for sidplay
-AC_PATH_LIBSIDPLAY
-
-dnl Check for librtp
-AC_MSG_CHECKING(rtp library)
-AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
-AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
-AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
-AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
-AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
-
-dnl Check for FLAC
-dnl thomas : checking for compile with main instead of actual function,
-dnl since that made autoconf break (for version 2.13)
-AC_MSG_CHECKING(FLAC library)
-AC_CHECK_LIB(FLAC, main, HAVE_FLACLIB=yes, HAVE_FLACLIB=no, -lm)
-AC_CHECK_HEADER(FLAC/all.h, :, HAVE_FLACLIB=no)
-
-dnl Check for libraw1394
-AC_MSG_CHECKING(raw1394 library)
-AC_CHECK_LIB(raw1394, raw1394_get_handle, HAVE_RAW1394=yes, HAVE_RAW1394=no, )
-AC_CHECK_HEADER(libraw1394/raw1394.h, :, HAVE_RAW1394=no)
-
-dnl Check for libdv
-AC_MSG_CHECKING(libdv)
-AC_CHECK_LIB(dv, dv_init, HAVE_LIBDV=yes, HAVE_LIBDV=no, -lm $GLIB_LIBS $GLIB_CFLAGS)
-libdvcheck_save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
-AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
-CPPFLAGS="$libdvcheck_save_CPPFLAGS"
-
-dnl Check for aalib
-AC_MSG_CHECKING(aalib)
-AC_CHECK_LIB(aa, aa_init, HAVE_LIBAA=yes, HAVE_LIBAA=no, )
-AC_CHECK_HEADER(aalib.h, :, HAVE_LIBAA=no)
-
-dnl Check for quicktime
-AC_MSG_CHECKING(openquicktime)
-AC_CHECK_LIB(openquicktime, quicktime_init, HAVE_LIBOPENQUICKTIME=yes, HAVE_LIBOPENQUICKTIME=no, )
-AC_CHECK_HEADER(openquicktime/openquicktime.h, :, HAVE_LIBOPENQUICKTIME=no)
-
-dnl Check for libdvdread
-AC_MSG_CHECKING(libdvdread)
-AC_CHECK_LIB(dvdread, DVDOpen, HAVE_LIBDVDREAD=yes, HAVE_LIBDVDREAD=no, )
-AC_CHECK_HEADER(dvdread/dvd_reader.h, :, HAVE_LIBDVDREAD=no)
-
-dnl Check for SDL library
-dnl this bit is taken from vlc's configure.in and modified accordingly
-
-AM_PATH_SDL(1.1.0, HAVE_LIBSDL=yes, HAVE_LIBSDL=no)
-
-if test "x$HAVE_LIBSDL" = "xno"; then
-  AC_MSG_WARN(
-***** NOTE: These plugins won't be built: sdlvideosink
-)
-fi
-
-dnl Check for linux/cdrom.h
-AC_CHECK_HEADER(linux/cdrom.h,
-  HAVE_LINUX_CDROM=yes, HAVE_LINUX_CDROM=no
-)
-
-dnl Check for linux/videodev.h
-AC_CHECK_HEADER(linux/videodev.h,
-  HAVE_LINUX_VIDEODEV=yes, HAVE_LINUX_VIDEODEV=no
-)
-
+dnl ==========================================================================
+dnl ============================= gst plugins ================================
+dnl ==========================================================================
+GST_PLUGIN_LDFLAGS='-module -avoid-version'
+AC_SUBST(GST_PLUGIN_LDFLAGS)
 
 dnl ######################################################################
 dnl # Check command line parameters, and set shell variables accordingly #
 dnl ######################################################################
 
+dnl FIXME: simplify all this down using a few m4 macros
+
 AC_ARG_ENABLE(libmmx,
-[  --enable-libmmx              use libmmx, if available],
+AC_HELP_STRING([--enable-libmmx][use libmmx, if available]),
 [case "${enableval}" in
   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
   no)  USE_LIBMMX=no ;;
@@ -719,7 +162,7 @@ esac],
 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
 
 AC_ARG_ENABLE(atomic,
-[  --enable-atomic              use atomic reference counting header],
+AC_HELP_STRING([--enable-atomic][use atomic reference counting header]),
 [case "${enableval}" in
   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
@@ -729,7 +172,7 @@ esac],
 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
 
 AC_ARG_ENABLE(plugin-builddir,
-[  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
+AC_HELP_STRING([--enable-plugin-builddir][allow tests/demos to use non-installed plugins]),
 [case "${enableval}" in
   yes) PLUGINS_USE_BUILDDIR=yes ;;
   no)  PLUGINS_USE_BUILDDIR=no ;;
@@ -738,28 +181,28 @@ esac],
 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
 
 AC_ARG_ENABLE(debug,
-[  --enable-debug               compile with -g debugging info],
+AC_HELP_STRING([--disable-debug][disable addition of -g debugging info]),
 [case "${enableval}" in
   yes) USE_DEBUG=yes ;;
   no)  USE_DEBUG=no ;;
   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
 esac], 
-[USE_DEBUG=no]) dnl Default value
+[USE_DEBUG=yes]) dnl Default value
 
 AC_ARG_ENABLE(DEBUG,
-[  --enable-DEBUG               compiles in a large number of debugging messages],
+AC_HELP_STRING([--disable-DEBUG][disables compilation of debugging messages]),
 [case "${enableval}" in
   yes) ENABLE_DEBUG=yes ;;
   no)  ENABLE_DEBUG=no ;;
   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
 esac], 
-[ENABLE_DEBUG=no]) dnl Default value
+[ENABLE_DEBUG=yes]) dnl Default value
 if test x$ENABLE_DEBUG = xyes; then
   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
 fi
 
 AC_ARG_ENABLE(INFO,
-[  --disable-INFO               disables compilation of informational messages],
+AC_HELP_STRING([--disable-INFO][disables compilation of informational messages]),
 [case "${enableval}" in
   yes) ENABLE_INFO=yes ;;
   no)  ENABLE_INFO=no ;;
@@ -771,7 +214,7 @@ if test x$ENABLE_INFO = xyes; then
 fi
 
 AC_ARG_ENABLE(debug-color,
-[  --disable-debug-color        disables color output of DEBUG and INFO output],
+AC_HELP_STRING([--disable-debug-color][disables color output of DEBUG and INFO output]),
 [case "${enableval}" in
   yes) ENABLE_DEBUG_COLOR=yes ;;
   no)  ENABLE_DEBUG_COLOR=no ;;
@@ -783,7 +226,7 @@ if test "x$ENABLE_DEBUG_COLOR" = xyes; then
 fi
 
 AC_ARG_ENABLE(profiling,
-[  --enable-profiling           adds -pg to compiler commandline, for profiling],
+AC_HELP_STRING([--enable-profiling][adds -pg to compiler commandline, for profiling]),
 [case "${enableval}" in
   yes) USE_PROFILING=yes ;;
   no)  UES_PROFILING=no ;;
@@ -792,13 +235,13 @@ esac],
 [USE_PROFILING=no]) dnl Default value
 
 dnl default to building registry in the source tree if we are enabling plugin build dir
-if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
-  GST_CONFIG_DIR=$builddir
+if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
+  GST_CONFIG_DIR=`pwd`
 else
   GST_CONFIG_DIR=/etc/gstreamer
 fi
 AC_ARG_WITH(configdir,
-[  --with-configdir             specify path to use for configdir],
+AC_HELP_STRING([--with-configdir][specify path to use for plugin and command completion registries]),
 [case "${withval}" in
   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
@@ -806,38 +249,8 @@ AC_ARG_WITH(configdir,
 esac], 
 [:]) dnl Default value
 
-dnl Default value
-GST_WIN32_LIBDIR="/usr/lib/win32"
-AC_ARG_WITH(win32_libdir,
-[  --with-win32-libdir          specify location for win32 DLLs],
-[case "${withval}" in
-  yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
-  no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
-  *) GST_WIN32_LIBDIR="${withval}" ;;
-esac],
-[:]) dnl Default value
-
-AC_ARG_ENABLE(docs-build,
-[  --enable-docs-build          enable building of documentation],
-[case "${enableval}" in
-  yes) BUILD_DOCS=yes ;;
-  no)  BUILD_DOCS=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
-esac], 
-[BUILD_DOCS=no]) dnl Default value
-
-AC_ARG_ENABLE(plugin-docs,
-[  --enable-plugin-docs         enable the building of plugin documentation
-                               (this is currently broken, so off by default)],
-[case "${enableval}" in
-  yes) BUILD_PLUGIN_DOCS=yes ;;
-  no)  BUILD_PLUGIN_DOCS=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
-esac], 
-[BUILD_PLUGIN_DOCS=no]) dnl Default value
-
 AC_ARG_ENABLE(tests,
-[  --disable-tests              disable building test apps],
+AC_HELP_STRING([--disable-tests][disable building test apps]),
 [case "${enableval}" in
   yes) BUILD_TESTS=yes ;;
   no)  BUILD_TESTS=no ;;
@@ -846,7 +259,7 @@ esac],
 [BUILD_TESTS=yes]) dnl Default value
 
 AC_ARG_ENABLE(examples,
-[  --disable-examples           disable building examples],
+AC_HELP_STRING([--disable-examples][disable building examples]),
 [case "${enableval}" in
   yes) BUILD_EXAMPLES=yes ;;
   no)  BUILD_EXAMPLES=no ;;
@@ -857,28 +270,6 @@ esac],
 dnl Next, check for the optional components:
 dnl ========================================
 
-
-AC_DEFUN(GST_SUBSYSTEM_DISABLE,
-[dnl
-dnl Add a subsystem --disable flag and all the necessary symbols and substitions
-dnl
-AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
-[  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
-[ case "${enableval}" in
-    yes) GST_DISABLE_[$1]=no ;;
-    no) GST_DISABLE_[$1]=yes ;;
-    *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
-  esac],
-[GST_DISABLE_[$1]=no]) dnl Default value
-if test x$GST_DISABLE_[$1] = xyes; then
-  AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
-  GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
-fi
-AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
-AC_SUBST(GST_DISABLE_[$1]_DEFINE)
-GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
-])
-
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
@@ -892,8 +283,7 @@ GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
 
-GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
-
+GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
 
 dnl ################################################
 dnl # Set defines according to variables set above #
@@ -902,10 +292,6 @@ dnl ################################################
 
 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
 dnl HAVE_ and it is likely to be easier to stick with the old name
-if test "x$USE_LIBGHTTP" = xyes; then
-  AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
-fi
-
 if test "x$USE_LIBMMX" = xyes; then
   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
 fi
@@ -933,132 +319,21 @@ dnl
 dnl AC_SUBST(FOMIT_FRAME_POINTER)
 dnl
 
-if test "x$HAVE_LIBXV" = xyes; then
-  AC_DEFINE(HAVE_LIBXV)
-fi
-
-if test "x$HAVE_OSS" = xyes; then
-  AC_DEFINE(HAVE_OSS)
-fi
-
-if test "x$HAVE_XAUDIO" = xyes; then
-  AC_DEFINE(HAVE_XAUDIO)
-fi
-
-if test "x$HAVE_LIBMAD" = xyes; then
-  AC_DEFINE(HAVE_LIBMAD)
-fi
-
-if test "x$HAVE_LIBMIKMOD" = xyes; then
-  AC_DEFINE(HAVE_LIBMIKMOD)
-fi
-
-if test "x$HAVE_VORBIS" = xyes; then
-  AC_DEFINE(HAVE_VORBIS)
-fi
-
-if test "x$HAVE_LIBJPEG" = xyes; then
-  AC_DEFINE(HAVE_LIBJPEG)
-fi
-
-if test "x$HAVE_LIBSDL" = xyes; then
-  AC_DEFINE(HAVE_LIBSDL)
-fi
-
-if test "x$HAVE_LIBHERMES" = "xyes"; then
-  AC_DEFINE(HAVE_LIBHERMES)
-fi
-
-if test "x$HAVE_LIBDVDREAD" = xyes; then
-  AC_DEFINE(HAVE_LIBDVDREAD)
-fi
-
-if test "x$HAVE_LINUX_CDROM" = xyes; then
-  AC_DEFINE(HAVE_LINUX_CDROM)
-fi
-
-if test "x$HAVE_LINUX_VIDEODEV" = xyes; then
-  AC_DEFINE(HAVE_LINUX_VIDEODEV)
-fi
-
-if test "x$HAVE_MPEG2DEC" = xyes; then
-  AC_DEFINE(HAVE_MPEG2DEC)
-fi
-
-if test "x$HAVE_A52DEC" = xyes; then
-  AC_DEFINE(HAVE_A52DEC)
-fi
-
-if test "x$HAVE_FLACLIB" = xyes; then
-  AC_DEFINE(HAVE_FLACLIB)
-fi
-
-if test "x$HAVE_LIBGSM" = xyes; then
-  AC_DEFINE(HAVE_LIBGSM)
-fi
-
 dnl #############################
 dnl # Set automake conditionals #
 dnl #############################
 
 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
 dnl HAVE_ and it is likely to be easier to stick with the old name
-AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
-AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
-AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
-AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
-AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
-AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
-AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
-AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
-AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
-AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
-AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
-AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
-AM_CONDITIONAL(HAVE_LIBDVDREAD,     test "x$HAVE_LIBDVDREAD" = "xyes")
-AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
-AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
-AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
-AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
+
+AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
+AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
+
 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
-AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
-AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
-AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
-AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
-AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
-AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
-AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
-AM_CONDITIONAL(HAVE_DB2HTML,        $HAVE_DB2HTML)
-AM_CONDITIONAL(HAVE_DB2PS,          $HAVE_DB2PS)
-AM_CONDITIONAL(HAVE_PS2PDF,         $HAVE_PS2PDF)
-AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
-AM_CONDITIONAL(HAVE_FIG2DEV_EPS,    $HAVE_FIG2DEV_EPS)
-AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
-AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
-AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
-AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
-AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
-dnl thomas : the next line gives errors, this is how it is in CVS
-dnl AM_CONDITIONAL(HAVE_FLAC,              test "x$HAVE_FLAC" = "xyes")
-dnl thomas : the next line gives errors as well, I commented it
-dnl AM_CONDITIONAL(HAVE_LAC,               test "x$HAVE_FAC" = "xyes")
-dnl thomas: the next line doesn't give errors
-AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
-AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
-AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
-AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
-AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
-AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
-AM_CONDITIONAL(HAVE_LIBAA,          test "x$HAVE_LIBAA" = "xyes")
-AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
-AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
-AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
-AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
-AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
 
 
 dnl ############################
@@ -1066,13 +341,9 @@ dnl # Set up some more defines #
 dnl ############################
 
 dnl Set location of configuration dir.
-dnl AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
+AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
 AC_SUBST(GST_CONFIG_DIR)
 
-dnl Set location of windows dll dir.
-AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
-AC_SUBST(GST_WIN32_LIBDIR)
-
 dnl Set location of plugin directory
 if test "x${prefix}" = "xNONE"; then
   PLUGINS_DIR=${ac_default_prefix}/lib/gst
@@ -1083,29 +354,35 @@ AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
 AC_SUBST(PLUGINS_DIR)
 
 dnl Set location of uninstalled plugin directory
-PLUGINS_BUILDDIR=${builddir}
+PLUGINS_BUILDDIR=`pwd`
 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
 AC_SUBST(PLUGINS_BUILDDIR)
 
-dnl Vars for everyone else
-GST_LIBS="\$(top_builddir)/gst/libgst.la"
-GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
-AC_SUBST(GST_LIBS)
-AC_SUBST(GST_CFLAGS)
+dnl finalize _CFLAGS and _LIBS
+dnl add GLIB and XML if necessary to EXT_*
+GST_EXT_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
+GST_EXT_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS"
+
+dnl for pkg-config
+GST_PKG_CFLAGS=$GST_EXT_CFLAGS
+GST_PKG_LIBS=$GST_EXT_LIBS
+AC_SUBST(GST_PKG_CFLAGS)
+AC_SUBST(GST_PKG_LIBS)
 
 dnl Private vars for libgst only
-LIBGST_CFLAGS="$GST_CFLAGS"
+LIBGST_LIBS="$GST_EXT_LIBS"
+LIBGST_CFLAGS="$GST_EXT_CFLAGS -I\$(top_srcdir)"
 AC_SUBST(LIBGST_LIBS)
 AC_SUBST(LIBGST_CFLAGS)
 
-AC_SUBST(GST_CFLAGS)
+dnl Vars for everyone else
+GST_INT_LIBS="\$(top_builddir)/gst/libgst.la"
+GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir) -Wall"
 
-dnl #############################
-dnl # Configure the subpackages #
-dnl #############################
+AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS")
+AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS")
 
-dnl AC_CONFIG_SUBDIRS(gist)
-dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
+dnl AC_CONFIG_SUBDIRS(gst/cothreads)
 
 dnl ##################################################
 dnl # Prepare informative messages to display at end #
@@ -1121,7 +398,8 @@ This option is for development purposes only: binaries built with
 it should be used with code in the build tree only.  To build an
 installable version, use ./configure without the --enable-plugin-builddir
 option.  Note that the autogen.sh script supplies the plugin builddir
-option automatically - it cannot be used to configure installable builds.
+option automatically -- run ./autogen.sh --disable-plugin-buildddir to make
+an installable build.
 
 "
 fi
@@ -1130,12 +408,7 @@ dnl #########################
 dnl # Make the output files #
 dnl #########################
 
-dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
-dnl components/bonobo-gstmediaplay/Makefile
-dnl FIXME someone should fix this test/misc/Makefile
-dnl FIXME wtay fix this: testsuite/threads/Makefile
-dnl FIXME testsuite/refcounting/Makefile
-
+dnl libs/ext/Makefile
 AC_OUTPUT(
 Makefile
 include/Makefile
@@ -1146,131 +419,22 @@ gst/elements/Makefile
 gst/autoplug/Makefile
 gst/schedulers/Makefile
 libs/Makefile
-libs/riff/Makefile
-libs/getbits/Makefile
-libs/putbits/Makefile
-libs/idct/Makefile
-libs/audio/Makefile
-libs/bytestream/Makefile
-libs/control/Makefile
-libs/resample/Makefile
-plugins/Makefile
-plugins/a52dec/Makefile
-plugins/aasink/Makefile
-plugins/alsa/Makefile
-plugins/au/Makefile
-plugins/audiofile/Makefile
-plugins/audioscale/Makefile
-plugins/avi/Makefile
-plugins/avi/wincodec/Makefile
-plugins/avi/winaudio/Makefile
-plugins/flx/Makefile
-plugins/festival/Makefile
-plugins/flac/Makefile
-plugins/jpeg/Makefile
-plugins/mp3decode/Makefile
-plugins/mp3decode/types/Makefile
-plugins/mp3decode/xa/Makefile
-plugins/mp3decode/mpg123/Makefile
-plugins/mp3decode/mad/Makefile
-plugins/mp3decode/parse/Makefile
-plugins/mp3encode/Makefile
-plugins/mp3encode/lame/Makefile
-plugins/mikmod/Makefile
-plugins/mpeg2/Makefile
-plugins/mpeg2/parse/Makefile
-plugins/mpeg2/ac3parse/Makefile
-plugins/mpeg2/ac3dec/Makefile
-plugins/mpeg2/video/Makefile
-plugins/mpeg2/mpeg2enc/Makefile
-plugins/mpeg2/mpeg2dec/Makefile
-plugins/mpeg2/subtitles/Makefile
-plugins/mpeg2/videoparse/Makefile
-plugins/mpeg2/mpegtypes/Makefile
-plugins/mpeg1/Makefile
-plugins/mpeg1/mpegtypes/Makefile
-plugins/mpeg1/mpeg_play/Makefile
-plugins/mpeg1/mpegaudio/Makefile
-plugins/mpeg1/parse/Makefile
-plugins/mpeg1/system_encode/Makefile
-plugins/mpeg1/mpeg1encoder/Makefile
-plugins/mpeg1video/Makefile
-plugins/mpeg1video/parse/Makefile
-plugins/oss/Makefile
-plugins/rtp/Makefile
-plugins/mulaw/Makefile
-plugins/alaw/Makefile
-plugins/filters/Makefile
-plugins/filters/smooth/Makefile
-plugins/filters/median/Makefile
-plugins/filters/ladspa/Makefile
-plugins/filters/stereo2mono/Makefile
-plugins/filters/mono2stereo/Makefile
-plugins/filters/intfloatconvert/Makefile
-plugins/filters/passthrough/Makefile
-plugins/filters/adder/Makefile
-plugins/filters/colorspace/Makefile
-plugins/filters/volenv/Makefile
-plugins/filters/level/Makefile
-plugins/filters/lav/Makefile
-plugins/filters/cutter/Makefile
-plugins/filters/deinterlace/Makefile
-plugins/filters/volume/Makefile
-plugins/filters/speed/Makefile
-plugins/filters/playondemand/Makefile
-plugins/gnomevfs/Makefile
-plugins/icecast/Makefile
-plugins/icecast/icecastsend/Makefile
-plugins/effects/Makefile
-plugins/effects/stereo/Makefile
-plugins/effects/volume/Makefile
-plugins/udp/Makefile
-plugins/visualization/Makefile
-plugins/visualization/spectrum/Makefile
-plugins/visualization/vumeter/Makefile
-plugins/visualization/synaesthesia/Makefile
-plugins/visualization/smoothwave/Makefile
-plugins/visualization/chart/Makefile
-plugins/videoscale/Makefile
-plugins/xvideosink/Makefile
-plugins/wav/Makefile
-plugins/dvdsrc/Makefile
-plugins/vcdsrc/Makefile
-plugins/rtjpeg/Makefile
-plugins/SID/Makefile
-plugins/vorbis/Makefile
-plugins/capture/Makefile
-plugins/capture/v4l/Makefile
-plugins/capture/qcam/Makefile
-plugins/cdparanoia/Makefile
-plugins/esd/Makefile
-plugins/esd/esdsink/Makefile
-plugins/artsd/Makefile
-plugins/quicktime/Makefile
-plugins/xmms/Makefile
-plugins/arts/Makefile
-plugins/gsm/Makefile
-plugins/1394/Makefile
-plugins/sdlsink/Makefile
-plugins/dv/Makefile
-plugins/synthesis/Makefile
-plugins/synthesis/sinesrc/Makefile
-plugins/silence/Makefile
-gstplay/Makefile
-test/Makefile
-test/xml/Makefile
-test/bindings/Makefile
-test/memchunk/Makefile
-test/events/Makefile
+libs/gst/Makefile
+libs/gst/bytestream/Makefile
+libs/gst/getbits/Makefile
+libs/gst/putbits/Makefile
+libs/gst/control/Makefile
 tests/Makefile
-tests/sched/Makefile
-tests/eos/Makefile
+tests/bufspeed/Makefile
+tests/memchunk/Makefile
 tests/muxing/Makefile
+tests/sched/Makefile
 testsuite/Makefile
 testsuite/bytestream/Makefile
-testsuite/capsnego/Makefile
+testsuite/caps/Makefile
+testsuite/cleanup/Makefile
+testsuite/elements/Makefile
 testsuite/plugin/Makefile
-tests/nego/Makefile
 examples/Makefile
 examples/autoplug/Makefile
 examples/helloworld/Makefile
@@ -1288,8 +452,6 @@ examples/xml/Makefile
 examples/plugins/Makefile
 examples/typefind/Makefile
 examples/mixer/Makefile
-editor/Makefile
-editor/pixmaps/Makefile
 tools/Makefile
 docs/Makefile
 docs/gst/Makefile
@@ -1299,12 +461,10 @@ docs/plugins/Makefile
 docs/plugins/gstreamer-plugins.types
 docs/manual/Makefile
 docs/fwg/Makefile
-debian/Makefile
+docs/xsl/Makefile
 stamp.h
-gstreamer-config
 gstreamer.pc
 gstreamer-uninstalled.pc
 gstreamer.spec,
-chmod +x gstreamer-config
 echo "$infomessages", infomessages="$infomessages"
 )