configure.ac: reorganize clean up document more remove cruft

Original commit message from CVS:

* configure.ac:
reorganize
clean up
document more
remove cruft
* check/Makefile.am:
* docs/gst/Makefile.am:
* examples/helloworld/Makefile.am:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/parse/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop):
compile fixes, though it's not being compiled currently
This commit is contained in:
Thomas Vander Stichele 2005-10-15 13:58:18 +00:00
parent 01ca7865c5
commit 08479555e5
18 changed files with 522 additions and 463 deletions

View file

@ -1,3 +1,24 @@
2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac:
reorganize
clean up
document more
remove cruft
* check/Makefile.am:
* docs/gst/Makefile.am:
* examples/helloworld/Makefile.am:
* gst/Makefile.am:
* gst/base/Makefile.am:
* gst/check/Makefile.am:
* gst/elements/Makefile.am:
* gst/indexers/Makefile.am:
* gst/parse/Makefile.am:
* libs/gst/controller/Makefile.am:
* libs/gst/dataprotocol/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop):
compile fixes, though it's not being compiled currently
2005-10-14 Tim-Philipp Müller <tim at centricular dot net> 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
* check/gst/gsttag.c: (test_date_tags), (gst_tag_suite): * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):

View file

@ -62,20 +62,20 @@ TESTS = $(check_PROGRAMS)
noinst_HEADERS = gst/capslist.h noinst_HEADERS = gst/capslist.h
AM_CFLAGS = $(GST_OBJ_CFLAGS) $(CHECK_CFLAGS) AM_CFLAGS = $(GST_OBJ_CFLAGS) $(CHECK_CFLAGS)
LDADD = $(GST_OBJ_LIBS) \ LDADD = $(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \
$(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \ $(GST_OBJ_LIBS) \
$(CHECK_LIBS) $(CHECK_LIBS)
gst_libs_gdp_SOURCES = \ gst_libs_gdp_SOURCES = \
gst-libs/gdp.c \ gst-libs/gdp.c \
$(top_srcdir)/libs/gst/dataprotocol/dataprotocol.c $(top_srcdir)/libs/gst/dataprotocol/dataprotocol.c
# remove GST_ENABLE_NEW when dataprotocol has been declared API-stable # remove GST_ENABLE_NEW when dataprotocol has been declared API-stable
# FIXME: time to do this
gst_libs_gdp_CFLAGS = $(AM_CFLAGS) -DGST_ENABLE_NEW gst_libs_gdp_CFLAGS = $(AM_CFLAGS) -DGST_ENABLE_NEW
gst_libs_controller_LDADD = $(GST_OBJ_LIBS) \ gst_libs_controller_LDADD = \
$(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \ $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_MAJORMINOR@.la \
$(CHECK_LIBS) \ $(LDADD)
$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_MAJORMINOR@.la
# valgrind testing # valgrind testing
# these just need valgrind fixing, period # these just need valgrind fixing, period

2
common

@ -1 +1 @@
Subproject commit a068fb101fd1fe5bcebc5e84bc12c6a3c58390fd Subproject commit 507a4dc1d4fd6957ee8d62ca612a9a9054c271fc

View file

@ -1,16 +1,27 @@
AC_PREREQ(2.52) AC_PREREQ(2.52)
dnl initialize autoconf
dnl we don't specify PACKAGE and VERSION because AS_VERSION puts it together
AC_INIT AC_INIT
AC_CANONICAL_TARGET
dnl when going to/from release please set the nano (fourth number) right ! dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too dnl releases only do Wall, cvs and prerelease does Werror too
AS_VERSION(gstreamer, GST_VERSION, 0, 9, 3, 1, AS_VERSION(gstreamer, GST_VERSION, 0, 9, 3, 1,
GST_CVS="no", GST_CVS="yes") GST_CVS="no", GST_CVS="yes")
dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([gst/gst.c])
dnl define the output header for config
AM_CONFIG_HEADER([config.h])
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
dnl initialize automake
dnl FIXME: this is deprecated use, we should move PACKAGE and VERSION to
dnl AC_INIT, but then we need to parse the version to pass to AS_VERSION
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
dnl our libraries and install dirs use major.minor as a version dnl our libraries and install dirs use major.minor as a version
GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
@ -18,65 +29,27 @@ dnl we override it here for release candidates for a new series
# GST_MAJORMINOR=0.9 # GST_MAJORMINOR=0.9
AC_SUBST(GST_MAJORMINOR) AC_SUBST(GST_MAJORMINOR)
AC_PROG_CC
dnl For interactive UNIX (a Sun thing)
AC_ISC_POSIX
dnl CURRENT, REVISION, AGE dnl CURRENT, REVISION, AGE
dnl - library source changed -> increment REVISION dnl - library source changed -> increment REVISION
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0 dnl - interfaces removed -> AGE = 0
AS_LIBTOOL(GST, 7, 0, 0) AS_LIBTOOL(GST, 7, 0, 0)
AS_LIBTOOL_TAGS([]) AS_LIBTOOL_TAGS
AM_PROG_LIBTOOL AM_PROG_LIBTOOL
AC_CONFIG_SRCDIR([gst/gst.c]) dnl *** autotools stuff ****
AM_CONFIG_HEADER(config.h)
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE
dnl Add parameters for aclocal dnl Add parameters for aclocal
AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4 -I .") AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4 -I .")
AM_PROG_CC_STDC dnl *** check for arguments to configure ***
AM_PROG_AS
AS="${CC}"
dnl the gettext stuff needed
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT([external])
GETTEXT_PACKAGE=gstreamer-$GST_MAJORMINOR
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
[gettext package name])
dnl define LOCALEDIR in config.h
AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
[gettext locale dir])
dnl define LIBDIR so we can inform people where we live
AS_AC_EXPAND(LIBDIR, $libdir)
AC_DEFINE_UNQUOTED([LIBDIR], "$LIBDIR",
[library dir])
GST_SET_ERROR_CFLAGS($GST_CVS)
dnl We disable static building for development, for time savings
dnl *NOTE*: dnl this line before release, so release does static too
dnl AM_DISABLE_STATIC
AC_HEADER_STDC([])
AC_C_INLINE
dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
dnl messages printed when running cvs builds
if test "x$GST_CVS" = "xyes"; then
AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
fi
dnl subsystems - can influence other decisions so needs to be high up dnl subsystems - can influence other decisions so needs to be high up
dnl we need to do AM_CONDITIONAL them here for automake 1.6.x compatibility dnl we need to AM_CONDITIONAL them here for automake 1.6.x compatibility
GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem]) GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_GST_DISABLE_DEBUG" = "xyes") AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_GST_DISABLE_DEBUG" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save]) GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
@ -98,39 +71,265 @@ AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers]) GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes") AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
dnl ############################## dnl FIXME: simplify all this down using a few m4 macros
dnl # Do automated configuration #
dnl ##############################
dnl Check for tools: dnl possibly modify pkg-config path
dnl ================
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE()
dnl modify pkg-config path
AC_ARG_WITH(pkg-config-path, AC_ARG_WITH(pkg-config-path,
AC_HELP_STRING([--with-pkg-config-path], AC_HELP_STRING([--with-pkg-config-path],
[colon-separated list of pkg-config(1) dirs]), [colon-separated list of pkg-config(1) dirs]),
[export PKG_CONFIG_PATH=${withval}]) [export PKG_CONFIG_PATH=${withval}])
GST_ARCH() AC_ARG_ENABLE(fast-stack-trash,
AC_HELP_STRING([--enable-fast-stack-trash],
dnl ### Documentation checks [use fast memory allocator (i586 or above)]),
[
dnl Perl is used in building documentation case "${enableval}" in
AC_PATH_PROG(PERL_PATH, perl, no) yes) USE_FAST_STACK_TRASH=yes;;
if test x$PERL_PATH = xno; then noset) USE_FAST_STACK_TRASH=no;;
AC_MSG_ERROR(Could not find perl) no) USE_FAST_STACK_TRASH=no;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
esac],
[USE_FAST_STACK_TRASH=yes]) dnl Default value
if test "x$USE_FAST_STACK_TRASH" = xyes; then
AC_DEFINE(USE_FAST_STACK_TRASH, 1,
[Define if we should use i586 optimized stack functions])
fi fi
GST_DOCBOOK_CHECK AC_ARG_ENABLE(profiling,
GTK_DOC_CHECK([1.3]) AC_HELP_STRING([--enable-profiling],
[adds -pg to compiler commandline, for profiling]),
[
case "${enableval}" in
yes) USE_PROFILING=yes ;;
no) USE_PROFILING=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
esac
],
[USE_PROFILING=no]) dnl Default value
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
],
[:]) 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
],
[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
],
[BUILD_FAILING_TESTS=no]) dnl Default value
AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
if test x$BUILD_FAILING_TESTS = xyes; then
AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
else
AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support. If you do not agree with this EULA, please press Ctrl-C before the next line is printed. By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
fi
AC_ARG_ENABLE(examples,
AC_HELP_STRING([--disable-examples], [disable building examples]),
[
case "${enableval}" in
yes) BUILD_EXAMPLES=yes ;;
no) BUILD_EXAMPLES=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
esac
],
[BUILD_EXAMPLES=yes]) dnl Default value
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
AC_HELP_STRING([--enable-poisoning],
[enable poisoning of deallocated objects]),
[
case "${enableval}" in
yes) USE_POISONING=yes ;;
no) USE_POISONING=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
esac
],
[USE_POISONING=no]) dnl Default value
if test "x$USE_POISONING" = xyes; then
AC_DEFINE(USE_POISONING, 1,
[Define if we should poison deallocated memory])
fi
dnl debugging stuff
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
[
case "${enableval}" in
yes) USE_DEBUG=yes ;;
no) USE_DEBUG=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac
],
[USE_DEBUG=yes]) dnl Default value
dnl valgrind inclusion
AC_ARG_ENABLE(valgrind,
AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
[
case "${enableval}" in
yes) USE_VALGRIND="$USE_DEBUG" ;;
no) USE_VALGRIND=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
esac
],
[USE_VALGRIND="$USE_DEBUG"]) dnl Default value
VALGRIND_REQ="2.1"
if test "x$USE_VALGRIND" = xyes; then
PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ,
USE_VALGRIND="yes", USE_VALGRIND="no")
fi
if test "x$USE_VALGRIND" = xyes; then
AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
AC_MSG_NOTICE(Using extra code paths for valgrind)
fi
AC_ARG_ENABLE(gcov,
AC_HELP_STRING([--enable-gcov],
[compile with coverage profiling instrumentation (gcc only)]),
enable_gcov=$enableval,
enable_gcov=no)
if test x$enable_gcov = xyes ; then
AS_COMPILER_FLAG(["-fprofile-arcs"],
[GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"],
true)
AS_COMPILER_FLAG(["-ftest-coverage"],
[GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"],
true)
dnl remove any -O flags - FIXME: is this needed ?
GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[0-9]*//g'`
AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1,
[Defined if gcov is enabled to force a rebuild due to config.h changing])
fi
AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
dnl package name in plugins
AC_ARG_WITH(package-name,
AC_HELP_STRING([--with-package-name],
[specify package name to use in plugins]),
[
case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
*) GST_PACKAGE="${withval}" ;;
esac
],
[
dnl default value
if test "x$GST_CVS" = "xyes"
then
dnl nano >= 1
GST_PACKAGE="GStreamer CVS/prerelease"
else
GST_PACKAGE="GStreamer source release"
fi
]
)
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
dnl package origin URL
AC_ARG_WITH(package-origin,
AC_HELP_STRING([--with-package-origin],
[specify package origin URL to use in plugins]),
[
case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
*) GST_ORIGIN="${withval}" ;;
esac
],
[GST_ORIGIN="http://gstreamer.freedesktop.org/"] dnl Default value
)
AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
dnl *** platform checks ***
dnl * hardware/architecture *
dnl common/m4/gst-arch.m4
dnl check CPU type
GST_ARCH
dnl common/m4/gst-arch.m4
dnl check for unaligned access
GST_UNALIGNED_ACCESS
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
dnl we use awk in the bison version check
AC_PROG_AWK AC_PROG_AWK
dnl we require bison for building the parser dnl we require bison for building the parser
dnl FIXME: check if AC_PROG_YACC is suitable here dnl FIXME: check if AC_PROG_YACC is suitable here
dnl FIXME: make precious
AC_PATH_PROG(BISON_PATH, bison, no) AC_PATH_PROG(BISON_PATH, bison, no)
if test x$BISON_PATH = xno; then if test x$BISON_PATH = xno; then
AC_MSG_ERROR(Could not find bison) AC_MSG_ERROR(Could not find bison)
@ -154,95 +353,135 @@ if test x$FLEX_PATH = xno; then
AC_MSG_ERROR(Could not find flex) AC_MSG_ERROR(Could not find flex)
fi fi
dnl check for large file support (affected dnl Perl is used in building documentation
dnl plugins must include config.h for this) AC_PATH_PROG(PERL_PATH, perl, no)
AC_SYS_LARGEFILE if test x$PERL_PATH = xno; then
AC_MSG_ERROR(Could not find perl)
fi
dnl check for mmap AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AC_FUNC_MMAP() AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl check for documentation tools
GST_DOCBOOK_CHECK
GTK_DOC_CHECK([1.3])
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
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])
dnl *** checks for library functions ***
AC_CHECK_FUNCS([sigaction])
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
dnl common/m4/gst-mcsc.m4
dnl check for makecontext and define HAVE_MAKECONTEXT if we have it dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
AC_CHECK_MCSC() AC_CHECK_MCSC
if test "$ac_cv_check_mcsc" = "yes"; then if test "$ac_cv_check_mcsc" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT, AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
[defined if we have makecontext ()]) [defined if we have makecontext ()])
fi fi
dnl Check for a way to display the function name in debug output dnl Check for a way to display the function name in debug output
GST_CHECK_FUNCTION() GST_CHECK_FUNCTION
dnl check if we should use -Wa,-mregnames on PowerPC, so we can use dnl test for register_printf_function
dnl symbolic register names in inline asm AC_CHECK_FUNC(register_printf_function,
if test x$HAVE_CPU_PPC = xyes ; then [
AS_COMPILER_FLAG(["-Wa,-mregnames"], GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
[GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"], AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
true) [Defined if we have register_printf_function ()])
],
GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
)
AC_SUBST(GST_PRINTF_EXTENSION_FORMAT_DEFINE)
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"
dnl *** checks for compiler characteristics ***
dnl make sure we can use "inline" from C code
AC_C_INLINE
dnl *** TODO: decide where to put ***
dnl set up gettext
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT([external])
GETTEXT_PACKAGE=gstreamer-$GST_MAJORMINOR
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
[gettext package name])
dnl define LOCALEDIR in config.h
AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
[gettext locale dir])
dnl define LIBDIR so we can inform people where we live
AS_AC_EXPAND(LIBDIR, $libdir)
AC_DEFINE_UNQUOTED([LIBDIR], "$LIBDIR",
[library dir])
dnl define an ERROR_CFLAGS Makefile variable
GST_SET_ERROR_CFLAGS($GST_CVS)
dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
dnl messages printed when running cvs builds
if test "x$GST_CVS" = "xyes"; then
AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
fi fi
AC_ARG_ENABLE(gcov, dnl *** checks for dependency libraries ***
AC_HELP_STRING([--enable-gcov],[compile with coverage profiling instrumentation (gcc only)]),
enable_gcov=$enableval,enable_gcov=no)
if test x$enable_gcov = xyes ; then
AS_COMPILER_FLAG(["-fprofile-arcs"],
[GST_INT_CFLAGS="$GST_INT_CFLAGS -fprofile-arcs"],
true)
AS_COMPILER_FLAG(["-ftest-coverage"],
[GST_INT_CFLAGS="$GST_INT_CFLAGS -ftest-coverage"],
true)
GST_INT_CFLAGS=`echo "$GST_INT_CFLAGS" | sed -e 's/-O[0-9]*//g'`
AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing]) dnl GLib
fi
AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
dnl Check for some compiler flags that optimize our code. dnl Minimum required version of GLib
if test "x$GCC" = xyes; then GLIB_REQ="2.6"
AS_COMPILER_FLAG(-fno-common,GST_INT_CFLAGS="$GST_INT_CFLAGS -fno-common",) AC_SUBST(GLIB_REQ)
fi
dnl HAVE_WIN32 currently means "disable POSIXisms".
case "$host" in
*-*-mingw*)
AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
;;
*)
;;
esac
GST_UNALIGNED_ACCESS()
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 Check for essential libraries first:
dnl ====================================
dnl === GLib 2 ===
dnl Minimum required version of GLib2
dnl required for compilation without warnings
GLIB2_REQ="2.6"
AC_SUBST(GLIB2_REQ)
dnl Check for glib2 with sugar on top dnl Check for glib2 with sugar on top
PKG_CHECK_MODULES(GLIB2, PKG_CHECK_MODULES(GLIB,
glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0, glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-2.0,
HAVE_GLIB2=yes, HAVE_GLIB=yes,
HAVE_GLIB2=no) HAVE_GLIB=no)
if test "x$HAVE_GLIB2" = "xno"; then if test "x$HAVE_GLIB" = "xno"; then
AC_MSG_ERROR([GStreamer requires GLib $GLIB2_REQ to compile.]) AC_MSG_ERROR([GStreamer requires GLib >= $GLIB_REQ to compile.])
fi fi
dnl for the poor souls who for example have glib in /usr/local dnl for the poor souls who for example have glib in /usr/local
AS_SCRUB_INCLUDE(GLIB2_CFLAGS) AS_SCRUB_INCLUDE(GLIB_CFLAGS)
GLIB_LIBS=$GLIB2_LIBS
GLIB_CFLAGS=$GLIB2_CFLAGS
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)
dnl GLib 2.8 has some bug fixes that we like, so make sure our code knows
AC_MSG_CHECKING([glib version >= 2.8]) AC_MSG_CHECKING([glib version >= 2.8])
if pkg-config --atleast-version=2.8 glib-2.0; then if pkg-config --atleast-version=2.8 glib-2.0; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
@ -254,12 +493,11 @@ fi
AC_SUBST(GST_HAVE_GLIB_2_8_DEFINE) AC_SUBST(GST_HAVE_GLIB_2_8_DEFINE)
dnl Check for glib2 without extra fat, useful for the unversioned tool frontends dnl Check for glib2 without extra fat, useful for the unversioned tool frontends
PKG_CHECK_MODULES(GLIB_ONLY, glib-2.0 >= $GLIB2_REQ) PKG_CHECK_MODULES(GLIB_ONLY, glib-2.0 >= $GLIB_REQ)
AC_SUBST(GLIB_ONLY_CFLAGS)
AC_SUBST(GLIB_ONLY_LIBS)
dnl === libxml 2 === dnl libxml 2, which is/should be optional (FIXME)
if test "x$GST_DISABLE_LOADSAVE" = "xyes" && test "x$GST_DISABLE_REGISTRY" = "xyes" if test "x$GST_DISABLE_LOADSAVE" = "xyes" && \
test "x$GST_DISABLE_REGISTRY" = "xyes"
then then
AC_MSG_NOTICE([Registry and load/save are disabled, not checking for libxml2]) AC_MSG_NOTICE([Registry and load/save are disabled, not checking for libxml2])
else else
@ -267,9 +505,6 @@ else
GST_LIBXML2_CHECK(2.4.9) GST_LIBXML2_CHECK(2.4.9)
fi fi
dnl Check for ucontext.h
AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
dnl check for "check", unit testing library/header dnl check for "check", unit testing library/header
AM_PATH_CHECK(0.9.2, AM_PATH_CHECK(0.9.2,
[ [
@ -280,287 +515,98 @@ AM_PATH_CHECK(0.9.2,
HAVE_CHECK=no) HAVE_CHECK=no)
AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes") AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
dnl ###################################################################### OPT_CFLAGS=
dnl # Check command line parameters, and set shell variables accordingly # dnl Check for some compiler flags that optimize our code.
dnl ###################################################################### if test "x$GCC" = xyes; then
AS_COMPILER_FLAG(-fno-common, OPT_CFLAGS="$OPT_CFLAGS -fno-common")
dnl FIXME: simplify all this down using a few m4 macros
AC_ARG_ENABLE(fast-stack-trash,
AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
[case "${enableval}" in
yes) USE_FAST_STACK_TRASH=yes;;
noset) USE_FAST_STACK_TRASH=no;;
no) USE_FAST_STACK_TRASH=no;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
esac],
[USE_FAST_STACK_TRASH=yes]) dnl Default value
AC_ARG_ENABLE(profiling,
AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
[case "${enableval}" in
yes) USE_PROFILING=yes ;;
no) USE_PROFILING=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
esac],
[USE_PROFILING=no]) dnl Default value
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],
[:]) 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],
[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],
[BUILD_FAILING_TESTS=no]) dnl Default value
AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
if test x$BUILD_FAILING_TESTS = xyes; then
AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
else
AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support. If you do not agree with this EULA, please press Ctrl-C before the next line is printed. By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
fi fi
AC_ARG_ENABLE(examples, dnl FIXME: decide what kind of flag this is, maybe it's not an optimization
AC_HELP_STRING([--disable-examples],[disable building examples]), dnl flag
[case "${enableval}" in dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
yes) BUILD_EXAMPLES=yes ;; dnl symbolic register names in inline asm
no) BUILD_EXAMPLES=no ;; if test x$HAVE_CPU_PPC = xyes ; then
*) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;; AS_COMPILER_FLAG(["-Wa,-mregnames"],
esac], [OPT_CFLAGS="$OPT_CFLAGS -Wa,-mregnames"])
[BUILD_EXAMPLES=yes]) dnl Default value
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
[case "${enableval}" in
yes) USE_POISONING=yes ;;
no) USE_POISONING=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
esac],
[USE_POISONING=no]) dnl Default value
dnl Next, check for the optional components:
dnl ========================================
dnl debugging stuff
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
[case "${enableval}" in
yes) USE_DEBUG=yes ;;
no) USE_DEBUG=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],
[USE_DEBUG=yes]) dnl Default value
dnl valgrind inclusion
AC_ARG_ENABLE(valgrind,
AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
[case "${enableval}" in
yes) USE_VALGRIND="$USE_DEBUG" ;;
no) USE_VALGRIND=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
esac],
[USE_VALGRIND="$USE_DEBUG"]) dnl Default value
VALGRIND_REQ="2.1"
if test "x$USE_VALGRIND" = xyes; then
PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ, USE_VALGRIND="yes", USE_VALGRIND="no")
fi
if test "x$USE_VALGRIND" = xyes; then
AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
AC_MSG_NOTICE(Using extra code paths for valgrind)
fi
AC_SUBST(VALGRIND_CFLAGS)
AC_SUBST(VALGRIND_LIBS)
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl ################################################
dnl # Set defines according to variables set above #
dnl ################################################
dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
dnl HAVE_ and it is likely to be easier to stick with the old name
if test "x$USE_FAST_STACK_TRASH" = xyes; then
AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
fi fi
if test "x$USE_POISONING" = xyes; then dnl *** FIXME: name this part
AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
fi
dnl test for sigaction()
AC_CHECK_FUNC(sigaction,
AC_DEFINE(HAVE_SIGACTION, 1,
[Defined if we have sigaction ()]))
dnl test for register_printf_function
AC_CHECK_FUNC(register_printf_function,
[
GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
[Defined if we have register_printf_function ()])
],
GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
)
AC_SUBST(GST_PRINTF_EXTENSION_FORMAT_DEFINE)
dnl test if we have dladdr(); we use it for debugging
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_GNU_SOURCE"
AC_CHECK_LIB(dl, dladdr,
AC_DEFINE(HAVE_DLADDR, 1,
[Defined if we have dladdr ()]))
CFLAGS="$save_cflags"
if test "x$USE_DEBUG" = xyes; then
GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
fi
dnl #############################
dnl # Set automake conditionals #
dnl #############################
dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
dnl HAVE_ and it is likely to be easier to stick with the old name
AM_CONDITIONAL(EXPERIMENTAL, test "x$EXPERIMENTAL" = "xyes")
AM_CONDITIONAL(BROKEN, test "x$BROKEN" = "xyes")
dnl ############################
dnl # Set up some more defines #
dnl ############################
dnl set license and copyright notice dnl set license and copyright notice
AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license]) AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
dnl package name in plugins
AC_ARG_WITH(package-name,
AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
[case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
*) GST_PACKAGE="${withval}" ;;
esac],
[
dnl default value
if test "x$GST_CVS" = "xyes"
then
dnl nano >= 1
GST_PACKAGE="GStreamer CVS/prerelease"
else
GST_PACKAGE="GStreamer source release"
fi
]
)
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
dnl package origin URL
AC_ARG_WITH(package-origin,
AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
[case "${withval}" in
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
*) GST_ORIGIN="${withval}" ;;
esac],
[GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
dnl Set location of plugin directory dnl Set location of plugin directory
AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR) AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory]) AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
AC_SUBST(PLUGINS_DIR) AC_SUBST(PLUGINS_DIR)
AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location]) AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
dnl LDFLAGS modifier defining exported symbols from built objects dnl plugin directory configure-time variable for use in Makefile.am
EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
dnl GST_PKG_*: the flags we use that are also used
dnl for external applications/.pc file
dnl GST_LIB_*: used for the main library
dnl GST_OBJ_*: the flags we use for all the objects internal to the core
dnl GST_PLUGIN_*: additional flags we use for all plugins
dnl finalize _CFLAGS and _LIBS
dnl flags exported for external applications and use in our pkg-config .pc files
dnl since glib and xml are package deps, there's no need to include their cflags
dnl in the pkg-config file
GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
AC_SUBST(GST_PKG_CFLAGS)
AC_SUBST(GST_PKG_LIBS)
AC_SUBST(GST_PKG_DEPS)
dnl flags shared for all internal objects (core libs, elements, applications)
dnl we disable deprecated internally
dnl XML, GLib, popt, GST_INT, VALGRIND, and the right include for CFLAGS
dnl no need to add XML, GLib, popt explicitly since libgstreamer pulls them in
GST_INT_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS $GST_PKG_CFLAGS \
$GST_INT_CFLAGS \$(ERROR_CFLAGS) -DGST_DISABLE_DEPRECATED"
dnl Private vars for libgst only
GST_LIB_CFLAGS="$GST_PKG_CFLAGS $GST_INT_CFLAGS \
$VALGRIND_CFLAGS -I\$(top_srcdir)"
GST_LIB_LIBS="$XML_LIBS $GLIB_LIBS -lpopt $GST_PKG_LIBS $LTLIBINTL $VALGRIND_LIBS"
GST_LIB_LDFLAGS="$GST_LT_LDFLAGS -version-info $GST_LIBVERSION -no-undefined $EXPORT_LDFLAGS"
AC_SUBST(GST_LIB_CFLAGS)
AC_SUBST(GST_LIB_LIBS)
AC_SUBST(GST_LIB_LDFLAGS)
dnl Vars for all internal objects built on libgstreamer
GST_OBJ_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)"
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
AC_SUBST(GST_OBJ_CFLAGS, "$GST_OBJ_CFLAGS")
AC_SUBST(GST_OBJ_LIBS, "$GST_OBJ_LIBS")
dnl specific additional LDFLAGS for plugins
GST_PLUGIN_LDFLAGS="-module -avoid-version -no-undefined $EXPORT_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR" plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
AC_SUBST(plugindir) AC_SUBST(plugindir)
dnl FIXME: add LIBXML_PKG here
GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
AC_SUBST(GST_PKG_DEPS)
dnl *** finalize CFLAGS, LDFLAGS, LIBS
dnl Overview:
dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
dnl GST_ALL_*: flags shared by all built objects
dnl GST_OBJ_*: additional flags to link to the core library
dnl 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)
DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
AC_SUBST(DEPRECATED_CFLAGS)
dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
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)
dnl CFLAGS: XML needs to be added because xmlPtr is used in core
dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols
dnl from LibXML
GST_ALL_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS \$(GST_OPTION_CFLAGS)"
dnl FIXME: check if LTLIBINTL is needed everywhere
dnl I presume it is given that it contains the symbols that _() stuff maps to
GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL"
dnl LDFLAGS modifier defining exported symbols from built shared objects
EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
GST_ALL_LDFLAGS="$EXPORT_LDFLAGS -no-undefined"
AC_SUBST(GST_ALL_CFLAGS)
AC_SUBST(GST_ALL_LIBS)
AC_SUBST(GST_ALL_LDFLAGS)
dnl GST_OBJ_*
dnl default vars for all internal objects built on libgstreamer
GST_OBJ_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) \$(GST_ALL_CFLAGS)"
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la \$(GST_ALL_LIBS)"
GST_OBJ_LDFLAGS="$GST_LT_LDFLAGS $GST_ALL_LDFLAGS"
AC_SUBST(GST_OBJ_CFLAGS)
AC_SUBST(GST_OBJ_LIBS)
dnl GST_PLUGIN_LDFLAGS
dnl LDFLAGS for plugins; include GST_ALL_LDFLAGS
GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
dnl ################################################## dnl ##################################################
dnl # deps for examples from manual # dnl # deps for examples from manual #
dnl ################################################## dnl ##################################################
PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0, PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no") HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
AC_SUBST(LIBGNOMEUI_CFLAGS)
AC_SUBST(LIBGNOMEUI_LIBS)
AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes") AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
dnl ################################################## dnl ##################################################
@ -569,13 +615,11 @@ dnl ##################################################
infomessages= infomessages=
dnl ######################### dnl *** output files ***
dnl # Make the output files #
dnl #########################
dnl libs/ext/Makefile dnl libs/ext/Makefile
dnl nothing there yet ! dnl nothing there yet !
AC_OUTPUT( AC_CONFIG_FILES(
Makefile Makefile
gst/Makefile gst/Makefile
gst/gstconfig.h gst/gstconfig.h
@ -654,6 +698,7 @@ pkgconfig/gstreamer-controller.pc
pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-controller-uninstalled.pc
pkgconfig/gstreamer-dataprotocol.pc pkgconfig/gstreamer-dataprotocol.pc
pkgconfig/gstreamer-dataprotocol-uninstalled.pc pkgconfig/gstreamer-dataprotocol-uninstalled.pc
gstreamer.spec, gstreamer.spec
echo "$infomessages", infomessages="$infomessages"
) )
AC_CONFIG_COMMANDS(echo "$infomessages", infomessages="$infomessages")
AC_OUTPUT

