gearing up for release
[platform/upstream/gstreamer.git] / configure.ac
index b11ebe2..3cf70d1 100644 (file)
@@ -1,6 +1,6 @@
 dnl autoconf configuration file for gst-plugins 
 AC_INIT
-AC_CANONICAL_TARGET([])
+AC_CANONICAL_TARGET
 
 dnl We disable static building for development, for time savings
 dnl this goes before AS_LIBTOOL to appease autoconf
@@ -12,7 +12,7 @@ AM_MAINTAINER_MODE
 
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 8, 0, 1, GST_CVS="no", GST_CVS="yes")
+AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 8, 3, 0, GST_CVS="no", GST_CVS="yes")
 
 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
 
@@ -27,6 +27,7 @@ dnl - library source changed -> increment REVISION
 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
 dnl - interfaces added -> increment AGE
 dnl - interfaces removed -> AGE = 0
+dnl for 0.8.3 release, gst_play_get_all_by_interface was added, so update
 AS_LIBTOOL(GST_PLUGINS, 1, 0, 1)
 AM_PROG_LIBTOOL
 
@@ -43,6 +44,7 @@ AC_PROG_CC
 AM_PROG_CC_STDC
 AM_PROG_AS
 AS="${CC}"
+AS_PROG_OBJC
 
 dnl the gettext stuff needed
 AM_GNU_GETTEXT_VERSION(0.11.5)
@@ -62,11 +64,10 @@ dnl decide on error flags
 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
 
 if test "x$GST_WALL" = "xyes"; then
-   GST_ERROR="$GST_ERROR -Wall -Wno-sign-compare"
+   GST_ERROR="$GST_ERROR -Wall"
 
    if test "x$GST_CVS" = "xyes"; then
      AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
-     GST_ERROR="$GST_ERROR -DG_DISABLE_DEPRECATED"
    fi
 fi
 
@@ -96,6 +97,9 @@ if test "x$GST_CVS" = "xyes"; then
   AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
 fi
 
+dnl Check for FIONREAD ioctl declaration :
+GST_CHECK_FIONREAD()
+
 dnl ############################################
 dnl # Super Duper options for plug-in building #
 dnl ############################################
@@ -120,11 +124,9 @@ GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
 [
   AC_MSG_WARN(building experimental plug-ins)
   USE_TARKIN="yes"
-  USE_SHOUT2="yes"
 ],[
   AC_MSG_NOTICE(not building experimental plug-ins)
   USE_TARKIN="no"
-  USE_SHOUT2="no"
 ])
 
 dnl broken plug-ins; stuff that doesn't seem to build at the moment
@@ -187,8 +189,10 @@ GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
   AC_SUBST(GCONF_LIBS)
 ])
 
-dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
-PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
+dnl check for gstreamer
+dnl uninstalled is selected preferentially -- see pkg-config(1)
+GST_REQ=0.8.4
+PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
   HAVE_GST="yes", HAVE_GST="no")
 
 if test "x$HAVE_GST" = "xno"; then
@@ -202,7 +206,7 @@ fi
 AC_SUBST(GST_TOOLS_DIR)
 
 dnl check for gstreamer-control; uninstalled is selected preferentially
-PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
+PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_REQ,
   HAVE_GST_CONTROL="yes", HAVE_GST_CONTROL="no")
 
 if test "x$HAVE_GST_CONTROL" = "xno"; then
@@ -328,16 +332,18 @@ dnl ===========================================================================
 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
 AC_SUBST(plugindir)
 
-GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*{gst_,Gst,GST_}.*'
+GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '[_]*(gst_|Gst|GST_).*' $GST_LIBS"
 AC_SUBST(GST_PLUGIN_LDFLAGS)
 
 dnl these are all the gst plug-ins, compilable without additional libs
 GST_PLUGINS_ALL="\
        ac3parse \
        adder \
+       alpha \
        asfdemux \
        audioconvert \
        audioscale \
+       audiorate \
        auparse \
        avi \
        cdxaparse \
@@ -365,8 +371,11 @@ GST_PLUGINS_ALL="\
        mpegaudioparse \
        mpegstream \
        monoscope \
