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, 3, 1,
+AS_VERSION(gstreamer, GST_VERSION, 0, 9, 6, 1,
GST_CVS="no", GST_CVS="yes")
dnl can autoconf find the source ?
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE
+dnl sets host_* variables
+AC_CANONICAL_HOST
+
dnl initialize automake
dnl FIXME: this is deprecated use, we should move PACKAGE and VERSION to
dnl AC_INIT, but then we need to parse the version to pass to AS_VERSION
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
-AS_LIBTOOL(GST, 7, 0, 0)
+dnl sets GST_LT_LDFLAGS
+AS_LIBTOOL(GST, 8, 0, 0)
AS_LIBTOOL_TAGS
AM_PROG_LIBTOOL
AS_AUTOTOOLS_ALTERNATE
dnl Add parameters for aclocal
-AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4 -I .")
+AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4")
+
+dnl set up gettext
+dnl the version check needs to stay here because autopoint greps for it
+AM_GNU_GETTEXT_VERSION([0.11.5])
+AM_GNU_GETTEXT([external])
+GST_GETTEXT([gstreamer-$GST_MAJORMINOR])
dnl *** check for arguments to configure ***
AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
+GST_CHECK_SUBSYSTEM_DISABLE(NET,[network distribution])
+AM_CONDITIONAL(GST_DISABLE_NET, test "x$GST_DISABLE_NET" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
-dnl FIXME: simplify all this down using a few m4 macros
+GST_ARG_DEBUG
+GST_ARG_PROFILING
+GST_ARG_VALGRIND
+GST_ARG_GCOV
-dnl possibly 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]),
- [export PKG_CONFIG_PATH=${withval}])
+GST_ARG_EXAMPLES
-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
-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
-
-AC_ARG_ENABLE(profiling,
- AC_HELP_STRING([--enable-profiling],
- [adds -pg to compiler commandline, for profiling]),
- [
- case "${enableval}" in
- yes) USE_PROFILING=yes ;;
- no) USE_PROFILING=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
- esac
- ],
- [USE_PROFILING=no]) dnl Default value
+GST_ARG_WITH_PKG_CONFIG_PATH
+GST_ARG_WITH_PACKAGE_NAME([GStreamer])
+GST_ARG_WITH_PACKAGE_ORIGIN
dnl use a cache dir for storing element registry info.
GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
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]),
- [
- 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 poison destroyed objects
AC_ARG_ENABLE(poisoning,
AC_HELP_STRING([--enable-poisoning],
[Define if we should poison deallocated memory])
fi
-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
-
-dnl valgrind inclusion
-AC_ARG_ENABLE(valgrind,
- AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
- [
- case "${enableval}" in
- yes) USE_VALGRIND="$USE_DEBUG" ;;
- no) USE_VALGRIND=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
- esac
- ],
- [USE_VALGRIND="$USE_DEBUG"]) dnl Default value
-VALGRIND_REQ="2.1"
-if test "x$USE_VALGRIND" = xyes; then
- PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ,
- USE_VALGRIND="yes", USE_VALGRIND="no")
-fi
-if test "x$USE_VALGRIND" = xyes; then
- AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
- AC_MSG_NOTICE(Using extra code paths for valgrind)
-fi
-
-AC_ARG_ENABLE(gcov,
- AC_HELP_STRING([--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"],
- [GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"],
- true)
- AS_COMPILER_FLAG(["-ftest-coverage"],
- [GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"],
- true)
- dnl remove any -O flags - FIXME: is this needed ?
- GCOV_CFLAGS=`echo "$GCOV_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 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
- ],
- [
- dnl default value
- if test "x$GST_CVS" = "xyes"
- then
- dnl nano >= 1
- GST_PACKAGE="GStreamer CVS/prerelease"
- else
- GST_PACKAGE="GStreamer source release"
- fi
- ]
-)
-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.freedesktop.org/"] dnl Default value
-)
-AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
-AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
-
-dnl *** platform checks ***
+dnl *** checks for platform ***
dnl * hardware/architecture *
fi
AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)
-
dnl * software *
dnl check for large file support
dnl Check for ucontext.h
AC_CHECK_HEADERS([ucontext.h])
AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
-echo $HAVE_SYS_SOCKET_H
AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
+AC_CHECK_HEADERS([process.h])
+
+dnl *** checks for types/defines ***
+
+dnl *** checks for structures ***
+
+dnl *** checks for compiler characteristics ***
+
+dnl make sure we can use "inline" from C code
+AC_C_INLINE
+
+OPT_CFLAGS=
+dnl Check for some compiler flags that optimize our code.
+if test "x$GCC" = xyes; then
+ AS_COMPILER_FLAG(-fno-common, OPT_CFLAGS="$OPT_CFLAGS -fno-common")
+fi
+
+dnl FIXME: decide what kind of flag this is, maybe it's not an optimization
+dnl flag
+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"],
+ [OPT_CFLAGS="$OPT_CFLAGS -Wa,-mregnames"])
+fi
dnl *** checks for library functions ***
[Defined if we have dladdr ()]))
CFLAGS="$save_cflags"
-dnl *** checks for compiler characteristics ***
-
-dnl make sure we can use "inline" from C code
-AC_C_INLINE
-
-dnl *** TODO: decide where to put ***
-
-dnl set up gettext
-AM_GNU_GETTEXT_VERSION(0.11.5)
-AM_GNU_GETTEXT([external])
-
-GETTEXT_PACKAGE=gstreamer-$GST_MAJORMINOR
-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 define LIBDIR so we can inform people where we live
-AS_AC_EXPAND(LIBDIR, $libdir)
-AC_DEFINE_UNQUOTED([LIBDIR], "$LIBDIR",
- [library dir])
-
-dnl define an ERROR_CFLAGS Makefile variable
-GST_SET_ERROR_CFLAGS($GST_CVS)
-
-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 *** checks for dependency libraries ***
+dnl *** checks for dependancy libraries ***
dnl GLib
-dnl Minimum required version of GLib
-GLIB_REQ="2.6"
-AC_SUBST(GLIB_REQ)
-
-dnl Check for glib2 with sugar on top
-PKG_CHECK_MODULES(GLIB,
- glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-2.0,
- HAVE_GLIB=yes,
- HAVE_GLIB=no)
-
-if test "x$HAVE_GLIB" = "xno"; then
- AC_MSG_ERROR([GStreamer requires GLib >= $GLIB_REQ to compile.])
-fi
-
-dnl for the poor souls who for example have glib in /usr/local
-AS_SCRUB_INCLUDE(GLIB_CFLAGS)
+GST_GLIB_CHECK([2.6])
dnl GLib 2.8 has some bug fixes that we like, so make sure our code knows
AC_MSG_CHECKING([glib version >= 2.8])
HAVE_CHECK=no)
AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
-OPT_CFLAGS=
-dnl Check for some compiler flags that optimize our code.
-if test "x$GCC" = xyes; then
- AS_COMPILER_FLAG(-fno-common, OPT_CFLAGS="$OPT_CFLAGS -fno-common")
-fi
-
-dnl FIXME: decide what kind of flag this is, maybe it's not an optimization
-dnl flag
-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"],
- [OPT_CFLAGS="$OPT_CFLAGS -Wa,-mregnames"])
-fi
-
-dnl *** FIXME: name this part
+dnl *** set variables based on configure arguments
dnl set license and copyright notice
-AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
+GST_LICENSE="LGPL"
+AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
+AC_SUBST(GST_LICENSE)
-dnl Set location of plugin directory
-AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
-AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
-AC_SUBST(PLUGINS_DIR)
-AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
+dnl define LIBDIR so we can inform people where we live
+AS_AC_EXPAND(LIBDIR, $libdir)
+AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
-dnl plugin directory configure-time variable for use in Makefile.am
-plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
-AC_SUBST(plugindir)
+dnl set location of plugin directory
+GST_SET_PLUGINDIR
dnl FIXME: add LIBXML_PKG here
GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
AC_SUBST(GST_PKG_DEPS)
+dnl define an ERROR_CFLAGS Makefile variable
+GST_SET_ERROR_CFLAGS($GST_CVS)
+
+dnl define correct level for debugging messages
+GST_SET_LEVEL_DEFAULT($GST_CVS)
+
dnl *** finalize CFLAGS, LDFLAGS, LIBS
dnl Overview:
-dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
-dnl GST_ALL_*: flags shared by all built objects
-dnl GST_OBJ_*: additional flags to link to the core library
+dnl GST_OPTION_CFLAGS: common cflags for profiling, debugging, errors, ...
+dnl GST_ALL_*: vars shared by all built objects
+dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
+dnl GST_OBJ_*: additional vars to link to the core library
dnl include GST_ALL_*
dnl GST_LT_LDFLAGS: library versioning of our libraries
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
dnl GST_ALL_*
dnl vars common to for all internal objects (core libs, elements, applications)
-dnl CFLAGS: XML needs to be added because xmlPtr is used in core
+dnl CFLAGS:
+dnl - XML needs to be added because xmlPtr is used in core
+dnl - src and build dirs need to be added because every piece that gets built
+dnl will need the GStreamer source and generated headers
dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols
-dnl from LibXML
-GST_ALL_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS \$(GST_OPTION_CFLAGS)"
+dnl from LibXML except for in the core library
+GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir) $GLIB_CFLAGS $XML_CFLAGS \$(GST_OPTION_CFLAGS)"
dnl FIXME: check if LTLIBINTL is needed everywhere
dnl I presume it is given that it contains the symbols that _() stuff maps to
GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL"
-dnl LDFLAGS modifier defining exported symbols from built shared objects
-EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
-GST_ALL_LDFLAGS="$EXPORT_LDFLAGS -no-undefined"
+dnl LDFLAGS really should only contain flags, not libs - they get added before
+dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
+GST_ALL_LDFLAGS="-no-undefined"
+
AC_SUBST(GST_ALL_CFLAGS)
AC_SUBST(GST_ALL_LIBS)
AC_SUBST(GST_ALL_LDFLAGS)
+dnl GST_LIB_LDFLAGS
+dnl linker flags shared by all libraries
+dnl LDFLAGS modifier defining exported symbols from built libraries
+GST_LIB_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
+AC_SUBST(GST_LIB_LDFLAGS)
+
dnl GST_OBJ_*
dnl default vars for all internal objects built on libgstreamer
-GST_OBJ_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) \$(GST_ALL_CFLAGS)"
+dnl includes GST_ALL_*
+GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS)"
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la \$(GST_ALL_LIBS)"
-GST_OBJ_LDFLAGS="$GST_LT_LDFLAGS $GST_ALL_LDFLAGS"
AC_SUBST(GST_OBJ_CFLAGS)
AC_SUBST(GST_OBJ_LIBS)
-AC_SUBST(GST_OBJ_LDFLAGS)
dnl GST_PLUGIN_LDFLAGS
-dnl LDFLAGS for plugins; include GST_ALL_LDFLAGS
-GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS"
+dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS
+GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
dnl ##################################################
HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
-dnl ##################################################
-dnl # Prepare informative messages to display at end #
-dnl ##################################################
-
-infomessages=
-
-dnl *** output files ***
-
-dnl libs/ext/Makefile
-dnl nothing there yet !
AC_CONFIG_FILES(
Makefile
gst/Makefile
gst/gstconfig.h
gst/gstversion.h
-gst/base/Makefile
-gst/check/Makefile
-gst/indexers/Makefile
-gst/elements/Makefile
gst/parse/Makefile
libs/Makefile
libs/gst/Makefile
+libs/gst/base/Makefile
+libs/gst/check/Makefile
libs/gst/controller/Makefile
libs/gst/dataprotocol/Makefile
+libs/gst/net/Makefile
+plugins/Makefile
+plugins/indexers/Makefile
+plugins/elements/Makefile
po/Makefile.in
check/Makefile
tests/Makefile
tests/instantiate/Makefile
-tests/muxing/Makefile
tests/seeking/Makefile
tests/sched/Makefile
tests/threadstate/Makefile
testsuite/refcounting/Makefile
testsuite/states/Makefile
testsuite/threads/Makefile
-testsuite/trigger/Makefile
examples/Makefile
examples/controller/Makefile
examples/cutter/Makefile
docs/pwg/Makefile
docs/xsl/Makefile
docs/version.entities
+win32/common/config.h
pkgconfig/Makefile
stamp.h
pkgconfig/gstreamer.pc
pkgconfig/gstreamer-controller-uninstalled.pc
pkgconfig/gstreamer-dataprotocol.pc
pkgconfig/gstreamer-dataprotocol-uninstalled.pc
+pkgconfig/gstreamer-net.pc
+pkgconfig/gstreamer-net-uninstalled.pc
gstreamer.spec
)
-AC_CONFIG_COMMANDS(echo "$infomessages", infomessages="$infomessages")
AC_OUTPUT