2015-04-22 08:47:39 +00:00
AC_PREREQ([2.69])
2005-07-30 15:00:07 +00:00
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 !
2009-05-12 00:13:02 +00:00
dnl releases only do Wall, git and prerelease does Werror too
2012-09-01 22:54:23 +00:00
dnl
2017-09-18 14:46:32 +00:00
AC_INIT([GStreamer],[1.12.3],[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
2009-05-19 16:12:41 +00:00
dnl initialize automake (we require GNU make)
2015-04-22 08:47:39 +00:00
AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
2006-04-01 09:41:43 +00:00
dnl define PACKAGE_VERSION_* variables
AS_VERSION
dnl check if this is a release version
2009-05-12 00:13:02 +00:00
AS_NANO(GST_GIT="no", GST_GIT="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
2012-12-30 23:48:47 +00:00
AC_CONFIG_HEADERS([config.h])
2005-10-15 13:58:18 +00:00
2004-02-13 19:01:10 +00:00
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
2012-04-13 11:36:37 +00:00
AM_MAINTAINER_MODE([enable])
2005-10-15 13:58:18 +00:00
2005-10-16 12:28:20 +00:00
dnl sets host_* variables
AC_CANONICAL_HOST
2015-04-22 08:52:58 +00:00
dnl use pretty build output by default
AM_SILENT_RULES([yes])
2010-02-26 14:32:14 +00:00
2012-04-04 11:13:52 +00:00
dnl GStreamer versioning, this is mostly informational
2012-09-24 15:31:54 +00:00
GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR
GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR
GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO
GST_VERSION_NANO=$PACKAGE_VERSION_NANO
2012-04-04 11:13:52 +00:00
AC_SUBST(GST_VERSION_MAJOR)
AC_SUBST(GST_VERSION_MINOR)
AC_SUBST(GST_VERSION_MICRO)
AC_SUBST(GST_VERSION_NANO)
dnl our libraries and install dirs use GST_API_VERSION in the filename
dnl to allow side-by-side installation of different API versions
GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API 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
2012-11-28 16:36:55 +00:00
dnl
dnl Keep CURRENT as MINOR * 100 + MICRO
dnl Ex : 1.0.0 => 0
dnl 1.0.3 => 3
dnl 1.1.0 => 100
dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
dnl
2005-10-16 13:55:41 +00:00
dnl sets GST_LT_LDFLAGS
2017-09-18 14:46:32 +00:00
AS_LIBTOOL(GST, 1203, 0, 1203)
2006-04-01 15:30:49 +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
2009-08-06 16:27:12 +00:00
dnl Add parameters for aclocal (keep in sync with Makefile.am)
2010-03-30 14:20:07 +00:00
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -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
2009-06-03 08:45:25 +00:00
AM_GNU_GETTEXT_VERSION([0.17])
2005-10-16 12:28:20 +00:00
AM_GNU_GETTEXT([external])
2012-04-04 11:13:52 +00:00
AG_GST_GETTEXT([gstreamer-$GST_API_VERSION])
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
2012-01-17 21:23:33 +00:00
AG_GST_ARG_DISABLE_FATAL_WARNINGS
2015-10-20 14:29:42 +00:00
AG_GST_ARG_ENABLE_EXTRA_CHECKS
2012-01-17 21:23:33 +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")
2016-01-06 10:31:16 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_TRACER_HOOKS,[tracing subsystem hooks])
AM_CONDITIONAL(GST_DISABLE_GST_TRACER_HOOKS, test "x$GST_DISABLE_GST_TRACER_HOOKS" = "xyes")
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
2008-04-01 10:25:35 +00:00
AG_GST_CHECK_SUBSYSTEM_DISABLE(OPTION_PARSING,[option parsing when gst_init])
AM_CONDITIONAL(GST_DISABLE_OPTION_PARSING, test "x$GST_DISABLE_OPTION_PARSING" = "xyes")
if test "x$GST_DISABLE_OPTION_PARSING" = xyes; then
AC_DEFINE(GST_DISABLE_OPTION_PARSING, 1,
[Define if option parsing is disabled])
fi
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(PLUGIN,[plugin])
2004-02-13 19:01:10 +00:00
AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "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
2010-08-31 17:40:44 +00:00
AG_GST_PKG_CONFIG_PATH
2010-06-21 16:34:49 +00:00
AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
["${srcdir}/gstreamer.doap"],
[$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
2016-08-26 13:57:22 +00:00
# We only use this when building with MSVC, which is only done with the
# alternate Meson build system files
2016-09-08 07:28:54 +00:00
GSTCONFIG_BUILT_WITH_MSVC=0
AC_SUBST(GSTCONFIG_BUILT_WITH_MSVC)
2016-08-26 13:57:22 +00:00
2015-02-20 21:04:22 +00:00
dnl check for bash completion
AC_ARG_WITH([bash-completion-dir],
AS_HELP_STRING([--with-bash-completion-dir[=PATH]],
[Install the bash auto-completion script in this directory. @<:@default=yes@:>@]),
[],
[with_bash_completion_dir=yes])
2015-03-24 17:13:29 +00:00
if test "x$with_bash_completion_dir" = "xyes"
then
extra_args=
if test "x$prefix" != "xNONE"
then
extra_args="--define-variable=prefix=\"$prefix\""
fi
2015-02-20 21:04:22 +00:00
PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0],
2017-04-04 17:42:50 +00:00
[
BASH_COMPLETION_DIR="`eval pkg-config $extra_args --variable=completionsdir bash-completion`"
BASH_HELPERS_DIR="`eval pkg-config $extra_args --variable=helpersdir bash-completion`"
],
[
BASH_COMPLETION_DIR="$datadir/bash-completion/completions"
BASH_HELPERS_DIR="$datadir/bash-completion/helpers"
])
2015-02-20 21:04:22 +00:00
else
BASH_COMPLETION_DIR="$with_bash_completion_dir/completions"
BASH_HELPERS_DIR="$with_bash_completion_dir/helpers"
fi
AC_SUBST([BASH_COMPLETION_DIR])
AC_SUBST([BASH_HELPERS_DIR])
AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"])
2012-10-24 09:58:35 +00:00
dnl build static plugins or not
AC_MSG_CHECKING([whether to build static plugins or not])
AC_ARG_ENABLE(
static-plugins,
AC_HELP_STRING(
[--enable-static-plugins],
[build static plugins @<:@default=no@:>@]),
[AS_CASE(
[$enableval], [no], [], [yes], [],
[AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
[enable_static_plugins=no])
AC_MSG_RESULT([$enable_static_plugins])
if test "x$enable_static_plugins" = xyes; then
AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
[Define if static plugins should be built])
GST_PLUGIN_LIBTOOLFLAGS=""
else
GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
fi
AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
2016-06-21 14:19:15 +00:00
dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
dnl needed only on Windows, but it doesn't hurt to have it everywhere.
if test x$enable_static = xyes -a x$enable_shared = xno; then
GST_OBJ_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
fi
2005-10-15 13:58:18 +00:00
dnl building of tests
AC_ARG_ENABLE(tests,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--disable-tests],[disable building test apps]),
2005-10-15 13:58:18 +00:00
[
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,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
2005-10-15 13:58:18 +00:00
[
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
2012-06-07 10:30:48 +00:00
dnl building of benchmarks
AC_ARG_ENABLE(benchmarks,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--disable-benchmarks],[disable building benchmarks apps]),
2012-06-07 10:30:48 +00:00
[
case "${enableval}" in
yes) BUILD_BENCHMARKS=yes ;;
no) BUILD_BENCHMARKS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-benchmarks) ;;
esac
],
[BUILD_BENCHMARKS=yes]) dnl Default value
AM_CONDITIONAL(BUILD_BENCHMARKS, test "x$BUILD_BENCHMARKS" = "xyes")
dnl building of tools
AC_ARG_ENABLE(tools,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--disable-tools],[disable building tools]),
2012-06-07 10:30:48 +00:00
[
case "${enableval}" in
yes) BUILD_TOOLS=yes ;;
no) BUILD_TOOLS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tools) ;;
esac
],
[BUILD_TOOLS=yes]) dnl Default value
AM_CONDITIONAL(BUILD_TOOLS, test "x$BUILD_TOOLS" = "xyes")
2005-10-15 13:58:18 +00:00
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
2005-10-15 13:58:18 +00:00
[
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
2015-05-14 10:18:25 +00:00
dnl PTP support parts
AC_MSG_CHECKING([whether PTP support can be enabled])
case "$host_os" in
*android*)
dnl Can't run on Android because of permissions
HAVE_PTP=no
;;
mingw*|pw32*|cygwin*)
dnl Not ported to Windows yet
HAVE_PTP=no
;;
darwin*)
dnl Can't run on iOS because of permissions
AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_PTP="no", HAVE_PTP="yes", [-])
;;
linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
HAVE_PTP=yes
;;
*)
HAVE_PTP=no
;;
esac
AC_MSG_RESULT([$HAVE_PTP])
dnl user/group to change to in gst-ptp-helper
AC_ARG_WITH([ptp-helper-setuid-user],
AS_HELP_STRING([--with-ptp-helper-setuid-user],[User to switch to when installing gst-ptp-helper setuid root]),
[
if test "x$withval" != "x"
then
AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_USER, "$withval", [PTP helper setuid user])
fi
], []
)
dnl group/group to change to in gst-ptp-helper
AC_ARG_WITH([ptp-helper-setuid-group],
AS_HELP_STRING([--with-ptp-helper-setuid-group],[Group to switch to when installing gst-ptp-helper setuid root]),
[
if test "x$withval" != "x"
then
AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_GROUP, "$withval", [PTP helper setuid group])
fi
], []
)
AC_ARG_WITH(
ptp-helper-permissions,
AC_HELP_STRING(
[--with-ptp-helper-permissions],
[how to gain PTP permissions (none, setuid-root, capabilities, auto)]),
[],
[with_ptp_helper_permissions=auto])
gst_ptp_have_cap=no
AG_GST_CHECK_LIBHEADER(CAP, cap,
cap_init, ,
sys/capability.h,
CAP_LIBS="-lcap"
AC_SUBST(CAP_LIBS)
gst_ptp_have_cap=yes)
AC_PATH_PROG([SETCAP], [setcap], [no], [$PATH:/usr/bin:/bin:/usr/sbin:/sbin])
if test "x$HAVE_PTP" = "xyes"; then
AC_DEFINE(HAVE_PTP, 1, [PTP support available])
2015-06-09 08:59:42 +00:00
AC_MSG_CHECKING([for SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[
#include <sys/ioctl.h>
#include <net/if.h>
]],
[[
struct ifreq ifr;
struct ifconf ifc;
ioctl(0, SIOCGIFCONF, &ifc);
ioctl(0, SIOCGIFFLAGS, &ifr);
ioctl(0, SIOCGIFHWADDR, &ifr);
int dummy = ifr.ifr_hwaddr.sa_data[0];
]])], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR, 1, [SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR is available])
], [
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING([for getifaddrs() and AF_LINK])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[
#include <ifaddrs.h>
#include <net/if.h>
#include <net/if_dl.h>
]],
[[
struct ifaddrs *ifaddr;
getifaddrs(&ifaddr);
int dummy = (ifaddr->ifa_flags & IFF_LOOPBACK) && ifaddr->ifa_addr->sa_family != AF_LINK;
]])], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETIFADDRS_AF_LINK, 1, [getifaddrs() and AF_LINK is available])
], [
AC_MSG_RESULT(no)
])
2015-05-14 10:18:25 +00:00
AC_MSG_CHECKING([how to install gst-ptp-helper])
if test "x$with_ptp_helper_permissions" = "xauto"; then
if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then
with_ptp_helper_permissions="capabilities"
else
with_ptp_helper_permissions="setuid-root"
fi
fi
AC_MSG_RESULT([$with_ptp_helper_permissions])
case "$with_ptp_helper_permissions" in
none)
;;
setuid-root)
AC_DEFINE(HAVE_PTP_HELPER_SETUID, 1,
[Use setuid-root for permissions in PTP helper])
;;
capabilities)
AC_DEFINE(HAVE_PTP_HELPER_CAPABILITIES, 1,
[Use capabilities for permissions in PTP helper])
;;
*)
AC_MSG_ERROR(Invalid parameter [$with_ptp_helper_permissions])
;;
esac
fi
AM_CONDITIONAL(HAVE_PTP, test "x$HAVE_PTP" = "xyes")
AM_CONDITIONAL(HAVE_PTP_HELPER_SETUID, test "x$with_ptp_helper_permissions" = "xsetuid-root")
AM_CONDITIONAL(HAVE_PTP_HELPER_CAPABILITIES, test "x$with_ptp_helper_permissions" = "xcapabilities")
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
2005-10-15 13:58:18 +00:00
2008-04-11 09:27:44 +00:00
dnl check for platform specific settings
2009-12-01 13:08:29 +00:00
AG_GST_PLATFORM
2008-03-31 13:47:22 +00:00
2005-10-15 13:58:18 +00:00
dnl * software *
dnl check for large file support
dnl affected plugins must include config.h
AC_SYS_LARGEFILE
dnl *** checks for programs ***
dnl find a compiler
AC_PROG_CC
2010-08-04 17:19:55 +00:00
AC_PROG_CC_STDC
2005-10-15 13:58:18 +00:00
2008-01-10 12:14:04 +00:00
dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O
2005-10-15 13:58:18 +00:00
dnl find an assembler
AM_PROG_AS
2010-07-15 12:47:36 +00:00
dnl determine if c++ is available on this system
2010-09-23 13:37:45 +00:00
AC_PROG_CXX
dnl CXX may be set to some default even if no c++ compiler is available
dnl (thanks autotools!), so just try to compile some c++ code to make sure
AC_LANG_PUSH([C++])
2012-11-07 18:15:11 +00:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ class Foo { int bar; };]], [[]])],[working_cxx=yes],[working_cxx=no])
2010-09-23 13:37:45 +00:00
AC_LANG_POP([C++])
AC_MSG_NOTICE([working c++ compiler found: $working_cxx])
2010-12-04 13:14:39 +00:00
AM_CONDITIONAL(HAVE_CXX, test "x$working_cxx" = "xyes")
2010-07-15 12:47:36 +00:00
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
2008-07-10 00:30:02 +00:00
if test "x$GST_DISABLE_PARSE" != xyes; then
AG_GST_BISON_CHECK
AG_GST_FLEX_CHECK
fi
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
2009-09-04 18:56:43 +00:00
dnl check for gobject-introspection
2011-12-12 12:11:40 +00:00
GOBJECT_INTROSPECTION_CHECK([1.31.1])
2009-09-04 18:56:43 +00:00
2005-10-15 13:58:18 +00:00
dnl check for documentation tools
2012-08-22 11:14:56 +00:00
GTK_DOC_CHECK([1.12])
2012-10-31 17:37:37 +00:00
AG_GST_PLUGIN_DOCS([1.12])
2005-10-15 13:58:18 +00:00
dnl *** checks for libraries ***
2007-07-20 07:09:11 +00:00
dnl check for libm, for sin()
2012-04-13 11:36:37 +00:00
LT_LIB_M
2007-07-20 07:09:11 +00:00
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
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([ucontext.h], [], [], [AC_INCLUDES_DEFAULT])
2007-01-02 17:01:33 +00:00
dnl Check for sys/socket.h
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([sys/socket.h], [HAVE_SYS_SOCKET_H=yes], [HAVE_SYS_SOCKET_H=no], [AC_INCLUDES_DEFAULT])
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/
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([sys/times.h], [HAVE_SYS_TIMES_H=yes], [HAVE_SYS_TIME_H=no], [AC_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([unistd.h], [HAVE_UNISTD_H=yes], [HAVE_UNISTD_H=no], [AC_INCLUDES_DEFAULT])
2007-01-02 17:01:33 +00:00
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
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([process.h], [], [], [AC_INCLUDES_DEFAULT])
2005-10-15 13:58:18 +00:00
2006-12-12 13:53:04 +00:00
dnl Check for sys/utsname.h for uname
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([sys/utsname.h], [], [], [AC_INCLUDES_DEFAULT])
2006-12-12 13:53:04 +00:00
2007-12-24 19:11:29 +00:00
dnl Check for stdio_ext.f for __fbufsize
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([stdio_ext.h], [], [], [AC_INCLUDES_DEFAULT])
2007-12-24 19:11:29 +00:00
2009-06-07 20:20:54 +00:00
dnl check for pthreads
check: Apply GStreamer-specific patches
Reintroduced patches:
* Make sure that fail_if(1) actually fails
from commit 9f99d056a263e71a5e6181224829def906cf0226
New patches due to updated libcheck (based on 0.9.14):
* Checks in m4/check-checks.m4 to cater for new dependencies
* Conditional compile-time compat POSIX fallbacks for libcheck
* Avoid relative paths for libcheck header files
* Make timer_create() usage depend on posix timers, not librt
* Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used
when checking for types and functions (like clock_gettime())
* Avoid double declaration of clock_gettime() when availabe outside of
librt by making compat clock_gettime() declaration conditional
* check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again
to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this
function
* Remove libcheck fallback infrastructure for malloc(), realloc(),
gettimeofday() and snprintf() since either they appear to be
available or they introduce even more dependencies.
The result is an embedded check in gstreamer that has been tested by
running check tests in core, -base, -good, -bad, -ugly and rtsp-server
on Linux, OSX and Windows.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
2014-11-15 12:26:47 +00:00
dnl without arguments AX_PTHREAD() will do AC_DEFINE(HAVE_PTHREAD)
dnl which later checks use in their test code
AX_PTHREAD()
AM_CONDITIONAL(HAVE_PTHREAD, test "x$ax_pthread_ok" = "xyes")
2009-06-07 20:20:54 +00:00
2010-03-15 16:07:59 +00:00
dnl check for sys/prctl for setting thread name on Linux
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([sys/prctl.h], [], [], [AC_INCLUDES_DEFAULT])
2010-03-15 13:48:19 +00:00
2015-02-01 01:39:03 +00:00
dnl check for pthread_setname_np(const char*)
dnl which is present on OS X 10.6, iOS 3.2 and above
AC_MSG_CHECKING(for pthread_setname_np(const char*))
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>],
[pthread_setname_np("example")])],
[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1,
[Have function pthread_setname_np(const char*)])],
[AC_MSG_RESULT(no)])
2014-11-28 14:38:30 +00:00
dnl check for sys/uio.h for writev()
AC_CHECK_HEADERS([sys/uio.h], [], [], [AC_INCLUDES_DEFAULT])
2008-06-20 15:54:43 +00:00
dnl Check for valgrind.h
dnl separate from HAVE_VALGRIND because you can have the program, but not
dnl the dev package
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([valgrind/valgrind.h], [], [], [AC_INCLUDES_DEFAULT])
2008-06-20 15:54:43 +00:00
2008-07-22 18:12:54 +00:00
dnl used in gst/gstpoll.c
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([winsock2.h], [HAVE_WINSOCK2_H=yes], [HAVE_WINSOCK2_H=no], [AC_INCLUDES_DEFAULT])
2008-07-29 00:45:29 +00:00
AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
2008-07-22 18:12:54 +00:00
if test "x$HAVE_WINSOCK2_H" = "xyes"; then
WIN32_LIBS="-lws2_32"
AC_SUBST(WIN32_LIBS)
fi
2009-08-14 09:12:50 +00:00
dnl check for GMP/GSL, used by the gst_util_uint64_scale unit test only
2009-11-20 08:33:48 +00:00
if test "x$BUILD_TESTS" = "xyes"; then
AG_GST_CHECK_LIBHEADER(GMP, gmp,
__gmpz_init_set_d, ,
gmp.h,
GMP_LIBS="-lgmp"
AC_SUBST(GMP_LIBS)
AC_DEFINE(HAVE_GMP, [1],[Have GMP library]))
AG_GST_CHECK_LIBHEADER(GSL, gsl,
gsl_rng_uniform_int, -lgslcblas,
gsl/gsl_rng.h,
GSL_LIBS="-lgsl -lgslcblas"
AC_SUBST(GSL_LIBS)
AC_DEFINE(HAVE_GSL, [1],[Have GSL library]))
fi
2009-08-14 09:12:50 +00:00
2005-10-16 12:28:20 +00:00
dnl *** checks for types/defines ***
dnl *** checks for structures ***
dnl *** checks for compiler characteristics ***
2009-09-09 12:53:16 +00:00
dnl check if the compiler supports __uint128_t (gcc)
2010-04-05 20:46:23 +00:00
dnl Actually check for 128-bit division, since that's what we use
dnl uint128_t for.
2009-09-09 12:53:16 +00:00
AC_CACHE_CHECK(for __uint128_t, gst_cv_uint128_t,
2012-11-07 18:15:11 +00:00
AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
2010-04-05 20:46:23 +00:00
static __uint128_t v1 = 100;
static __uint128_t v2 = 10;
static __uint128_t u;
u = v1 / v2;
2012-11-07 18:15:11 +00:00
]])],[
2009-09-09 12:53:16 +00:00
gst_cv_uint128_t=yes
2012-11-07 18:15:11 +00:00
],[
2009-09-09 12:53:16 +00:00
gst_cv_uint128_t=no
])
)
if test x$gst_cv_uint128_t = xyes; then
AC_DEFINE(HAVE_UINT128_T, 1, [Have __uint128_t type])
fi
2010-07-16 17:09:12 +00:00
dnl *** checking for tm_gmtoff ***
AC_MSG_CHECKING([for tm_gmtoff])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <time.h>
int main(void) {
struct tm t;
t.tm_gmtoff = 0;
exit(0);
}]])],
[have_tm_gmtoff=yes
AC_DEFINE(HAVE_TM_GMTOFF,1,[Have tm_gmtoff field in struct tm])],
[have_tm_gmtoff=no],
[have_tm_gmtoff="no (cross compiling)"])
AC_MSG_RESULT($have_tm_gmtoff)
2005-10-15 13:58:18 +00:00
dnl *** checks for library functions ***
2014-09-29 13:22:47 +00:00
AC_CHECK_FUNCS([strcasestr])
2010-07-16 17:09:12 +00:00
AC_CHECK_FUNCS([gmtime_r])
2010-11-17 12:39:34 +00:00
AC_CHECK_FUNCS([localtime_r])
2005-10-15 13:58:18 +00:00
AC_CHECK_FUNCS([sigaction])
2013-11-20 07:22:58 +00:00
AC_CHECK_FUNCS([getrusage])
2015-10-07 10:22:34 +00:00
AM_CONDITIONAL(HAVE_GETRUSAGE, test "x$ac_cv_func_getrusage" = "xyes")
2013-11-20 07:22:58 +00:00
AC_CHECK_HEADERS([sys/resource.h])
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])
configure.ac: Add checks for poll, ppoll and pselect.
Original commit message from CVS:
* configure.ac:
Add checks for poll, ppoll and pselect.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
Add docs for GstPoll.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpoll.c: (find_index), (selectable_fds),
(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
(gst_poll_set_mode), (gst_poll_get_mode),
(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
Add generic poll abstraction. We ideally don't want to have this in core
here but in glib intead...
This code will be used in various network elements and ultimately for
the nanosecond precision monotonic clock (that's why it's here in core).
It'll allow us to implement cancelable socket operations for windows too.
* tests/check/Makefile.am:
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_stop), (delayed_restart), (delayed_flush),
(delayed_control), (gst_poll_suite):
Add GstPoll unit test.
2008-02-27 18:00:04 +00:00
dnl check for poll(), ppoll() and pselect()
2012-01-01 15:38:08 +00:00
AC_CHECK_HEADERS([sys/poll.h], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([poll.h], [], [], [AC_INCLUDES_DEFAULT])
configure.ac: Add checks for poll, ppoll and pselect.
Original commit message from CVS:
* configure.ac:
Add checks for poll, ppoll and pselect.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
Add docs for GstPoll.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpoll.c: (find_index), (selectable_fds),
(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
(gst_poll_set_mode), (gst_poll_get_mode),
(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
Add generic poll abstraction. We ideally don't want to have this in core
here but in glib intead...
This code will be used in various network elements and ultimately for
the nanosecond precision monotonic clock (that's why it's here in core).
It'll allow us to implement cancelable socket operations for windows too.
* tests/check/Makefile.am:
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_stop), (delayed_restart), (delayed_flush),
(delayed_control), (gst_poll_suite):
Add GstPoll unit test.
2008-02-27 18:00:04 +00:00
AC_CHECK_FUNCS([poll])
AC_CHECK_FUNCS([ppoll])
AC_CHECK_FUNCS([pselect])
2015-09-11 14:58:48 +00:00
dnl check for socketpair()
AC_CHECK_FUNC(socketpair, [], [
AC_CHECK_LIB(socket, socketpair, [
SOCKET_LIBS="-lsocket"
AC_SUBST(SOCKET_LIBS)
])
])
2009-10-12 07:47:59 +00:00
dnl ****************************************
dnl *** GLib POLL* compatibility defines ***
dnl ****************************************
AC_MSG_CHECKING([for broken poll])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdlib.h>
#include <fcntl.h>
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
#endif
2012-01-01 15:38:08 +00:00
#ifdef HAVE_POLL_H
#include <poll.h>
#endif
2009-10-12 07:47:59 +00:00
int main(void) {
struct pollfd fds[1];
int fd;
fd = open("/dev/null", 1);
fds[0].fd = fd;
fds[0].events = POLLIN;
fds[0].revents = 0;
if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
exit(1); /* Does not work for devices -- fail */
}
exit(0);
}]])],
[broken_poll=no],
[broken_poll=yes
AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])],
[broken_poll="no (cross compiling)"])
AC_MSG_RESULT($broken_poll)
2016-12-21 04:03:39 +00:00
dnl check for getpagesize()
2010-03-04 08:44:52 +00:00
AC_CHECK_FUNCS([getpagesize])
2007-11-28 11:39:35 +00:00
dnl Check for POSIX timers
2016-10-03 14:52:53 +00:00
CLOCK_GETTIME_FOUND="no"
AC_CHECK_FUNC(clock_gettime, [CLOCK_GETTIME_FOUND="yes"], [
2007-11-28 11:39:35 +00:00
AC_CHECK_LIB(rt, clock_gettime, [
2016-10-03 14:52:53 +00:00
CLOCK_GETTIME_FOUND="yes"
2007-11-28 11:39:35 +00:00
LIBS="$LIBS -lrt"
2013-04-08 09:14:35 +00:00
], [
AC_CHECK_LIB(pthread, clock_gettime, [
2016-10-03 14:52:53 +00:00
CLOCK_GETTIME_FOUND="yes"
2013-04-08 09:14:35 +00:00
LIBS="$LIBS -lpthread"
])
2007-11-28 11:39:35 +00:00
])
])
2016-10-03 14:52:53 +00:00
# With XCode 8, clock_gettime will be incorrectly detected as being available
# regardless of what version of OS X you target because the symbol is available
# in the .tbd file as a weak symbol.
# See: https://bugzilla.gnome.org/show_bug.cgi?id=772451
#
# We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports because the
# autoconf check does its own prototype declaration that doesn't trigger that
# compiler flag.
#
2016-10-18 04:08:04 +00:00
# It's only starting from macOS 10.12 and iOS 10.0 that clock_gettime is
# actually available, so we can unconditionally disable it for older versions.
2016-10-03 14:52:53 +00:00
case "$host_os" in
darwin*)
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#include <AvailabilityMacros.h>
2016-10-18 04:08:04 +00:00
#include <TargetConditionals.h>
#if defined(TARGET_OS_MAC)
# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12
# error "Not compiling for OS X 10.12 or later"
# endif
#else
# if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0
# error "Not compiling for iOS 10.0 or later"
# endif
2016-10-03 14:52:53 +00:00
#endif
]])], [], [
if test "$CLOCK_GETTIME_FOUND" = "yes"; then
AC_MSG_NOTICE([Disabling incorrectly detected clock_gettime on OS X])
fi
CLOCK_GETTIME_FOUND="no"
])
;;
esac
if test "$CLOCK_GETTIME_FOUND" = "yes"; then
AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Have clock_gettime])
fi
2008-01-24 23:28:54 +00:00
AC_CACHE_CHECK(for posix timers, gst_cv_posix_timers,
2012-11-07 18:15:11 +00:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2007-11-28 11:39:35 +00:00
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
2012-11-07 18:15:11 +00:00
]], [[
2008-01-24 23:28:54 +00:00
#if !defined(_POSIX_TIMERS) || _POSIX_TIMERS < 0 || !defined(CLOCK_REALTIME)
#error Either _POSIX_TIMERS or CLOCK_REALTIME not defined
2007-11-28 11:39:35 +00:00
#endif
2012-11-07 18:15:11 +00:00
]])],[
2008-01-24 23:28:54 +00:00
gst_cv_posix_timers=yes
2012-11-07 18:15:11 +00:00
],[
2008-01-24 23:28:54 +00:00
gst_cv_posix_timers=no
])
)
2007-11-28 11:39:35 +00:00
if test "$gst_cv_posix_timers" = "yes"; then
AC_DEFINE(HAVE_POSIX_TIMERS,1,[Have posix timers])
GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 1"
else
GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 0"
fi
AC_SUBST(GST_HAVE_POSIX_TIMERS_DEFINE)
AM_CONDITIONAL(GST_HAVE_POSIX_TIMERS, test "$gst_cv_posix_timers" = "yes")
2008-01-24 23:28:54 +00:00
AC_CACHE_CHECK(for monotonic clock, gst_cv_monotonic_clock,
2012-11-07 18:15:11 +00:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2007-11-28 11:39:35 +00:00
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
2012-11-07 18:15:11 +00:00
]], [[
2008-01-24 23:28:54 +00:00
#if !defined(_POSIX_MONOTONIC_CLOCK) || _POSIX_MONOTONIC_CLOCK < 0 || !defined(CLOCK_MONOTONIC)
#error Either _POSIX_MONOTONIC_CLOCK or CLOCK_MONOTONIC not defined
2007-11-28 11:39:35 +00:00
#endif
2012-11-07 18:15:11 +00:00
]])],[
2008-01-24 23:28:54 +00:00
gst_cv_monotonic_clock=yes
2012-11-07 18:15:11 +00:00
],[
2008-01-24 23:28:54 +00:00
gst_cv_monotonic_clock=no
])
)
2007-11-28 11:39:35 +00:00
if test "$gst_cv_monotonic_clock" = "yes"; then
AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Have a monotonic clock])
GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 1"
else
GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 0"
fi
AC_SUBST(GST_HAVE_MONOTONIC_CLOCK_DEFINE)
AM_CONDITIONAL(GST_HAVE_MONOTONIC_CLOCK, test "$gst_cv_monotonic_clock" = "yes")
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 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,
2008-06-05 10:13:45 +00:00
AC_DEFINE(HAVE_DLADDR, 1, [Defined if we have dladdr ()])
LIBS="$LIBS -ldl")
2005-10-15 13:58:18 +00:00
CFLAGS="$save_cflags"
2004-02-13 19:01:10 +00:00
2013-04-10 10:51:37 +00:00
dnl Check printf stuff
if test "x${GST_DISABLE_GST_DEBUG}" != "xyes"; then
AC_TYPE_LONG_LONG_INT
AC_TYPE_UNSIGNED_LONG_LONG_INT
if test x$ac_cv_type_long_long_int$ac_cv_type_unsigned_long_long_int = xyesyes; then
AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if the system has the type long long])
fi
dnl /usr/share/aclocal/inttypes_h.m4 - ships with gettext apparently
gl_AC_HEADER_INTTYPES_H
dnl /usr/share/aclocal/stdint_h.m4 - ships with gettext apparently
gl_AC_HEADER_STDINT_H
AC_CHECK_TYPES(ptrdiff_t)
AC_TYPE_INTMAX_T
AC_TYPE_SIZE_T
fi
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
2015-10-02 19:17:04 +00:00
GLIB_REQ=2.40.0
2008-04-01 13:55:20 +00:00
AG_GST_GLIB_CHECK([$GLIB_REQ])
2012-01-18 15:14:51 +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)
2015-09-04 14:38:37 +00:00
dnl GTK is optional and only used in examples
HAVE_GTK=no
GTK_REQ=3.10
if test "x$BUILD_EXAMPLES" = "xyes"; then
PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
fi
AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
2016-06-22 14:25:16 +00:00
dnl libunwind is optionally used by the leaks tracer
2017-08-11 19:17:06 +00:00
AC_ARG_WITH([unwind],[AS_HELP_STRING([--with-unwind=yes|no|auto],[use libunwind])],
[], [with_unwind=auto])
if [ test "x${with_unwind}" != "xno" ]; then
PKG_CHECK_MODULES(UNWIND, [libunwind],
[
HAVE_UNWIND=yes
AC_DEFINE(HAVE_UNWIND, 1, [libunwind available])
UNWIND_REQUIRE=libunwind
AC_SUBST(UNWIND_REQUIRE)
],
[
HAVE_UNWIND=no
if [ test "x${with_unwind}" = "xyes" ]; then
AC_MSG_ERROR([could not find libunwind])
fi
])
else
HAVE_UNWIND=no
2016-10-07 09:38:27 +00:00
fi
dnl libdw is optionally used to add source lines and numbers to backtraces
2017-08-11 19:17:06 +00:00
AC_ARG_WITH([dw],[AS_HELP_STRING([--with-dw=yes|no|auto],[use libdw])],
[], [with_dw=auto])
if [ test "x${with_dw}" != "xno" ]; then
PKG_CHECK_MODULES(DW, [libdw],
[
HAVE_DW=yes
AC_DEFINE(HAVE_DW, 1, [libdw available])
DW_REQUIRE=libdw
AC_SUBST(DW_REQUIRE)
],
[
HAVE_DW=no
if [ test "x${with_dw}" = "xyes" ]; then
AC_MSG_ERROR([could not find libdw])
fi
])
else
HAVE_DW=no
2016-10-07 09:38:27 +00:00
fi
2016-06-22 14:25:16 +00:00
dnl Check for backtrace() from libc
AC_CHECK_FUNC(backtrace, [
AC_CHECK_HEADERS([execinfo.h], [
AC_DEFINE(HAVE_BACKTRACE,1,[Have backtrace])
], [], [])
])
2009-08-06 16:27:12 +00:00
dnl building of unit test libraries
AC_ARG_ENABLE(check,
2012-11-07 18:15:11 +00:00
AS_HELP_STRING([--disable-check],[disable building unit test libraries]),
2009-08-06 16:27:12 +00:00
[
case "${enableval}" in
yes) BUILD_CHECK=yes ;;
no) BUILD_CHECK=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-check) ;;
esac
2009-08-04 09:22:25 +00:00
], [
dnl Default value
case $host_os in
mingw* | msvc* | mks*) BUILD_CHECK=no ;;
*) BUILD_CHECK=yes ;;
esac
])
2009-08-06 16:27:12 +00:00
dnl bit of a misnomer, but keep the conditional named like this so we don't
dnl have to change too much elsewhere
AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
2007-07-13 13:49:14 +00:00
2011-06-10 11:59:31 +00:00
dnl configure the desired memory alignment
AC_ARG_WITH([memory-alignment],
AS_HELP_STRING([--with-memory-alignment],[8,N,malloc,pagesize (default is 32)]),
2010-03-04 08:44:52 +00:00
[
if test "x$withval" = "xyes"
then
2011-06-10 11:59:31 +00:00
AC_DEFINE(MEMORY_ALIGNMENT, 32, [Memory alignment to use])
2010-03-04 08:44:52 +00:00
else
case "${withval}" in
2011-06-10 11:59:31 +00:00
malloc) AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default]) ;;
pagesize) AC_DEFINE(MEMORY_ALIGNMENT_PAGESIZE, 1, [Memory alignment by pagesize]) ;;
*) AC_DEFINE_UNQUOTED(MEMORY_ALIGNMENT, ${withval}, [Memory alignment to use]) ;;
2010-03-04 08:44:52 +00:00
esac
fi
], [
2016-01-06 10:31:16 +00:00
AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default])
2010-03-04 08:44:52 +00:00
]
)
2005-03-07 18:27:42 +00:00
2010-12-15 10:10:02 +00:00
dnl Check for -Bsymbolic-functions linker flag used to avoid
dnl intra-library PLT jumps, if available.
AC_ARG_ENABLE(Bsymbolic,
2012-11-07 18:15:11 +00:00
[AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
2015-12-20 23:43:49 +00:00
[SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
2010-12-15 10:10:02 +00:00
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
LDFLAGS=-Wl,-Bsymbolic-functions
2015-12-20 23:43:49 +00:00
LIBS=
AC_TRY_LINK([], [return 0],
2010-12-15 10:10:02 +00:00
AC_MSG_RESULT(yes)
2015-12-20 23:43:49 +00:00
enable_Bsymbolic=yes,
2010-12-15 10:10:02 +00:00
AC_MSG_RESULT(no)
2015-12-20 23:43:49 +00:00
enable_Bsymbolic=no)
LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
2010-12-15 10:10:02 +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)
2008-06-11 20:07:31 +00:00
dnl define LIBDIR, GST_DATADIR so we can inform people where we live
2005-10-16 09:20:52 +00:00
AS_AC_EXPAND(LIBDIR, $libdir)
AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
configure.ac: Add DATADIR for storing presets.
Original commit message from CVS:
Patch by: Stefan Kost <ensonic@users.sf.net>
* configure.ac:
Add DATADIR for storing presets.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
Add GstPreset to docs.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
(preset_open_and_parse_header), (preset_parse_version),
(preset_merge), (preset_get_keyfile),
(gst_preset_default_get_preset_names),
(gst_preset_default_get_property_names),
(gst_preset_default_load_preset),
(gst_preset_default_save_presets_file),
(gst_preset_default_save_preset),
(gst_preset_default_rename_preset),
(gst_preset_default_delete_preset), (gst_preset_default_set_meta),
(gst_preset_default_get_meta), (gst_preset_default_randomize),
(gst_preset_default_reset), (gst_preset_get_preset_names),
(gst_preset_get_property_names), (gst_preset_load_preset),
(gst_preset_save_preset), (gst_preset_rename_preset),
(gst_preset_delete_preset), (gst_preset_set_meta),
(gst_preset_get_meta), (gst_preset_class_init),
(gst_preset_base_init), (gst_preset_get_type):
* gst/gstpreset.h:
Add GstPreset to core. Fixes #396779
* tests/check/Makefile.am:
* tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
(gst_preset_test_set_property), (gst_preset_test_class_init),
(gst_preset_test_base_init), (gst_preset_test_get_type),
(gst_preset_test_plugin_init), (GST_START_TEST),
(remove_preset_file), (test_setup), (test_teardown),
(gst_preset_suite):
Add GstPreset unit tests.
2008-05-27 15:11:35 +00:00
AS_AC_EXPAND(DATADIR, $datadir)
2008-06-11 20:07:31 +00:00
AC_DEFINE_UNQUOTED(GST_DATADIR, "$DATADIR", [data 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
2011-11-04 00:03:05 +00:00
dnl make sure it doesn't complain about unused variables if debugging is disabled
NO_WARNINGS=""
if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then
NO_WARNINGS="-Wno-unused"
fi
2005-10-16 12:28:20 +00:00
dnl define an ERROR_CFLAGS Makefile variable
2012-01-17 21:23:33 +00:00
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs $NO_WARNINGS])
2005-10-16 12:28:20 +00:00
2013-04-07 19:11:21 +00:00
dnl special warning flags for gst/printf
AS_COMPILER_FLAG([-Wno-format-nonliteral], [PRINTF_CFLAGS="-Wno-format-nonliteral"])
AC_SUBST(PRINTF_CFLAGS)
2005-10-16 12:28:20 +00:00
dnl define correct level for debugging messages
2009-05-12 00:13:02 +00:00
AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
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)
2008-02-08 00:54:28 +00:00
if test "x$PACKAGE_VERSION_NANO" = "x1"; then
2009-05-12 00:13:02 +00:00
dnl Define _only_ when compiling from git (not for pre-releases or releases)
2007-12-09 04:28:03 +00:00
DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
else
DEPRECATED_CFLAGS=""
fi
2005-10-15 13:58:18 +00:00
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=''
2010-03-10 16:03:29 +00:00
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2010-07-15 12:47:36 +00:00
GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2012-09-17 12:35:26 +00:00
GST_OPTION_CFLAGS="$GST_OPTION_CFLAGS"
GST_OPTION_CXXFLAGS="$GST_OPTION_CXXFLAGS"
2005-10-15 13:58:18 +00:00
AC_SUBST(GST_OPTION_CFLAGS)
2010-07-15 12:47:36 +00:00
AC_SUBST(GST_OPTION_CXXFLAGS)
2005-10-15 13:58:18 +00:00
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 - 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
2016-01-16 14:51:37 +00:00
GST_ALL_CXXFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(ERROR_CXXFLAGS)"
GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CFLAGS) \$(ERROR_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"
2011-01-08 02:19:31 +00:00
if test "x${enable_Bsymbolic}" = "xyes"; then
2010-12-15 10:10:02 +00:00
GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
fi
2005-11-27 15:15:35 +00:00
2005-10-15 13:58:18 +00:00
AC_SUBST(GST_ALL_CFLAGS)
2010-07-15 12:47:36 +00:00
AC_SUBST(GST_ALL_CXXFLAGS)
2005-10-15 13:58:18 +00:00
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
2011-10-08 12:37:09 +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_*
2016-06-21 14:19:15 +00:00
GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS) $GST_OBJ_STATIC_CFLAGS"
GST_OBJ_CXXFLAGS="\$(GST_ALL_CXXFLAGS) $GST_OBJ_STATIC_CFLAGS"
2012-04-04 11:13:52 +00:00
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_API_VERSION.la \$(GST_ALL_LIBS)"
2005-10-15 13:58:18 +00:00
AC_SUBST(GST_OBJ_CFLAGS)
2010-07-15 12:47:36 +00:00
AC_SUBST(GST_OBJ_CXXFLAGS)
2005-10-15 13:58:18 +00:00
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
2012-10-24 09:58:35 +00:00
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $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
2009-02-06 09:49:34 +00:00
dnl plugin scanner locations
2012-04-04 11:13:52 +00:00
AS_AC_EXPAND(GST_PLUGIN_SCANNER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-plugin-scanner)
2009-02-06 09:49:34 +00:00
AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_INSTALLED,
2009-11-16 00:12:22 +00:00
"$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner])
2010-02-16 08:26:59 +00:00
AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED)
2009-02-06 09:49:34 +00:00
2017-04-04 17:42:50 +00:00
dnl completion helper locations
AS_AC_EXPAND(GST_COMPLETION_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-completion-helper)
AC_DEFINE_UNQUOTED(GST_COMPLETION_HELPER_INSTALLED,
"$GST_COMPLETION_HELPER_INSTALLED", [location of the installed gst-completion-helper])
AC_SUBST(GST_COMPLETION_HELPER_INSTALLED)
2015-05-14 10:18:25 +00:00
dnl ptp helper locations
AS_AC_EXPAND(GST_PTP_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-ptp-helper)
AC_DEFINE_UNQUOTED(GST_PTP_HELPER_INSTALLED,
"$GST_PTP_HELPER_INSTALLED", [location of the installed gst-ptp-helper])
AC_SUBST(GST_PTP_HELPER_INSTALLED)
2009-12-19 14:27:05 +00:00
dnl things for our internal libcheck (must be called even if building
dnl libcheck is disabled because it defines conditionals)
2016-03-25 10:59:57 +00:00
AG_GST_CHECK_CHECKS
2009-08-06 16:27:12 +00:00
2005-10-15 13:58:18 +00:00
AC_CONFIG_FILES(
2001-12-08 23:02:28 +00:00
Makefile
2015-02-20 21:04:22 +00:00
data/Makefile
2017-04-04 17:42:50 +00:00
data/bash-completion/helpers/gst
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
2013-03-30 15:13:32 +00:00
gst/printf/Makefile
2004-02-13 19:01:10 +00:00
libs/Makefile
libs/gst/Makefile
2005-11-29 19:12:30 +00:00
libs/gst/base/Makefile
libs/gst/check/Makefile
2009-08-06 16:27:12 +00:00
libs/gst/check/libcheck/Makefile
2014-12-14 11:54:32 +00:00
libs/gst/check/internal-check.h:libs/gst/check/libcheck/check.h.in
2005-08-02 21:35:34 +00:00
libs/gst/controller/Makefile
2009-03-14 23:07:40 +00:00
libs/gst/helpers/Makefile
2005-11-29 19:12:30 +00:00
libs/gst/net/Makefile
2005-11-29 18:00:15 +00:00
plugins/Makefile
plugins/elements/Makefile
2013-10-24 12:47:48 +00:00
plugins/tracers/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
2009-05-11 16:56:03 +00:00
tests/examples/stepping/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/helloworld/Makefile
2012-07-05 12:25:13 +00:00
tests/examples/memory/Makefile
2015-01-10 10:42:00 +00:00
tests/examples/netclock/Makefile
2015-05-14 10:18:25 +00:00
tests/examples/ptp/Makefile
2014-03-04 10:40:05 +00:00
tests/examples/streamiddemux/Makefile
2009-04-22 08:16:26 +00:00
tests/examples/streams/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
docs/gst/Makefile
2008-08-01 11:57:40 +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/version.entities
2010-03-30 14:20:07 +00:00
m4/Makefile
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-11-18 16:24:56 +00:00
pkgconfig/gstreamer-net.pc
pkgconfig/gstreamer-net-uninstalled.pc
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
2008-06-27 09:02:51 +00:00
dnl negate for output
2009-04-15 20:12:11 +00:00
if test "x${GST_DISABLE_GST_DEBUG}" = "xno"; then enable_gst_debug="yes"; fi
2016-01-06 10:31:16 +00:00
if test "x${GST_DISABLE_GST_TRACER_HOOKS}" = "xno"; then enable_gst_tracer_hooks="yes"; fi
2008-06-27 09:02:51 +00:00
if test "x${GST_DISABLE_PARSE}" = "xno"; then enable_parse="yes"; fi
if test "x${GST_DISABLE_OPTION_PARSING}" = "xno"; then enable_option_parsing="yes"; fi
if test "x${GST_DISABLE_PLUGIN}" = "xno"; then enable_plugin="yes"; fi
2008-10-22 14:25:16 +00:00
if test "x${GST_DISABLE_REGISTRY}" = "xno"; then enable_registry="yes"; fi
2008-06-27 09:02:51 +00:00
echo "
Configuration
Version : ${VERSION}
Source code location : ${srcdir}
Prefix : ${prefix}
2010-02-26 14:32:14 +00:00
Compiler : ${CC}
2008-06-27 09:02:51 +00:00
Package name : ${GST_PACKAGE_NAME}
Package origin : ${GST_PACKAGE_ORIGIN}
2016-11-14 17:46:07 +00:00
API Documentation : ${enable_gtk_doc}
2008-06-27 09:02:51 +00:00
2016-01-06 10:31:16 +00:00
Debug logging : ${enable_gst_debug}
Tracing subsystem hooks : ${enable_gst_tracer_hooks}
2008-06-27 09:02:51 +00:00
Command-line parser : ${enable_parse}
Option parsing in gst_init : ${enable_option_parsing}
2008-10-22 14:25:16 +00:00
Plugin registry : ${enable_registry}
Plugin support : ${enable_plugin}
2012-10-24 09:58:35 +00:00
Static plugins : ${enable_static_plugins}
2009-08-06 16:27:12 +00:00
Unit testing support : ${BUILD_CHECK}
2015-05-14 10:18:25 +00:00
PTP clock support : ${HAVE_PTP}
2016-06-22 14:25:16 +00:00
libunwind support : ${HAVE_UNWIND}
2016-10-07 09:38:27 +00:00
libdw support : ${HAVE_DW}
2008-06-27 09:02:51 +00:00
Debug : ${USE_DEBUG}
Profiling : ${USE_PROFILING}
2012-06-07 10:30:48 +00:00
Building benchmarks : ${BUILD_BENCHMARKS}
2008-06-27 09:02:51 +00:00
Building examples : ${BUILD_EXAMPLES}
Building test apps : ${BUILD_TESTS}
Building tests that fail : ${BUILD_FAILING_TESTS}
2012-06-07 10:30:48 +00:00
Building tools : ${BUILD_TOOLS}
2008-06-27 09:02:51 +00:00
"