+AC_PREREQ(2.52)
+
AC_INIT
AC_CANONICAL_TARGET
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(gstreamer, GST_VERSION, 0, 9, 1, 1, GST_CVS="no", GST_CVS="yes")
+AS_VERSION(gstreamer, GST_VERSION, 0, 9, 3, 1,
+ GST_CVS="no", GST_CVS="yes")
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
-AS_LIBTOOL(GST, 6, 0, 0)
+AS_LIBTOOL(GST, 7, 0, 0)
+AS_LIBTOOL_TAGS([])
AM_PROG_LIBTOOL
AC_CONFIG_SRCDIR([gst/gst.c])
AC_DEFINE_UNQUOTED([LIBDIR], "$LIBDIR",
[library dir])
-dnl decide on error flags
-dnl if we support -Wall, set it unconditionally
-AS_COMPILER_FLAG(-Wall,
- GST_ERROR_CFLAGS="-Wall",
- GST_ERROR_CFLAGS="")
-dnl if we're in nano >= 1, add -Werror if supported
-if test "x$GST_CVS" = "xyes"
-then
- AS_COMPILER_FLAG(-Werror, GST_ERROR_CFLAGS="$GST_ERROR_CFLAGS -Werror")
-fi
+GST_SET_ERROR_CFLAGS($GST_CVS)
dnl We disable static building for development, for time savings
dnl *NOTE*: dnl this line before release, so release does static too
dnl subsystems - can influence other decisions so needs to be high up
dnl we need to do AM_CONDITIONAL them here for automake 1.6.x compatibility
GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
-AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes")
+AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_GST_DISABLE_DEBUG" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
AM_CONDITIONAL(GST_DISABLE_LOADSAVE, test "x$GST_DISABLE_LOADSAVE" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
[colon-separated list of pkg-config(1) dirs]),
[export PKG_CONFIG_PATH=${withval}])
-GST_DOC()
GST_ARCH()
+dnl ### Documentation checks
+
dnl Perl is used in building documentation
AC_PATH_PROG(PERL_PATH, perl, no)
if test x$PERL_PATH = xno; then
AC_MSG_ERROR(Could not find perl)
fi
+GST_DOCBOOK_CHECK
+GTK_DOC_CHECK([1.3])
+
AC_PROG_AWK
dnl we require bison for building the parser
AC_MSG_ERROR(Could not find flex)
fi
-dnl
-dnl We should really use AC_SYS_LARGEFILE, but the problem is
-dnl many of the plugins don't include "config.h". To assure
-dnl binary compatibility, it is necessary that all gstreamer
-dnl code be compiled with the same sizeof(off_t), so we use
-dnl the following crude hack.
-dnl
-
-AC_MSG_CHECKING(for large file support)
-AC_TRY_RUN([
-#define _LARGEFILE_SOURCE
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
-int main () { return !(sizeof(off_t) == 8); }
-],
-[
- AC_MSG_RESULT(yes)
- GST_PKG_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-],
-[
- AC_MSG_RESULT(no)
-],
-[
- AC_MSG_RESULT(no)
-])
+dnl check for large file support (affected
+dnl plugins must include config.h for this)
+AC_SYS_LARGEFILE
dnl check for mmap
AC_FUNC_MMAP()
-if test "$ac_cv_func_mmap_fixed_mapped" = "yes" ; then
- GST_DISABLE_OMEGA_COTHREADS=no
-else
- GST_DISABLE_OMEGA_COTHREADS=yes
-fi
-dnl for future --disabling, maybe. Right now, it depends on HAVE_MMAP
-AM_CONDITIONAL(GST_DISABLE_OMEGA_COTHREADS, test "x$GST_DISABLE_OMEGA_COTHREADS" = "xyes")
dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
AC_CHECK_MCSC()
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)
+AC_MSG_CHECKING([glib version >= 2.8])
+if pkg-config --atleast-version=2.8 glib-2.0; then
+ AC_MSG_RESULT(yes)
+ GST_HAVE_GLIB_2_8_DEFINE="#define GST_HAVE_GLIB_2_8 1"
+else
+ AC_MSG_RESULT(no)
+ GST_HAVE_GLIB_2_8_DEFINE="/* #undef GST_HAVE_GLIB_2_8 */"
+fi
+AC_SUBST(GST_HAVE_GLIB_2_8_DEFINE)
+
if test "x$HAVE_GLIB2" = "xno"; then
AC_MSG_ERROR([GStreamer requires GLib $GLIB2_REQ to compile.])
fi
AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
dnl check for "check", unit testing library/header
-AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no)
+AM_PATH_CHECK(0.9.2,
+ [
+ HAVE_CHECK=yes
+ AC_MSG_NOTICE(CHECK_CFLAGS: $CHECK_CFLAGS)
+ AC_MSG_NOTICE(CHECK_LIBS: $CHECK_LIBS)
+ ],
+ HAVE_CHECK=no)
AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
dnl ######################################################################
esac],
[USE_FAST_STACK_TRASH=yes]) dnl Default value
-AC_ARG_ENABLE(plugin-builddir,
-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 ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
-esac],
-[PLUGINS_USE_BUILDDIR=no]) dnl Default value
-
AC_ARG_ENABLE(profiling,
AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
[case "${enableval}" in
[USE_PROFILING=no]) dnl Default value
dnl use a cache dir for storing element registry info.
-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_CACHE_DIR=`pwd`
-else
- dnl ${localstatedir} points to PREFIX/var
- GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
-fi
+GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
+
AC_ARG_WITH(cachedir,
AC_HELP_STRING([--with-cachedir],[specify path to use for plugin and command completion registries]),
[case "${withval}" in
AC_SUBST(VALGRIND_CFLAGS)
AC_SUBST(VALGRIND_LIBS)
+AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
+AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
+
dnl ################################################
dnl # Set defines according to variables set above #
dnl ################################################
[Defined if we have dladdr ()]))
CFLAGS="$save_cflags"
-if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
- AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
-fi
-
if test "x$USE_DEBUG" = xyes; then
GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
fi
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(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
-AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
-AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
-
+AM_CONDITIONAL(EXPERIMENTAL, test "x$EXPERIMENTAL" = "xyes")
+AM_CONDITIONAL(BROKEN, test "x$BROKEN" = "xyes")
dnl ############################
dnl # Set up some more defines #
AC_SUBST(PLUGINS_DIR)
AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
-dnl Set location of uninstalled plugin directory
-PLUGINS_BUILDDIR=`pwd`
-AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR, "$PLUGINS_BUILDDIR", [Define the uninstalled plugin directory])
-AC_SUBST(PLUGINS_BUILDDIR)
-
dnl LDFLAGS modifier defining exported symbols from built objects
EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
dnl XML, GLib, popt, GST_INT, VALGRIND, and the right include for CFLAGS
dnl no need to add XML, GLib, popt explicitly since libgstreamer pulls them in
GST_INT_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS $GST_PKG_CFLAGS \
- $GST_INT_CFLAGS $GST_ERROR_CFLAGS -DGST_DISABLE_DEPRECATED"
+ $GST_INT_CFLAGS \$(ERROR_CFLAGS) -DGST_DISABLE_DEPRECATED"
dnl Private vars for libgst only
GST_LIB_CFLAGS="$GST_PKG_CFLAGS $GST_INT_CFLAGS \
AC_SUBST(GST_OBJ_LIBS, "$GST_OBJ_LIBS")
dnl specific additional LDFLAGS for plugins
-GST_PLUGIN_LDFLAGS="-module -avoid-version $EXPORT_LDFLAGS"
+GST_PLUGIN_LDFLAGS="-module -avoid-version -no-undefined $EXPORT_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
infomessages=
-if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
- infomessages="$infomessages
-*** Warning: You have configured using the --enable-plugin-builddir option.
-
-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 -- run ./autogen.sh -- --disable-plugin-builddir to make
-an installable build.
-
-"
-fi
-
dnl #########################
dnl # Make the output files #
dnl #########################
dnl nothing there yet !
AC_OUTPUT(
Makefile
-include/Makefile
gst/Makefile
gst/gstconfig.h
gst/gstversion.h
gst/base/Makefile
+gst/check/Makefile
gst/indexers/Makefile
gst/elements/Makefile
gst/parse/Makefile
-gst/schedulers/Makefile
-gst/registries/Makefile
libs/Makefile
libs/gst/Makefile
-libs/gst/control/Makefile
+libs/gst/controller/Makefile
libs/gst/dataprotocol/Makefile
-libs/gst/getbits/Makefile
po/Makefile.in
check/Makefile
tests/Makefile
tests/instantiate/Makefile
-tests/memchunk/Makefile
tests/muxing/Makefile
tests/seeking/Makefile
tests/sched/Makefile
testsuite/bytestream/Makefile
testsuite/caps/Makefile
testsuite/cleanup/Makefile
+testsuite/controller/Makefile
testsuite/debug/Makefile
testsuite/dlopen/Makefile
-testsuite/dynparams/Makefile
testsuite/elements/Makefile
-testsuite/ghostpads/Makefile
testsuite/indexers/Makefile
testsuite/negotiation/Makefile
testsuite/pad/Makefile
testsuite/threads/Makefile
testsuite/trigger/Makefile
examples/Makefile
+examples/controller/Makefile
examples/cutter/Makefile
examples/helloworld/Makefile
examples/launch/Makefile
examples/manual/Makefile
examples/mixer/Makefile
+examples/metadata/Makefile
examples/pingpong/Makefile
examples/plugins/Makefile
+examples/pwg/Makefile
examples/queue/Makefile
-examples/queue2/Makefile
-examples/queue3/Makefile
-examples/queue4/Makefile
examples/retag/Makefile
examples/thread/Makefile
examples/typefind/Makefile
docs/gst/Makefile
docs/libs/Makefile
docs/manual/Makefile
-docs/plugins/Makefile
-docs/plugins/gstreamer-plugins.types
docs/pwg/Makefile
docs/xsl/Makefile
docs/version.entities
pkgconfig/gstreamer-uninstalled.pc
pkgconfig/gstreamer-base.pc
pkgconfig/gstreamer-base-uninstalled.pc
-pkgconfig/gstreamer-control.pc
-pkgconfig/gstreamer-control-uninstalled.pc
+pkgconfig/gstreamer-check.pc
+pkgconfig/gstreamer-check-uninstalled.pc
+pkgconfig/gstreamer-controller.pc
+pkgconfig/gstreamer-controller-uninstalled.pc
+pkgconfig/gstreamer-dataprotocol.pc
+pkgconfig/gstreamer-dataprotocol-uninstalled.pc
gstreamer.spec,
echo "$infomessages", infomessages="$infomessages"
)