+       multifilesink \
+       multipart \
        overlay \
        passthrough \
+       playback \
        playondemand \
        qtdemux \
        realmedia \
@@ -386,10 +395,13 @@ GST_PLUGINS_ALL="\
        typefind \
        udp \
        vbidec \
+       videobox \
        videocrop \
        videodrop \
        videoflip \
        videofilter \
+       videomixer \
+       videorate \
        videoscale \
        videotestsrc \
        volenv \
@@ -441,11 +453,49 @@ GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder],
                     HAVE_DXR3=no ] )
 ])
 
-dnl *** OSS audio ***
+dnl *** OSS audio *** (Linux, *BSD)
 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
-  AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
+  HAVE_OSS="yes"
+  dnl Linux and newer BSD versions :
+  AC_CHECK_HEADER(sys/soundcard.h, [
+    AC_DEFINE(HAVE_OSS_INCLUDE_IN_SYS,, [Define if OSS includes are in /sys/])
+    ] , [
+    dnl Some old BSD versions :
+    AC_CHECK_HEADER(soundcard.h, [
+      AC_DEFINE(HAVE_OSS_INCLUDE_IN_ROOT,, [Define if OSS includes are in /])
+      ], [
+      dnl Some old BSD versions :
+      AC_CHECK_HEADER(machine/soundcard.h, [
+        AC_DEFINE(HAVE_OSS_INCLUDE_IN_MACHINE,, [Define if OSS includes are in /machine/])
+        ], [
+        HAVE_OSS="no"
+      ])
+    ])
+  ])
+])
+
+dnl *** OS X audio ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_AUDIO, true)
+GST_CHECK_FEATURE(OSX_AUDIO, [OSX audio], osxaudiosrc osxaudiosink, [
+  AC_CHECK_HEADER(CoreAudio/CoreAudio.h, HAVE_OSX_AUDIO="yes", HAVE_OSX_AUDIO="no")
+])
+
+dnl *** OS X video ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
+HAVE_OSX_VIDEO="no"
+GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosink, [
+  AC_CHECK_HEADER(OpenGL/gl.h, HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no")
 ])
+dnl in case header OpenGL/gl.h is found on other platforms
+case "$host" in
+  *-*darwin*)
+    dnl do nothing
+    ;;
+  *)
+    HAVE_OSX_VIDEO="no"
+    ;;
+esac
 
 dnl *** QuickCam ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
@@ -462,6 +512,12 @@ GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
   fi
 ])
 
+dnl *** Sun Audio ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_SUNAUDIO, true)
+GST_CHECK_FEATURE(SUNAUDIO, [Sun Audio], sunaudiosink, [
+  AC_CHECK_HEADER(sys/audioio.h, HAVE_SUNAUDIO="yes", HAVE_SUNAUDIO="no")
+])
+
 dnl *** Video CD ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
@@ -470,6 +526,7 @@ GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
 
 dnl *** CDROM Audio ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
+
 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
   AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
   AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
@@ -600,7 +657,7 @@ translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
   # first check X
   HAVE_V4L="no"
-  if test "$HAVE_X" == "yes"
+  if test "$HAVE_X" = "yes"
   then
     AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [
 #include <sys/types.h>
@@ -615,7 +672,7 @@ dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
   HAVE_V4L2="no"
-  if test "$HAVE_X" == "yes"
+  if test "$HAVE_X" = "yes"
   then
     AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
     AC_TRY_COMPILE([
@@ -635,6 +692,24 @@ return 0;
                          [ AC_MSG_WARN([video4linux2 was not found])])
        ])
   fi
