fix doc build for glib2 remove template files from cvs, they are generated with gtkdo...
[platform/upstream/gstreamer.git] / configure.ac
1 dnl Note: this file is now the main autoconf file
2 AC_INIT
3 AC_CONFIG_SRCDIR([gst/gstobject.h])
4
5 AC_CANONICAL_TARGET([])
6
7 AM_CONFIG_HEADER(config.h)
8
9 GST_VERSION_MAJOR=0
10 GST_VERSION_MINOR=3
11 GST_VERSION_MICRO=11
12
13 dnl we use a datestamped release tag during CVS development
14 GST_VERSION_RELEASE=`date +%Y%m%d`
15 dnl we use a normal release tag increased manually when releasing
16 dnl GST_VERSION_RELEASE=1
17
18 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
19
20 PACKAGE=gstreamer
21 VERSION=$GST_VERSION
22
23 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
24 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
25 AC_SUBST(PACKAGE)
26 AC_SUBST(VERSION)
27 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
28 AC_SUBST(GST_VERSION_RELEASE)
29
30 dnl libtool
31 GST_CURRENT=2
32 GST_REVISION=0
33 GST_AGE=0
34 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
35
36 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
37 dnl Add parameters for aclocal
38 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
39 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
40
41 AC_SUBST(GST_VERSION_MAJOR)
42 AC_SUBST(GST_VERSION_MINOR)
43 AC_SUBST(GST_VERSION_MICRO)
44 AC_SUBST(GST_VERSION)
45
46 AC_SUBST(GST_CURRENT)
47 AC_SUBST(GST_REVISION)
48 AC_SUBST(GST_AGE)
49 AC_SUBST(GST_LIBVERSION)
50
51 AM_MAINTAINER_MODE
52
53 AC_PROG_CC
54 AM_PROG_CC_STDC
55 AM_PROG_AS
56 AS="${CC}"
57 AC_PROG_CXX
58 AC_PROG_CXXCPP
59 AC_ISC_POSIX
60
61 dnl We disable static building for development, for time savings
62 dnl *NOTE*: dnl this line before release, so release does static too
63 dnl AM_DISABLE_STATIC
64 AC_LIBTOOL_DLOPEN
65 AM_PROG_LIBTOOL
66
67 AC_HEADER_STDC([])
68
69
70 dnl ##############################
71 dnl # Do automated configuration #
72 dnl ##############################
73
74 dnl Check for tools:
75 dnl ================
76
77 dnl modify pkg-config path
78 AC_ARG_WITH(pkg-config-path, 
79    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
80    [export PKG_CONFIG_PATH=${withval}])
81
82 dnl Check for nasm
83 AC_PATH_PROG(NASM_PATH, nasm, no)
84 AC_SUBST(NASM_PATH)
85 if test x$NASM_PATH = xno; then
86   AC_MSG_WARN(Couldn't find nasm)
87   HAVE_NASM="no"
88 else AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
89   HAVE_NASM="yes"
90 fi
91
92 dnl check for gtk-doc
93 AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
94
95 if test "x$with_html_dir" = "x" ; then
96   HTML_DIR='${datadir}/gst/html'
97 else
98   HTML_DIR=$with_html_dir
99 fi
100
101 AC_SUBST(HTML_DIR)
102
103 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
104 gtk_doc_min_version=0.6
105 if $HAVE_GTK_DOC ; then 
106     gtk_doc_version=`gtkdoc-mkdb --version`
107     AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
108     if perl <<EOF ; then
109       exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
110             ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
111 EOF
112       AC_MSG_RESULT(yes)
113    else
114       AC_MSG_RESULT(no)
115       HAVE_GTK_DOC=false
116    fi
117 fi
118 GTK_DOC_SCANOBJ=gtkdoc-scanobj
119
120 AC_SUBST(HAVE_GTK_DOC)
121 AC_SUBST(GTK_DOC_SCANOBJ)
122
123 dnl check for docbook tools
124 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
125 AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
126 dnl this does not yet work properly, at least on debain -- wingo
127 HAVE_PDFXMLTEX=false
128
129 dnl check for image conversion tool
130 AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
131
132 dnl The following is a hack: if fig2dev doesn't display an error message
133 dnl for the desired type, we assume it supports it.
134 HAVE_FIG2DEV_PNG=false
135 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
136   fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
137   if test "x$fig2dev_quiet" = "x" ; then
138     HAVE_FIG2DEV_PNG=true
139   fi
140 fi
141 HAVE_FIG2DEV_PDF=false
142 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
143   fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
144   if test "x$fig2dev_quiet" = "x" ; then
145     HAVE_FIG2DEV_PDF=true
146   fi
147 fi
148
149
150 dnl Set up conditionals for (target) architecture:
151 dnl ==============================================
152
153 dnl Determine CPU
154 case "x${target_cpu}" in
155   xi?86 | k?) HAVE_CPU_I386=yes
156               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
157               dnl FIXME could use some better detection
158               dnl       (ie CPUID)
159               case "x${target_cpu}" in
160                 xi386 | xi486) ;;
161                 *)             AC_DEFINE(HAVE_RDTSC) ;;
162               esac ;;
163   xpowerpc)   HAVE_CPU_PPC=yes
164               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
165   xalpha)     HAVE_CPU_ALPHA=yes
166               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
167   xarm*)      HAVE_CPU_ARM=yes
168               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
169   xsparc*)    HAVE_CPU_SPARC=yes
170               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
171   xmips*)     HAVE_CPU_MIPS=yes
172               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
173   xhppa*)     HAVE_CPU_HPPA=yes
174               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
175 esac
176
177 dnl Determine endianness
178 AC_C_BIGENDIAN
179
180 dnl Check for MMX-capable compiler
181 AC_MSG_CHECKING(for MMX-capable compiler)
182 AC_TRY_RUN([
183 #include "include/mmx.h"
184
185 main()
186 { movq_r2r(mm0, mm1); return 0; }
187 ],
188 [
189 HAVE_LIBMMX="yes"
190 AC_MSG_RESULT(yes)
191 ],
192 HAVE_LIBMMX="no"
193 AC_MSG_RESULT(no)
194 ,
195 HAVE_LIBMMX="no"
196 AC_MSG_RESULT(no)
197 )
198
199 dnl
200 dnl We should really use AC_SYS_LARGEFILE, but the problem is
201 dnl many of the plugins don't include "config.h".  To assure
202 dnl binary compatibility, it is necessary that all gstreamer
203 dnl code be compiled with the same sizeof(off_t), so we use
204 dnl the following crude hack.
205 dnl
206
207 dnl
208 dnl GST_CFLAGS are split up as GST_EXT_CFLAGS and GST_INT_CFLAGS
209 dnl same for libs
210 dnl this is so we can make GST_CFLAGS for external modules available
211 dnl without mixing in internal (uninstalled) CFLAGS
212 dnl
213
214 AC_MSG_CHECKING(for large file support)
215 AC_TRY_RUN([
216 #define _LARGEFILE_SOURCE
217 #define _FILE_OFFSET_BITS 64
218 #include <sys/types.h>
219 int main () { return !(sizeof(off_t) == 8); }
220 ],
221 [
222 AC_MSG_RESULT(yes)
223 GST_EXT_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
224 ],
225 [
226 AC_MSG_RESULT(no)
227 ],
228 [
229 AC_MSG_RESULT(no)
230 ])
231
232 dnl Check for essential libraries first:
233 dnl ====================================
234
235 dnl Check for glib2
236 translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true)
237 GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
238   PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
239     HAVE_GLIB2=yes,HAVE_GLIB2=no)
240   GLIB_LIBS=$GLIB2_LIBS
241   GLIB_CFLAGS=$GLIB2_CFLAGS
242   AC_SUBST(GLIB_LIBS)
243   AC_SUBST(GLIB_CFLAGS)
244 ], disabled, [
245   AC_DEFINE(USE_GLIB2)
246   GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DUSE_GLIB2"
247 ])
248 AC_SUBST(USE_GLIB2)
249
250 if test x$USE_GLIB2 = xno; then
251   GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0"
252   
253   dnl Check for glib and gtk
254   AM_PATH_GLIB(1.2.0,,
255               AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
256               glib gmodule gthread)
257   AM_PATH_GTK(1.2.0,,
258               AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
259   HAVE_GTK=yes
260
261   GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
262   GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
263 else
264   GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
265   
266   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
267
268   GTK_CFLAGS=$GTK2_CFLAGS
269   GTK_LIBS=$GTK2_LIBS
270   
271   if $HAVE_GTK_DOC; then  
272     AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false)
273     if $HAVE_GTK_DOC; then
274       # don't you love undocumented command line options?
275       GTK_DOC_SCANOBJ="gtkdoc-scangobj --nogtkinit"
276     else
277       GTK_DOC_SCANOBJ=false
278     fi
279   fi
280
281   dnl FIXME: check for  gnome2 - this conditional is currently
282   dnl always false.
283   AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes")
284   AC_SUBST(USE_GNOME2)
285 fi
286
287 AC_SUBST(GST_PKG_DEPS)
288 AC_SUBST(GTK_LIBS)
289 AC_SUBST(GTK_CFLAGS)
290
291 dnl Check for libxml
292 if test x$USE_GLIB2 = xno; then
293   LIBXML_PKG=', libxml >= 1.8.1'
294   AC_PATH_PROG(XML_CONFIG, xml-config, no)
295   if test x$XML_CONFIG = xno; then
296     AC_MSG_ERROR(Couldn't find $LIBXML_PKG)
297   fi
298   XML_LIBS="`xml-config --libs`"
299   XML_CFLAGS="`xml-config --cflags`"
300   AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
301     [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
302     $XML_LIBS)
303 else
304   LIBXML_PKG=', libxml-2.0'
305   PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no)
306   AC_PATH_PROG(XML_CONFIG, xml-config, no)
307   AC_DEFINE(HAVE_LIBXML2)
308   GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DHAVE_LIBXML2"
309 fi
310 AC_SUBST(LIBXML_PKG)
311 AC_SUBST(XML_LIBS)
312 AC_SUBST(XML_CFLAGS)
313
314 if test x$USE_GLIB2 = xyes; then
315   dnl we don't support gnome/gtk with glib2.0 yet
316   GNOME_LIBS=
317   GNOME_CFLAGS=
318   HAVE_GNOME=no
319   AC_MSG_WARN(gnome disabled for glib2.0)
320 else
321   dnl Check for libgnome
322   GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
323 fi
324 AC_SUBST(GNOME_LIBS)
325 AC_SUBST(GNOME_CFLAGS)
326 AC_SUBST(HAVE_GNOME)
327
328 dnl Check for atomic.h
329 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
330 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
331 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
332 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
333 if test x$HAVE_ATOMIC_H = xyes; then
334   AC_TRY_RUN([
335 #include "asm/atomic.h"
336 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
337   ],, [
338     # Not successful
339     if test x$HAVE_ATOMIC_H = xyes; then
340       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
341     fi
342     HAVE_ATOMIC_H=no
343   ], [
344     # Cross compiling
345     AC_MSG_RESULT(yes)
346     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
347   ])
348 fi
349
350
351 dnl ######################################################################
352 dnl # Check command line parameters, and set shell variables accordingly #
353 dnl ######################################################################
354
355 AC_ARG_ENABLE(libmmx,
356 [  --enable-libmmx              use libmmx, if available],
357 [case "${enableval}" in
358   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
359   no)  USE_LIBMMX=no ;;
360   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
361 esac], 
362 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
363
364 AC_ARG_ENABLE(atomic,
365 [  --enable-atomic              use atomic reference counting header],
366 [case "${enableval}" in
367   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
368   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
369   no)  USE_ATOMIC_H=no;;
370   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
371 esac], 
372 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
373
374 AC_ARG_ENABLE(plugin-builddir,
375 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
376 [case "${enableval}" in
377   yes) PLUGINS_USE_BUILDDIR=yes ;;
378   no)  PLUGINS_USE_BUILDDIR=no ;;
379   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
380 esac], 
381 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
382
383 AC_ARG_ENABLE(debug,
384 [  --enable-debug               compile with -g debugging info],
385 [case "${enableval}" in
386   yes) USE_DEBUG=yes ;;
387   no)  USE_DEBUG=no ;;
388   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
389 esac], 
390 [USE_DEBUG=no]) dnl Default value
391
392 AC_ARG_ENABLE(DEBUG,
393 [  --enable-DEBUG               compiles in a large number of debugging messages],
394 [case "${enableval}" in
395   yes) ENABLE_DEBUG=yes ;;
396   no)  ENABLE_DEBUG=no ;;
397   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
398 esac], 
399 [ENABLE_DEBUG=no]) dnl Default value
400 if test x$ENABLE_DEBUG = xyes; then
401   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
402 fi
403
404 AC_ARG_ENABLE(INFO,
405 [  --disable-INFO               disables compilation of informational messages],
406 [case "${enableval}" in
407   yes) ENABLE_INFO=yes ;;
408   no)  ENABLE_INFO=no ;;
409   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
410 esac], 
411 [ENABLE_INFO=yes]) dnl Default value
412 if test x$ENABLE_INFO = xyes; then
413   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
414 fi
415
416 AC_ARG_ENABLE(debug-color,
417 [  --disable-debug-color        disables color output of DEBUG and INFO output],
418 [case "${enableval}" in
419   yes) ENABLE_DEBUG_COLOR=yes ;;
420   no)  ENABLE_DEBUG_COLOR=no ;;
421   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
422 esac], 
423 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
424 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
425   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
426 fi
427
428 AC_ARG_ENABLE(profiling,
429 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
430 [case "${enableval}" in
431   yes) USE_PROFILING=yes ;;
432   no)  UES_PROFILING=no ;;
433   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
434 esac], 
435 [USE_PROFILING=no]) dnl Default value
436
437 dnl default to building registry in the source tree if we are enabling plugin build dir
438 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
439   GST_CONFIG_DIR=`pwd`
440 else
441   GST_CONFIG_DIR=/etc/gstreamer
442 fi
443 AC_ARG_WITH(configdir,
444 [  --with-configdir             specify path to use for configdir],
445 [case "${withval}" in
446   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
447   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
448   *) GST_CONFIG_DIR="${withval}" ;;
449 esac], 
450 [:]) dnl Default value
451
452 AC_ARG_ENABLE(docs-build,
453 [  --enable-docs-build          enable building of documentation],
454 [case "${enableval}" in
455   yes) if $HAVE_GTK_DOC; then BUILD_DOCS=yes; else AC_MSG_ERROR([you don't have gtk-doc, so don't use --docs-build]); fi; ;;
456   no)  BUILD_DOCS=no ;;
457   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
458 esac], 
459 [BUILD_DOCS=no]) dnl Default value
460
461 AC_ARG_ENABLE(plugin-docs,
462 [  --enable-plugin-docs         enable the building of plugin documentation
463                                (this is currently broken, so off by default)],
464 [case "${enableval}" in
465   yes) BUILD_PLUGIN_DOCS=yes ;;
466   no)  BUILD_PLUGIN_DOCS=no ;;
467   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
468 esac], 
469 [BUILD_PLUGIN_DOCS=no]) dnl Default value
470
471 AC_ARG_ENABLE(tests,
472 [  --disable-tests              disable building test apps],
473 [case "${enableval}" in
474   yes) BUILD_TESTS=yes ;;
475   no)  BUILD_TESTS=no ;;
476   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
477 esac], 
478 [BUILD_TESTS=yes]) dnl Default value
479
480 AC_ARG_ENABLE(examples,
481 [  --disable-examples           disable building examples],
482 [case "${enableval}" in
483   yes) BUILD_EXAMPLES=yes ;;
484   no)  BUILD_EXAMPLES=no ;;
485   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
486 esac], 
487 [BUILD_EXAMPLES=yes]) dnl Default value
488
489 dnl Next, check for the optional components:
490 dnl ========================================
491
492
493 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
494 [dnl
495 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
496 dnl
497 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
498 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
499 [ case "${enableval}" in
500     yes) GST_DISABLE_[$1]=no ;;
501     no) GST_DISABLE_[$1]=yes ;;
502     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
503   esac],
504 [GST_DISABLE_[$1]=no]) dnl Default value
505 if test x$GST_DISABLE_[$1] = xyes; then
506   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
507   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
508 fi
509 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
510 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
511 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
512 ])
513
514 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
515 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
516 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
517 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
518 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
519 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
520 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
521 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
522 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
523 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
524 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
525 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
526
527 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
528
529 dnl ################################################
530 dnl # Set defines according to variables set above #
531 dnl ################################################
532
533
534 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
535 dnl HAVE_ and it is likely to be easier to stick with the old name
536 if test "x$USE_LIBGHTTP" = xyes; then
537   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
538 fi
539
540 if test "x$USE_LIBMMX" = xyes; then
541   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
542 fi
543
544 if test "x$USE_ATOMIC_H" = xyes; then
545   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
546 fi
547
548 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
549   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
550 fi
551
552 dnl if test "x$USE_DEBUG" = xyes; then
553 dnl   CFLAGS="$CFLAGS -g"
554 dnl fi
555
556 if test "x$USE_PROFILING" = xyes; then
557 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
558   FOMIT_FRAME_POINTER=""
559 else
560   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
561 fi
562
563 dnl
564 dnl AC_SUBST(FOMIT_FRAME_POINTER)
565 dnl
566
567 if test "x$HAVE_LIBXV" = xyes; then
568   AC_DEFINE(HAVE_LIBXV)
569 fi
570
571 dnl #############################
572 dnl # Set automake conditionals #
573 dnl #############################
574
575 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
576 dnl HAVE_ and it is likely to be easier to stick with the old name
577 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
578 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
579 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
580 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
581 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
582 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
583
584 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
585
586 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
587 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
588
589 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
590 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
591 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
592 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
593 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
594 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
595 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
596 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
597 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
598 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
599 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
600 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
601 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
602 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
603 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
604
605
606 dnl ############################
607 dnl # Set up some more defines #
608 dnl ############################
609
610 dnl Set location of configuration dir.
611 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
612 AC_SUBST(GST_CONFIG_DIR)
613
614 dnl Set location of plugin directory
615 if test "x${prefix}" = "xNONE"; then
616   PLUGINS_DIR=${ac_default_prefix}/lib/gst
617 else
618   PLUGINS_DIR=${prefix}/lib/gst
619 fi
620 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
621 AC_SUBST(PLUGINS_DIR)
622
623 dnl Set location of uninstalled plugin directory
624 PLUGINS_BUILDDIR=`pwd`
625 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
626 AC_SUBST(PLUGINS_BUILDDIR)
627
628 dnl finalize _CFLAGS and _LIBS
629 dnl add GLIB and XML if necessary to EXT_*
630 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
631 GST_EXT_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS"
632
633 dnl for pkg-config
634 GST_PKG_CFLAGS=$GST_EXT_CFLAGS
635 GST_PKG_LIBS=$GST_EXT_LIBS
636 AC_SUBST(GST_PKG_CFLAGS)
637 AC_SUBST(GST_PKG_LIBS)
638
639 dnl Private vars for libgst only
640 LIBGST_LIBS="$GST_EXT_LIBS"
641 LIBGST_CFLAGS="$GST_EXT_CFLAGS -I\$(top_srcdir)"
642 AC_SUBST(LIBGST_LIBS)
643 AC_SUBST(LIBGST_CFLAGS)
644
645 dnl Vars for everyone else
646 GST_INT_LIBS="\$(top_builddir)/gst/libgst.la"
647 GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir)"
648
649 AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS")
650 AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS")
651
652 dnl ##################################################
653 dnl # Prepare informative messages to display at end #
654 dnl ##################################################
655
656 infomessages=
657
658 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
659   infomessages="$infomessages
660 *** Warning: You have configured using the --enable-plugin-builddir option.
661
662 This option is for development purposes only: binaries built with
663 it should be used with code in the build tree only.  To build an
664 installable version, use ./configure without the --enable-plugin-builddir
665 option.  Note that the autogen.sh script supplies the plugin builddir
666 option automatically - it cannot be used to configure installable builds.
667
668 "
669 fi
670
671 dnl #########################
672 dnl # Make the output files #
673 dnl #########################
674
675 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
676 dnl components/bonobo-gstmediaplay/Makefile
677 dnl someone should fix this test/misc/Makefile
678 dnl wtay fix this: testsuite/threads/Makefile
679 dnl testsuite/refcounting/Makefile
680 dnl testsuite/cleanup/Makefile
681 AC_OUTPUT(
682 Makefile
683 include/Makefile
684 m4/Makefile
685 gst/Makefile
686 gst/gstversion.h
687 gst/types/Makefile
688 gst/elements/Makefile
689 gst/autoplug/Makefile
690 gst/schedulers/Makefile
691 libs/Makefile
692 libs/gst/Makefile
693 libs/gst/bytestream/Makefile
694 libs/gst/getbits/Makefile
695 libs/gst/putbits/Makefile
696 libs/gst/control/Makefile
697 tests/Makefile
698 tests/bufspeed/Makefile
699 tests/memchunk/Makefile
700 tests/muxing/Makefile
701 tests/sched/Makefile
702 testsuite/Makefile
703 testsuite/bytestream/Makefile
704 testsuite/caps/Makefile
705 testsuite/capsnego/Makefile
706 testsuite/cleanup/Makefile
707 testsuite/plugin/Makefile
708 examples/Makefile
709 examples/autoplug/Makefile
710 examples/helloworld/Makefile
711 examples/helloworld2/Makefile
712 examples/launch/Makefile
713 examples/queue/Makefile
714 examples/queue2/Makefile
715 examples/queue3/Makefile
716 examples/queue4/Makefile
717 examples/thread/Makefile
718 examples/mixer/Makefile
719 examples/cutter/Makefile
720 examples/launch/Makefile
721 examples/xml/Makefile
722 examples/plugins/Makefile
723 examples/typefind/Makefile
724 examples/mixer/Makefile
725 tools/Makefile
726 docs/Makefile
727 docs/gst/Makefile
728 docs/gst/gstreamer.types
729 docs/libs/Makefile
730 docs/plugins/Makefile
731 docs/plugins/gstreamer-plugins.types
732 docs/manual/Makefile
733 docs/fwg/Makefile
734 docs/xsl/Makefile
735 stamp.h
736 gstreamer.pc
737 gstreamer-uninstalled.pc
738 gstreamer.spec,
739 echo "$infomessages", infomessages="$infomessages"
740 )