adding i18n tested with nl, seems to work fine
[platform/upstream/gstreamer.git] / configure.ac
index 8615616..6414ac8 100644 (file)
@@ -3,27 +3,62 @@ 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, 7, 3, 1, GST_CVS="no", GST_CVS="yes")
 
+if test x$program_suffix = xNONE ; then
+  program_suffix=-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+fi
+
+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 our libraries and install dirs use major.minor as a version
+GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+AC_SUBST(GST_MAJORMINOR)
+
+AC_PROG_CC
+dnl For interactive UNIX (a Sun thing)
+AC_ISC_POSIX
+
+dnl CURRENT, REVISION, AGE
+dnl - library source changed -> increment REVISION
+dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
+dnl - interfaces added -> increment AGE
+dnl - interfaces removed -> AGE = 0
+AS_LIBTOOL(GST, 5, 0, 0)
 
 AC_CONFIG_SRCDIR([gst/gst.c])
 AM_CONFIG_HEADER(config.h)
 
 dnl Add parameters for aclocal
-dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
-ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
+AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
 
-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 the gettext stuff needed
+AM_GNU_GETTEXT_VERSION(0.12)
+AM_GNU_GETTEXT([external])
+
+GETTEXT_PACKAGE=gstreamer-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
+                   [gettext package name])
+
+dnl define LOCALEDIR in config.h
+AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
+AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
+                   [gettext locale dir])
+
+
+dnl decide on error flags
+AS_COMPILER_FLAG(-Wall,GST_ERROR="$GST_ERROR -Wall",GST_ERROR="$GST_ERROR")
+if test "x$GST_CVS" = "xyes"; then
+  AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
+  GST_ERROR="$GST_ERROR"
+fi
 
 dnl We disable static building for development, for time savings
 dnl *NOTE*: dnl this line before release, so release does static too
@@ -31,6 +66,11 @@ dnl AM_DISABLE_STATIC
 
 AC_HEADER_STDC([])
 
+dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
+dnl messages printed when running cvs builds
+if test "x$GST_CVS" = "xyes"; then
+  AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
+fi
 
 dnl ##############################
 dnl # Do automated configuration #
@@ -39,30 +79,38 @@ 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
-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 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
+
 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
@@ -78,6 +126,9 @@ dnl this is so we can make GST_CFLAGS for external modules available
 dnl without mixing in internal (uninstalled) CFLAGS
 dnl
 
+dnl disable deprecated functions internally
+GST_INT_CFLAGS="-DGST_DISABLE_DEPRECATED"
+
 AC_MSG_CHECKING(for large file support)
 AC_TRY_RUN([
 #define _LARGEFILE_SOURCE
@@ -96,18 +147,52 @@ AC_MSG_RESULT(no)
 AC_MSG_RESULT(no)
 ])
 
+dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
+AC_CHECK_MCSC()
+if test "$ac_cv_check_mcsc" == "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
+                     [defined if we have makecontext ()])
+fi
+
+dnl Check for a way to display the function name in debug output
+GST_CHECK_FUNCTION()
+
+dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
+dnl symbolic register names in inline asm
+if test x$HAVE_CPU_PPC = xyes ; then
+  AS_COMPILER_FLAG(["-Wa,-mregnames"],
+    [GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"],
+    true)
+fi
+
+AC_ARG_ENABLE(gcov,
+  [--enable-gcov         compile with coverage profiling instrumentation (gcc only)],
+  enable_gcov=$enableval,enable_gcov=no)
+if test x$enable_gcov = xyes ; then
+  AS_COMPILER_FLAG(["-fprofile-arcs"],
+    [GST_INT_CFLAGS="$GST_INT_CFLAGS -fprofile-arcs"],
+    true)
+  AS_COMPILER_FLAG(["-ftest-coverage"],
+    [GST_INT_CFLAGS="$GST_INT_CFLAGS -ftest-coverage"],
+    true)
+  GST_INT_CFLAGS=`echo "$GST_INT_CFLAGS" | sed -e 's/-O[0-9]*//g'`
+
+  AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing])
+fi
+AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
+
+
 dnl Check for essential libraries first:
 dnl ====================================
 
 dnl === GLib 2 ===
 dnl Minimum required version of GLib2
 dnl required for compilation without warnings