+  dnl check for missing v4l2_buffer declaration (see #135919)
+  if [ test x$HAVE_V4L2 = xyes ]; then
+    MISSING_DECL=0
+    AC_MSG_CHECKING(struct v4l2_buffer declaration)
+    AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <linux/types.h>
+#define _LINUX_TIME_H
+#include <linux/videodev2.h>
+    ],[
+struct v4l2_buffer buf;
+buf.index = 0;
+return 0;
+    ], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
+    if [ test x$MISSING_DECL = x1 ]; then
+      AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
+    fi
+  fi
 ])
 
 dnl Next, check for the optional libraries:
@@ -702,6 +777,7 @@ GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
     GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
     dnl we need this function
     AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
+    AC_CHECK_LIB(audiofile, af_virtual_file_new, , HAVE_AUDIOFILE="no")
   fi])
 
 dnl *** CDParanoia ***
@@ -733,6 +809,14 @@ dnl FIXME : add second check somehow if that is necessary
 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
 
+dnl *** dirac ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
+GST_CHECK_FEATURE(DIRAC, [dirac plug-ins], dirac, [
+  PKG_CHECK_MODULES(DIRAC, dirac, HAVE_DIRAC="yes", HAVE_DIRAC="no")
+  AC_SUBST(DIRAC_CFLAGS)
+  AC_SUBST(DIRAC_LIBS)
+])
+
 dnl *** DIVX ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
 GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
@@ -790,6 +874,13 @@ return 0;
   fi
 ])
 
+dnl *** DTS ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
+GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
+  GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h, DTS_LIBS="-ldts_pic -lm")
+  AC_SUBST(DTS_LIBS)
+])
+
 dnl *** dvdread ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
@@ -818,8 +909,13 @@ GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
          [[ "$DVDNAV_MICRO" -lt "7" ]]; then
       AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
       HAVE_DVDNAV="no"
-      fi
     fi
+  fi
+  dnl now check for dvdread/nav_print.h - see #133002
+  AC_CHECK_HEADER(dvdread/nav_print.h, , [
+      AC_MSG_WARN([header dvdread/nav_print.h from dvdread missing])
+      HAVE_DVDNAV="no"
+  ])
   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
 ])
 
@@ -847,16 +943,19 @@ GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
 dnl **** Free AAC Decoder (FAAD) ****
 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
 GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
-  GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h, FAAD_LIBS="-lfaad -lm")
-  AC_MSG_CHECKING([Checking for FAAD >= 2])
-  AC_TRY_COMPILE([
+  HAVE_FAAD="yes"
+  GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h, FAAD_LIBS="-lfaad -lm", HAVE_FAAD="no")
+  if test $HAVE_FAAD = "yes"; then
+    AC_MSG_CHECKING([Checking for FAAD >= 2])
+    AC_TRY_COMPILE([
 #include <faad.h>
 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
 #error Not faad2
 #endif
-  ], [ return 0; ],
-     [ HAVE_FAAD="yes" && AC_MSG_RESULT(yes)],
-     [ HAVE_FAAD="no"  && AC_MSG_RESULT(no)])
+    ], [ return 0; ],
+       [ HAVE_FAAD="yes" && AC_MSG_RESULT(yes)],
+       [ HAVE_FAAD="no"  && AC_MSG_RESULT(no)])
+  fi;
   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
   AC_SUBST(FAAD_LIBS)
 ])
@@ -979,6 +1078,107 @@ GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
   AC_SUBST(JPEG_LIBS)
 ])
 