View file

@ -106,7 +106,7 @@ extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib # CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
# contains GtkObjects/GObjects and you want to document signals and properties. # contains GtkObjects/GObjects and you want to document signals and properties.
GTKDOC_CFLAGS = $(GST_OBJ_CFLAGS) -I$(top_builddir) GTKDOC_CFLAGS = $(GST_OBJ_CFLAGS)
GTKDOC_LIBS = $(GST_OBJ_LIBS) $(SCANOBJ_DEPS) GTKDOC_LIBS = $(GST_OBJ_LIBS) $(SCANOBJ_DEPS)
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC) GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)

View file

@ -5,18 +5,16 @@ static void
event_loop (GstElement * pipe) event_loop (GstElement * pipe)
{ {
GstBus *bus; GstBus *bus;
GstMessageType revent;
GstMessage *message = NULL; GstMessage *message = NULL;
bus = gst_element_get_bus (GST_ELEMENT (pipe)); bus = gst_element_get_bus (GST_ELEMENT (pipe));
while (TRUE) { while (TRUE) {
revent = gst_bus_poll (bus, GST_MESSAGE_ANY, -1); message = gst_bus_poll (bus, GST_MESSAGE_ANY, -1);
message = gst_bus_pop (bus);
g_assert (message != NULL); g_assert (message != NULL);
switch (revent) { switch (message->type) {
case GST_MESSAGE_EOS: case GST_MESSAGE_EOS:
gst_message_unref (message); gst_message_unref (message);
return; return;

View file

@ -128,17 +128,23 @@ CLEANFILES = $(built_header_make) $(built_source_make) $(as_dll_cleanfiles)
# DISTCLEANFILES is for files generated by configure # DISTCLEANFILES is for files generated by configure
DISTCLEANFILES = $(built_header_configure) DISTCLEANFILES = $(built_header_configure)
libgstreamer_@GST_MAJORMINOR@_la_CFLAGS = \ libgstreamer_@GST_MAJORMINOR@_la_CFLAGS = \
-D_GNU_SOURCE \ -D_GNU_SOURCE \
$(GST_LIB_CFLAGS) \ -DG_LOG_DOMAIN=g_log_domain_gstreamer \
-DG_LOG_DOMAIN=g_log_domain_gstreamer \ -DGST_MAJORMINOR=\""$(GST_MAJORMINOR)"\" \
-DGST_MAJORMINOR=\""$(GST_MAJORMINOR)"\" -DGST_DISABLE_DEPRECATED \
libgstreamer_@GST_MAJORMINOR@_la_LIBADD = \ $(VALGRIND_CFLAGS) \
$(GST_LIB_LIBS) $(GST_PARSE_LA) $(GST_ALL_CFLAGS)
libgstreamer_@GST_MAJORMINOR@_la_LDFLAGS = \
@GST_LT_LDFLAGS@ -version-info @GST_LIBVERSION@ \ libgstreamer_@GST_MAJORMINOR@_la_LIBADD = \
-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).* \ $(GST_PARSE_LA) \
-no-undefined $(VALGRIND_LIBS) \
$(GST_ALL_LIBS) \
$(XML_LIBS)
libgstreamer_@GST_MAJORMINOR@_la_LDFLAGS = \
$(GST_LT_LDFLAGS) \
$(GST_ALL_LDFLAGS)
libgstreamer_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst libgstreamer_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst

View file

@ -12,8 +12,7 @@ libgstbase_@GST_MAJORMINOR@_la_SOURCES = \
gsttypefindhelper.c gsttypefindhelper.c
libgstbase_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstbase_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstbase_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS) \ libgstbase_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS)
../libgstreamer-@GST_MAJORMINOR@.la
libgstbase_@GST_MAJORMINOR@_la_LDFLAGS = \ libgstbase_@GST_MAJORMINOR@_la_LDFLAGS = \
-no-undefined -no-undefined

View file

@ -21,9 +21,9 @@ libgstelements_la_SOURCES = \
gsttypefindelement.c gsttypefindelement.c
libgstelements_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstelements_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstelements_la_LIBADD = $(GST_OBJ_LIBS) \ libgstelements_la_LIBADD = \
$(top_builddir)/gst/base/libgstbase-@GST_MAJORMINOR@.la \ $(top_builddir)/gst/base/libgstbase-@GST_MAJORMINOR@.la \
$(top_builddir)/gst/libgstreamer-@GST_MAJORMINOR@.la $(GST_OBJ_LIBS)
libgstelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = \ noinst_HEADERS = \

View file

@ -1,4 +1,3 @@
plugin_LTLIBRARIES = libgstindexers.la plugin_LTLIBRARIES = libgstindexers.la
# file index uses xml # file index uses xml
@ -12,4 +11,3 @@ libgstindexers_la_SOURCES = gstindexers.c gstmemindex.c $(GST_LOADSAVE_SRC)
libgstindexers_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstindexers_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstindexers_la_LIBADD = $(GST_OBJ_LIBS) libgstindexers_la_LIBADD = $(GST_OBJ_LIBS)
libgstindexers_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstindexers_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)

View file

@ -1,7 +1,6 @@
# libgstparse.la is an optionally built helper library linked into core
noinst_LTLIBRARIES = libgstparse.la noinst_LTLIBRARIES = libgstparse.la
CLEANFILES = grammar.tab.h grammar.output CLEANFILES = grammar.tab.h grammar.output
EXTRA_DIST = grammar.y parse.l types.h EXTRA_DIST = grammar.y parse.l types.h
@ -13,8 +12,8 @@ EXTRA_DIST = grammar.y parse.l types.h
nodist_libgstparse_la_SOURCES = lex._gst_parse_yy.c grammar.tab.c nodist_libgstparse_la_SOURCES = lex._gst_parse_yy.c grammar.tab.c
CLEANFILES += grammar.tab.c lex._gst_parse_yy.c CLEANFILES += grammar.tab.c lex._gst_parse_yy.c
libgstparse_la_CFLAGS = $(GST_LIB_CFLAGS) $(DISABLE_FLEX_WARNING) libgstparse_la_CFLAGS = $(GST_ALL_CFLAGS)
libgstparse_la_LIBADD = $(GST_LIB_LIBS) libgstparse_la_LIBADD = $(GST_ALL_LIBS)
noinst_HEADERS = grammar.tab.h noinst_HEADERS = grammar.tab.h

View file

@ -12,8 +12,7 @@ libgstbase_@GST_MAJORMINOR@_la_SOURCES = \
gsttypefindhelper.c gsttypefindhelper.c
libgstbase_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstbase_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstbase_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS) \ libgstbase_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS)
../libgstreamer-@GST_MAJORMINOR@.la
libgstbase_@GST_MAJORMINOR@_la_LDFLAGS = \ libgstbase_@GST_MAJORMINOR@_la_LDFLAGS = \
-no-undefined -no-undefined

