gstreamer part of new license field in element factory
[platform/upstream/gstreamer.git] / configure.ac
index af35907..855f4e7 100644 (file)
@@ -3,8 +3,9 @@ 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, 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)
 
@@ -15,14 +16,10 @@ dnl Add parameters for aclocal
 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
@@ -39,9 +36,13 @@ dnl ##############################
 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
@@ -58,11 +59,19 @@ 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
@@ -126,20 +135,31 @@ LIBXML2_REQ="2.4.0"
 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
@@ -170,7 +190,7 @@ dnl ######################################################################
 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 ;;
@@ -179,7 +199,7 @@ esac],
 [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;;
@@ -189,7 +209,7 @@ esac],
 [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 ;;
@@ -200,7 +220,7 @@ esac],
 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 ;;
@@ -215,7 +235,7 @@ else
   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) ;;
@@ -225,23 +245,44 @@ esac],
 
 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 ========================================
@@ -276,13 +317,23 @@ if test "x$USE_ATOMIC_H" = xyes; then
   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"
@@ -307,8 +358,6 @@ 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")
 
 
@@ -356,7 +405,7 @@ AC_SUBST(LIBGST_CFLAGS)
 
 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")
@@ -367,6 +416,16 @@ AC_SUBST(GST_PLUGIN_LDFLAGS)
 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 ##################################################
 
@@ -413,32 +472,36 @@ tests/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/gst/Makefile
@@ -450,6 +513,7 @@ docs/manual/Makefile
 docs/fwg/Makefile
 docs/xsl/Makefile
 docs/devhelp/Makefile
+docs/devhelp/html2xml.py
 stamp.h
 gstreamer.pc
 gstreamer-uninstalled.pc