+dnl *** KDE / Qt ***
+
+dnl * Qt *
+
+qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/local/qt"
+
+dnl Build include path search path from the list of Qt dirs
+
+qt_include_dirs=""
+for dir in $qt_dirs; do
+  qt_include_dirs="$qt_include_dirs $dir/include $dir"
+done
+
+qt_include_dirs="$qt_include_dirs /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/include/qt3"
+
+for dir in $qt_include_dirs; do
+  if test -r "$dir/qglobal.h"; then
+    qt_include_dir=$dir
+    break
+  fi
+done
+
+for dir in $qt_dirs; do
+  qt_lib_dirs="$qt_lib_dirs $dir/lib $dir"
+done
+
+qt_lib_dirs="$qt_lib_dirs /usr/X11R6/lib /usr/lib"
+
+for dir in $qt_lib_dirs; do
+  try="ls -1 $dir/libqt-mt.*"
+  if test -n "`$try 2> /dev/null`"; then
+    qt_lib_dir=$dir
+    break
+  fi
+done
+
+dnl * KDE *
+
+translit(dnm, m, l) AM_CONDITIONAL(USE_KIO, true)
+GST_CHECK_FEATURE(KIO, [kio], kio, [
+  AC_PATH_PROG(KDE_MOC, moc, no)
+  if test x$KDE_MOC = xno; then
+    HAVE_KIO="no"
+  else
+    AC_PATH_PROG(KDE_CONFIG, kde-config, no)
+
+    if test x$KDE_CONFIG != xno; then
+      KDE_PREFIX=`$KDE_CONFIG --prefix`
+    fi
+
+    kde_include_dirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include"
+    kde_lib_dirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib"
+
+    if test -n "$KDE_PREFIX"; then
+      kde_include_dirs="$KDE_PREFIX/include $KDE_PREFIX/include/kde $KDE_PREFIX $kde_include_dirs"
+      kde_lib_dirs="$KDE_PREFIX/lib $KDE_PREFIX $kde_lib_dirs"
+    fi
+    if test -n "$KDEDIR"; then
+      kde_include_dirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_include_dirs"
+      kde_lib_dirs="$KDEDIR/lib $KDEDIR $kde_lib_dirs"
+    fi
+
+    for dir in $kde_include_dirs; do
+      if test -r "$dir/kglobal.h" && test -r "$dir/kdemacros.h"; then
+       kde_include_dir=$dir
+       break
+      fi
+    done
+
+    for dir in $kde_lib_dirs; do
+      try="ls -1 $dir/libkio.*"
+      if test -n "`$try 2> /dev/null`"; then
+       kde_lib_dir=$dir
+       break
+      fi
+    done
+
+    if test -n $kde_include_dir && test -n $kde_lib_dir; then
+      KIO_CFLAGS="-I$kde_include_dir -I$qt_include_dir"
+      KIO_LIBS="-L$KDE_PREFIX/lib -L$qt_lib_dir -lkio -lqt-mt"
+      AC_LANG_PUSH(C++)
+      save_LIBS="$LIBS"
+      save_CPPFLAGS="$CPPFLAGS"
+      LIBS="$LIBS $KIO_LIBS"
+      CPPFLAGS="$CPPFLAGS $KIO_CFLAGS"
+      AC_TRY_LINK([
+#include <kio/job.h>
+                  ], [
+  KIO::get ("bla")
+                  ], HAVE_KIO="yes", HAVE_KIO="no")
+      LIBS="$save_LIBS"
+      CPPFLAGS="$save_CPPFLAGS"
+      AC_LANG_POP(C++)
+      AC_SUBST(KIO_CFLAGS)
+      AC_SUBST(KIO_LIBS)
+    else
+      HAVE_KIO="no"
+    fi
+  fi
+])
+
 dnl *** ladspa ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
@@ -992,6 +1192,14 @@ GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
 ])
 AC_SUBST(LAME_LIBS)
 
+dnl *** libcaca ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
+GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
+  GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
+  AC_SUBST(LIBCACA_CFLAGS)
+  AC_SUBST(LIBCACA_LIBS)
+])
+
 dnl *** libcolorspace ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
@@ -1003,19 +1211,11 @@ GST_CHECK_FEATURE(LCS, Lcs, lcs, [
 dnl *** libdv ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
-  PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
+  PKG_CHECK_MODULES(LIBDV, libdv >= 0.100, HAVE_LIBDV="yes", HAVE_LIBDV="no")
   AC_SUBST(LIBDV_CFLAGS)
   AC_SUBST(LIBDV_LIBS)
 ])
 
-dnl *** libcaca ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
-GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
-  GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
-  AC_SUBST(LIBCACA_CFLAGS)
-  AC_SUBST(LIBCACA_LIBS)
-])
-
 dnl *** libfame ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