View file

@ -10,7 +10,6 @@ libgstcontroller_@GST_MAJORMINOR@_la_SOURCES = \
gstinterpolation.c \ gstinterpolation.c \
gsthelper.c gsthelper.c
libgstcontroller_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS) -I$(top_srcdir)/libs libgstcontroller_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstcontroller_@GST_MAJORMINOR@_la_LDFLAGS = @GST_LIB_LDFLAGS@ \
-no-undefined
libgstcontroller_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS) libgstcontroller_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS)
libgstcontroller_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_OBJ_LDFLAGS)

View file

@ -8,9 +8,8 @@ noinst_HEADERS = dp-private.h
libgstdataprotocol_@GST_MAJORMINOR@_la_SOURCES = \ libgstdataprotocol_@GST_MAJORMINOR@_la_SOURCES = \
dataprotocol.c dataprotocol.c
# FIXME: do this now
# remove GST_ENABLE_NEW when dataprotocol has been declared API-stable # remove GST_ENABLE_NEW when dataprotocol has been declared API-stable
libgstdataprotocol_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS) -I$(top_srcdir)/libs -DGST_ENABLE_NEW libgstdataprotocol_@GST_MAJORMINOR@_la_CFLAGS = $(GST_OBJ_CFLAGS) -DGST_ENABLE_NEW
libgstdataprotocol_@GST_MAJORMINOR@_la_LDFLAGS = @GST_LIB_LDFLAGS@ \
-no-undefined
libgstdataprotocol_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS) libgstdataprotocol_@GST_MAJORMINOR@_la_LIBADD = $(GST_OBJ_LIBS)
libgstdataprotocol_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_OBJ_LDFLAGS)

