2005-07-30 15:00:07 +00:00
AC_PREREQ(2.52)
2005-10-15 13:58:18 +00:00
dnl initialize autoconf
2004-02-13 18:22:50 +00:00
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
2007-06-05 13:21:41 +00:00
AC_INIT(GStreamer, 0.10.13.1,
2006-04-01 09:41:43 +00:00
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gstreamer)
2007-02-28 19:25:48 +00:00
AG_GST_INIT
2006-04-01 09:41:43 +00:00
dnl initialize automake
AM_INIT_AUTOMAKE
dnl define PACKAGE_VERSION_* variables
AS_VERSION
dnl check if this is a release version
AS_NANO(GST_CVS="no", GST_CVS="yes")
2004-02-13 18:22:50 +00:00
2005-10-15 13:58:18 +00:00
dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([gst/gst.c])
dnl define the output header for config
AM_CONFIG_HEADER([config.h])
2004-02-13 19:01:10 +00:00
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE
2005-10-15 13:58:18 +00:00
2005-10-16 12:28:20 +00:00
dnl sets host_* variables
AC_CANONICAL_HOST
2002-12-08 14:39:38 +00:00
dnl our libraries and install dirs use major.minor as a version
2006-04-01 09:41:43 +00:00
GST_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
2005-02-22 16:34:10 +00:00
dnl we override it here for release candidates for a new series
2005-12-01 16:51:23 +00:00
GST_MAJORMINOR=0.10
2002-12-08 14:39:38 +00:00
AC_SUBST(GST_MAJORMINOR)
2006-05-12 14:53:49 +00:00
AC_DEFINE_UNQUOTED(GST_MAJORMINOR, "$GST_MAJORMINOR",
[library major.minor version])
2002-12-08 14:39:38 +00:00
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
2005-10-16 13:55:41 +00:00
dnl sets GST_LT_LDFLAGS
2007-06-05 12:47:23 +00:00
AS_LIBTOOL(GST, 12, 0, 12)
2006-04-01 15:30:49 +00:00
dnl FIXME: this macro doesn't actually work;
dnl the generated libtool script has no support for the listed tags.
dnl So this needs to be fixed first if we want to use this
dnl AS_LIBTOOL_TAGS
2004-02-04 21:29:38 +00:00
AM_PROG_LIBTOOL
2001-05-28 20:05:03 +00:00
2005-10-15 13:58:18 +00:00
dnl *** autotools stuff ****
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE
2001-05-28 20:05:03 +00:00
dnl Add parameters for aclocal
2005-10-15 21:41:20 +00:00
AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4")
2001-05-28 20:05:03 +00:00
2005-10-16 12:28:20 +00:00
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])
2007-02-28 19:25:48 +00:00
AG_GST_GETTEXT([gstreamer-$GST_MAJORMINOR])
2005-10-16 12:28:20 +00:00
2005-10-15 13:58:18 +00:00
dnl *** check for arguments to configure ***
2001-12-16 14:23:19 +00:00
2004-02-13 19:01:10 +00:00
dnl subsystems - can influence other decisions so needs to be high up
2005-10-15 13:58:18 +00:00
dnl we need to AM_CONDITIONAL them here for automake 1.6.x compatibility
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
2007-04-24 06:14:35 +00:00
AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_LOADSAVE, test "x$GST_DISABLE_LOADSAVE" = "xyes")
2005-11-30 19:01:53 +00:00
dnl define a substitution to use in docs/gst/gstreamer.types
if test "x$GST_DISABLE_LOADSAVE" = "xyes"
then
GST_LOADSAVE_DOC_TYPES="%"
else
GST_LOADSAVE_DOC_TYPES=
fi
AC_SUBST(GST_LOADSAVE_DOC_TYPES)
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes")
2006-03-21 19:27:15 +00:00
if test "x$GST_DISABLE_PARSE" = xyes; then
AC_DEFINE(GST_DISABLE_PARSE, 1,
[Define if pipeline parsing code is disabled])
fi
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_TRACE, test "x$GST_DISABLE_TRACE" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, test "x$GST_DISABLE_ALLOC_TRACE" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes")
2005-11-30 19:01:53 +00:00
dnl define a substitution to use in docs/gst/gstreamer.types
if test "x$GST_DISABLE_REGISTRY" = "xyes"
then
GST_REGISTRY_DOC_TYPES="%"
else
GST_REGISTRY_DOC_TYPES=
fi
AC_SUBST(GST_REGISTRY_DOC_TYPES)
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(NET,[network distribution])
2005-11-16 16:49:49 +00:00
AM_CONDITIONAL(GST_DISABLE_NET, test "x$GST_DISABLE_NET" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
2004-02-12 16:31:59 +00:00
2007-02-28 19:25:48 +00:00
AG_GST_ARG_DEBUG
AG_GST_ARG_PROFILING
AG_GST_ARG_VALGRIND
AG_GST_ARG_GCOV
2002-05-27 13:37:37 +00:00
2007-02-28 19:25:48 +00:00
AG_GST_ARG_EXAMPLES
2005-10-16 12:28:20 +00:00
2007-02-28 19:25:48 +00:00
AG_GST_ARG_WITH_PKG_CONFIG_PATH
AG_GST_ARG_WITH_PACKAGE_NAME
AG_GST_ARG_WITH_PACKAGE_ORIGIN
2005-09-03 13:49:49 +00:00
2005-10-15 13:58:18 +00:00
dnl use a cache dir for storing element registry info.
GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
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-cachedir) ;;
no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
*) GST_CACHE_DIR="${withval}" ;;
esac
2007-04-17 10:46:46 +00:00
],
2005-10-15 13:58:18 +00:00
[:]) 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]),
[
case "${enableval}" in
yes) BUILD_TESTS=yes ;;
no) BUILD_TESTS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
esac
2007-04-17 10:46:46 +00:00
],
2005-10-15 13:58:18 +00:00
[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
2007-04-17 10:46:46 +00:00
],
2005-10-15 13:58:18 +00:00
[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.])
2002-04-19 13:17:23 +00:00
fi
2005-10-15 13:58:18 +00:00
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
2007-04-17 10:46:46 +00:00
],
2005-10-15 13:58:18 +00:00
[USE_POISONING=no]) dnl Default value
if test "x$USE_POISONING" = xyes; then
AC_DEFINE(USE_POISONING, 1,
[Define if we should poison deallocated memory])
fi
commit binary registry (disabled by default, see #359653)
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
(gst_registry_lookup_locked):
* gst/gstregistry.h:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache):
commit binary registry (disabled by default, see #359653)
2007-01-11 13:45:51 +00:00
dnl Use binary registry
AC_ARG_ENABLE(binary-registry,
AC_HELP_STRING([--enable-binary-registry],
[enable experimental binary registry]),
[
case "${enableval}" in
yes) USE_BINARY_REGISTRY=yes ;;
no) USE_BINARY_REGISTRY=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-binary-registry) ;;
esac
2007-04-17 10:46:46 +00:00
],
commit binary registry (disabled by default, see #359653)
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
(gst_registry_lookup_locked):
* gst/gstregistry.h:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache):
commit binary registry (disabled by default, see #359653)
2007-01-11 13:45:51 +00:00
[USE_BINARY_REGISTRY=no]) dnl Default value
if test "x$USE_BINARY_REGISTRY" = xyes; then
AC_DEFINE(USE_BINARY_REGISTRY, 1,
[Define if we should use binary registry instead xml registry])
fi
2007-04-17 10:46:46 +00:00
AM_CONDITIONAL(USE_BINARY_REGISTRY, test "x$USE_BINARY_REGISTRY" = "xyes")
commit binary registry (disabled by default, see #359653)
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstregistry.c: (gst_registry_lookup_feature_locked),
(gst_registry_lookup_locked):
* gst/gstregistry.h:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache):
commit binary registry (disabled by default, see #359653)
2007-01-11 13:45:51 +00:00
2005-10-16 12:28:20 +00:00
dnl *** checks for platform ***
2005-10-15 13:58:18 +00:00
dnl * hardware/architecture *
dnl common/m4/gst-arch.m4
dnl check CPU type
2007-02-28 19:25:48 +00:00
AG_GST_ARCH
2006-01-14 11:20:40 +00:00
dnl substitution for win32/common/config.h
HOST_CPU=$host_cpu
AC_SUBST(HOST_CPU)
2005-10-15 13:58:18 +00:00
dnl common/m4/gst-arch.m4
dnl check for unaligned access
2007-02-28 19:25:48 +00:00
AG_GST_UNALIGNED_ACCESS
2005-10-15 13:58:18 +00:00
dnl create a configure variable for gst/gstconfig.h
if test x${as_cv_unaligned_access} = xyes ; then
GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 1"
else
GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 0"
fi
AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)
dnl * software *
dnl check for large file support
dnl affected plugins must include config.h
AC_SYS_LARGEFILE
dnl HAVE_WIN32 currently means "disable POSIXisms".
case "$host" in
*-*-mingw*)
AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
;;
*)
;;
esac
dnl *** checks for programs ***
dnl find a compiler
AC_PROG_CC
dnl find an assembler
AM_PROG_AS
2006-07-21 13:11:33 +00:00
dnl Perl is used in building documentation and in the version checks
2005-10-15 13:58:18 +00:00
AC_PATH_PROG(PERL_PATH, perl, no)
if test x$PERL_PATH = xno; then
AC_MSG_ERROR(Could not find perl)
fi
2006-07-21 13:11:33 +00:00
dnl we require flex and bison for building the parser
2007-02-28 19:25:48 +00:00
AG_GST_BISON_CHECK
AG_GST_FLEX_CHECK
2006-07-21 13:11:33 +00:00
2005-10-15 13:58:18 +00:00
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
2004-02-13 18:22:50 +00:00
2005-10-15 13:58:18 +00:00
dnl check for documentation tools
2007-02-28 19:25:48 +00:00
AG_GST_DOCBOOK_CHECK
2005-10-15 13:58:18 +00:00
GTK_DOC_CHECK([1.3])
2005-12-01 12:29:34 +00:00
AS_PATH_PYTHON([2.1])
2007-02-28 19:25:48 +00:00
AG_GST_PLUGIN_DOCS([1.3],[2.1])
2005-10-15 13:58:18 +00:00
dnl *** checks for libraries ***
dnl For interactive UNIX (a Sun thing)
dnl FIXME: this adds -lcposix to LIBS, but I doubt we use LIBS
AC_ISC_POSIX
2004-04-13 22:18:36 +00:00
2007-07-20 07:09:11 +00:00
dnl check for libm, for sin()
AC_CHECK_LIBM
AC_SUBST(LIBM)
2005-10-15 13:58:18 +00:00
dnl *** checks for header files ***
dnl check if we have ANSI C header files
AC_HEADER_STDC
dnl Check for ucontext.h
AC_CHECK_HEADERS([ucontext.h])
2007-01-02 17:01:33 +00:00
dnl Check for sys/socket.h
2005-10-15 15:52:08 +00:00
AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
2005-10-15 15:01:39 +00:00
AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
2007-01-02 17:01:33 +00:00
dnl check for sys/times.h for tests/examples/adapter/
AC_CHECK_HEADERS([sys/times.h], HAVE_SYS_TIMES_H=yes)
AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
AM_CONDITIONAL(HAVE_SYS_TIMES_H_AND_UNISTD_H, test "x$HAVE_SYS_TIMES_H" = "xyes" -a "x$HAVE_UNISTD_H" = "xyes")
dnl Check for process.h for getpid() on win32
2005-10-16 10:38:02 +00:00
AC_CHECK_HEADERS([process.h])
2005-10-15 13:58:18 +00:00
2006-12-12 13:53:04 +00:00
dnl Check for sys/utsname.h for uname
AC_CHECK_HEADERS([sys/utsname.h])
2005-10-16 12:28:20 +00:00
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
2005-10-15 13:58:18 +00:00
dnl *** checks for library functions ***
AC_CHECK_FUNCS([sigaction])
2006-05-28 09:09:03 +00:00
dnl we use fork in the registry code
AC_CHECK_FUNCS([fork])
2005-10-15 13:58:18 +00:00
dnl check for fseeko()
AC_FUNC_FSEEKO
dnl check for ftello()
AC_CHECK_FUNCS([ftello])
AC_CHECK_FUNCS([fgetpos])
AC_CHECK_FUNCS([fsetpos])
dnl check for mmap()
AC_FUNC_MMAP
2005-10-15 15:52:08 +00:00
AM_CONDITIONAL(HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" = "xyes")
2005-10-15 13:58:18 +00:00
2004-02-13 19:01:10 +00:00
dnl Check for a way to display the function name in debug output
2007-02-28 19:25:48 +00:00
AG_GST_CHECK_FUNCTION
2001-05-28 20:05:03 +00:00
2005-10-15 13:58:18 +00:00
dnl test for register_printf_function
AC_CHECK_FUNC(register_printf_function,
[
2006-08-09 15:13:14 +00:00
GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"Q\""
2006-10-05 12:31:07 +00:00
GST_USING_PRINTF_EXTENSION_DEFINE="#define GST_USING_PRINTF_EXTENSION"
2005-10-15 13:58:18 +00:00
AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
[Defined if we have register_printf_function ()])
2006-10-05 12:31:07 +00:00
], [
GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"p\""
GST_USING_PRINTF_EXTENSION_DEFINE="#undef GST_USING_PRINTF_EXTENSION"
]
2005-10-15 13:58:18 +00:00
)
2006-08-09 15:13:14 +00:00
AC_SUBST(GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE)
AC_SUBST(GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE)
2006-10-05 12:31:07 +00:00
AC_SUBST(GST_USING_PRINTF_EXTENSION_DEFINE)
2004-02-13 18:22:50 +00:00
2005-10-15 13:58:18 +00:00
dnl test if we have dladdr(); we use it for debugging; see gst/gstinfo.c
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"
2004-02-13 19:01:10 +00:00
2006-10-05 15:31:16 +00:00
dnl check for inet_aton()
save_libs="$LIBS"
AC_CHECK_FUNC(inet_aton, ,
AC_CHECK_LIB(nsl, inet_aton, ,
AC_CHECK_LIB(socket, inet_aton, ,
AC_CHECK_LIB(resolv, inet_aton, ,[AC_DEFINE(NO_INET_ATON, 1, [Define if you have no native inet_aton() function.])]))))
INET_ATON_LIBS=$LIBS
AC_SUBST(INET_ATON_LIBS)
LIBS="$save_libs"
2007-02-12 19:55:24 +00:00
dnl *** checks for dependency libraries ***
2004-02-13 18:22:50 +00:00
2005-10-15 13:58:18 +00:00
dnl GLib
2007-02-28 19:25:48 +00:00
AG_GST_GLIB_CHECK([2.8])
2004-02-13 19:01:10 +00:00
2007-04-20 08:39:35 +00:00
dnl FIXME: 0.11: Guess we need to keep this around until 0.11
2006-05-05 08:56:32 +00:00
GST_HAVE_GLIB_2_8_DEFINE="#define GST_HAVE_GLIB_2_8 1"
2005-09-20 11:09:50 +00:00
AC_SUBST(GST_HAVE_GLIB_2_8_DEFINE)
2005-09-20 07:32:48 +00:00
2004-03-02 10:38:40 +00:00
dnl Check for glib2 without extra fat, useful for the unversioned tool frontends
2005-10-15 13:58:18 +00:00
PKG_CHECK_MODULES(GLIB_ONLY, glib-2.0 >= $GLIB_REQ)
2007-02-12 19:55:24 +00:00
2007-06-07 14:17:46 +00:00
dnl Check for documentation xrefs
2007-02-12 19:55:24 +00:00
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
AC_SUBST(GLIB_PREFIX)
2007-04-24 06:14:35 +00:00
dnl libxml 2 is optional in some cases
2005-10-15 13:58:18 +00:00
if test "x$GST_DISABLE_LOADSAVE" = "xyes" && \
2007-04-17 10:46:46 +00:00
( test "x$GST_DISABLE_REGISTRY" = "xyes" || \
test "x$USE_BINARY_REGISTRY" = "xyes" )
2004-02-13 18:22:50 +00:00
then
2007-04-20 08:39:35 +00:00
AC_MSG_NOTICE([XML registry and load/save are disabled, not checking for libxml2])
GST_DISABLE_XML_DEFINE="#define GST_DISABLE_XML 1"
2004-02-13 19:01:10 +00:00
else
dnl check for libxml2 with minimum req version
2007-02-28 19:25:48 +00:00
AG_GST_LIBXML2_CHECK(2.4.9)
2007-04-20 08:39:35 +00:00
GST_DISABLE_XML_DEFINE="/* #undef GST_DISABLE_XML */"
2004-02-13 18:22:50 +00:00
fi
2007-04-20 08:39:35 +00:00
AC_SUBST(GST_DISABLE_XML_DEFINE)
2004-02-13 18:22:50 +00:00
2005-03-07 18:27:42 +00:00
dnl check for "check", unit testing library/header
2007-07-13 13:49:14 +00:00
AM_PATH_CHECK(0.9.2,
[
HAVE_CHECK=yes
AC_MSG_NOTICE(CHECK_CFLAGS: $CHECK_CFLAGS)
AC_MSG_NOTICE(CHECK_LIBS: $CHECK_LIBS)
],
HAVE_CHECK=no)
AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
dnl pkg-config check that for libcheck that works for cross-compiling
dnl but not normal compilation on Fedora & Ubuntu:
dnl PKG_CHECK_MODULES(CHECK, check >= 0.9.2,
dnl AM_CONDITIONAL(HAVE_CHECK, true),
dnl AM_CONDITIONAL(HAVE_CHECK, false)
dnl )
2005-03-07 18:27:42 +00:00
2005-10-16 12:28:20 +00:00
dnl *** set variables based on configure arguments
2001-05-28 20:05:03 +00:00
2003-10-31 19:32:47 +00:00
dnl set license and copyright notice
2005-10-16 09:20:52 +00:00
GST_LICENSE="LGPL"
2005-10-16 09:44:04 +00:00
AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
2005-10-16 09:20:52 +00:00
AC_SUBST(GST_LICENSE)
dnl define LIBDIR so we can inform people where we live
AS_AC_EXPAND(LIBDIR, $libdir)
AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
2004-08-12 11:50:31 +00:00
2005-10-16 09:20:52 +00:00
dnl set location of plugin directory
2007-02-28 19:25:48 +00:00
AG_GST_SET_PLUGINDIR
2004-02-13 19:01:10 +00:00
2007-04-20 08:39:35 +00:00
dnl FIXME: add LIBXML_PKG here if we use it
2006-09-28 11:11:28 +00:00
GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0"
2004-05-04 12:38:36 +00:00
AC_SUBST(GST_PKG_DEPS)
2004-02-13 19:01:10 +00:00
2005-10-16 12:28:20 +00:00
dnl define an ERROR_CFLAGS Makefile variable
2007-02-28 19:25:48 +00:00
AG_GST_SET_ERROR_CFLAGS($GST_CVS)
2005-10-16 12:28:20 +00:00
dnl define correct level for debugging messages
2007-02-28 19:25:48 +00:00
AG_GST_SET_LEVEL_DEFAULT($GST_CVS)
2005-10-16 12:28:20 +00:00
2005-10-15 13:58:18 +00:00
dnl *** finalize CFLAGS, LDFLAGS, LIBS
2004-02-13 19:01:10 +00:00
2005-10-15 13:58:18 +00:00
dnl Overview:
2005-11-27 15:15:35 +00:00
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
2005-10-15 13:58:18 +00:00
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_OPTION_CFLAGS
if test "x$USE_DEBUG" = xyes; then
PROFILE_CFLAGS="-g"
fi
AC_SUBST(PROFILE_CFLAGS)
2006-08-11 15:26:33 +00:00
# GST_DISABLE_DEPRECATED: hide the visibility of deprecated
# functionality from the API that gstreamer uses
# GST_REMOVE_DEPRECATED: don't compile deprecated functionality (breaks ABI)
2005-10-15 13:58:18 +00:00
DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
AC_SUBST(DEPRECATED_CFLAGS)
2007-06-26 16:24:20 +00:00
dnl every flag in GST_OPTION_CFLAGS can be overridden at make time via e.g.
dnl make DEPRECATED_CFLAGS=''
2005-10-15 13:58:18 +00:00
GST_OPTION_CFLAGS="\$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
AC_SUBST(GST_OPTION_CFLAGS)
dnl GST_ALL_*
dnl vars common to for all internal objects (core libs, elements, applications)
2005-10-15 18:22:31 +00:00
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
2005-10-15 13:58:18 +00:00
dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols
2005-11-27 15:15:35 +00:00
dnl from LibXML except for in the core library
2005-10-15 18:22:31 +00:00
GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir) $GLIB_CFLAGS $XML_CFLAGS \$(GST_OPTION_CFLAGS)"
2007-04-20 08:39:35 +00:00
2005-10-15 13:58:18 +00:00
dnl FIXME: check if LTLIBINTL is needed everywhere
dnl I presume it is given that it contains the symbols that _() stuff maps to
2006-07-01 23:26:06 +00:00
GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL \$(GCOV_LIBS)"
2007-04-20 08:39:35 +00:00
2005-10-16 13:55:41 +00:00
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
2005-11-27 15:15:35 +00:00
GST_ALL_LDFLAGS="-no-undefined"
2005-10-15 13:58:18 +00:00
AC_SUBST(GST_ALL_CFLAGS)
AC_SUBST(GST_ALL_LIBS)
AC_SUBST(GST_ALL_LDFLAGS)
2005-11-27 15:15:35 +00:00
dnl GST_LIB_LDFLAGS
dnl linker flags shared by all libraries
dnl LDFLAGS modifier defining exported symbols from built libraries
2006-09-28 11:11:28 +00:00
GST_LIB_LDFLAGS="-export-symbols-regex \^[_]*\(gst_\|Gst\|GST_\).*"
2005-11-27 15:15:35 +00:00
AC_SUBST(GST_LIB_LDFLAGS)
2005-10-15 13:58:18 +00:00
dnl GST_OBJ_*
dnl default vars for all internal objects built on libgstreamer
2005-11-27 15:15:35 +00:00
dnl includes GST_ALL_*
2005-10-15 18:22:31 +00:00
GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS)"
2005-10-15 13:58:18 +00:00
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la \$(GST_ALL_LIBS)"
AC_SUBST(GST_OBJ_CFLAGS)
AC_SUBST(GST_OBJ_LIBS)
dnl GST_PLUGIN_LDFLAGS
2005-11-27 15:15:35 +00:00
dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
2005-10-15 13:58:18 +00:00
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
2004-02-13 19:01:10 +00:00
2005-10-15 13:58:18 +00:00
AC_CONFIG_FILES(
2001-12-08 23:02:28 +00:00
Makefile
2001-05-28 20:05:03 +00:00
gst/Makefile
2004-02-13 19:01:10 +00:00
gst/gstconfig.h
gst/gstversion.h
gst/parse/Makefile
libs/Makefile
libs/gst/Makefile
2005-11-29 19:12:30 +00:00
libs/gst/base/Makefile
libs/gst/check/Makefile
2005-08-02 21:35:34 +00:00
libs/gst/controller/Makefile
2004-05-19 16:37:53 +00:00
libs/gst/dataprotocol/Makefile
2005-11-29 19:12:30 +00:00
libs/gst/net/Makefile
2005-11-29 18:00:15 +00:00
plugins/Makefile
plugins/indexers/Makefile
plugins/elements/Makefile
2004-02-13 19:01:10 +00:00
po/Makefile.in
tests/Makefile
2005-11-30 15:29:05 +00:00
tests/benchmarks/Makefile
2005-11-30 16:08:31 +00:00
tests/check/Makefile
2005-11-30 16:39:04 +00:00
tests/misc/Makefile
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
tests/examples/Makefile
Do some optimisation work in GstAdapter to avoid copies in more cases.
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* libs/gst/base/gstadapter.c: (gst_adapter_clear),
(gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
(gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
* libs/gst/base/gstadapter.h:
* tests/check/libs/adapter.c: (create_and_fill_adapter),
(GST_START_TEST), (gst_adapter_suite):
* tests/examples/Makefile.am:
Do some optimisation work in GstAdapter to avoid copies in more cases.
It could still do slightly better by merging buffers when
gst_buffer_is_span_fast is true, but is already faster.
Also, avoid traversing a single-linked list to append each incoming
buffer inside the adapter.
Add simple test app that times the adapter behaviour in different
situations, and extend the unit test to check that bytes enter and
exit the adapter in their original order.
2006-11-09 14:37:38 +00:00
tests/examples/adapter/Makefile
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
tests/examples/controller/Makefile
tests/examples/helloworld/Makefile
tests/examples/launch/Makefile
2006-09-16 10:49:47 +00:00
tests/examples/manual/Makefile
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
tests/examples/metadata/Makefile
tests/examples/queue/Makefile
tests/examples/typefind/Makefile
tests/examples/xml/Makefile
2001-05-28 20:05:03 +00:00
tools/Makefile
2004-03-18 12:14:43 +00:00
common/Makefile
common/m4/Makefile
2004-02-13 19:01:10 +00:00
docs/Makefile
2006-02-09 18:28:33 +00:00
docs/design/Makefile
2004-02-13 19:01:10 +00:00
docs/faq/Makefile
docs/gst/Makefile
2005-11-30 19:01:53 +00:00
docs/gst/gstreamer.types
2004-02-13 19:01:10 +00:00
docs/libs/Makefile
2005-12-01 12:29:34 +00:00
docs/plugins/Makefile
2004-02-13 19:01:10 +00:00
docs/manual/Makefile
docs/pwg/Makefile
2006-02-27 15:43:10 +00:00
docs/slides/Makefile
2004-02-13 19:01:10 +00:00
docs/xsl/Makefile
docs/version.entities
2005-10-16 09:20:52 +00:00
win32/common/config.h
2003-04-07 21:28:57 +00:00
pkgconfig/Makefile
2004-02-13 19:01:10 +00:00
stamp.h
pkgconfig/gstreamer.pc
pkgconfig/gstreamer-uninstalled.pc
2005-04-06 11:08:07 +00:00
pkgconfig/gstreamer-base.pc
pkgconfig/gstreamer-base-uninstalled.pc
2005-08-20 12:14:28 +00:00
pkgconfig/gstreamer-check.pc
pkgconfig/gstreamer-check-uninstalled.pc
2005-08-02 21:35:34 +00:00
pkgconfig/gstreamer-controller.pc
pkgconfig/gstreamer-controller-uninstalled.pc
2005-07-05 10:20:14 +00:00
pkgconfig/gstreamer-dataprotocol.pc
pkgconfig/gstreamer-dataprotocol-uninstalled.pc
2005-11-18 16:24:56 +00:00
pkgconfig/gstreamer-net.pc
pkgconfig/gstreamer-net-uninstalled.pc
2006-07-07 09:09:10 +00:00
gst-element-check.m4
2005-10-15 13:58:18 +00:00
gstreamer.spec
2001-12-08 23:02:28 +00:00
)
2006-01-13 14:59:00 +00:00
2005-10-15 13:58:18 +00:00
AC_OUTPUT