remove WIN32 path stuff
[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       GTK_DOC_SCANOBJ=gtkdoc-scangobj
275     fi;
276   fi
277
278   dnl FIXME: check for  gnome2 - this conditional is currently
279   dnl always false.
280   AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes")
281   AC_SUBST(USE_GNOME2)
282 fi
283
284 AC_SUBST(GST_PKG_DEPS)
285 AC_SUBST(GTK_LIBS)
286 AC_SUBST(GTK_CFLAGS)
287
288 dnl Check for libxml
289 if test x$USE_GLIB2 = xno; then
290   LIBXML_PKG=', libxml >= 1.8.1'
291   AC_PATH_PROG(XML_CONFIG, xml-config, no)
292   if test x$XML_CONFIG = xno; then
293     AC_MSG_ERROR(Couldn't find $LIBXML_PKG)
294   fi
295   XML_LIBS="`xml-config --libs`"
296   XML_CFLAGS="`xml-config --cflags`"
297   AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
298     [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
299     $XML_LIBS)
300 else
301   LIBXML_PKG=', libxml-2.0'
302   PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no)
303   AC_PATH_PROG(XML_CONFIG, xml-config, no)
304   AC_DEFINE(HAVE_LIBXML2)
305   GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DHAVE_LIBXML2"
306 fi
307 AC_SUBST(LIBXML_PKG)
308 AC_SUBST(XML_LIBS)
309 AC_SUBST(XML_CFLAGS)
310
311 if test x$USE_GLIB2 = xyes; then
312   dnl we don't support gnome/gtk with glib2.0 yet
313   GNOME_LIBS=
314   GNOME_CFLAGS=
315   HAVE_GNOME=no
316   AC_MSG_WARN(gnome disabled for glib2.0)
317 else
318   dnl Check for libgnome
319   GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
320 fi
321 AC_SUBST(GNOME_LIBS)
322 AC_SUBST(GNOME_CFLAGS)
323 AC_SUBST(HAVE_GNOME)
324
325 dnl Check for atomic.h
326 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
327 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
328 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
329 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
330 if test x$HAVE_ATOMIC_H = xyes; then
331   AC_TRY_RUN([
332 #include "asm/atomic.h"
333 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
334   ],, [
335     # Not successful
336     if test x$HAVE_ATOMIC_H = xyes; then
337       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
338     fi
339     HAVE_ATOMIC_H=no
340   ], [
341     # Cross compiling
342     AC_MSG_RESULT(yes)
343     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
344   ])
345 fi
346
347
348 dnl ######################################################################
349 dnl # Check command line parameters, and set shell variables accordingly #
350 dnl ######################################################################
351
352 AC_ARG_ENABLE(libmmx,
353 [  --enable-libmmx              use libmmx, if available],
354 [case "${enableval}" in
355   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
356   no)  USE_LIBMMX=no ;;
357   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
358 esac], 
359 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
360
361 AC_ARG_ENABLE(atomic,
362 [  --enable-atomic              use atomic reference counting header],
363 [case "${enableval}" in
364   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
365   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
366   no)  USE_ATOMIC_H=no;;
367   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
368 esac], 
369 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
370
371 AC_ARG_ENABLE(plugin-builddir,
372 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
373 [case "${enableval}" in
374   yes) PLUGINS_USE_BUILDDIR=yes ;;
375   no)  PLUGINS_USE_BUILDDIR=no ;;
376   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
377 esac], 
378 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
379
380 AC_ARG_ENABLE(debug,
381 [  --enable-debug               compile with -g debugging info],
382 [case "${enableval}" in
383   yes) USE_DEBUG=yes ;;
384   no)  USE_DEBUG=no ;;
385   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
386 esac], 
387 [USE_DEBUG=no]) dnl Default value
388
389 AC_ARG_ENABLE(DEBUG,
390 [  --enable-DEBUG               compiles in a large number of debugging messages],
391 [case "${enableval}" in
392   yes) ENABLE_DEBUG=yes ;;
393   no)  ENABLE_DEBUG=no ;;
394   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
395 esac], 
396 [ENABLE_DEBUG=no]) dnl Default value
397 if test x$ENABLE_DEBUG = xyes; then
398   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
399 fi
400
401 AC_ARG_ENABLE(INFO,
402 [  --disable-INFO               disables compilation of informational messages],
403 [case "${enableval}" in
404   yes) ENABLE_INFO=yes ;;
405   no)  ENABLE_INFO=no ;;
406   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
407 esac], 
408 [ENABLE_INFO=yes]) dnl Default value
409 if test x$ENABLE_INFO = xyes; then
410   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
411 fi
412
413 AC_ARG_ENABLE(debug-color,
414 [  --disable-debug-color        disables color output of DEBUG and INFO output],
415 [case "${enableval}" in
416   yes) ENABLE_DEBUG_COLOR=yes ;;
417   no)  ENABLE_DEBUG_COLOR=no ;;
418   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
419 esac], 
420 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
421 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
422   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
423 fi
424
425 AC_ARG_ENABLE(profiling,
426 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
427 [case "${enableval}" in
428   yes) USE_PROFILING=yes ;;
429   no)  UES_PROFILING=no ;;
430   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
431 esac], 
432 [USE_PROFILING=no]) dnl Default value
433
434 dnl default to building registry in the source tree if we are enabling plugin build dir
435 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
436   GST_CONFIG_DIR=`pwd`
437 else
438   GST_CONFIG_DIR=/etc/gstreamer
439 fi
440 AC_ARG_WITH(configdir,
441 [  --with-configdir             specify path to use for configdir],
442 [case "${withval}" in
443   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
444   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
445   *) GST_CONFIG_DIR="${withval}" ;;
446 esac], 
447 [:]) dnl Default value
448
449 AC_ARG_ENABLE(docs-build,
450 [  --enable-docs-build          enable building of documentation],
451 [case "${enableval}" in
452   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; ;;
453   no)  BUILD_DOCS=no ;;
454   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
455 esac], 
456 [BUILD_DOCS=no]) dnl Default value
457
458 AC_ARG_ENABLE(plugin-docs,
459 [  --enable-plugin-docs         enable the building of plugin documentation
460                                (this is currently broken, so off by default)],
461 [case "${enableval}" in
462   yes) BUILD_PLUGIN_DOCS=yes ;;
463   no)  BUILD_PLUGIN_DOCS=no ;;
464   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
465 esac], 
466 [BUILD_PLUGIN_DOCS=no]) dnl Default value
467
468 AC_ARG_ENABLE(tests,
469 [  --disable-tests              disable building test apps],
470 [case "${enableval}" in
471   yes) BUILD_TESTS=yes ;;
472   no)  BUILD_TESTS=no ;;
473   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
474 esac], 
475 [BUILD_TESTS=yes]) dnl Default value
476
477 AC_ARG_ENABLE(examples,
478 [  --disable-examples           disable building examples],
479 [case "${enableval}" in
480   yes) BUILD_EXAMPLES=yes ;;
481   no)  BUILD_EXAMPLES=no ;;
482   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
483 esac], 
484 [BUILD_EXAMPLES=yes]) dnl Default value
485
486 dnl Next, check for the optional components:
487 dnl ========================================
488
489
490 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
491 [dnl
492 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
493 dnl
494 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
495 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
496 [ case "${enableval}" in
497     yes) GST_DISABLE_[$1]=no ;;
498     no) GST_DISABLE_[$1]=yes ;;
499     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
500   esac],
501 [GST_DISABLE_[$1]=no]) dnl Default value
502 if test x$GST_DISABLE_[$1] = xyes; then
503   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
504   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
505 fi
506 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
507 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
508 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
509 ])
510
511 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
512 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
513 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
514 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
515 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
516 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
517 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
518 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
519 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
520 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
521 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
522 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
523
524 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
525
526 dnl ################################################
527 dnl # Set defines according to variables set above #
528 dnl ################################################
529
530
531 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
532 dnl HAVE_ and it is likely to be easier to stick with the old name
533 if test "x$USE_LIBGHTTP" = xyes; then
534   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
535 fi
536
537 if test "x$USE_LIBMMX" = xyes; then
538   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
539 fi
540
541 if test "x$USE_ATOMIC_H" = xyes; then
542   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
543 fi
544
545 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
546   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
547 fi
548
549 dnl if test "x$USE_DEBUG" = xyes; then
550 dnl   CFLAGS="$CFLAGS -g"
551 dnl fi
552
553 if test "x$USE_PROFILING" = xyes; then
554 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
555   FOMIT_FRAME_POINTER=""
556 else
557   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
558 fi
559
560 dnl
561 dnl AC_SUBST(FOMIT_FRAME_POINTER)
562 dnl
563
564 if test "x$HAVE_LIBXV" = xyes; then
565   AC_DEFINE(HAVE_LIBXV)
566 fi
567
568 dnl #############################
569 dnl # Set automake conditionals #
570 dnl #############################
571
572 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
573 dnl HAVE_ and it is likely to be easier to stick with the old name
574 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
575 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
576 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
577 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
578 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
579 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
580
581 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
582
583 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
584 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
585
586 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
587 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
588 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
589 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
590 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
591 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
592 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
593 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
594 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
595 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
596 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
597 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
598 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
599 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
600 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
601
602
603 dnl ############################
604 dnl # Set up some more defines #
605 dnl ############################
606
607 dnl Set location of configuration dir.
608 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
609 AC_SUBST(GST_CONFIG_DIR)
610
611 dnl Set location of plugin directory
612 if test "x${prefix}" = "xNONE"; then
613   PLUGINS_DIR=${ac_default_prefix}/lib/gst
614 else
615   PLUGINS_DIR=${prefix}/lib/gst
616 fi
617 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
618 AC_SUBST(PLUGINS_DIR)
619
620 dnl Set location of uninstalled plugin directory
621 PLUGINS_BUILDDIR=`pwd`
622 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
623 AC_SUBST(PLUGINS_BUILDDIR)
624
625 dnl finalize _CFLAGS and _LIBS
626 dnl add GLIB and XML if necessary to EXT_*
627 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
628 GST_EXT_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS"
629
630 dnl for pkg-config
631 GST_PKG_CFLAGS=$GST_EXT_CFLAGS
632 GST_PKG_LIBS=$GST_EXT_LIBS
633 AC_SUBST(GST_PKG_CFLAGS)
634 AC_SUBST(GST_PKG_LIBS)
635
636 dnl Private vars for libgst only
637 LIBGST_LIBS="$GST_EXT_LIBS"
638 LIBGST_CFLAGS="$GST_EXT_CFLAGS -I\$(top_srcdir)"
639 AC_SUBST(LIBGST_LIBS)
640 AC_SUBST(LIBGST_CFLAGS)
641
642 dnl Vars for everyone else
643 GST_INT_LIBS="\$(top_builddir)/gst/libgst.la"
644 GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir)"
645
646 AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS")
647 AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS")
648
649 dnl ##################################################
650 dnl # Prepare informative messages to display at end #
651 dnl ##################################################
652
653 infomessages=
654
655 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
656   infomessages="$infomessages
657 *** Warning: You have configured using the --enable-plugin-builddir option.
658
659 This option is for development purposes only: binaries built with
660 it should be used with code in the build tree only.  To build an
661 installable version, use ./configure without the --enable-plugin-builddir
662 option.  Note that the autogen.sh script supplies the plugin builddir
663 option automatically - it cannot be used to configure installable builds.
664
665 "
666 fi
667
668 dnl #########################
669 dnl # Make the output files #
670 dnl #########################
671
672 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
673 dnl components/bonobo-gstmediaplay/Makefile
674 dnl someone should fix this test/misc/Makefile
675 dnl wtay fix this: testsuite/threads/Makefile
676 dnl testsuite/refcounting/Makefile
677 dnl testsuite/cleanup/Makefile
678 AC_OUTPUT(
679 Makefile
680 include/Makefile
681 m4/Makefile
682 gst/Makefile
683 gst/gstversion.h
684 gst/types/Makefile
685 gst/elements/Makefile
686 gst/autoplug/Makefile
687 gst/schedulers/Makefile
688 libs/Makefile
689 libs/gst/Makefile
690 libs/gst/bytestream/Makefile
691 libs/gst/getbits/Makefile
692 libs/gst/putbits/Makefile
693 libs/gst/control/Makefile
694 tests/Makefile
695 tests/bufspeed/Makefile
696 tests/memchunk/Makefile
697 tests/muxing/Makefile
698 tests/sched/Makefile
699 testsuite/Makefile
700 testsuite/bytestream/Makefile
701 testsuite/capsnego/Makefile
702 testsuite/plugin/Makefile
703 examples/Makefile
704 examples/autoplug/Makefile
705 examples/helloworld/Makefile
706 examples/helloworld2/Makefile
707 examples/launch/Makefile
708 examples/queue/Makefile
709 examples/queue2/Makefile
710 examples/queue3/Makefile
711 examples/queue4/Makefile
712 examples/thread/Makefile
713 examples/mixer/Makefile
714 examples/cutter/Makefile
715 examples/launch/Makefile
716 examples/xml/Makefile
717 examples/plugins/Makefile
718 examples/typefind/Makefile
719 examples/mixer/Makefile
720 tools/Makefile
721 docs/Makefile
722 docs/gst/Makefile
723 docs/gst/gstreamer.types
724 docs/libs/Makefile
725 docs/plugins/Makefile
726 docs/plugins/gstreamer-plugins.types
727 docs/manual/Makefile
728 docs/fwg/Makefile
729 docs/xsl/Makefile
730 stamp.h
731 gstreamer.pc
732 gstreamer-uninstalled.pc
733 gstreamer.spec,
734 echo "$infomessages", infomessages="$infomessages"
735 )