View file

@ -21,9 +21,9 @@ libgstelements_la_SOURCES = \
gsttypefindelement.c gsttypefindelement.c
libgstelements_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstelements_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstelements_la_LIBADD = $(GST_OBJ_LIBS) \ libgstelements_la_LIBADD = \
$(top_builddir)/gst/base/libgstbase-@GST_MAJORMINOR@.la \ $(top_builddir)/gst/base/libgstbase-@GST_MAJORMINOR@.la \
$(top_builddir)/gst/libgstreamer-@GST_MAJORMINOR@.la $(GST_OBJ_LIBS)
libgstelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
noinst_HEADERS = \ noinst_HEADERS = \

View file

@ -1,4 +1,3 @@
plugin_LTLIBRARIES = libgstindexers.la plugin_LTLIBRARIES = libgstindexers.la
# file index uses xml # file index uses xml
@ -12,4 +11,3 @@ libgstindexers_la_SOURCES = gstindexers.c gstmemindex.c $(GST_LOADSAVE_SRC)
libgstindexers_la_CFLAGS = $(GST_OBJ_CFLAGS) libgstindexers_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstindexers_la_LIBADD = $(GST_OBJ_LIBS) libgstindexers_la_LIBADD = $(GST_OBJ_LIBS)
libgstindexers_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstindexers_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)

