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, 7, 0, 1, GST_CVS="no", GST_CVS="yes")
+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
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
-AS_LIBTOOL(GST, 3, 0, 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_PROG_CC_STDC
AM_PROG_AS
AS="${CC}"
+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(COMPILER)
-if test "x$COMPILER" = "xforte"; then
- GST_ERROR=
-else
- if test "x$GST_CVS"="xyes"; then
- GST_ERROR="-Wall -Werror"
- else
- GST_ERROR="-Wall"
- fi
+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
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 #
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)
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
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.6.1 or newer is required to build gstreamer. You can
+ 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/rpm-4.0.x/])
+ ftp://ftp.rpm.org/pub/rpm/dist/])
)
AC_MSG_NOTICE(Checking for POPT_TABLEEND)
AC_COMPILE_IFELSE([
}
],, [
dnl it failed
- AC_MSG_ERROR([popt 1.6.1 or newer is required to build gstreamer. You can
+ 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/rpm-4.0.x/])
+ ftp://ftp.rpm.org/pub/rpm/dist/])
])
dnl Check for atomic.h
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]),
[case "${enableval}" in
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]),
[case "${enableval}" in
[:]) dnl Default value
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]),
[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])
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, true)
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_URI, true)
GST_SUBSYSTEM_DISABLE(URI,[uri handlers])
-GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
-
dnl ################################################
dnl # Set defines according to variables set above #
dnl ################################################
AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
fi
+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 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,
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$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
GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
fi
-if test "x$USE_PROFILING" = xyes; then
-dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
- FOMIT_FRAME_POINTER=""
-else
- FOMIT_FRAME_POINTER="-fomit-frame-pointer"
-fi
-
-dnl
-dnl AC_SUBST(FOMIT_FRAME_POINTER)
-dnl
-
dnl #############################
dnl # Set automake conditionals #
dnl #############################
dnl # Set up some more defines #
dnl ############################
-dnl Set location of registry dir.
-AC_DEFINE_UNQUOTED(GST_CACHE_DIR, "$GST_CACHE_DIR", [Define the registry directory])
-AC_SUBST(GST_CACHE_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
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 #
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/queue2/Makefile
examples/queue3/Makefile
examples/queue4/Makefile
+examples/retag/Makefile
examples/thread/Makefile
examples/typefind/Makefile
examples/xml/Makefile
tools/Makefile
docs/Makefile
-docs/devhelp/Makefile
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/pwg/Makefile
docs/xsl/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"
)
+