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, 3, 4, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
-
+AS_VERSION(gstreamer, GST_VERSION, 0, 4, 1, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
+dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
+AM_MAINTAINER_MODE
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
AS_LIBTOOL(GST, 0, 0, 0, yes)
dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
-AM_MAINTAINER_MODE
-
AC_PROG_CC
AM_PROG_CC_STDC
AM_PROG_AS
AS="${CC}"
-AC_PROG_CXX
-AC_PROG_CXXCPP
AC_ISC_POSIX
dnl We disable static building for development, for time savings
dnl Check for tools:
dnl ================
+dnl allow for different autotools
+AS_AUTOTOOLS_ALTERNATE()
+
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]),
+ 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])
- HAVE_NASM="yes"
-fi
-
GST_DOC()
GST_ARCH()
dnl we require bison for building of some of the marshal files
+dnl FIXME: check if AC_PROG_YACC is suitable here
AC_PATH_PROG(BISON_PATH, bison, no)
if test x$BISON_PATH = xno; then
AC_MSG_ERROR(Could not find bison)
fi
+dnl we require flex for building the parser
+dnl FIXME: check if AC_PROG_LEX is suitable here
+AC_PATH_PROG(FLEX_PATH, flex, no)
+if test x$FLEX_PATH = xno; then
+ 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
AC_SUBST(LIBXML2_REQ)
dnl check for libxml2
-LIBXML_PKG=', libxml-2.0'
-PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_REQ, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
-if test "x$HAVE_LIBXML2" = "xyes"; then
- AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 is available])
-else
- AC_MSG_ERROR([Need libxml2 for glib2 builds -- you should be able to do without it -- this needs fixing])
-fi
-AC_SUBST(LIBXML_PKG)
-AC_SUBST(XML_LIBS)
-AC_SUBST(XML_CFLAGS)
+GST_LIBXML2_CHECK()
+dnl popt checks
GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
- AC_MSG_ERROR([popt 1.5 or newer is required to build gstreamer. You can
-download the latest version from ftp://people.redhat.com/sopwith/popt/]))
+ AC_MSG_ERROR([popt 1.6.1 or newer is required to build gstreamer. You can
+ download the latest version from
+ ftp://people.redhat.com/sopwith/popt/])
+)
+AC_MSG_NOTICE(Checking for POPT_TABLEEND)
+AC_TRY_RUN([
+#include <popt.h>
+int main ()
+{
+#ifndef POPT_TABLEEND
+ return 1;
+#else
+ return 0;
+#endif
+}
+],, [
+ dnl it failed
+ AC_MSG_ERROR([popt 1.6.1 or newer is required to build gstreamer. You can
+ download the latest version from
+ ftp://people.redhat.com/sopwith/popt/])
+])
dnl Check for atomic.h
dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
dnl FIXME: simplify all this down using a few m4 macros
AC_ARG_ENABLE(libmmx,
-AC_HELP_STRING([--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 ;;
[USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
AC_ARG_ENABLE(atomic,
-AC_HELP_STRING([--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;;
[USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
AC_ARG_ENABLE(plugin-builddir,
-AC_HELP_STRING([--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 ;;
GST_DEBUGINFO
AC_ARG_ENABLE(profiling,
-AC_HELP_STRING([--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 ;;
GST_CONFIG_DIR=${sysconfdir}/gstreamer
fi
AC_ARG_WITH(configdir,
-AC_HELP_STRING([--with-configdir][specify path to use for plugin and command completion registries]),
+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) ;;
AS_AC_EXPAND(GST_CONFIG_DIR, $GST_CONFIG_DIR)
AC_MSG_NOTICE(Using $GST_CONFIG_DIR as configuration dir)
+
+
+dnl building of tests
AC_ARG_ENABLE(tests,
-AC_HELP_STRING([--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 ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
esac],
[BUILD_TESTS=yes]) dnl Default value
+AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
+
+dnl tests known to fail
+AC_ARG_ENABLE(failing-tests,
+AC_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
+[case "${enableval}" in
+ yes) BUILD_FAILING_TESTS=yes ;;
+ no) BUILD_FAILING_TESTS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
+esac],
+[BUILD_FAILING_TESTS=no]) dnl Default value
+AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
+if test x$BUILD_FAILING_TESTS = xyes; then
+ AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
+else
+ AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support. If you do not agree with this EULA, please press Ctrl-C before the next line is printed. By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
+fi
AC_ARG_ENABLE(examples,
-AC_HELP_STRING([--disable-examples][disable building examples]),
+AC_HELP_STRING([--disable-examples],[disable building examples]),
[case "${enableval}" in
yes) BUILD_EXAMPLES=yes ;;
no) BUILD_EXAMPLES=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
esac],
[BUILD_EXAMPLES=yes]) dnl Default value
+AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
dnl Next, check for the optional components:
dnl ========================================
AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
fi
+dnl test if we have pthread_attr_setstack; if not use the older calls
+AC_CHECK_LIB(pthread, pthread_attr_setstack,
+ AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACK, 1,
+ [Defined if libpthread has pthread_attr_setstack ()]))
+
+dnl test if we have posix_memalign; FreeBSD doesn't
+AC_CHECK_FUNC(posix_memalign,
+ AC_DEFINE(HAVE_POSIX_MEMALIGN, 1,
+ [Defined if we have posix_memalign ()]))
+
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
-dnl if test "x$USE_DEBUG" = xyes; then
-dnl CFLAGS="$CFLAGS -g"
-dnl fi
+if test "x$USE_DEBUG" = xyes; then
+ GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
+fi
if test "x$USE_PROFILING" = xyes; then
dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
-AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
-AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
-AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
dnl Vars for everyone else
GST_INT_LIBS="\$(top_builddir)/gst/libgstreamer.la"
-GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include"
+GST_INT_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)/include"
AC_SUBST(GST_CFLAGS, "$LIBGST_CFLAGS $GST_INT_CFLAGS")
AC_SUBST(GST_LIBS, "$LIBGST_LIBS $GST_INT_LIBS")
AC_CONFIG_SUBDIRS(libs/ext/cothreads)
dnl ##################################################
+dnl # deps for examples from manual #
+dnl ##################################################
+
+PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
+ HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
+AC_SUBST(LIBGNOMEUI_CFLAGS)
+AC_SUBST(LIBGNOMEUI_LIBS)
+AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
+
+dnl ##################################################
dnl # Prepare informative messages to display at end #
dnl ##################################################
gst/parse/Makefile
gst/schedulers/Makefile
gst/types/Makefile
+gst/registries/Makefile
libs/Makefile
libs/gst/Makefile
libs/gst/bytestream/Makefile
tests/bufspeed/Makefile
tests/memchunk/Makefile
tests/muxing/Makefile
+tests/seeking/Makefile
tests/sched/Makefile
+tests/threadstate/Makefile
testsuite/Makefile
testsuite/bytestream/Makefile
testsuite/caps/Makefile
testsuite/cleanup/Makefile
+testsuite/clock/Makefile
+testsuite/dynparams/Makefile
testsuite/elements/Makefile
testsuite/plugin/Makefile
-testsuite/dynparams/Makefile
+testsuite/refcounting/Makefile
+testsuite/threads/Makefile
examples/Makefile
examples/autoplug/Makefile
+examples/cutter/Makefile
examples/helloworld/Makefile
examples/helloworld2/Makefile
examples/launch/Makefile
+examples/manual/Makefile
+examples/mixer/Makefile
+examples/pingpong/Makefile
+examples/plugins/Makefile
examples/queue/Makefile
examples/queue2/Makefile
examples/queue3/Makefile
examples/queue4/Makefile
examples/thread/Makefile
-examples/mixer/Makefile
-examples/cutter/Makefile
-examples/launch/Makefile
-examples/xml/Makefile
-examples/plugins/Makefile
examples/typefind/Makefile
-examples/mixer/Makefile
+examples/xml/Makefile
tools/Makefile
docs/Makefile
+docs/devhelp/Makefile
+docs/devhelp/html2xml.py
+docs/faq/Makefile
docs/gst/Makefile
docs/gst/gstreamer.types
docs/libs/Makefile
+docs/manual/Makefile
+docs/pwg/Makefile
docs/plugins/Makefile
docs/plugins/gstreamer-plugins.types
-docs/manual/Makefile
-docs/fwg/Makefile
docs/xsl/Makefile
-docs/devhelp/Makefile
stamp.h
gstreamer.pc
gstreamer-uninstalled.pc