@@ -1040,6 +1240,14 @@ GST_CHECK_FEATURE(LIBRFB, [librfb Remote Framebuffer], rfbsrc, [
   AC_SUBST(LIBRFB_LIBS)
 ])
 
+dnl *** libvisual ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
+GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization plugins], libvisual, [
+  PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.1.1, HAVE_LIBVISUAL="yes", HAVE_LIBVISUAL="no")
+  AC_SUBST(LIBVISUAL_CFLAGS)
+  AC_SUBST(LIBVISUAL_LIBS)
+])
+
 dnl *** mad ***
 dnl FIXME: we could use header checks here as well IMO
 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
@@ -1051,7 +1259,7 @@ GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
     AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
     if test "x$HAVE_MAD" = "xyes"; then
       HAVE_MAD="no"
-      save_libs=$LIBS
+      save_LIBS=$LIBS
       LIBS="-lz"
       AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
       LIBS=$save_LIBS
@@ -1071,7 +1279,7 @@ GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
 dnl *** mpeg2dec ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
-  PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
+  PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.4.0,
       HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
   AC_SUBST(MPEG2DEC_CFLAGS)
   AC_SUBST(MPEG2DEC_LIBS)
@@ -1183,9 +1391,10 @@ main (int   argc,
 
 dnl *** musicbrainz ***
 dnl libmusicbrainz <= 2.0.2 has symbol clashes with ffmpeg
+dnl however, our ffmpeg patch was accepted upstream
 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
 GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz], musicbrainz, [
-  PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz > 2.0.2,
+  PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.0.2,
       HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
   AC_SUBST(MUSICBRAINZ_CFLAGS)
   AC_SUBST(MUSICBRAINZ_LIBS)
@@ -1272,12 +1481,24 @@ GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
   AC_SUBST(LIBPNG_LIBS)
 ])
 
-dnl *** speex 1.0 only, not 1.1 ***
+dnl *** speex 1.0.x or >= 1.1.5 (1.1.4 and earlier were not API/ABI compatible ***
 dnl speex_jitter.h is 1.1 only
 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
 GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
   GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex.h, [
-    AC_CHECK_HEADER(speex_jitter.h, HAVE_SPEEX="no", [
+    AC_CHECK_HEADER(speex_jitter.h, [
+      dnl speex 1.1.x :
+      GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex.h, [
+        dnl speex 1.1.5 or + :
+        HAVE_SPEEX="yes"
+        SPEEX_LIBS="-lspeex"
+        AC_SUBST(SPEEX_CFLAGS)
+        AC_SUBST(SPEEX_LIBS)
+      ],[
+        HAVE_SPEEX="no"
+      ])
+    ], [
+      dnl speex 1.0.x :
       HAVE_SPEEX="yes"
       SPEEX_LIBS="-lspeex"
       AC_SUBST(SPEEX_CFLAGS)
@@ -1324,11 +1545,16 @@ GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
 ])
 
 dnl *** theora ***
-dnl FIXME: theora doesn't have proper pc/m4 files yet, change this when this happens
 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
-GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec, [
-  GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, , theora/theora.h, THEORA_LIBS="-ltheora")
-  AC_SUBST(THEORA_LIBS)
+GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec theoraenc, [
+  PKG_CHECK_MODULES(THEORA, theora, [
+    HAVE_THEORA="yes"
+    AC_SUBST(THEORA_LIBS)
+    AC_SUBST(THEORA_CFLAGS)
+  ], [
+    GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg")
+    AC_SUBST(THEORA_LIBS)
+  ])
 ])
 
 dnl *** vorbis ***
@@ -1529,7 +1755,8 @@ AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
 
 dnl prefer internal headers to already installed ones
-GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
+dnl also add builddir include for enumtypes and marshal
+GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_ERROR"
 
 AC_SUBST(GST_LIBS)
 AC_SUBST(GST_CFLAGS)
@@ -1552,7 +1779,7 @@ AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
   no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
   *) GST_PACKAGE="${withval}" ;;
 esac], 
