update plugin initialization restructuring (see email for details
[platform/upstream/gstreamer.git] / configure.ac
1 AC_INIT
2 AC_CANONICAL_TARGET([])
3
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, 7, 1, 1, GST_CVS="no", GST_CVS="yes")
7
8 if test x$program_suffix = xNONE ; then
9   program_suffix=-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
10 fi
11
12 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
13 AM_MAINTAINER_MODE
14 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
15
16 dnl our libraries and install dirs use major.minor as a version
17 GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
18 AC_SUBST(GST_MAJORMINOR)
19
20 AC_PROG_CC
21 dnl For interactive UNIX (a Sun thing)
22 AC_ISC_POSIX
23
24 dnl CURRENT, REVISION, AGE
25 dnl - library source changed -> increment REVISION
26 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
27 dnl - interfaces added -> increment AGE
28 dnl - interfaces removed -> AGE = 0
29 AS_LIBTOOL(GST, 3, 0, 0)
30
31 AC_CONFIG_SRCDIR([gst/gst.c])
32 AM_CONFIG_HEADER(config.h)
33
34 dnl Add parameters for aclocal
35 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
36 ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
37
38 AM_PROG_CC_STDC
39 AM_PROG_AS
40 AS="${CC}"
41
42 dnl AC_PROC_INTLTOOL([0.26])
43 dnl AM_GNU_GETTEXT([external])
44 ALL_LINGUAS="de es no nl"
45 GETTEXT_PACKAGE=gstreamer-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
46 AC_SUBST(GETTEXT_PACKAGE)
47 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],"$GETTEXT_PACKAGE",[gettext package name])
48 AM_GLIB_GNU_GETTEXT
49
50 AM_GLIB_DEFINE_LOCALEDIR(GST_LOCALEDIR)
51
52 dnl decide on error flags
53 AS_COMPILER_FLAG(-Wall,GST_ERROR="$GST_ERROR -Wall",GST_ERROR="$GST_ERROR")
54 if test "x$GST_CVS" = "xyes"; then
55   AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
56 fi
57
58 dnl We disable static building for development, for time savings
59 dnl *NOTE*: dnl this line before release, so release does static too
60 dnl AM_DISABLE_STATIC
61
62 AC_HEADER_STDC([])
63
64
65 dnl ##############################
66 dnl # Do automated configuration #
67 dnl ##############################
68
69 dnl Check for tools:
70 dnl ================
71
72 dnl allow for different autotools
73 AS_AUTOTOOLS_ALTERNATE()
74
75 dnl modify pkg-config path
76 AC_ARG_WITH(pkg-config-path, 
77    AC_HELP_STRING([--with-pkg-config-path],
78                   [colon-separated list of pkg-config(1) dirs]),
79    [export PKG_CONFIG_PATH=${withval}])
80
81 GST_DOC()
82 GST_ARCH()
83
84 dnl Perl is used in building documentation
85 AC_PATH_PROG(PERL_PATH, perl, no)
86 if test x$PERL_PATH = xno; then
87   AC_MSG_ERROR(Could not find perl)
88 fi
89
90 dnl we require bison for building of some of the marshal files
91 dnl FIXME: check if AC_PROG_YACC is suitable here
92 AC_PATH_PROG(BISON_PATH, bison, no)
93 if test x$BISON_PATH = xno; then
94   AC_MSG_ERROR(Could not find bison)
95 fi
96
97 dnl we require flex for building the parser
98 dnl FIXME: check if AC_PROG_LEX is suitable here
99 AC_PATH_PROG(FLEX_PATH, flex, no)
100 if test x$FLEX_PATH = xno; then
101   AC_MSG_ERROR(Could not find flex)
102 fi
103
104 dnl
105 dnl We should really use AC_SYS_LARGEFILE, but the problem is
106 dnl many of the plugins don't include "config.h".  To assure
107 dnl binary compatibility, it is necessary that all gstreamer
108 dnl code be compiled with the same sizeof(off_t), so we use
109 dnl the following crude hack.
110 dnl
111
112 dnl
113 dnl GST_CFLAGS are split up as GST_EXT_CFLAGS and GST_INT_CFLAGS
114 dnl same for libs
115 dnl this is so we can make GST_CFLAGS for external modules available
116 dnl without mixing in internal (uninstalled) CFLAGS
117 dnl
118
119 dnl disable deprecated functions internally
120 GST_INT_CFLAGS="-DGST_DISABLE_DEPRECATED"
121
122 AC_MSG_CHECKING(for large file support)
123 AC_TRY_RUN([
124 #define _LARGEFILE_SOURCE
125 #define _FILE_OFFSET_BITS 64
126 #include <sys/types.h>
127 int main () { return !(sizeof(off_t) == 8); }
128 ],
129 [
130 AC_MSG_RESULT(yes)
131 GST_EXT_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
132 ],
133 [
134 AC_MSG_RESULT(no)
135 ],
136 [
137 AC_MSG_RESULT(no)
138 ])
139
140 dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
141 AC_CHECK_MCSC()
142 if test "$ac_cv_check_mcsc" == "yes"; then
143   AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
144                      [defined if we have makecontext ()])
145 fi
146
147 dnl Check for a way to display the function name in debug output
148 GST_CHECK_FUNCTION()
149
150 dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
151 dnl symbolic register names in inline asm
152 if test x$HAVE_CPU_PPC = xyes ; then
153   AS_COMPILER_FLAG(["-Wa,-mregnames"],
154     [GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"],
155     true)
156 fi
157
158
159 dnl Check for essential libraries first:
160 dnl ====================================
161
162 dnl === GLib 2 ===
163 dnl Minimum required version of GLib2
164 dnl required for compilation without warnings
165 GLIB2_REQ="2.0.1"
166 AC_SUBST(GLIB2_REQ)
167
168 dnl Check for glib2
169 PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
170 GLIB_LIBS=$GLIB2_LIBS
171 GLIB_CFLAGS=$GLIB2_CFLAGS
172 AC_SUBST(GLIB_LIBS)
173 AC_SUBST(GLIB_CFLAGS)
174
175 if test "x$HAVE_GLIB2" = "xno"; then
176   AC_MSG_ERROR([GStreamer requires GLib 2.0 to compile.])
177 fi
178
179 GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
180 AC_SUBST(GST_PKG_DEPS)
181   
182 dnl === libxml 2 ===
183 dnl Minimum required version of libxml2
184 LIBXML2_REQ="2.4.9"
185 AC_SUBST(LIBXML2_REQ)
186
187 dnl check for libxml2
188 GST_LIBXML2_CHECK()
189
190 dnl popt checks
191 dnl FIXME: This test passes on popt 1.6.2, maybe earlier, but popt 1.6.2
192 dnl        causes segfaults on gst_init. Write a working test if possible.
193 GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
194   AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
195                 download the latest version from 
196                 ftp://ftp.rpm.org/pub/rpm/dist/])
197 )
198 AC_MSG_NOTICE(Checking for POPT_TABLEEND)
199 AC_COMPILE_IFELSE([
200 #include <popt.h>
201 int main ()
202 {
203 #ifndef POPT_TABLEEND
204 #error
205 #else
206   return 0;
207 #endif
208 }
209 ],, [
210   dnl it failed
211   AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
212                 download the latest version from 
213                 ftp://ftp.rpm.org/pub/rpm/dist/])
214 ])
215
216 dnl Check for atomic.h
217 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
218 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
219 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
220 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
221 if test x$HAVE_ATOMIC_H = xyes; then
222   AC_LINK_IFELSE([
223 #include "asm/atomic.h"
224 main() {atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
225   ],, [
226     # Not successful
227     if test x$HAVE_ATOMIC_H = xyes; then
228       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
229     fi
230     HAVE_ATOMIC_H=no
231   ])
232 fi
233
234 dnl Check for ucontext.h
235 AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))
236
237 dnl ######################################################################
238 dnl # Check command line parameters, and set shell variables accordingly #
239 dnl ######################################################################
240
241 dnl FIXME: simplify all this down using a few m4 macros
242
243 AC_ARG_ENABLE(libmmx,
244 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
245 [case "${enableval}" in
246   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
247   no)  USE_LIBMMX=no ;;
248   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
249 esac], 
250 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
251
252 AC_ARG_ENABLE(atomic,
253 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
254 [case "${enableval}" in
255   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
256   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
257   no)  USE_ATOMIC_H=no;;
258   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
259 esac], 
260 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
261
262 AC_ARG_ENABLE(fast-stack-trash,
263 AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
264 [case "${enableval}" in
265   yes) USE_FAST_STACK_TRASH=yes;;
266   noset) USE_FAST_STACK_TRASH=no;;
267   no)  USE_FAST_STACK_TRASH=no;;
268   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
269 esac], 
270 [USE_FAST_STACK_TRASH=yes]) dnl Default value
271
272 AC_ARG_ENABLE(plugin-builddir,
273 AC_HELP_STRING([--enable-plugin-builddir],[allow tests/demos to use non-installed plugins]),
274 [case "${enableval}" in
275   yes) PLUGINS_USE_BUILDDIR=yes ;;
276   no)  PLUGINS_USE_BUILDDIR=no ;;
277   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
278 esac], 
279 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
280
281 AC_ARG_ENABLE(profiling,
282 AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
283 [case "${enableval}" in
284   yes) USE_PROFILING=yes ;;
285   no)  UES_PROFILING=no ;;
286   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
287 esac], 
288 [USE_PROFILING=no]) dnl Default value
289
290 dnl use a cache dir for storing element registry info.
291 dnl default to building registry in the source tree if we are enabling plugin build dir
292 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
293   GST_CACHE_DIR=`pwd`
294 else
295   dnl ${localstatedir} points to PREFIX/var
296   GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
297 fi
298 AC_ARG_WITH(cachedir,
299 AC_HELP_STRING([--with-cachedir],[specify path to use for plugin and command completion registries]),
300 [case "${withval}" in
301   yes) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
302   no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
303   *) GST_CACHE_DIR="${withval}" ;;
304 esac], 
305 [:]) dnl Default value
306
307 AS_AC_EXPAND(GST_CACHE_DIR, $GST_CACHE_DIR)
308 AC_MSG_NOTICE(Using $GST_CACHE_DIR as registry cache dir)
309
310
311 dnl building of tests
312 AC_ARG_ENABLE(tests,
313 AC_HELP_STRING([--disable-tests],[disable building test apps]),
314 [case "${enableval}" in
315   yes) BUILD_TESTS=yes ;;
316   no)  BUILD_TESTS=no ;;
317   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
318 esac], 
319 [BUILD_TESTS=yes]) dnl Default value
320 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
321
322 dnl tests known to fail
323 AC_ARG_ENABLE(failing-tests,
324 AC_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
325 [case "${enableval}" in
326   yes) BUILD_FAILING_TESTS=yes ;;
327   no)  BUILD_FAILING_TESTS=no ;;
328   *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
329 esac], 
330 [BUILD_FAILING_TESTS=no]) dnl Default value
331 AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
332 if test x$BUILD_FAILING_TESTS = xyes; then
333   AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
334 else
335   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.])
336 fi
337
338 AC_ARG_ENABLE(examples,
339 AC_HELP_STRING([--disable-examples],[disable building examples]),
340 [case "${enableval}" in
341   yes) BUILD_EXAMPLES=yes ;;
342   no)  BUILD_EXAMPLES=no ;;
343   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
344 esac], 
345 [BUILD_EXAMPLES=yes]) dnl Default value
346 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
347
348 dnl poison destroyed objects
349 AC_ARG_ENABLE(poisoning,
350 AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
351 [case "${enableval}" in
352   yes) USE_POISONING=yes ;;
353   no)  USE_POISONING=no ;;
354   *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
355 esac], 
356 [USE_POISONING=no]) dnl Default value
357
358 dnl Next, check for the optional components:
359 dnl ========================================
360
361 dnl debugging stuff
362 AC_ARG_ENABLE(debug,
363 AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
364 [case "${enableval}" in
365   yes) USE_DEBUG=yes ;;
366   no)  USE_DEBUG=no ;;
367   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
368 esac],
369 [USE_DEBUG=yes]) dnl Default value
370 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, true)
371 GST_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
372
373 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
374 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
375 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
376 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
377 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
378 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
379 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
380 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
381 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, true)
382 GST_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
383
384 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
385 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
386 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, true)
387 GST_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
388 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_INDEX, true)
389 GST_SUBSYSTEM_DISABLE(INDEX,[index])
390 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PLUGIN, true)
391 GST_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
392 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_URI, true)
393 GST_SUBSYSTEM_DISABLE(URI,[uri handlers])
394
395 dnl ################################################
396 dnl # Set defines according to variables set above #
397 dnl ################################################
398
399
400 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
401 dnl HAVE_ and it is likely to be easier to stick with the old name
402 if test "x$USE_LIBMMX" = xyes; then
403   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
404 fi
405
406 if test "x$USE_ATOMIC_H" = xyes; then
407   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
408 fi
409
410 if test "x$USE_FAST_STACK_TRASH" = xyes; then
411   AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
412 fi
413
414 if test "x$USE_POISONING" = xyes; then
415   AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
416 fi
417
418 dnl test if we have pthread_attr_setstack; if not use the older calls
419 AC_CHECK_LIB(pthread, pthread_attr_setstack, 
420    AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACK, 1, 
421              [Defined if libpthread has pthread_attr_setstack ()]))
422
423 dnl test if we have posix_memalign; FreeBSD doesn't
424 AC_CHECK_FUNC(posix_memalign,
425    AC_DEFINE(HAVE_POSIX_MEMALIGN, 1,
426              [Defined if we have posix_memalign ()]))
427
428 dnl test for sigaction()
429 AC_CHECK_FUNC(sigaction,
430    AC_DEFINE(HAVE_SIGACTION, 1,
431              [Defined if we have sigaction ()]))
432
433 dnl test if we have dladdr(); we use it for debugging
434 save_cflags="$CFLAGS"
435 CFLAGS="$CFLAGS -D_GNU_SOURCE"
436 AC_CHECK_LIB(dl, dladdr,
437    AC_DEFINE(HAVE_DLADDR, 1,
438              [Defined if we have dladdr ()]))
439 CFLAGS="$save_cflags"
440
441 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
442   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
443 fi
444
445 if test "x$USE_DEBUG" = xyes; then
446    GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
447 fi
448
449 dnl #############################
450 dnl # Set automake conditionals #
451 dnl #############################
452
453 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
454 dnl HAVE_ and it is likely to be easier to stick with the old name
455 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
456
457 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
458 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
459
460 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
461
462
463 dnl ############################
464 dnl # Set up some more defines #
465 dnl ############################
466
467 dnl set license and copyright notice
468 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
469 AC_DEFINE(GST_COPYRIGHT, "(c) 1999-2003 The GStreamer Team", [copyright message in plugins])
470 dnl package name in plugins
471 AC_ARG_WITH(package-name,
472 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
473 [case "${withval}" in
474   yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
475   no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
476   *) GST_PACKAGE="${withval}" ;;
477 esac], 
478 [GST_PACKAGE="Gstreamer"]) dnl Default value
479 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
480 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
481 dnl package origin URL
482 AC_ARG_WITH(package-origin,
483 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
484 [case "${withval}" in
485   yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
486   no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
487   *) GST_ORIGIN="${withval}" ;;
488 esac], 
489 [GST_ORIGIN="http://gstreamer.net"]) dnl Default value
490 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
491 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
492
493 dnl Set location of plugin directory
494 if test "x${prefix}" = "xNONE"; then
495   PLUGINS_DIR=${ac_default_prefix}/lib/gstreamer-$GST_MAJORMINOR
496 else
497   PLUGINS_DIR=${prefix}/lib/gstreamer-$GST_MAJORMINOR
498 fi
499 AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
500 AC_SUBST(PLUGINS_DIR)
501
502 dnl Set location of uninstalled plugin directory
503 PLUGINS_BUILDDIR=`pwd`
504 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR, "$PLUGINS_BUILDDIR", [Define the uninstalled plugin directory])
505 AC_SUBST(PLUGINS_BUILDDIR)
506
507 dnl since glib and xml are package deps, there's no need to include their cflags
508 dnl in the pkg-config file
509
510 dnl for pkg-config
511 GST_PKG_CFLAGS=$GST_EXT_CFLAGS
512 GST_PKG_LIBS=$GST_EXT_LIBS
513 AC_SUBST(GST_PKG_CFLAGS)
514 AC_SUBST(GST_PKG_LIBS)
515
516 dnl finalize _CFLAGS and _LIBS
517 dnl add GLIB and XML if necessary to EXT_*
518 GST_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
519 GST_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS -lpopt"
520
521 dnl Private vars for libgst only
522 LIBGST_LIBS="$GST_LIBS"
523 LIBGST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir) $GST_ERROR"
524 AC_SUBST(LIBGST_LIBS)
525 AC_SUBST(LIBGST_CFLAGS)
526
527 dnl Vars for everyone else
528 GST_INT_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
529 GST_INT_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)/include"
530
531 AC_SUBST(GST_CFLAGS, "$LIBGST_CFLAGS $GST_INT_CFLAGS")
532 AC_SUBST(GST_LIBS, "$LIBGST_LIBS $GST_INT_LIBS")
533
534 GST_PLUGIN_LDFLAGS="-module -avoid-version"
535 AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
536
537
538 dnl ##################################################
539 dnl # deps for examples from manual                  #
540 dnl ##################################################
541
542 PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
543                   HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
544 AC_SUBST(LIBGNOMEUI_CFLAGS)
545 AC_SUBST(LIBGNOMEUI_LIBS)
546 AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
547
548 dnl ##################################################
549 dnl # Prepare informative messages to display at end #
550 dnl ##################################################
551
552 infomessages=
553
554 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
555   infomessages="$infomessages
556 *** Warning: You have configured using the --enable-plugin-builddir option.
557
558 This option is for development purposes only: binaries built with
559 it should be used with code in the build tree only.  To build an
560 installable version, use ./configure without the --enable-plugin-builddir
561 option.  Note that the autogen.sh script supplies the plugin builddir
562 option automatically -- run ./autogen.sh -- --disable-plugin-builddir to make
563 an installable build.
564
565 "
566 fi
567
568 dnl #########################
569 dnl # Make the output files #
570 dnl #########################
571
572 dnl libs/ext/Makefile
573 dnl nothing there yet !
574 AC_OUTPUT(
575 Makefile
576 include/Makefile
577 gst/Makefile
578 gst/gstconfig.h
579 gst/gstversion.h
580 gst/autoplug/Makefile
581 gst/indexers/Makefile
582 gst/elements/Makefile
583 gst/parse/Makefile
584 gst/schedulers/Makefile
585 gst/registries/Makefile
586 libs/Makefile
587 libs/gst/Makefile
588 libs/gst/bytestream/Makefile
589 libs/gst/control/Makefile
590 libs/gst/getbits/Makefile
591 libs/ext/Makefile
592 po/Makefile.in
593 tests/Makefile
594 tests/bufspeed/Makefile
595 tests/memchunk/Makefile
596 tests/muxing/Makefile
597 tests/seeking/Makefile
598 tests/sched/Makefile
599 tests/threadstate/Makefile
600 testsuite/Makefile
601 testsuite/bytestream/Makefile
602 testsuite/caps/Makefile
603 testsuite/cleanup/Makefile
604 testsuite/clock/Makefile
605 testsuite/debug/Makefile
606 testsuite/dynparams/Makefile
607 testsuite/elements/Makefile
608 testsuite/indexers/Makefile
609 testsuite/parse/Makefile
610 testsuite/plugin/Makefile
611 testsuite/refcounting/Makefile
612 testsuite/threads/Makefile
613 examples/Makefile
614 examples/autoplug/Makefile
615 examples/cutter/Makefile
616 examples/helloworld/Makefile
617 examples/helloworld2/Makefile
618 examples/launch/Makefile
619 examples/manual/Makefile
620 examples/mixer/Makefile
621 examples/pingpong/Makefile
622 examples/plugins/Makefile
623 examples/queue/Makefile
624 examples/queue2/Makefile
625 examples/queue3/Makefile
626 examples/queue4/Makefile
627 examples/thread/Makefile
628 examples/typefind/Makefile
629 examples/xml/Makefile
630 tools/Makefile
631 docs/Makefile
632 docs/version.entities
633 docs/faq/Makefile
634 docs/gst/Makefile
635 docs/libs/Makefile
636 docs/manual/Makefile
637 docs/pwg/Makefile
638 docs/plugins/Makefile
639 docs/plugins/gstreamer-plugins.types
640 docs/xsl/Makefile
641 pkgconfig/Makefile
642 stamp.h
643 pkgconfig/gstreamer.pc
644 pkgconfig/gstreamer-uninstalled.pc
645 pkgconfig/gstreamer-control.pc
646 pkgconfig/gstreamer-control-uninstalled.pc
647 gstreamer.spec,
648 echo "$infomessages", infomessages="$infomessages"
649 )
650