4 dnl when going to/from release please set the nano (fourth number) right !
5 dnl releases only do Wall, cvs and prerelease does Werror too
6 AS_VERSION(gstreamer, GST_VERSION, 0, 9, 1, 1, GST_CVS="no", GST_CVS="yes")
8 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
10 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
12 dnl our libraries and install dirs use major.minor as a version
13 GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
14 dnl we override it here for release candidates for a new series
16 AC_SUBST(GST_MAJORMINOR)
19 dnl For interactive UNIX (a Sun thing)
22 dnl CURRENT, REVISION, AGE
23 dnl - library source changed -> increment REVISION
24 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
25 dnl - interfaces added -> increment AGE
26 dnl - interfaces removed -> AGE = 0
27 AS_LIBTOOL(GST, 6, 0, 0)
30 AC_CONFIG_SRCDIR([gst/gst.c])
31 AM_CONFIG_HEADER(config.h)
33 dnl Add parameters for aclocal
34 AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4 -I .")
40 dnl the gettext stuff needed
41 AM_GNU_GETTEXT_VERSION(0.11.5)
42 AM_GNU_GETTEXT([external])
44 GETTEXT_PACKAGE=gstreamer-$GST_MAJORMINOR
45 AC_SUBST(GETTEXT_PACKAGE)
46 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
47 [gettext package name])
49 dnl define LOCALEDIR in config.h
50 AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
51 AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
54 dnl define LIBDIR so we can inform people where we live
55 AS_AC_EXPAND(LIBDIR, $libdir)
56 AC_DEFINE_UNQUOTED([LIBDIR], "$LIBDIR",
59 dnl decide on error flags
60 dnl if we support -Wall, set it unconditionally
61 AS_COMPILER_FLAG(-Wall,
62 GST_ERROR_CFLAGS="-Wall",
64 dnl if we're in nano >= 1, add -Werror if supported
65 if test "x$GST_CVS" = "xyes"
67 AS_COMPILER_FLAG(-Werror, GST_ERROR_CFLAGS="$GST_ERROR_CFLAGS -Werror")
70 dnl We disable static building for development, for time savings
71 dnl *NOTE*: dnl this line before release, so release does static too
77 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
78 dnl messages printed when running cvs builds
79 if test "x$GST_CVS" = "xyes"; then
80 AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
83 dnl subsystems - can influence other decisions so needs to be high up
84 dnl we need to do AM_CONDITIONAL them here for automake 1.6.x compatibility
85 GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
86 AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes")
87 GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
88 AM_CONDITIONAL(GST_DISABLE_LOADSAVE, test "x$GST_DISABLE_LOADSAVE" = "xyes")
89 GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
90 AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes")
91 GST_CHECK_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
92 AM_CONDITIONAL(GST_DISABLE_TRACE, test "x$GST_DISABLE_TRACE" = "xyes")
93 GST_CHECK_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
94 AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, test "x$GST_DISABLE_ALLOC_TRACE" = "xyes")
95 GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
96 AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes")
97 GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
98 AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
99 GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
100 AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
101 GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
102 AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
103 GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
104 AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
106 dnl ##############################
107 dnl # Do automated configuration #
108 dnl ##############################
113 dnl allow for different autotools
114 AS_AUTOTOOLS_ALTERNATE()
116 dnl modify pkg-config path
117 AC_ARG_WITH(pkg-config-path,
118 AC_HELP_STRING([--with-pkg-config-path],
119 [colon-separated list of pkg-config(1) dirs]),
120 [export PKG_CONFIG_PATH=${withval}])
125 dnl Perl is used in building documentation
126 AC_PATH_PROG(PERL_PATH, perl, no)
127 if test x$PERL_PATH = xno; then
128 AC_MSG_ERROR(Could not find perl)
133 dnl we require bison for building the parser
134 dnl FIXME: check if AC_PROG_YACC is suitable here
135 AC_PATH_PROG(BISON_PATH, bison, no)
136 if test x$BISON_PATH = xno; then
137 AC_MSG_ERROR(Could not find bison)
140 dnl check bison version
141 AC_MSG_CHECKING([bison version])
143 if $BISON_PATH --version | head -n 1 | $AWK '{ if ($4 < 1.35) exit 1; else exit 0;}';
147 AC_MSG_RESULT([too old.])
148 AC_MSG_ERROR([Your bison version is too old, v1.35 or later is required.])
151 dnl we require flex for building the parser
152 dnl FIXME: check if AC_PROG_LEX is suitable here
153 AC_PATH_PROG(FLEX_PATH, flex, no)
154 if test x$FLEX_PATH = xno; then
155 AC_MSG_ERROR(Could not find flex)
159 dnl We should really use AC_SYS_LARGEFILE, but the problem is
160 dnl many of the plugins don't include "config.h". To assure
161 dnl binary compatibility, it is necessary that all gstreamer
162 dnl code be compiled with the same sizeof(off_t), so we use
163 dnl the following crude hack.
166 AC_MSG_CHECKING(for large file support)
168 #define _LARGEFILE_SOURCE
169 #define _FILE_OFFSET_BITS 64
170 #include <sys/types.h>
171 int main () { return !(sizeof(off_t) == 8); }
175 GST_PKG_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
186 if test "$ac_cv_func_mmap_fixed_mapped" = "yes" ; then
187 GST_DISABLE_OMEGA_COTHREADS=no
189 GST_DISABLE_OMEGA_COTHREADS=yes
191 dnl for future --disabling, maybe. Right now, it depends on HAVE_MMAP
192 AM_CONDITIONAL(GST_DISABLE_OMEGA_COTHREADS, test "x$GST_DISABLE_OMEGA_COTHREADS" = "xyes")
194 dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
196 if test "$ac_cv_check_mcsc" = "yes"; then
197 AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
198 [defined if we have makecontext ()])
201 dnl Check for a way to display the function name in debug output
204 dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
205 dnl symbolic register names in inline asm
206 if test x$HAVE_CPU_PPC = xyes ; then
207 AS_COMPILER_FLAG(["-Wa,-mregnames"],
208 [GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"],
213 AC_HELP_STRING([--enable-gcov],[compile with coverage profiling instrumentation (gcc only)]),
214 enable_gcov=$enableval,enable_gcov=no)
215 if test x$enable_gcov = xyes ; then
216 AS_COMPILER_FLAG(["-fprofile-arcs"],
217 [GST_INT_CFLAGS="$GST_INT_CFLAGS -fprofile-arcs"],
219 AS_COMPILER_FLAG(["-ftest-coverage"],
220 [GST_INT_CFLAGS="$GST_INT_CFLAGS -ftest-coverage"],
222 GST_INT_CFLAGS=`echo "$GST_INT_CFLAGS" | sed -e 's/-O[0-9]*//g'`
224 AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing])
226 AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
228 dnl Check for some compiler flags that optimize our code.
229 if test "x$GCC" = xyes; then
230 AS_COMPILER_FLAG(-fno-common,GST_INT_CFLAGS="$GST_INT_CFLAGS -fno-common",)
233 dnl HAVE_WIN32 currently means "disable POSIXisms".
236 AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
242 GST_UNALIGNED_ACCESS()
243 if test x${as_cv_unaligned_access} = xyes ; then
244 GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 1"
246 GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 0"
248 AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)
250 dnl Check for essential libraries first:
251 dnl ====================================
254 dnl Minimum required version of GLib2
255 dnl required for compilation without warnings
259 dnl Check for glib2 with sugar on top
260 PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
261 dnl for the poor souls who for example have glib in /usr/local
262 AS_SCRUB_INCLUDE(GLIB2_CFLAGS)
263 GLIB_LIBS=$GLIB2_LIBS
264 GLIB_CFLAGS=$GLIB2_CFLAGS
266 AC_SUBST(GLIB_CFLAGS)
268 if test "x$HAVE_GLIB2" = "xno"; then
269 AC_MSG_ERROR([GStreamer requires GLib $GLIB2_REQ to compile.])
272 dnl Check for glib2 without extra fat, useful for the unversioned tool frontends
273 PKG_CHECK_MODULES(GLIB_ONLY, glib-2.0 >= $GLIB2_REQ)
274 AC_SUBST(GLIB_ONLY_CFLAGS)
275 AC_SUBST(GLIB_ONLY_LIBS)
278 if test "x$GST_DISABLE_LOADSAVE" = "xyes" && test "x$GST_DISABLE_REGISTRY" = "xyes"
280 AC_MSG_NOTICE([Registry and load/save are disabled, not checking for libxml2])
282 dnl check for libxml2 with minimum req version
283 GST_LIBXML2_CHECK(2.4.9)
287 dnl FIXME: This test passes on popt 1.6.2, maybe earlier, but popt 1.6.2
288 dnl causes segfaults on gst_init. Write a working test if possible.
289 GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
290 AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
291 download the latest version from
292 ftp://ftp.rpm.org/pub/rpm/dist/])
294 AC_MSG_NOTICE(Checking for POPT_TABLEEND)
299 #ifndef POPT_TABLEEND
307 AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
308 download the latest version from
309 ftp://ftp.rpm.org/pub/rpm/dist/])
311 AC_SUBST(POPT_CFLAGS)
314 dnl Check for ucontext.h
315 AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
317 dnl check for "check", unit testing library/header
318 AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no)
319 AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
321 dnl ######################################################################
322 dnl # Check command line parameters, and set shell variables accordingly #
323 dnl ######################################################################
325 dnl FIXME: simplify all this down using a few m4 macros
327 AC_ARG_ENABLE(fast-stack-trash,
328 AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
329 [case "${enableval}" in
330 yes) USE_FAST_STACK_TRASH=yes;;
331 noset) USE_FAST_STACK_TRASH=no;;
332 no) USE_FAST_STACK_TRASH=no;;
333 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
335 [USE_FAST_STACK_TRASH=yes]) dnl Default value
337 AC_ARG_ENABLE(plugin-builddir,
338 AC_HELP_STRING([--enable-plugin-builddir],[allow tests/demos to use non-installed plugins]),
339 [case "${enableval}" in
340 yes) PLUGINS_USE_BUILDDIR=yes ;;
341 no) PLUGINS_USE_BUILDDIR=no ;;
342 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
344 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
346 AC_ARG_ENABLE(profiling,
347 AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
348 [case "${enableval}" in
349 yes) USE_PROFILING=yes ;;
350 no) USE_PROFILING=no ;;
351 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
353 [USE_PROFILING=no]) dnl Default value
355 dnl use a cache dir for storing element registry info.
356 dnl default to building registry in the source tree if we are enabling plugin build dir
357 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
360 dnl ${localstatedir} points to PREFIX/var
361 GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
363 AC_ARG_WITH(cachedir,
364 AC_HELP_STRING([--with-cachedir],[specify path to use for plugin and command completion registries]),
365 [case "${withval}" in
366 yes) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
367 no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
368 *) GST_CACHE_DIR="${withval}" ;;
370 [:]) dnl Default value
372 AS_AC_EXPAND(GST_CACHE_DIR, $GST_CACHE_DIR)
373 AC_DEFINE_UNQUOTED(GST_CACHE_DIR, "$GST_CACHE_DIR", [Location of registry])
374 AC_MSG_NOTICE(Using $GST_CACHE_DIR as registry cache dir)
376 dnl building of tests
378 AC_HELP_STRING([--disable-tests],[disable building test apps]),
379 [case "${enableval}" in
380 yes) BUILD_TESTS=yes ;;
381 no) BUILD_TESTS=no ;;
382 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
384 [BUILD_TESTS=yes]) dnl Default value
385 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
387 dnl tests known to fail
388 AC_ARG_ENABLE(failing-tests,
389 AC_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
390 [case "${enableval}" in
391 yes) BUILD_FAILING_TESTS=yes ;;
392 no) BUILD_FAILING_TESTS=no ;;
393 *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
395 [BUILD_FAILING_TESTS=no]) dnl Default value
396 AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
397 if test x$BUILD_FAILING_TESTS = xyes; then
398 AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
400 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.])
403 AC_ARG_ENABLE(examples,
404 AC_HELP_STRING([--disable-examples],[disable building examples]),
405 [case "${enableval}" in
406 yes) BUILD_EXAMPLES=yes ;;
407 no) BUILD_EXAMPLES=no ;;
408 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
410 [BUILD_EXAMPLES=yes]) dnl Default value
411 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
413 dnl poison destroyed objects
414 AC_ARG_ENABLE(poisoning,
415 AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
416 [case "${enableval}" in
417 yes) USE_POISONING=yes ;;
418 no) USE_POISONING=no ;;
419 *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
421 [USE_POISONING=no]) dnl Default value
423 dnl Next, check for the optional components:
424 dnl ========================================
428 AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
429 [case "${enableval}" in
430 yes) USE_DEBUG=yes ;;
432 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
434 [USE_DEBUG=yes]) dnl Default value
436 dnl valgrind inclusion
437 AC_ARG_ENABLE(valgrind,
438 AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
439 [case "${enableval}" in
440 yes) USE_VALGRIND="$USE_DEBUG" ;;
441 no) USE_VALGRIND=no ;;
442 *) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
444 [USE_VALGRIND="$USE_DEBUG"]) dnl Default value
446 if test "x$USE_VALGRIND" = xyes; then
448 PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ, USE_VALGRIND="yes", USE_VALGRIND="no")
450 if test "x$USE_VALGRIND" = xyes; then
451 AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
452 AC_MSG_NOTICE(Using extra code paths for valgrind)
454 AC_SUBST(VALGRIND_CFLAGS)
455 AC_SUBST(VALGRIND_LIBS)
457 dnl ################################################
458 dnl # Set defines according to variables set above #
459 dnl ################################################
462 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
463 dnl HAVE_ and it is likely to be easier to stick with the old name
464 if test "x$USE_FAST_STACK_TRASH" = xyes; then
465 AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
468 if test "x$USE_POISONING" = xyes; then
469 AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
472 dnl test for sigaction()
473 AC_CHECK_FUNC(sigaction,
474 AC_DEFINE(HAVE_SIGACTION, 1,
475 [Defined if we have sigaction ()]))
477 dnl test for register_printf_function
478 AC_CHECK_FUNC(register_printf_function,
480 GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
481 AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
482 [Defined if we have register_printf_function ()])
484 GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
486 AC_SUBST(GST_PRINTF_EXTENSION_FORMAT_DEFINE)
488 dnl test if we have dladdr(); we use it for debugging
489 save_cflags="$CFLAGS"
490 CFLAGS="$CFLAGS -D_GNU_SOURCE"
491 AC_CHECK_LIB(dl, dladdr,
492 AC_DEFINE(HAVE_DLADDR, 1,
493 [Defined if we have dladdr ()]))
494 CFLAGS="$save_cflags"
496 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
497 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
500 if test "x$USE_DEBUG" = xyes; then
501 GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
504 dnl #############################
505 dnl # Set automake conditionals #
506 dnl #############################
508 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
509 dnl HAVE_ and it is likely to be easier to stick with the old name
510 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
511 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
512 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
515 dnl ############################
516 dnl # Set up some more defines #
517 dnl ############################
519 dnl set license and copyright notice
520 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
522 dnl package name in plugins
523 AC_ARG_WITH(package-name,
524 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
525 [case "${withval}" in
526 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
527 no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
528 *) GST_PACKAGE="${withval}" ;;
532 if test "x$GST_CVS" = "xyes"
535 GST_PACKAGE="GStreamer CVS/prerelease"
537 GST_PACKAGE="GStreamer source release"
541 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
542 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
544 dnl package origin URL
545 AC_ARG_WITH(package-origin,
546 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
547 [case "${withval}" in
548 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
549 no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
550 *) GST_ORIGIN="${withval}" ;;
552 [GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
553 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
554 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
556 dnl Set location of plugin directory
557 AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
558 AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
559 AC_SUBST(PLUGINS_DIR)
560 AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
562 dnl Set location of uninstalled plugin directory
563 PLUGINS_BUILDDIR=`pwd`
564 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR, "$PLUGINS_BUILDDIR", [Define the uninstalled plugin directory])
565 AC_SUBST(PLUGINS_BUILDDIR)
567 dnl LDFLAGS modifier defining exported symbols from built objects
568 EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
570 dnl GST_PKG_*: the flags we use that are also used
571 dnl for external applications/.pc file
572 dnl GST_LIB_*: used for the main library
573 dnl GST_OBJ_*: the flags we use for all the objects internal to the core
574 dnl GST_PLUGIN_*: additional flags we use for all plugins
576 dnl finalize _CFLAGS and _LIBS
577 dnl flags exported for external applications and use in our pkg-config .pc files
578 dnl since glib and xml are package deps, there's no need to include their cflags
579 dnl in the pkg-config file
581 GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
582 AC_SUBST(GST_PKG_CFLAGS)
583 AC_SUBST(GST_PKG_LIBS)
584 AC_SUBST(GST_PKG_DEPS)
586 dnl flags shared for all internal objects (core libs, elements, applications)
587 dnl we disable deprecated internally
588 dnl XML, GLib, popt, GST_INT, VALGRIND, and the right include for CFLAGS
589 dnl no need to add XML, GLib, popt explicitly since libgstreamer pulls them in
590 GST_INT_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS $GST_PKG_CFLAGS \
591 $GST_INT_CFLAGS $GST_ERROR_CFLAGS -DGST_DISABLE_DEPRECATED"
593 dnl Private vars for libgst only
594 GST_LIB_CFLAGS="$GST_PKG_CFLAGS $GST_INT_CFLAGS \
595 $VALGRIND_CFLAGS -I\$(top_srcdir)"
596 GST_LIB_LIBS="$XML_LIBS $GLIB_LIBS -lpopt $GST_PKG_LIBS $LTLIBINTL $VALGRIND_LIBS"
597 GST_LIB_LDFLAGS="$GST_LT_LDFLAGS -version-info $GST_LIBVERSION -no-undefined $EXPORT_LDFLAGS"
598 AC_SUBST(GST_LIB_CFLAGS)
599 AC_SUBST(GST_LIB_LIBS)
600 AC_SUBST(GST_LIB_LDFLAGS)
602 dnl Vars for all internal objects built on libgstreamer
603 GST_OBJ_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)"
604 GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
606 AC_SUBST(GST_OBJ_CFLAGS, "$GST_OBJ_CFLAGS")
607 AC_SUBST(GST_OBJ_LIBS, "$GST_OBJ_LIBS")
609 dnl specific additional LDFLAGS for plugins
610 GST_PLUGIN_LDFLAGS="-module -avoid-version $EXPORT_LDFLAGS"
611 AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
613 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
616 dnl ##################################################
617 dnl # deps for examples from manual #
618 dnl ##################################################
620 PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
621 HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
622 AC_SUBST(LIBGNOMEUI_CFLAGS)
623 AC_SUBST(LIBGNOMEUI_LIBS)
624 AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
626 dnl ##################################################
627 dnl # Prepare informative messages to display at end #
628 dnl ##################################################
632 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
633 infomessages="$infomessages
634 *** Warning: You have configured using the --enable-plugin-builddir option.
636 This option is for development purposes only: binaries built with
637 it should be used with code in the build tree only. To build an
638 installable version, use ./configure without the --enable-plugin-builddir
639 option. Note that the autogen.sh script supplies the plugin builddir
640 option automatically -- run ./autogen.sh -- --disable-plugin-builddir to make
641 an installable build.
646 dnl #########################
647 dnl # Make the output files #
648 dnl #########################
650 dnl libs/ext/Makefile
651 dnl nothing there yet !
659 gst/indexers/Makefile
660 gst/elements/Makefile
662 gst/schedulers/Makefile
663 gst/registries/Makefile
666 libs/gst/control/Makefile
667 libs/gst/dataprotocol/Makefile
668 libs/gst/getbits/Makefile
672 tests/instantiate/Makefile
673 tests/memchunk/Makefile
674 tests/muxing/Makefile
675 tests/seeking/Makefile
677 tests/threadstate/Makefile
679 testsuite/bytestream/Makefile
680 testsuite/caps/Makefile
681 testsuite/cleanup/Makefile
682 testsuite/debug/Makefile
683 testsuite/dlopen/Makefile
684 testsuite/dynparams/Makefile
685 testsuite/elements/Makefile
686 testsuite/indexers/Makefile
687 testsuite/negotiation/Makefile
688 testsuite/pad/Makefile
689 testsuite/parse/Makefile
690 testsuite/plugin/Makefile
691 testsuite/refcounting/Makefile
692 testsuite/schedulers/Makefile
693 testsuite/states/Makefile
694 testsuite/threads/Makefile
695 testsuite/trigger/Makefile
697 examples/cutter/Makefile
698 examples/helloworld/Makefile
699 examples/launch/Makefile
700 examples/manual/Makefile
701 examples/mixer/Makefile
702 examples/pingpong/Makefile
703 examples/plugins/Makefile
704 examples/queue/Makefile
705 examples/queue2/Makefile
706 examples/queue3/Makefile
707 examples/queue4/Makefile
708 examples/retag/Makefile
709 examples/thread/Makefile
710 examples/typefind/Makefile
711 examples/xml/Makefile
720 docs/plugins/Makefile
721 docs/plugins/gstreamer-plugins.types
724 docs/version.entities
727 pkgconfig/gstreamer.pc
728 pkgconfig/gstreamer-uninstalled.pc
729 pkgconfig/gstreamer-base.pc
730 pkgconfig/gstreamer-base-uninstalled.pc
731 pkgconfig/gstreamer-control.pc
732 pkgconfig/gstreamer-control-uninstalled.pc
734 echo "$infomessages", infomessages="$infomessages"