ext/dv/gstdvdec.c: Fix format conversion and position querying.
[platform/upstream/gst-plugins-good.git] / configure.ac
index 39c6608..b242d44 100644 (file)
@@ -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, 1, 1, GST_CVS="no", GST_CVS="yes")
 
 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
 
@@ -62,11 +62,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 +95,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 +122,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
@@ -188,7 +188,8 @@ GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
 ])
 
 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,
+GST_REQ=0.8.1.1
+PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
   HAVE_GST="yes", HAVE_GST="no")
 
 if test "x$HAVE_GST" = "xno"; then
@@ -202,7 +203,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,7 +329,7 @@ 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
@@ -447,6 +448,12 @@ GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", 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 *** QuickCam ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
@@ -462,6 +469,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, [
@@ -600,7 +613,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 +628,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 +648,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:
@@ -733,6 +764,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 +829,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, [
@@ -847,16 +893,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,14 +1028,82 @@ GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
   AC_SUBST(JPEG_LIBS)
 ])
 
-dnl *** KDE ***
-AC_PATH_PROG(KDE_CONFIG, kde-config, no)
+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)
-if test x$KDE_CONFIG != xno; then
-  KDE_PREFIX=`$KDE_CONFIG --prefix`
-  KIO_CFLAGS="-I$KDE_PREFIX/include/qt3 -I$KDE_PREFIX/include/kde"
-  KIO_LIBS="-L$KDE_PREFIX/lib -lkio -lqt-mt"
-  GST_CHECK_FEATURE(KIO, [kio], kio, [
+GST_CHECK_FEATURE(KIO, [kio], kio, [
+  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"
@@ -1000,10 +1117,12 @@ KIO::get ("bla")
     LIBS="$save_LIBS"
     CPPFLAGS="$save_CPPFLAGS"
     AC_LANG_POP(C++)
-  ])
-  AC_SUBST(KIO_CFLAGS)
-  AC_SUBST(KIO_LIBS)
-fi
+    AC_SUBST(KIO_CFLAGS)
+    AC_SUBST(KIO_LIBS)
+  else
+    HAVE_KIO="false"
+  fi
+])
 
 dnl *** ladspa ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
@@ -1066,6 +1185,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)
@@ -1077,7 +1204,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
@@ -1097,7 +1224,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)
@@ -1298,12 +1425,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)
@@ -1672,7 +1811,9 @@ sys/cdrom/Makefile
 sys/dxr3/Makefile
 sys/glsink/Makefile
 sys/oss/Makefile
+sys/osxaudio/Makefile
 sys/qcam/Makefile
+sys/sunaudio/Makefile
 sys/v4l/Makefile
 sys/v4l2/Makefile
 sys/vcd/Makefile
@@ -1686,7 +1827,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
@@ -1710,6 +1853,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