View file

@ -62,20 +62,20 @@ TESTS = $(check_PROGRAMS)
noinst_HEADERS = gst/capslist.h noinst_HEADERS = gst/capslist.h
AM_CFLAGS = $(GST_OBJ_CFLAGS) $(CHECK_CFLAGS) AM_CFLAGS = $(GST_OBJ_CFLAGS) $(CHECK_CFLAGS)
LDADD = $(GST_OBJ_LIBS) \ LDADD = $(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \
$(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \ $(GST_OBJ_LIBS) \
$(CHECK_LIBS) $(CHECK_LIBS)
gst_libs_gdp_SOURCES = \ gst_libs_gdp_SOURCES = \
gst-libs/gdp.c \ gst-libs/gdp.c \
$(top_srcdir)/libs/gst/dataprotocol/dataprotocol.c $(top_srcdir)/libs/gst/dataprotocol/dataprotocol.c
# remove GST_ENABLE_NEW when dataprotocol has been declared API-stable # remove GST_ENABLE_NEW when dataprotocol has been declared API-stable
# FIXME: time to do this
gst_libs_gdp_CFLAGS = $(AM_CFLAGS) -DGST_ENABLE_NEW gst_libs_gdp_CFLAGS = $(AM_CFLAGS) -DGST_ENABLE_NEW
gst_libs_controller_LDADD = $(GST_OBJ_LIBS) \ gst_libs_controller_LDADD = \
$(top_builddir)/gst/check/libgstcheck-@GST_MAJORMINOR@.la \ $(top_builddir)/libs/gst/controller/libgstcontroller-@GST_MAJORMINOR@.la \
$(CHECK_LIBS) \ $(LDADD)
$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_MAJORMINOR@.la
# valgrind testing # valgrind testing
# these just need valgrind fixing, period # these just need valgrind fixing, period

View file

@ -5,18 +5,16 @@ static void
event_loop (GstElement * pipe) event_loop (GstElement * pipe)
{ {
GstBus *bus; GstBus *bus;
GstMessageType revent;
GstMessage *message = NULL; GstMessage *message = NULL;
bus = gst_element_get_bus (GST_ELEMENT (pipe)); bus = gst_element_get_bus (GST_ELEMENT (pipe));
while (TRUE) { while (TRUE) {
revent = gst_bus_poll (bus, GST_MESSAGE_ANY, -1); message = gst_bus_poll (bus, GST_MESSAGE_ANY, -1);
message = gst_bus_pop (bus);
g_assert (message != NULL); g_assert (message != NULL);
switch (revent) { switch (message->type) {
case GST_MESSAGE_EOS: case GST_MESSAGE_EOS:
gst_message_unref (message); gst_message_unref (message);
return; return;