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