-GLIB2_REQ="2.0.1"
+GLIB2_REQ="2.2"
 AC_SUBST(GLIB2_REQ)
 
 dnl Check for glib2
-PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,
-  HAVE_GLIB2=yes,HAVE_GLIB2=no)
+PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
 GLIB_LIBS=$GLIB2_LIBS
 GLIB_CFLAGS=$GLIB2_CFLAGS
 AC_SUBST(GLIB_LIBS)
@@ -122,24 +207,37 @@ AC_SUBST(GST_PKG_DEPS)
   
 dnl === libxml 2 ===
 dnl Minimum required version of libxml2
-LIBXML2_REQ="2.4.0"
+LIBXML2_REQ="2.4.9"
 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
+dnl FIXME: This test passes on popt 1.6.2, maybe earlier, but popt 1.6.2
+dnl        causes segfaults on gst_init. Write a working test if possible.
 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.3 or newer is required to build gstreamer. You can
+                download the latest version from 
+                ftp://ftp.rpm.org/pub/rpm/dist/])
+)
+AC_MSG_NOTICE(Checking for POPT_TABLEEND)
+AC_COMPILE_IFELSE([
+#include <popt.h>
+int main ()
+{
+#ifndef POPT_TABLEEND
+#error
+#else
+  return 0;
+#endif
+}
+],, [
+  dnl it failed
+  AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
+                download the latest version from 
+                ftp://ftp.rpm.org/pub/rpm/dist/])
+])
 
 dnl Check for atomic.h
 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
@@ -147,22 +245,21 @@ dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
 if test x$HAVE_ATOMIC_H = xyes; then
-  AC_TRY_RUN([
+  AC_LINK_IFELSE([
 #include "asm/atomic.h"
-main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
+main() {atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
   ],, [
     # Not successful
     if test x$HAVE_ATOMIC_H = xyes; then
       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
     fi
     HAVE_ATOMIC_H=no
-  ], [
-    # Cross compiling
-    AC_MSG_RESULT(yes)
-    AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
   ])
 fi
 
+dnl Check for ucontext.h
+AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
+
 dnl ######################################################################
 dnl # Check command line parameters, and set shell variables accordingly #
 dnl ######################################################################
@@ -170,7 +267,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 +276,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;;
@@ -188,8 +285,18 @@ AC_HELP_STRING([--enable-atomic][use atomic reference counting header]),
 esac], 
 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
 
+AC_ARG_ENABLE(fast-stack-trash,
+AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
+[case "${enableval}" in
+  yes) USE_FAST_STACK_TRASH=yes;;
+  noset) USE_FAST_STACK_TRASH=no;;
+  no)  USE_FAST_STACK_TRASH=no;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
+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]),
+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 ;;
@@ -197,10 +304,8 @@ AC_HELP_STRING([--enable-plugin-builddir][allow tests/demos to use non-installed
 esac], 
 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
 
-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 ;;
@@ -208,28 +313,30 @@ AC_HELP_STRING([--enable-profiling][adds -pg to compiler commandline, for profil
 esac], 
 [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_CONFIG_DIR=`pwd`
+  GST_CACHE_DIR=`pwd`
 else
-  GST_CONFIG_DIR=${sysconfdir}/gstreamer
+  dnl ${localstatedir} points to PREFIX/var
+  GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
 fi
-AC_ARG_WITH(configdir,
-AC_HELP_STRING([--with-configdir][specify path to use for plugin and command completion registries]),
+AC_ARG_WITH(cachedir,
+AC_HELP_STRING([--with-cachedir],[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) ;;
-  *) GST_CONFIG_DIR="${withval}" ;;
+  yes) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
+  no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
+  *) GST_CACHE_DIR="${withval}" ;;
 esac], 
 [:]) dnl Default value
 
-AS_AC_EXPAND(GST_CONFIG_DIR, $GST_CONFIG_DIR)
-AC_MSG_NOTICE(Using $GST_CONFIG_DIR as configuration dir)
-
+AS_AC_EXPAND(GST_CACHE_DIR, $GST_CACHE_DIR)
+AC_DEFINE_UNQUOTED(GST_CACHE_DIR, "$GST_CACHE_DIR", [Location of registry])
+AC_MSG_NOTICE(Using $GST_CACHE_DIR as registry cache 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 ;;
@@ -240,17 +347,22 @@ 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]),
+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=yes]) dnl Default value
+[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 ;;
@@ -259,23 +371,50 @@ esac],
 [BUILD_EXAMPLES=yes]) dnl Default value
 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
 
