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.15.1,
+AC_INIT(GStreamer Base Plug-ins, 0.10.22.1,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-plugins-base)
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 11, 0, 11)
+AS_LIBTOOL(GST, 16, 0, 16)
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.15.1
+GST_REQ=0.10.21.1
dnl *** autotools stuff ****
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_VERSION([0.17])
AM_GNU_GETTEXT([external])
AG_GST_GETTEXT([gst-plugins-base-$GST_MAJORMINOR])
[plugin install helper script])
AC_SUBST(GST_INSTALL_PLUGINS_HELPER)
-
-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=""
AG_GST_ARG_WITH_PLUGINS
-AC_SUBST(GST_PLUGINS_SELECTED)
AG_GST_ARG_ENABLE_EXTERNAL
+AG_GST_ARG_ENABLE_EXPERIMENTAL
+
dnl *** checks for platform ***
dnl * hardware/architecture *
dnl find a compiler
AC_PROG_CC
+dnl check if the compiler supports '-c' and '-o' options
+AM_PROG_CC_C_O
+
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl *** checks for libraries ***
-dnl For interactive UNIX (a Sun thing)
-dnl FIXME: this adds -lcposix to LIBS, but I doubt we use LIBS
-AC_ISC_POSIX
-
dnl libm, for sin() etc.
AC_CHECK_LIBM
AC_SUBST(LIBM)
if test "x$HAVE_REGEX_H" = "xyes"; then
ac_cppflags_save="$CPPFLAGS"
- CPPFLAGS="-Wall -Werror `$PKG_CONFIG --cflags libxml-2.0`"
+ CPPFLAGS="`$PKG_CONFIG --cflags libxml-2.0`"
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([
#include <libxml/HTMLparser.h>
#endif /* LIBXML_HTML_ENABLED */
]), HAVE_LIBXML_HTML="yes", HAVE_LIBXML_HTML="no")
CPPFLAGS="$ac_cppflags_save"
-
- if test "x$HAVE_LIBXML_HTML" = "xyes"; then
- GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED subparse"
- else
- GST_PLUGINS_NO="\t[subparse]\n$GST_PLUGINS_NO"
- fi
else
- GST_PLUGINS_NO="\t[subparse]\n$GST_PLUGINS_NO"
HAVE_LIBXML_HTML="no"
fi
AM_CONDITIONAL(HAVE_LIBXML_HTML, test "x$HAVE_LIBXML_HTML" = "xyes")
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")
-if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
- GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED tcp"
-else
- GST_PLUGINS_NO="\t[tcp]\n$GST_PLUGINS_NO"
-fi
dnl used in gst-libs/gst/rtsp
AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
AC_SUBST(WIN32_LIBS)
fi
+dnl check for hstrerror, for gst-libs/gst/rtsp
+save_libs="$LIBS"
+AC_CHECK_FUNC(hstrerror, ,
+ AC_CHECK_LIB(resolv, hstrerror, ,
+ [AC_DEFINE(NO_HSTRERROR, 1,
+ [Define if you have no native hstrerror() function.])]))
+HSTRERROR_LIBS=$LIBS
+AC_SUBST(HSTRERROR_LIBS)
+LIBS="$save_libs"
+
dnl used in gst-libs/gst/pbutils and associated unit test
AC_CHECK_HEADERS([process.h sys/types.h sys/wait.h sys/stat.h])
AX_CREATE_STDINT_H
dnl *** checks for functions ***
-AC_CHECK_FUNCS([localtime_r])
+AC_CHECK_FUNCS([localtime_r gmtime_r])
dnl *** checks for types/defines ***
dnl Check for fast float to int casting as defined in C99
dnl used in gst-libs/gst/floatcast/floatcast.h
+save_libs=$LIBS
+LIBS="$LIBS $LIBM"
AC_C99_FUNC_LRINT
AC_C99_FUNC_LRINTF
+LIBS=$save_libs
dnl Check for a way to display the function name in debug output
AG_GST_CHECK_FUNCTION
+dnl *** checks for socket and nsl libraries ***
+AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
+AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
+
dnl *** checks for dependency libraries ***
dnl GLib is required
-AG_GST_GLIB_CHECK([2.6])
+AG_GST_GLIB_CHECK([2.12])
dnl liboil is required
-PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.8, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
-if test "x$HAVE_LIBOIL" != "xyes"
-then
- AC_ERROR([liboil-0.3.8 or later is required])
+PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.14, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
+if test "x$HAVE_LIBOIL" != "xyes"; then
+ AC_ERROR([liboil-0.3.14 or later is required])
fi
dnl checks for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
-AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ])
-AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ])
+AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ], yes)
+AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ], yes)
AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
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 some examples need gtk+-x11
+PKG_CHECK_MODULES(GTK_X11, gtk+-x11-2.0 >= 2.12.0,
+ HAVE_GTK_X11=yes, HAVE_GTK_X11=no)
+AM_CONDITIONAL(HAVE_GTK_X11, test "x$HAVE_GTK_X11" = "xyes")
+
dnl *** set variables based on configure arguments ***
dnl set license and copyright notice
dnl used in examples
AG_GST_DEFAULT_ELEMENTS
+dnl behaviour of speex based audio resampler
+AC_MSG_CHECKING(which audio resample format to use for integer)
+AC_ARG_WITH([audioresample_format],
+ AS_HELP_STRING([--with-audioresample-format],[Which implementation should be used for integer audio resampling, int/float/auto, (default is auto)]),
+ [ac_cv_audioresample_format=$withval], [ac_cv_audioresample_format=auto])dnl
+AC_MSG_RESULT($ac_cv_audioresample_format)
+case $ac_cv_audioresample_format in
+ int)
+ AC_DEFINE(AUDIORESAMPLE_FORMAT_INT,1,[The int implementation should be used for integer audio resampling])
+ AC_SUBST(AUDIORESAMPLE_FORMAT_INT)
+ ;;
+ float)
+ AC_DEFINE(AUDIORESAMPLE_FORMAT_FLOAT,1,[The float implementation should be used for integer audio resampling])
+ AC_SUBST(AUDIORESAMPLE_FORMAT_FLOAT)
+ ;;
+ auto)
+ AC_DEFINE(AUDIORESAMPLE_FORMAT_AUTO,1,[The implementation that should be used for integer audio resampling witll be benchmarked at runtime])
+ AC_SUBST(AUDIORESAMPLE_FORMAT_AUTO)
+esac
+AM_CONDITIONAL(AUDIORESAMPLE_NEEDS_LIBOIL, test "$ac_cv_audioresample_format" = "auto")
+
+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(app)
+AG_GST_CHECK_PLUGIN(audioconvert)
+AG_GST_CHECK_PLUGIN(audiorate)
+AG_GST_CHECK_PLUGIN(audiotestsrc)
+AG_GST_CHECK_PLUGIN(ffmpegcolorspace)
+AG_GST_CHECK_PLUGIN(gdp)
+AG_GST_CHECK_PLUGIN(playback)
+AG_GST_CHECK_PLUGIN(audioresample)
+AG_GST_CHECK_PLUGIN(subparse)
+AG_GST_CHECK_PLUGIN(tcp)
+AG_GST_CHECK_PLUGIN(typefind)
+AG_GST_CHECK_PLUGIN(videotestsrc)
+AG_GST_CHECK_PLUGIN(videorate)
+AG_GST_CHECK_PLUGIN(videoscale)
+AG_GST_CHECK_PLUGIN(volume)
+
+dnl check for gstreamer core features (subsystems)
+GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
+AG_GST_PARSE_SUBSYSTEM_DISABLES($GST_CONFIGPATH)
+AM_CONDITIONAL(USE_XML, test $GST_DISABLE_XML != "1")
+
+dnl disable plug-ins that require libxml2's HTML support if it is not available
+if test "x$HAVE_LIBXML_HTML" != "xyes"; then
+ AG_GST_DISABLE_PLUGIN(subparse)
+fi
+
+dnl disable plug-ins that require sys/socket.h if it is not available
+if test "x$HAVE_SYS_SOCKET_H" != "xyes"; then
+ AG_GST_DISABLE_PLUGIN(tcp)
+fi
+
dnl *** sys plug-ins ***
echo
dnl *** GNOME VFS ***
translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
AG_GST_CHECK_FEATURE(GNOME_VFS, [GNOME VFS], gnomevfs, [
- AG_GST_PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0)
+ PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, [
+ HAVE_GNOME_VFS="yes"
+ AC_SUBST(GNOME_VFS_CFLAGS)
+ AC_SUBST(GNOME_VFS_LIBS)
+ GNOME_VFS_MODULES_DIR="`$PKG_CONFIG --variable=modulesdir gnome-vfs-2.0`"
+ AC_DEFINE_UNQUOTED(GNOME_VFS_MODULES_DIR, "$GNOME_VFS_MODULES_DIR",
+ [The GnomeVFS modules directory.])
+ ],[
+ HAVE_GNOME_VFS="no"
+ ]
+ )
+])
+
+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"
+ GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
+ AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR",
+ [The GIO modules directory.])
+ GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
+ AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR",
+ [The GIO library directory.])
+ ], [
+ HAVE_GIO="no"
+ AC_MSG_RESULT(no)
+ ])
+ AC_SUBST(GIO_CFLAGS)
+ AC_SUBST(GIO_LIBS)
+ AC_SUBST(GIO_LDFLAGS)
])
dnl *** libvisual ***
if test $HAVE_LIBVISUAL = no
then
AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.2.0)
+ if test x$HAVE_LIBVISUAL == xyes; then
+ LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.2`"
+ fi
+ else
+ if test x$HAVE_LIBVISUAL == xyes; then
+ LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
+ fi
+ fi
+ AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
+ if test x$LIBVIS_PLUGINSDIR != x; then
+ AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
+ "$LIBVIS_PLUGINSDIR",
+ [directory in which the detected libvisual's plugins are located])
fi
])
dnl *** theora ***
translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
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 theora uses pkg-config version incorrectly, for pkg-config:
+ dnl 1.0 < 1.0RCX < 1.0alphaX < 1.0betaX < 1.0.0
+ dnl theoraenc and theoradec appeared in 1.0beta3
+
+ AG_GST_PKG_CHECK_MODULES(THEORA, theoradec theoraenc)
+ if test x$HAVE_THEORA = xno; then
+ AG_GST_PKG_CHECK_MODULES(THEORA, theora >= 1.0alpha5)
+ fi
])
dnl *** vorbis ***
if test "x$HAVE_VORBIS" = "xyes"; then
ac_cflags_save="$CFLAGS"
- dnl FIXME: does this work on non-gcc? -- Company
- dnl FIXME: no, it doesn't. Why is this here in the first place ? -- thomasvs
- CFLAGS="-Wall -Werror"
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([
#include <vorbis/codec.h>
AM_CONDITIONAL(USE_ALSA, false)
AM_CONDITIONAL(USE_CDPARANOIA, false)
AM_CONDITIONAL(USE_GNOME_VFS, false)
+AM_CONDITIONAL(USE_GIO, false)
AM_CONDITIONAL(USE_LIBVISUAL, false)
AM_CONDITIONAL(USE_OGG, false)
AM_CONDITIONAL(USE_PANGO, false)
fi
AC_SUBST(PROFILE_CFLAGS)
-if test "x$GST_CVS" = "xyes"; then
+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=""
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS)
+SHAVE_INIT([common],[enable])
+
dnl *** output files ***
AC_CONFIG_FILES(
Makefile
+common/shave
+common/shave-libtool
gst-plugins-base.spec
gst/Makefile
gst/adder/Makefile
+gst/app/Makefile
gst/audioconvert/Makefile
gst/audiorate/Makefile
-gst/audioresample/Makefile
gst/audiotestsrc/Makefile
gst/ffmpegcolorspace/Makefile
gst/gdp/Makefile
gst/playback/Makefile
+gst/audioresample/Makefile
gst/subparse/Makefile
gst/tcp/Makefile
gst/typefind/Makefile
ext/alsa/Makefile
ext/cdparanoia/Makefile
ext/gnomevfs/Makefile
+ext/gio/Makefile
ext/libvisual/Makefile
ext/ogg/Makefile
ext/pango/Makefile
gst-libs/Makefile
gst-libs/gst/Makefile
gst-libs/gst/audio/Makefile
+gst-libs/gst/app/Makefile
gst-libs/gst/cdda/Makefile
gst-libs/gst/fft/Makefile
gst-libs/gst/floatcast/Makefile
tools/Makefile
win32/common/config.h
pkgconfig/Makefile
+pkgconfig/gstreamer-audio.pc
+pkgconfig/gstreamer-audio-uninstalled.pc
+pkgconfig/gstreamer-app.pc
+pkgconfig/gstreamer-app-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/app/Makefile
tests/examples/dynamic/Makefile
tests/examples/seek/Makefile
tests/examples/volume/Makefile