-[GST_PACKAGE="GStreamer"]) dnl Default value
+[GST_PACKAGE="GStreamer Plugins"]) dnl Default value
 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
 dnl package origin URL
@@ -1563,7 +1790,7 @@ AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plu
   no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
   *) GST_ORIGIN="${withval}" ;;
 esac], 
-[GST_ORIGIN="http://gstreamer.net"]) dnl Default value
+[GST_ORIGIN="http://gstreamer.net/"]) dnl Default value
 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
 
@@ -1577,8 +1804,10 @@ gst-plugins.spec
 gst/Makefile
 gst/ac3parse/Makefile
 gst/adder/Makefile
+gst/alpha/Makefile
 gst/audioconvert/Makefile
 gst/audioscale/Makefile
+gst/audiorate/Makefile
 gst/auparse/Makefile
 gst/avi/Makefile
 gst/asfdemux/Makefile
@@ -1609,8 +1838,11 @@ gst/mpegstream/Makefile
 gst/modplug/Makefile
 gst/modplug/libmodplug/Makefile
 gst/monoscope/Makefile
+gst/multifilesink/Makefile
+gst/multipart/Makefile
 gst/overlay/Makefile
 gst/passthrough/Makefile
+gst/playback/Makefile
 gst/playondemand/Makefile
 gst/qtdemux/Makefile
 gst/realmedia/Makefile
@@ -1630,10 +1862,13 @@ gst/tcp/Makefile
 gst/typefind/Makefile
 gst/udp/Makefile
 gst/vbidec/Makefile
+gst/videobox/Makefile
 gst/videocrop/Makefile
 gst/videodrop/Makefile
 gst/videofilter/Makefile
 gst/videoflip/Makefile
+gst/videomixer/Makefile
+gst/videorate/Makefile
 gst/videoscale/Makefile
 gst/videotestsrc/Makefile
 gst/volenv/Makefile
@@ -1646,7 +1881,10 @@ sys/cdrom/Makefile
 sys/dxr3/Makefile
 sys/glsink/Makefile
 sys/oss/Makefile
+sys/osxaudio/Makefile
+sys/osxvideo/Makefile
 sys/qcam/Makefile
+sys/sunaudio/Makefile
 sys/v4l/Makefile
 sys/v4l2/Makefile
 sys/vcd/Makefile
@@ -1660,7 +1898,9 @@ ext/arts/Makefile
 ext/artsd/Makefile
 ext/audiofile/Makefile
 ext/cdparanoia/Makefile
+ext/dirac/Makefile
 ext/divx/Makefile
+ext/dts/Makefile
 ext/dv/Makefile
 ext/dvdread/Makefile
 ext/dvdnav/Makefile
@@ -1675,6 +1915,7 @@ ext/hermes/Makefile
 dnl ext/http/Makefile
 ext/jack/Makefile
 ext/jpeg/Makefile
+ext/kio/Makefile
 ext/ladspa/Makefile
 ext/lame/Makefile
 ext/ivorbis/Makefile
@@ -1683,6 +1924,7 @@ ext/libcaca/Makefile
 ext/libfame/Makefile
 ext/libpng/Makefile
 ext/librfb/Makefile
+ext/libvisual/Makefile
 ext/mad/Makefile
 ext/mikmod/Makefile
 ext/mpeg2dec/Makefile
@@ -1736,6 +1978,7 @@ examples/switch/Makefile
 examples/Makefile
 testsuite/spider/Makefile
 testsuite/alsa/Makefile
+testsuite/multifilesink/Makefile
 testsuite/Makefile
 tools/Makefile
 gconf/Makefile
@@ -1754,6 +1997,9 @@ pkgconfig/gstreamer-play-uninstalled.pc
 pkgconfig/gstreamer-plugins.pc
 pkgconfig/gstreamer-plugins-uninstalled.pc
 po/Makefile.in
+common/Makefile
+common/m4/Makefile
+m4/Makefile
 )
 AC_OUTPUT