+dnl poison destroyed objects
+AC_ARG_ENABLE(poisoning,
+AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
+[case "${enableval}" in
+  yes) USE_POISONING=yes ;;
+  no)  USE_POISONING=no ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
+esac], 
+[USE_POISONING=no]) dnl Default value
+
 dnl Next, check for the optional components:
 dnl ========================================
 
+dnl debugging stuff
+AC_ARG_ENABLE(debug,
+AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
+[case "${enableval}" in
+  yes) USE_DEBUG=yes ;;
+  no)  USE_DEBUG=no ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],
+[USE_DEBUG=yes]) dnl Default value
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, true)
+GST_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
+
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
-translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
-GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
-translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
-GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, true)
+GST_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
+
 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
-
-GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, true)
+GST_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_INDEX, true)
+GST_SUBSYSTEM_DISABLE(INDEX,[index])
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PLUGIN, true)
+GST_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
+translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_URI, true)
+GST_SUBSYSTEM_DISABLE(URI,[uri handlers])
 
 dnl ################################################
 dnl # Set defines according to variables set above #
@@ -292,24 +431,44 @@ if test "x$USE_ATOMIC_H" = xyes; then
   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
 fi
 
-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])
+if test "x$USE_FAST_STACK_TRASH" = xyes; then
+  AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
+fi
+
+if test "x$USE_POISONING" = xyes; then
+  AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
 fi
 
-dnl if test "x$USE_DEBUG" = xyes; then
-dnl   CFLAGS="$CFLAGS -g"
-dnl 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 ()]))
+
+dnl test for sigaction()
+AC_CHECK_FUNC(sigaction,
+   AC_DEFINE(HAVE_SIGACTION, 1,
+             [Defined if we have sigaction ()]))
+
+dnl test if we have dladdr(); we use it for debugging
+save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+AC_CHECK_LIB(dl, dladdr,
+   AC_DEFINE(HAVE_DLADDR, 1,
+             [Defined if we have dladdr ()]))
+CFLAGS="$save_cflags"
 
-if test "x$USE_PROFILING" = xyes; then
-dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
-  FOMIT_FRAME_POINTER=""
-else
-  FOMIT_FRAME_POINTER="-fomit-frame-pointer"
+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
-dnl AC_SUBST(FOMIT_FRAME_POINTER)
-dnl
+if test "x$USE_DEBUG" = xyes; then
+   GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
+fi
 
 dnl #############################
 dnl # Set automake conditionals #
@@ -322,7 +481,6 @@ AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
 
-AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
 
 
@@ -330,15 +488,36 @@ dnl ############################
 dnl # Set up some more defines #
 dnl ############################
 
