2 AC_CANONICAL_TARGET([])
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, 8, 1, 2, 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
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, 2, 0, 1)
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")
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",
55 dnl decide on error flags
56 dnl if we support -Wall, set it unconditionally
57 AS_COMPILER_FLAG(-Wall,
58 GST_ERROR_CFLAGS="-Wall",
60 dnl if we're in nano >= 1, add -Werror if supported
61 if test "x$GST_CVS" = "xyes"
63 AS_COMPILER_FLAG(-Werror, GST_ERROR_CFLAGS="$GST_ERROR_CFLAGS -Werror")
66 dnl We disable static building for development, for time savings
67 dnl *NOTE*: dnl this line before release, so release does static too
73 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
74 dnl messages printed when running cvs builds
75 if test "x$GST_CVS" = "xyes"; then
76 AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
79 dnl subsystems - can influence other decisions so needs to be high up
80 dnl we need to do AM_CONDITIONAL them here for automake 1.6.x compatibility
81 GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
82 AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes")
83 GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
84 AM_CONDITIONAL(GST_DISABLE_LOADSAVE, test "x$GST_DISABLE_LOADSAVE" = "xyes")
85 GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
86 AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes")
87 GST_CHECK_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
88 AM_CONDITIONAL(GST_DISABLE_TRACE, test "x$GST_DISABLE_TRACE" = "xyes")
89 GST_CHECK_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
90 AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, test "x$GST_DISABLE_ALLOC_TRACE" = "xyes")
91 GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
92 AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes")
93 GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
94 AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
95 GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
96 AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
97 GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
98 AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
99 GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
100 AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
102 dnl ##############################
103 dnl # Do automated configuration #
104 dnl ##############################
109 dnl allow for different autotools
110 AS_AUTOTOOLS_ALTERNATE()
112 dnl modify pkg-config path
113 AC_ARG_WITH(pkg-config-path,
114 AC_HELP_STRING([--with-pkg-config-path],
115 [colon-separated list of pkg-config(1) dirs]),
116 [export PKG_CONFIG_PATH=${withval}])
121 dnl Perl is used in building documentation
122 AC_PATH_PROG(PERL_PATH, perl, no)
123 if test x$PERL_PATH = xno; then
124 AC_MSG_ERROR(Could not find perl)
129 dnl we require bison for building the parser
130 dnl FIXME: check if AC_PROG_YACC is suitable here
131 AC_PATH_PROG(BISON_PATH, bison, no)
132 if test x$BISON_PATH = xno; then
133 AC_MSG_ERROR(Could not find bison)
136 dnl check bison version
137 AC_MSG_CHECKING([bison version])
139 if $BISON_PATH --version | head -n 1 | $AWK '{ if ($4 < 1.35) exit 1; else exit 0;}';
143 AC_MSG_RESULT([too old.])
144 AC_MSG_ERROR([Your bison version is too old, v1.35 or later is required.])
147 dnl we require flex for building the parser
148 dnl FIXME: check if AC_PROG_LEX is suitable here
149 AC_PATH_PROG(FLEX_PATH, flex, no)
150 if test x$FLEX_PATH = xno; then
151 AC_MSG_ERROR(Could not find flex)
155 dnl We should really use AC_SYS_LARGEFILE, but the problem is
156 dnl many of the plugins don't include "config.h". To assure
157 dnl binary compatibility, it is necessary that all gstreamer
158 dnl code be compiled with the same sizeof(off_t), so we use
159 dnl the following crude hack.
162 AC_MSG_CHECKING(for large file support)
164 #define _LARGEFILE_SOURCE
165 #define _FILE_OFFSET_BITS 64
166 #include <sys/types.h>
167 int main () { return !(sizeof(off_t) == 8); }
171 GST_PKG_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
179 if test "$ac_cv_func_mmap_fixed_mapped" = "yes" ; then
180 GST_DISABLE_OMEGA_COTHREADS=no
182 GST_DISABLE_OMEGA_COTHREADS=yes
184 dnl for future --disabling, maybe. Right now, it depends on HAVE_MMAP
185 AM_CONDITIONAL(GST_DISABLE_OMEGA_COTHREADS, test "x$GST_DISABLE_OMEGA_COTHREADS" = "xyes")
187 dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
189 if test "$ac_cv_check_mcsc" = "yes"; then
190 AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
191 [defined if we have makecontext ()])
194 dnl Check for a way to display the function name in debug output
197 dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
198 dnl symbolic register names in inline asm
199 if test x$HAVE_CPU_PPC = xyes ; then
200 AS_COMPILER_FLAG(["-Wa,-mregnames"],
201 [GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"],
206 AC_HELP_STRING([--enable-gcov],[compile with coverage profiling instrumentation (gcc only)]),
207 enable_gcov=$enableval,enable_gcov=no)
208 if test x$enable_gcov = xyes ; then
209 AS_COMPILER_FLAG(["-fprofile-arcs"],
210 [GST_INT_CFLAGS="$GST_INT_CFLAGS -fprofile-arcs"],
212 AS_COMPILER_FLAG(["-ftest-coverage"],
213 [GST_INT_CFLAGS="$GST_INT_CFLAGS -ftest-coverage"],
215 GST_INT_CFLAGS=`echo "$GST_INT_CFLAGS" | sed -e 's/-O[0-9]*//g'`
217 AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing])
219 AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
221 dnl Check for some compiler flags that optimize our code.
222 dnl Only enable this for CVS builds for now
223 if test "x$GST_CVS" = "xyes"; then
224 AS_COMPILER_FLAG(-fno-common,GST_INT_CFLAGS="$GST_INT_CFLAGS -fno-common",)
227 dnl HAVE_WIN32 currently means "disable POSIXisms".
230 AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
236 GST_UNALIGNED_ACCESS()
237 if test x${as_cv_unaligned_access} = xyes ; then
238 GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 1"
240 GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 0"
242 AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)
244 dnl Check for essential libraries first:
245 dnl ====================================
248 dnl Minimum required version of GLib2
249 dnl required for compilation without warnings
253 dnl Check for glib2 with sugar on top
254 PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
255 dnl for the poor souls who for example have glib in /usr/local
256 AS_SCRUB_INCLUDE(GLIB2_CFLAGS)
257 GLIB_LIBS=$GLIB2_LIBS
258 GLIB_CFLAGS=$GLIB2_CFLAGS
260 AC_SUBST(GLIB_CFLAGS)
262 if test "x$HAVE_GLIB2" = "xno"; then
263 AC_MSG_ERROR([GStreamer requires GLib $GLIB2_REQ to compile.])
266 dnl Check for glib2 without extra fat, useful for the unversioned tool frontends
267 PKG_CHECK_MODULES(GLIB_ONLY, glib-2.0 >= $GLIB2_REQ)
268 AC_SUBST(GLIB_ONLY_CFLAGS)
269 AC_SUBST(GLIB_ONLY_LIBS)
272 if test "x$GST_DISABLE_LOADSAVE" = "xyes" && test "x$GST_DISABLE_REGISTRY" = "xyes"
274 AC_MSG_NOTICE([Registry and load/save are disabled, not checking for libxml2])
276 dnl check for libxml2 with minimum req version
277 GST_LIBXML2_CHECK(2.4.9)
281 dnl FIXME: This test passes on popt 1.6.2, maybe earlier, but popt 1.6.2
282 dnl causes segfaults on gst_init. Write a working test if possible.
283 GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
284 AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
285 download the latest version from
286 ftp://ftp.rpm.org/pub/rpm/dist/])
288 AC_MSG_NOTICE(Checking for POPT_TABLEEND)
293 #ifndef POPT_TABLEEND
301 AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
302 download the latest version from
303 ftp://ftp.rpm.org/pub/rpm/dist/])
307 dnl Check for ucontext.h
308 AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
310 dnl ######################################################################
311 dnl # Check command line parameters, and set shell variables accordingly #
312 dnl ######################################################################
314 dnl FIXME: simplify all this down using a few m4 macros
316 AC_ARG_ENABLE(libmmx,
317 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
318 [case "${enableval}" in
319 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
321 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
323 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
325 AC_ARG_ENABLE(fast-stack-trash,
326 AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
327 [case "${enableval}" in
328 yes) USE_FAST_STACK_TRASH=yes;;
329 noset) USE_FAST_STACK_TRASH=no;;
330 no) USE_FAST_STACK_TRASH=no;;
331 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
333 [USE_FAST_STACK_TRASH=yes]) dnl Default value
335 AC_ARG_ENABLE(plugin-builddir,
336 AC_HELP_STRING([--enable-plugin-builddir],[allow tests/demos to use non-installed plugins]),
337 [case "${enableval}" in
338 yes) PLUGINS_USE_BUILDDIR=yes ;;
339 no) PLUGINS_USE_BUILDDIR=no ;;
340 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
342 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
344 AC_ARG_ENABLE(profiling,
345 AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
346 [case "${enableval}" in
347 yes) USE_PROFILING=yes ;;
348 no) USE_PROFILING=no ;;
349 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
351 [USE_PROFILING=no]) dnl Default value
353 dnl use a cache dir for storing element registry info.
354 dnl default to building registry in the source tree if we are enabling plugin build dir
355 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
358 dnl ${localstatedir} points to PREFIX/var
359 GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
361 AC_ARG_WITH(cachedir,
362 AC_HELP_STRING([--with-cachedir],[specify path to use for plugin and command completion registries]),
363 [case "${withval}" in
364 yes) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
365 no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
366 *) GST_CACHE_DIR="${withval}" ;;
368 [:]) dnl Default value
370 AS_AC_EXPAND(GST_CACHE_DIR, $GST_CACHE_DIR)
371 AC_DEFINE_UNQUOTED(GST_CACHE_DIR, "$GST_CACHE_DIR", [Location of registry])
372 AC_MSG_NOTICE(Using $GST_CACHE_DIR as registry cache dir)
374 dnl building of tests
376 AC_HELP_STRING([--disable-tests],[disable building test apps]),
377 [case "${enableval}" in
378 yes) BUILD_TESTS=yes ;;
379 no) BUILD_TESTS=no ;;
380 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
382 [BUILD_TESTS=yes]) dnl Default value
383 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
385 dnl tests known to fail
386 AC_ARG_ENABLE(failing-tests,
387 AC_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
388 [case "${enableval}" in
389 yes) BUILD_FAILING_TESTS=yes ;;
390 no) BUILD_FAILING_TESTS=no ;;
391 *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
393 [BUILD_FAILING_TESTS=no]) dnl Default value
394 AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
395 if test x$BUILD_FAILING_TESTS = xyes; then
396 AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
398 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.])
401 AC_ARG_ENABLE(examples,
402 AC_HELP_STRING([--disable-examples],[disable building examples]),
403 [case "${enableval}" in
404 yes) BUILD_EXAMPLES=yes ;;
405 no) BUILD_EXAMPLES=no ;;
406 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
408 [BUILD_EXAMPLES=yes]) dnl Default value
409 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
411 dnl poison destroyed objects
412 AC_ARG_ENABLE(poisoning,
413 AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
414 [case "${enableval}" in
415 yes) USE_POISONING=yes ;;
416 no) USE_POISONING=no ;;
417 *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
419 [USE_POISONING=no]) dnl Default value
421 dnl Next, check for the optional components:
422 dnl ========================================
426 AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
427 [case "${enableval}" in
428 yes) USE_DEBUG=yes ;;
430 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
432 [USE_DEBUG=yes]) dnl Default value
434 dnl valgrind inclusion
435 USE_VALGRIND="$USE_DEBUG"
436 if test "x$USE_VALGRIND" = xyes; then
437 PKG_CHECK_MODULES(VALGRIND, valgrind, USE_VALGRIND="yes", USE_VALGRIND="no")
439 if test "x$USE_VALGRIND" = xyes; then
440 AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
441 AC_MSG_NOTICE(Using extra code paths for valgrind)
443 AC_SUBST(VALGRIND_CFLAGS)
444 AC_SUBST(VALGRIND_LIBS)
446 dnl ################################################
447 dnl # Set defines according to variables set above #
448 dnl ################################################
451 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
452 dnl HAVE_ and it is likely to be easier to stick with the old name
453 if test "x$USE_LIBMMX" = xyes; then
454 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
457 if test "x$USE_FAST_STACK_TRASH" = xyes; then
458 AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
461 if test "x$USE_POISONING" = xyes; then
462 AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
465 dnl test for sigaction()
466 AC_CHECK_FUNC(sigaction,
467 AC_DEFINE(HAVE_SIGACTION, 1,
468 [Defined if we have sigaction ()]))
470 dnl test for register_printf_function
471 AC_CHECK_FUNC(register_printf_function,
473 GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
474 AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
475 [Defined if we have register_printf_function ()])
477 GST_PRINTF_EXTENSION_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
479 AC_SUBST(GST_PRINTF_EXTENSION_FORMAT_DEFINE)
481 dnl test if we have dladdr(); we use it for debugging
482 save_cflags="$CFLAGS"
483 CFLAGS="$CFLAGS -D_GNU_SOURCE"
484 AC_CHECK_LIB(dl, dladdr,
485 AC_DEFINE(HAVE_DLADDR, 1,
486 [Defined if we have dladdr ()]))
487 CFLAGS="$save_cflags"
489 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
490 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
493 if test "x$USE_DEBUG" = xyes; then
494 GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
497 dnl #############################
498 dnl # Set automake conditionals #
499 dnl #############################
501 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
502 dnl HAVE_ and it is likely to be easier to stick with the old name
503 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
504 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
505 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
508 dnl ############################
509 dnl # Set up some more defines #
510 dnl ############################
512 dnl set license and copyright notice
513 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
514 dnl package name in plugins
515 AC_ARG_WITH(package-name,
516 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
517 [case "${withval}" in
518 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
519 no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
520 *) GST_PACKAGE="${withval}" ;;
522 [GST_PACKAGE="GStreamer"]) dnl Default value
523 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
524 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
525 dnl package origin URL
526 AC_ARG_WITH(package-origin,
527 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
528 [case "${withval}" in
529 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
530 no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
531 *) GST_ORIGIN="${withval}" ;;
533 [GST_ORIGIN="http://gstreamer.net/"]) dnl Default value
534 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
535 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
537 dnl Set location of plugin directory
538 AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
539 AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
540 AC_SUBST(PLUGINS_DIR)
541 AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
543 dnl Set location of uninstalled plugin directory
544 PLUGINS_BUILDDIR=`pwd`
545 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR, "$PLUGINS_BUILDDIR", [Define the uninstalled plugin directory])
546 AC_SUBST(PLUGINS_BUILDDIR)
548 dnl LDFLAGS modifier defining exported symbols from built objects
549 EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
551 dnl GST_PKG_*: the flags we use that are also used
552 dnl for external applications/.pc file
553 dnl GST_LIB_*: used for the main library
554 dnl GST_OBJ_*: the flags we use for all the objects internal to the core
555 dnl GST_PLUGIN_*: additional flags we use for all plugins
557 dnl finalize _CFLAGS and _LIBS
558 dnl flags exported for external applications and use in our pkg-config .pc files
559 dnl since glib and xml are package deps, there's no need to include their cflags
560 dnl in the pkg-config file
562 GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
563 AC_SUBST(GST_PKG_CFLAGS)
564 AC_SUBST(GST_PKG_LIBS)
565 AC_SUBST(GST_PKG_DEPS)
567 dnl flags shared for all internal objects (core libs, elements, applications)
568 dnl we disable deprecated internally
569 dnl XML, GLib, popt, GST_INT, VALGRIND, and the right include for CFLAGS
570 dnl no need to add XML, GLib, popt explicitly since libgstreamer pulls them in
571 GST_INT_CFLAGS="$GLIB_CFLAGS $XML_CFLAGS $GST_PKG_CFLAGS \
572 $GST_INT_CFLAGS $GST_ERROR_CFLAGS -DGST_DISABLE_DEPRECATED"
574 dnl Private vars for libgst only
575 GST_LIB_CFLAGS="$GST_PKG_CFLAGS $GST_INT_CFLAGS \
576 $VALGRIND_CFLAGS -I\$(top_srcdir)"
577 GST_LIB_LIBS="$XML_LIBS $GLIB_LIBS -lpopt $GST_PKG_LIBS $VALGRIND_LIBS"
578 GST_LIB_LDFLAGS="$GST_LT_LDFLAGS -version-info $GST_LIBVERSION $EXPORT_LDFLAGS"
579 AC_SUBST(GST_LIB_CFLAGS)
580 AC_SUBST(GST_LIB_LIBS)
581 AC_SUBST(GST_LIB_LDFLAGS)
583 dnl Vars for all internal objects built on libgstreamer
584 GST_OBJ_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)"
585 GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
587 AC_SUBST(GST_OBJ_CFLAGS, "$GST_OBJ_CFLAGS")
588 AC_SUBST(GST_OBJ_LIBS, "$GST_OBJ_LIBS")
590 dnl specific additional LDFLAGS for plugins
591 GST_PLUGIN_LDFLAGS="-module -avoid-version $EXPORT_LDFLAGS"
592 AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
594 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
597 dnl ##################################################
598 dnl # deps for examples from manual #
599 dnl ##################################################
601 PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
602 HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
603 AC_SUBST(LIBGNOMEUI_CFLAGS)
604 AC_SUBST(LIBGNOMEUI_LIBS)
605 AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
607 dnl ##################################################
608 dnl # Prepare informative messages to display at end #
609 dnl ##################################################
613 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
614 infomessages="$infomessages
615 *** Warning: You have configured using the --enable-plugin-builddir option.
617 This option is for development purposes only: binaries built with
618 it should be used with code in the build tree only. To build an
619 installable version, use ./configure without the --enable-plugin-builddir
620 option. Note that the autogen.sh script supplies the plugin builddir
621 option automatically -- run ./autogen.sh -- --disable-plugin-builddir to make
622 an installable build.
627 dnl #########################
628 dnl # Make the output files #
629 dnl #########################
631 dnl libs/ext/Makefile
632 dnl nothing there yet !
639 gst/autoplug/Makefile
640 gst/indexers/Makefile
641 gst/elements/Makefile
643 gst/schedulers/Makefile
644 gst/registries/Makefile
647 libs/gst/bytestream/Makefile
648 libs/gst/control/Makefile
649 libs/gst/dataprotocol/Makefile
650 libs/gst/getbits/Makefile
653 tests/bufspeed/Makefile
654 tests/instantiate/Makefile
655 tests/memchunk/Makefile
656 tests/muxing/Makefile
657 tests/seeking/Makefile
659 tests/threadstate/Makefile
661 testsuite/bins/Makefile
662 testsuite/bytestream/Makefile
663 testsuite/caps/Makefile
664 testsuite/cleanup/Makefile
665 testsuite/clock/Makefile
666 testsuite/debug/Makefile
667 testsuite/dlopen/Makefile
668 testsuite/dynparams/Makefile
669 testsuite/elements/Makefile
670 testsuite/ghostpads/Makefile
671 testsuite/indexers/Makefile
672 testsuite/negotiation/Makefile
673 testsuite/parse/Makefile
674 testsuite/plugin/Makefile
675 testsuite/refcounting/Makefile
676 testsuite/schedulers/Makefile
677 testsuite/tags/Makefile
678 testsuite/threads/Makefile
680 examples/cutter/Makefile
681 examples/helloworld/Makefile
682 examples/launch/Makefile
683 examples/manual/Makefile
684 examples/mixer/Makefile
685 examples/pingpong/Makefile
686 examples/plugins/Makefile
687 examples/queue/Makefile
688 examples/queue2/Makefile
689 examples/queue3/Makefile
690 examples/queue4/Makefile
691 examples/retag/Makefile
692 examples/thread/Makefile
693 examples/typefind/Makefile
694 examples/xml/Makefile
703 docs/plugins/Makefile
704 docs/plugins/gstreamer-plugins.types
707 docs/version.entities
710 pkgconfig/gstreamer.pc
711 pkgconfig/gstreamer-uninstalled.pc
712 pkgconfig/gstreamer-control.pc
713 pkgconfig/gstreamer-control-uninstalled.pc
715 echo "$infomessages", infomessages="$infomessages"