-dnl Set location of configuration dir.
-AC_DEFINE_UNQUOTED(GST_CONFIG_DIR, "$GST_CONFIG_DIR", [Define the configuration directory])
-AC_SUBST(GST_CONFIG_DIR)
+dnl set license and copyright notice
+AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
+dnl package name in plugins
+AC_ARG_WITH(package-name,
+AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
+[case "${withval}" in
+  yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
+  no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
+  *) GST_PACKAGE="${withval}" ;;
+esac], 
+[GST_PACKAGE="GStreamer"]) dnl Default value
+AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
+AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
+dnl package origin URL
+AC_ARG_WITH(package-origin,
+AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
+[case "${withval}" in
+  yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
+  no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
+  *) GST_ORIGIN="${withval}" ;;
+esac], 
+[GST_ORIGIN="http://gstreamer.net"]) dnl Default value
+AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
+AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
 
 dnl Set location of plugin directory
 if test "x${prefix}" = "xNONE"; then
-  PLUGINS_DIR=${ac_default_prefix}/lib/gst
+  PLUGINS_DIR=${ac_default_prefix}/lib/gstreamer-$GST_MAJORMINOR
 else
-  PLUGINS_DIR=${prefix}/lib/gst
+  PLUGINS_DIR=${prefix}/lib/gstreamer-$GST_MAJORMINOR
 fi
 AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
 AC_SUBST(PLUGINS_DIR)
@@ -369,16 +548,25 @@ AC_SUBST(LIBGST_LIBS)
 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_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
+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")
 
-GST_PLUGIN_LDFLAGS='-module -avoid-version'
-AC_SUBST(GST_PLUGIN_LDFLAGS)
+GST_PLUGIN_LDFLAGS="-module -avoid-version"
+AC_SUBST(GST_PLUGIN_LDFLAGS, "$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 #
@@ -394,7 +582,7 @@ 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-buildddir to make
+option automatically -- run ./autogen.sh -- --disable-plugin-builddir to make
 an installable build.
 
 "
@@ -405,70 +593,82 @@ dnl # Make the output files #
 dnl #########################
 
 dnl libs/ext/Makefile
+dnl nothing there yet !
 AC_OUTPUT(
 Makefile
 include/Makefile
 gst/Makefile
+gst/gstconfig.h
 gst/gstversion.h
 gst/autoplug/Makefile
+gst/indexers/Makefile
 gst/elements/Makefile
 gst/parse/Makefile
 gst/schedulers/Makefile
-gst/types/Makefile
 gst/registries/Makefile
 libs/Makefile
 libs/gst/Makefile
 libs/gst/bytestream/Makefile
-libs/gst/getbits/Makefile
-libs/gst/putbits/Makefile
 libs/gst/control/Makefile
-libs/ext/Makefile
+libs/gst/getbits/Makefile
+po/Makefile.in
 tests/Makefile
 tests/bufspeed/Makefile
+tests/instantiate/Makefile
 tests/memchunk/Makefile
 tests/muxing/Makefile
+tests/seeking/Makefile
 tests/sched/Makefile
+tests/threadstate/Makefile
 testsuite/Makefile
+testsuite/bins/Makefile
 testsuite/bytestream/Makefile
 testsuite/caps/Makefile
 testsuite/cleanup/Makefile
 testsuite/clock/Makefile
+testsuite/debug/Makefile
 testsuite/dynparams/Makefile
 testsuite/elements/Makefile
+testsuite/indexers/Makefile
+testsuite/parse/Makefile
 testsuite/plugin/Makefile
 testsuite/refcounting/Makefile
+testsuite/tags/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/retag/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/faq/Makefile
 docs/gst/Makefile
-docs/gst/gstreamer.types
 docs/libs/Makefile
+docs/manual/Makefile
 docs/plugins/Makefile
 docs/plugins/gstreamer-plugins.types
-docs/manual/Makefile
-docs/fwg/Makefile
+docs/pwg/Makefile
 docs/xsl/Makefile
-docs/devhelp/Makefile
+docs/version.entities
+pkgconfig/Makefile
 stamp.h
-gstreamer.pc
-gstreamer-uninstalled.pc
+pkgconfig/gstreamer.pc
+pkgconfig/gstreamer-uninstalled.pc
+pkgconfig/gstreamer-control.pc
+pkgconfig/gstreamer-control-uninstalled.pc
 gstreamer.spec,
 echo "$infomessages", infomessages="$infomessages"
 )
+