some build changes vga is put in broken because of an undef in my build, please check
[platform/upstream/gstreamer.git] / configure.ac
1 dnl autoconf configuration file for plugins 
2 AC_INIT
3 AC_CONFIG_SRCDIR([COPYING])
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=02
12
13 dnl we use the release tag during CVS development
14 GST_VERSION_RELEASE=`date +%Y%m%d`
15
16 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
17
18 PACKAGE=gst-plugins
19 VERSION=$GST_VERSION
20
21 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
22 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
23 AC_SUBST(PACKAGE)
24 AC_SUBST(VERSION)
25 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
26 AC_SUBST(GST_VERSION_RELEASE)
27
28 dnl libtool
29 GST_CURRENT=1
30 GST_REVISION=0
31 GST_AGE=0
32 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
33
34 dnl check for gstreamer
35 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0)
36
37 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
38 dnl Add parameters for aclocal
39 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
40 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
41
42 AC_SUBST(GST_VERSION_MAJOR)
43 AC_SUBST(GST_VERSION_MINOR)
44 AC_SUBST(GST_VERSION_MICRO)
45 AC_SUBST(GST_VERSION)
46
47 AC_SUBST(GST_CURRENT)
48 AC_SUBST(GST_REVISION)
49 AC_SUBST(GST_AGE)
50 AC_SUBST(GST_LIBVERSION)
51
52 AM_MAINTAINER_MODE
53
54 AC_PROG_CC
55 AM_PROG_CC_STDC
56 AM_PROG_AS
57 AS="${CC}"
58 AC_PROG_CXX
59 AC_PROG_CXXCPP
60 AC_ISC_POSIX
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 AM_DISABLE_STATIC
65 AC_LIBTOOL_DLOPEN
66 AM_PROG_LIBTOOL
67
68 AC_HEADER_STDC([])
69
70 dnl ###########################################
71 dnl # Super Duper options for plugin building #
72 dnl ###########################################
73
74 dnl experimental plugins; stuff that hasn't had the dust settle yet
75 AC_ARG_ENABLE(experimental,
76 [  --enable-experimental          enable building of experimental plugins],
77 [case "${enableval}" in
78   yes) EXPERIMENTAL="yes" ;;
79   no) EXPERIMENTAL="no" ;;
80 esac], 
81 [EXPERIMENTAL=no]) dnl Default value
82
83 if test "x$EXPERIMENTAL" = "$xyes"; then
84   AC_MSG_WARN(building experimental plugins)
85   USE_LIBMIKMOD="yes"
86 else
87   AC_MSG_NOTICE(not building experimental plugins)
88   USE_LIBMIKMOD="no"
89 fi
90
91 dnl broken plugins; stuff that doesn't seem to build at the moment
92 AC_ARG_ENABLE(broken,
93 [  --enable-broken          enable building of broken plugins],
94 [case "${enableval}" in
95   yes) BROKEN="yes" ;;
96   no) BROKEN="no" ;;
97 esac], 
98 [BROKEN=no]) dnl Default value
99
100 if test "x$broken-plugins" = "$xyes"; then
101   AC_MSG_WARN(building broken plugins)
102   USE_ARTS="yes"
103   USE_ARTSC="yes"
104   USE_VGA="yes"
105 else
106   AC_MSG_NOTICE(not building broken plugins)
107   USE_ARTS="no"
108   USE_ARTSC="no"
109   USE_VGA="no"
110 fi
111
112
113
114 dnl ##############################
115 dnl # Do automated configuration #
116 dnl ##############################
117
118 dnl Check for tools:
119 dnl ================
120
121 dnl Check for nasm
122 AC_PATH_PROG(NASM_PATH, nasm, no)
123 AC_SUBST(NASM_PATH)
124 if test x$NASM_PATH = xno; then
125   AC_MSG_WARN(Couldn't find nasm)
126   HAVE_NASM="no"
127 else
128   AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
129   HAVE_NASM="yes"
130 fi
131
132 dnl fix pkg-config's broken default search path
133 if test -z $PKG_CONFIG_PATH; then
134   PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
135 fi
136 export PKG_CONFIG_PATH
137
138 dnl Check for pkgconfig
139 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
140
141 dnl dnl check for gtk-doc
142 dnl AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
143 dnl 
144 dnl if test "x$with_html_dir" = "x" ; then
145 dnl   HTML_DIR='${datadir}/gst/html'
146 dnl else
147 dnl   HTML_DIR=$with_html_dir
148 dnl fi
149 dnl 
150 dnl AC_SUBST(HTML_DIR)
151 dnl 
152 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
153 dnl gtk_doc_min_version=0.6
154 dnl if $HAVE_GTK_DOC ; then 
155 dnl     gtk_doc_version=`gtkdoc-mkdb --version`
156 dnl     AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
157 dnl     if perl <<EOF ; then
158 dnl       exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
159 dnl             ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
160 dnl EOF
161 dnl       AC_MSG_RESULT(yes)
162 dnl    else
163 dnl       AC_MSG_RESULT(no)
164 dnl       HAVE_GTK_DOC=false
165 dnl    fi
166 dnl fi
167 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
168 dnl 
169 dnl AC_SUBST(HAVE_GTK_DOC)
170 dnl AC_SUBST(GTK_DOC_SCANOBJ)
171 dnl 
172 dnl dnl check for docbook tools
173 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
174 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
175 dnl dnl this does not yet work properly, at least on debain -- wingo
176 dnl HAVE_PDFXMLTEX=false
177 dnl 
178 dnl dnl check for image conversion tool
179 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
180 dnl 
181 dnl dnl The following is a hack: if fig2dev doesn't display an error message
182 dnl dnl for the desired type, we assume it supports it.
183 dnl HAVE_FIG2DEV_PNG=false
184 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
185 dnl   fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
186 dnl   if test "x$fig2dev_quiet" = "x" ; then
187 dnl     HAVE_FIG2DEV_PNG=true
188 dnl   fi
189 dnl fi
190 dnl HAVE_FIG2DEV_PDF=false
191 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
192 dnl   fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
193 dnl   if test "x$fig2dev_quiet" = "x" ; then
194 dnl     HAVE_FIG2DEV_PDF=true
195 dnl   fi
196 dnl fi
197 dnl 
198
199 dnl Set up conditionals for (target) architecture:
200 dnl ==============================================
201
202 dnl Determine CPU
203 case "x${target_cpu}" in
204   xi?86 | k?) HAVE_CPU_I386=yes
205               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
206               dnl FIXME could use some better detection
207               dnl       (ie CPUID)
208               case "x${target_cpu}" in
209                 xi386 | xi486) ;;
210                 *)             AC_DEFINE(HAVE_RDTSC) ;;
211               esac ;;
212   xpowerpc)   HAVE_CPU_PPC=yes
213               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
214   xalpha)     HAVE_CPU_ALPHA=yes
215               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
216   xarm*)      HAVE_CPU_ARM=yes
217               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
218   xsparc*)    HAVE_CPU_SPARC=yes
219               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
220   xmips*)     HAVE_CPU_MIPS=yes
221               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
222   xhppa*)     HAVE_CPU_HPPA=yes
223               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
224 esac
225
226 dnl Determine endianness
227 AC_C_BIGENDIAN
228
229 dnl Check for MMX-capable compiler
230 AC_MSG_CHECKING(for MMX-capable compiler)
231 AC_TRY_RUN([
232 #include "include/mmx.h"
233
234 main()
235 { movq_r2r(mm0, mm1); return 0; }
236 ],
237 [
238 HAVE_LIBMMX="yes"
239 AC_MSG_RESULT(yes)
240 ],
241 HAVE_LIBMMX="no"
242 AC_MSG_RESULT(no)
243 ,
244 HAVE_LIBMMX="no"
245 AC_MSG_RESULT(no)
246 )
247
248 dnl
249 dnl We should really use AC_SYS_LARGEFILE, but the problem is
250 dnl many of the plugins don't include "config.h".  To assure
251 dnl binary compatibility, it is necessary that all gstreamer
252 dnl code be compiled with the same sizeof(off_t), so we use
253 dnl the following crude hack.
254 dnl
255
256 AC_MSG_CHECKING(for large file support)
257 AC_TRY_RUN([
258 #define _LARGEFILE_SOURCE
259 #define _FILE_OFFSET_BITS 64
260 #include <sys/types.h>
261 int main () { return !(sizeof(off_t) == 8); }
262 ],
263 [
264 AC_MSG_RESULT(yes)
265 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
266 ],
267 [
268 AC_MSG_RESULT(no)
269 ],
270 [
271 AC_MSG_RESULT(no)
272 ])
273
274 dnl Check for essential libraries first:
275 dnl ====================================
276
277 dnl Check for glib2
278 translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true)
279 GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
280   PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
281     HAVE_GLIB2=yes,HAVE_GLIB2=no)
282   GLIB_LIBS=$GLIB2_LIBS
283   GLIB_CFLAGS=$GLIB2_CFLAGS
284   AC_SUBST(GLIB_LIBS)
285   AC_SUBST(GLIB_CFLAGS)
286 ], disabled, [
287   AC_DEFINE(USE_GLIB2)
288   GST_CFLAGS="$GST_CFLAGS -DUSE_GLIB2"
289 ])
290 AC_SUBST(USE_GLIB2)
291
292 if test x$USE_GLIB2 = xno; then
293   GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0"
294   
295   dnl Check for glib and gtk
296   AM_PATH_GLIB(1.2.0,,
297               AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
298               glib gmodule gthread)
299   AM_PATH_GTK(1.2.0,,
300               AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
301   HAVE_GTK=yes
302
303   GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
304   GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
305 else
306   GST_PKG_DEPS="glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0"
307   
308   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
309
310   GTK_FLAGS=$GTK2_CFLAGS
311   GTK_LIBS=$GTK2_LIBS
312   
313   if $HAVE_GTK_DOC; then  
314     AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false)
315     if $HAVE_GTK_DOC; then
316       GTK_DOC_SCANOBJ=gtkdoc-scangobj
317     fi;
318   fi
319
320   dnl FIXME: check for  gnome2 - this conditional is currently
321   dnl always false.
322   AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes")
323   AC_SUBST(USE_GNOME2)
324 fi
325
326 AC_SUBST(GST_PKG_DEPS)
327 AC_SUBST(GTK_LIBS)
328 AC_SUBST(GTK_CFLAGS)
329
330 dnl Check for libxml
331 if test x$USE_GLIB2 = xno; then
332   LIBXML_PKG='libxml >= 1.8.1'
333   AC_PATH_PROG(XML_CONFIG, xml-config, no)
334   if test x$XML_CONFIG = xno; then
335     AC_MSG_ERROR(Couldn't find $LIBXML_PKG)
336   fi
337   XML_LIBS="`xml-config --libs`"
338   XML_CFLAGS="`xml-config --cflags`"
339   AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
340     [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
341     $XML_LIBS)
342 else
343   LIBXML_PKG='libxml-2.0'
344   PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no)
345   AC_PATH_PROG(XML_CONFIG, xml-config, no)
346   AC_DEFINE(HAVE_LIBXML2)
347   GST_CFLAGS="$GST_CFLAGS -DHAVE_LIBXML2"
348 fi
349 AC_SUBST(LIBXML_PKG)
350 AC_SUBST(XML_LIBS)
351 AC_SUBST(XML_CFLAGS)
352
353 dnl ==========================================================================
354 dnl ========================= Macro definitions ==============================
355 dnl ==========================================================================
356
357 dnl These macros should be moved out to separate files (acinclude.m4?), but
358 dnl can't currently be because of the SUBSTFOR magic.
359
360 dnl Perform a check for existence of ARTS
361 dnl Richard Boulton <richard-alsa@tartarus.org>
362 dnl Last modification: 26/06/2001
363 dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION,
364 dnl                   DEPENDENT-PLUGINS, TEST-FOR-FEATURE)
365 dnl
366 dnl This check was written for GStreamer: it should be renamed and checked
367 dnl for portability if you decide to use it elsewhere.
368 dnl
369 AC_DEFUN(GST_CHECK_ARTS,
370 [
371 dnl Set the flags
372 ARTS_LIBS="-L/usr/local/lib -L/usr/lib -lmcop -lartsflow -lartsflow_idl"
373 ARTS_CFLAGS="-I/usr/local/include/arts -I/usr/include/kde/arts -I/usr/include/arts"
374 ARTS_MCOPFLAGS=$ARTS_CFLAGS
375 dnl There's no arts-config script, so we make a guess based on the artsc-config
376 AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
377 if test x$ARTSC_CONFIG = xyes; then
378   ARTS_ARTSC_CFLAGS=`artsc-config --cflags | sed 's/artsc/arts/g'`
379   ARTS_CFLAGS="$ARTS_CFLAGS $ARTS_ARTSC_CFLAGS"
380   ARTS_MCOPFLAGS="$ARTS_MCOPFLAGS $ARTS_ARTSC_CFLAGS"
381 fi
382 AC_SUBST(ARTS_LIBS)
383 AC_SUBST(ARTS_CFLAGS)
384 AC_SUBST(ARTS_MCOPFLAGS)
385
386 dnl Now check if it exists
387 AC_LANG_PUSH(C++)
388 HAVE_ARTS=yes
389 dnl FIXME: Can't get this test to pass, so commented it out.  Rely on header check.
390 dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS)
391
392 dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
393 dnl FIXME: ensure only suitable flags result from artsc-config --cflags
394 AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no)
395
396 AC_LANG_POP(C++)
397 dnl Check for the idl generator
398 AC_CHECK_PROG(HAVE_MCOPIDL, mcopidl, yes, no)
399 if test x$HAVE_MCOPIDL = xno; then
400   HAVE_ARTS=no
401 fi
402 ])
403
404 dnl ==========================================================================
405 dnl ========================= End macro definitions ==========================
406 dnl ==========================================================================
407
408 dnl ==========================================================================
409 dnl ============================= sys plugins ================================
410 dnl ==========================================================================
411
412
413 dnl *** OSS audio ***
414 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
415 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
416   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
417 ])
418
419 dnl *** VGA ***
420 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
421 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
422   AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
423 ])
424
425
426
427 dnl Next, check for the optional libraries:
428 dnl These are all libraries used in building plugins
429 dnl ================================================
430 dnl let's try and sort them alphabetically, shall we ?
431
432 echo
433 echo
434 AC_MSG_NOTICE(Checking for plugin libraries)
435
436 dnl *** a52dec ***
437 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
438 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
439 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
440 ])
441
442 dnl *** aalib ***
443 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
444 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
445   AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
446 ])
447
448 dnl *** alsa ***
449 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
450 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
451 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
452 ])
453
454 dnl *** arts ***
455 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
456 dnl GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [GST_CHECK_ARTS()])
457
458 dnl *** artsc ***
459 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
460 dnl GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [GST_CHECK_ARTSC()])
461
462 dnl *** audiofile ***
463 dnl this check uses the GST_CHECK_CONFIGPROG macro
464 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBAUDIOFILE, true)
465 GST_CHECK_FEATURE(LIBAUDIOFILE, [audiofile], afsink afsrc, [
466 translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_LIBS)
467 translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_CFLAGS)
468 GST_CHECK_CONFIGPROG(LIBAUDIOFILE, audiofile-config)
469 ])
470
471 dnl *** avifile ***
472 dnl this check uses the GST_CHECK_CONFIGPROG macro
473 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
474 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
475 translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
476 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
477 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
478 ])
479
480 dnl *** CDParanoia ***
481 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
482 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
483   GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
484 ])
485 dnl FIXME : add second check somehow if that is necessary
486 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
487 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
488
489 dnl *** dvdread ***
490 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDVDREAD, true)
491 GST_CHECK_FEATURE(LIBDVDREAD, [dvdread library], libdvdread, [
492   GST_CHECK_LIBHEADER(LIBDVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, LIBDVDREAD_LIBS="-ldvdread")
493 ])
494
495 dnl **** ESound ****
496 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBESD, true)
497 GST_CHECK_FEATURE(LIBESD, [esound plugins], esdsrc esdsink, [
498   AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
499 ])
500
501 dnl *** FLAC ***
502 dnl thomas : checking for compile with main instead of actual function,
503 dnl since that made autoconf break (for version 2.13)
504 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFLAC, true)
505 GST_CHECK_FEATURE(FLACLIB, [FLAC lossless audio], flacenc flacdec, [
506   GST_CHECK_LIBHEADER(FLACLIB, FLAC, main, -lm, FLAC/all.h, LIBFLAC_LIBS="-lFLAC")
507 ])
508
509 dnl 
510 dnl *** Gnome VFS ***
511 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
512 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
513 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
514 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
515 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
516 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
517 ])
518
519 dnl *** gsm ***
520 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGSM, true)
521 GST_CHECK_FEATURE(LIBGSM, [GSM library], gsmenc gsmdec, [
522 GST_CHECK_LIBHEADER(LIBGSM, gsm, gsm_create, , gsm/gsm.h, LIBGSM_LIBS="-lgsm")
523 ])
524
525 dnl *** Hermes ***
526 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBHERMES, true)
527 GST_CHECK_FEATURE(LIBHERMES, [Hermes library], colorspace, [
528 GST_CHECK_LIBHEADER(LIBHERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, LIBHERMES_LIBS="-lHermes")
529 ], AC_SUBST(LIBHERMES_LIBS))
530
531 dnl *** lame ***
532 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBLAME, true)
533 GST_CHECK_FEATURE(LIBLAME, [lame mp3 encoder library], lame, [
534 GST_CHECK_LIBHEADER(LIBLAME, mp3lame, lame_init, -lm, lame/lame.h, LIBLAME_LIBS="-lmp3lame")
535 ])
536
537 dnl AC_SUBST(HAVE_LIBLAME)
538
539 dnl *** libdv ***
540 dnl FIXME : check if those GLIB thingies are ok
541 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
542 GST_CHECK_FEATURE(LIBDV, [dv library], dv, [
543 GST_CHECK_LIBHEADER(LIBDV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, LIBDV_LIBS="-ldv")
544 ])
545 dnl FIXME : check if these CPP flags can be dealt with otherwise
546 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
547 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
548 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
549 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
550
551 dnl *** libjpeg ***
552 dnl FIXME: we could use header checks here as well IMO
553 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBJPEG, true)
554 GST_CHECK_FEATURE(LIBJPEG, [libjpeg], jpegenc jpegdec, [
555   AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_LIBJPEG="yes", HAVE_LIBJPEG="no")
556 ])
557
558 dnl *** mad ***
559 dnl FIXME: we could use header checks here as well IMO
560 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMAD, true)
561 GST_CHECK_FEATURE(LIBMAD, [mad], mad, [
562 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_LIBMAD="yes")
563 ])
564
565 dnl *** mikmod ***
566 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMIKMOD, true)
567 GST_CHECK_FEATURE(LIBMIKMOD, [mikmod plugin], mikmod, [
568   AM_PATH_LIBMIKMOD(, HAVE_LIBMIKMOD=yes, HAVE_LIBMIKMOD=no)
569 ])
570
571 dnl *** mpeg2dec ***
572 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
573 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
574   GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2")
575 ])
576
577 dnl *** quicktime ***
578 dnl FIXME: make this be called openquicktime
579 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
580 GST_CHECK_FEATURE(QUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
581   GST_CHECK_LIBHEADER(QUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, QUICKTIME_LIBS="-lopenquicktime")
582 ])
583
584 dnl *** raw1394 ***
585 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
586 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
587   GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
588 ])
589
590 dnl Check for librtp
591 dnl FIXME : adapt and make it work
592 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRTP, true)
593 GST_CHECK_FEATURE(LIBRTP, [RTP library], rtpenc rtpdec,[
594   AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
595 ])
596 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
597 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
598 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
599 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
600 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
601
602
603 dnl *** SDL ***
604 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSDL, true)
605 GST_CHECK_FEATURE(LIBSDL, [SDL plugin], sdlvideosink, [
606  AM_PATH_SDL(, HAVE_LIBSDL=yes, HAVE_LIBSDL=no)
607 ])
608
609 dnl *** shout ***
610 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSHOUT, true)
611 GST_CHECK_FEATURE(LIBSHOUT, [shout plugin], icecastsend, [
612   GST_CHECK_LIBHEADER(LIBSHOUT, shout, shout_init_connection,, shout/shout.h, LIBSHOUT_LIBS="-lshout")
613 ])
614
615 dnl for sidplay
616 dnl FIXME : make this work
617 dnl AC_PATH_LIBSIDPLAY
618
619
620 dnl *** vorbis ***
621 dnl AM_PATH_VORBIS only takes two options
622 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
623 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
624   AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
625 ])
626
627 dnl *** xmms ***
628 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true)
629 GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [
630   AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
631 ])
632
633 dnl Check for libgdk-pixbuf
634 dnl FIXME: not sure that this is still used anywhere.
635 dnl DELETEME
636 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
637 dnl GST_CHECK_FEATURE(GDK_PIXBUF, [use gdk pixbuf], , [
638 dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_LIBS)
639 dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_CFLAGS)
640 dnl GST_CHECK_CONFIGPROG(GDK_PIXBUF, gdk-pixbuf-config)
641 dnl ])
642 dnl 
643
644
645 if test x$USE_GLIB2 = xyes; then
646   dnl we don't support gnome/gtk with glib2.0 yet
647   GNOME_LIBS=
648   GNOME_CFLAGS=
649   HAVE_GNOME=no
650   AC_MSG_WARN(gnome disabled for glib2.0)
651 else
652   dnl Check for libgnome
653   GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
654 fi
655 AC_SUBST(GNOME_LIBS)
656 AC_SUBST(GNOME_CFLAGS)
657 AC_SUBST(HAVE_GNOME)
658
659 dnl Check for libghttp
660 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
661 GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
662   dnl FIXME: need to check for header
663   GHTTP_LIBS=
664   GST_HTTPSRC_GET_TYPE=
665   if test x$USE_GLIB2 = xyes; then
666     AC_MSG_WARN(ghttp disabled for glib2.0)
667   else
668     AC_CHECK_LIB(ghttp, ghttp_request_new,
669       [GHTTP_LIBS="-lghttp"
670        GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
671        HAVE_LIBGHTTP=yes
672       ], :, $LIBS)
673   fi
674   AC_SUBST(GHTTP_LIBS)
675   AC_SUBST(GST_HTTPSRC_GET_TYPE)
676 ])
677
678
679 dnl thomas : adding an arts check taken from xine with it's own .m4
680 dnl FIXME: put this higher up
681 dnl AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
682
683 dnl also define ARTS_MCOPFLAGS
684 dnl ARTS_MCOPFLAGS="$ARTS_CFLAGS"
685 dnl AC_SUBST(ARTS_MCOPFLAGS)   
686
687 dnl Check for libglade with gnome support; no libglade for glib2.0
688 HAVE_LIBGLADE_GNOME="no"
689 if test x$USE_GLIB2 = xyes; then
690   AC_MSG_WARN(libglade disabled for glib2.0)
691   PKG_CHECK_MODULES(LIBGLADE_GNOME, libglade-2.0 libgnomeui-2.0, HAVE_LIBGLADE_GNOME=yes, HAVE_LIBGLADE_GNOME=no)
692   if test x$HAVE_LIBGLADE_GNOME = xno; then
693     AC_MSG_WARN(Couldn't find libglade-2.0 - Can't build gstplay)
694     LIBGLADE_GNOME_LIBS=
695     LIBGLADE_GNOME_CFLAGS=
696   fi;
697 else
698   AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome)
699   if test x$HAVE_LIBGLADE_GNOME = xno; then
700     AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
701   else
702     LIBGLADE_GNOME_LIBS=$LIBGLADE_LIBS
703     LIBGLADE_GNOME_CFLAGS=$LIBGLADE_CFLAGS
704         AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
705                 HAVE_LIBGLADE_GNOME="yes"
706                 AC_MSG_WARN(
707         [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
708                )
709   fi
710 fi
711 AC_SUBST(HAVE_LIBGLADE_GNOME)
712 AC_SUBST(LIBGLADE_GNOME_LIBS)
713 AC_SUBST(LIBGLADE_GNOME_CFLAGS)
714
715 dnl Check for atomic.h
716 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
717 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
718 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
719 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
720 if test x$HAVE_ATOMIC_H = xyes; then
721   AC_TRY_RUN([
722 #include "asm/atomic.h"
723 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
724   ],, [
725     # Not successful
726     if test x$HAVE_ATOMIC_H = xyes; then
727       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
728     fi
729     HAVE_ATOMIC_H=no
730   ], [
731     # Cross compiling
732     AC_MSG_RESULT(yes)
733     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
734   ])
735 fi
736
737
738 dnl Check for X11 extensions
739 AC_PATH_XTRA
740 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
741   AC_MSG_ERROR(can not find X11)
742 fi
743 AC_SUBST(X_CFLAGS)
744 AC_SUBST(X_PRE_LIBS)
745 AC_SUBST(X_EXTRA_LIBS)
746 AC_SUBST(X_LIBS)
747
748
749 dnl Check for the Xv library
750 xvsave_LIBS=${LIBS}
751 AC_CHECK_LIB(Xv, XvQueryExtension,
752   HAVE_LIBXV=yes,
753   HAVE_LIBXV=no,
754   $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS
755 )
756 LIBS=${xvsave_LIBS}
757 AC_CHECK_HEADER(X11/extensions/Xv.h, :, HAVE_LIBXV=no)
758 AC_CHECK_HEADER(X11/extensions/Xvlib.h, :, HAVE_LIBXV=no)
759
760 dnl Check for linux/cdrom.h
761 AC_CHECK_HEADER(linux/cdrom.h,
762   HAVE_LINUX_CDROM=yes, HAVE_LINUX_CDROM=no
763 )
764
765 dnl Check for linux/videodev.h
766 AC_CHECK_HEADER(linux/videodev.h,
767   HAVE_LINUX_VIDEODEV=yes, HAVE_LINUX_VIDEODEV=no
768 )
769
770
771 dnl ######################################################################
772 dnl # Check command line parameters, and set shell variables accordingly #
773 dnl ######################################################################
774
775 AC_ARG_ENABLE(libmmx,
776 [  --enable-libmmx              use libmmx, if available],
777 [case "${enableval}" in
778   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
779   no)  USE_LIBMMX=no ;;
780   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
781 esac], 
782 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
783
784 AC_ARG_ENABLE(atomic,
785 [  --enable-atomic              use atomic reference counting header],
786 [case "${enableval}" in
787   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
788   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
789   no)  USE_ATOMIC_H=no;;
790   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
791 esac], 
792 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
793
794 AC_ARG_ENABLE(plugin-builddir,
795 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
796 [case "${enableval}" in
797   yes) PLUGINS_USE_BUILDDIR=yes ;;
798   no)  PLUGINS_USE_BUILDDIR=no ;;
799   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
800 esac], 
801 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
802
803 AC_ARG_ENABLE(debug,
804 [  --enable-debug               compile with -g debugging info],
805 [case "${enableval}" in
806   yes) USE_DEBUG=yes ;;
807   no)  USE_DEBUG=no ;;
808   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
809 esac], 
810 [USE_DEBUG=no]) dnl Default value
811
812 AC_ARG_ENABLE(DEBUG,
813 [  --enable-DEBUG               compiles in a large number of debugging messages],
814 [case "${enableval}" in
815   yes) ENABLE_DEBUG=yes ;;
816   no)  ENABLE_DEBUG=no ;;
817   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
818 esac], 
819 [ENABLE_DEBUG=no]) dnl Default value
820 if test x$ENABLE_DEBUG = xyes; then
821   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
822 fi
823
824 AC_ARG_ENABLE(INFO,
825 [  --disable-INFO               disables compilation of informational messages],
826 [case "${enableval}" in
827   yes) ENABLE_INFO=yes ;;
828   no)  ENABLE_INFO=no ;;
829   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
830 esac], 
831 [ENABLE_INFO=yes]) dnl Default value
832 if test x$ENABLE_INFO = xyes; then
833   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
834 fi
835
836 AC_ARG_ENABLE(debug-color,
837 [  --disable-debug-color        disables color output of DEBUG and INFO output],
838 [case "${enableval}" in
839   yes) ENABLE_DEBUG_COLOR=yes ;;
840   no)  ENABLE_DEBUG_COLOR=no ;;
841   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
842 esac], 
843 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
844 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
845   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
846 fi
847
848 AC_ARG_ENABLE(profiling,
849 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
850 [case "${enableval}" in
851   yes) USE_PROFILING=yes ;;
852   no)  UES_PROFILING=no ;;
853   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
854 esac], 
855 [USE_PROFILING=no]) dnl Default value
856
857 dnl default to building registry in the source tree if we are enabling plugin build dir
858 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
859   GST_CONFIG_DIR=`pwd`
860 else
861   GST_CONFIG_DIR=/etc/gstreamer
862 fi
863 AC_ARG_WITH(configdir,
864 [  --with-configdir             specify path to use for configdir],
865 [case "${withval}" in
866   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
867   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
868   *) GST_CONFIG_DIR="${withval}" ;;
869 esac], 
870 [:]) dnl Default value
871
872 dnl Default value
873 GST_WIN32_LIBDIR="/usr/lib/win32"
874 AC_ARG_WITH(win32_libdir,
875 [  --with-win32-libdir          specify location for win32 DLLs],
876 [case "${withval}" in
877   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
878   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
879   *) GST_WIN32_LIBDIR="${withval}" ;;
880 esac],
881 [:]) dnl Default value
882
883 AC_ARG_ENABLE(docs-build,
884 [  --enable-docs-build          enable building of documentation],
885 [case "${enableval}" in
886   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; ;;
887   no)  BUILD_DOCS=no ;;
888   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
889 esac], 
890 [BUILD_DOCS=no]) dnl Default value
891
892 AC_ARG_ENABLE(plugin-docs,
893 [  --enable-plugin-docs         enable the building of plugin documentation
894                                (this is currently broken, so off by default)],
895 [case "${enableval}" in
896   yes) BUILD_PLUGIN_DOCS=yes ;;
897   no)  BUILD_PLUGIN_DOCS=no ;;
898   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
899 esac], 
900 [BUILD_PLUGIN_DOCS=no]) dnl Default value
901
902 AC_ARG_ENABLE(tests,
903 [  --disable-tests              disable building test apps],
904 [case "${enableval}" in
905   yes) BUILD_TESTS=yes ;;
906   no)  BUILD_TESTS=no ;;
907   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
908 esac], 
909 [BUILD_TESTS=yes]) dnl Default value
910
911 AC_ARG_ENABLE(examples,
912 [  --disable-examples           disable building examples],
913 [case "${enableval}" in
914   yes) BUILD_EXAMPLES=yes ;;
915   no)  BUILD_EXAMPLES=no ;;
916   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
917 esac], 
918 [BUILD_EXAMPLES=yes]) dnl Default value
919
920 dnl Next, check for the optional components:
921 dnl ========================================
922
923
924 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
925 [dnl
926 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
927 dnl
928 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
929 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
930 [ case "${enableval}" in
931     yes) GST_DISABLE_[$1]=no ;;
932     no) GST_DISABLE_[$1]=yes ;;
933     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
934   esac],
935 [GST_DISABLE_[$1]=no]) dnl Default value
936 if test x$GST_DISABLE_[$1] = xyes; then
937   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
938   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
939 fi
940 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
941 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
942 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
943 ])
944
945 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
946 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
947 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
948 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
949 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
950 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
951 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
952 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
953 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
954 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
955 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
956 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
957
958 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
959
960
961 dnl ################################################
962 dnl # Set defines according to variables set above #
963 dnl ################################################
964
965
966 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
967 dnl HAVE_ and it is likely to be easier to stick with the old name
968 if test "x$USE_LIBGHTTP" = xyes; then
969   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
970 fi
971
972 if test "x$USE_LIBMMX" = xyes; then
973   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
974 fi
975
976 if test "x$USE_ATOMIC_H" = xyes; then
977   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
978 fi
979
980 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
981   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
982 fi
983
984 dnl if test "x$USE_DEBUG" = xyes; then
985 dnl   CFLAGS="$CFLAGS -g"
986 dnl fi
987
988 if test "x$USE_PROFILING" = xyes; then
989 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
990   FOMIT_FRAME_POINTER=""
991 else
992   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
993 fi
994
995 dnl
996 dnl AC_SUBST(FOMIT_FRAME_POINTER)
997 dnl
998
999 if test "x$HAVE_LIBXV" = xyes; then
1000   AC_DEFINE(HAVE_LIBXV)
1001 fi
1002
1003 if test "x$HAVE_LIBMAD" = xyes; then
1004   AC_DEFINE(HAVE_LIBMAD)
1005 fi
1006
1007 if test "x$HAVE_LIBMIKMOD" = xyes; then
1008   AC_DEFINE(HAVE_LIBMIKMOD)
1009 fi
1010
1011 if test "x$HAVE_VORBIS" = xyes; then
1012   AC_DEFINE(HAVE_VORBIS)
1013 fi
1014
1015 if test "x$HAVE_AALIB" = "xyes"; then
1016   AC_DEFINE(HAVE_AALIB)
1017 fi
1018
1019 if test "x$HAVE_LIBJPEG" = xyes; then
1020   AC_DEFINE(HAVE_LIBJPEG)
1021 fi
1022
1023 if test "x$HAVE_LIBSDL" = xyes; then
1024   AC_DEFINE(HAVE_LIBSDL)
1025 fi
1026
1027 if test "x$HAVE_LIBHERMES" = "xyes"; then
1028   AC_DEFINE(HAVE_LIBHERMES)
1029 fi
1030
1031 if test "x$HAVE_LIBDVDREAD" = xyes; then
1032   AC_DEFINE(HAVE_LIBDVDREAD)
1033 fi
1034
1035 if test "x$HAVE_LINUX_CDROM" = xyes; then
1036   AC_DEFINE(HAVE_LINUX_CDROM)
1037 fi
1038
1039 if test "x$HAVE_LINUX_VIDEODEV" = xyes; then
1040   AC_DEFINE(HAVE_LINUX_VIDEODEV)
1041 fi
1042
1043 if test "x$HAVE_MPEG2DEC" = xyes; then
1044   AC_DEFINE(HAVE_MPEG2DEC)
1045 fi
1046
1047 if test "x$HAVE_A52DEC" = xyes; then
1048   AC_DEFINE(HAVE_A52DEC)
1049 fi
1050
1051 if test "x$HAVE_FLACLIB" = xyes; then
1052   AC_DEFINE(HAVE_FLACLIB)
1053 fi
1054
1055 if test "x$HAVE_LIBGSM" = xyes; then
1056   AC_DEFINE(HAVE_LIBGSM)
1057 fi
1058
1059 dnl #############################
1060 dnl # Set automake conditionals #
1061 dnl #############################
1062
1063 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1064 dnl HAVE_ and it is likely to be easier to stick with the old name
1065 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
1066 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
1067 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
1068 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
1069 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
1070 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1071
1072 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1073
1074 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
1075 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
1076
1077 AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
1078 AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
1079 AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
1080 AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
1081 AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
1082 AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
1083 AM_CONDITIONAL(HAVE_LIBDVDREAD,     test "x$HAVE_LIBDVDREAD" = "xyes")
1084 AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
1085 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
1086 AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
1087 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
1088 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1089 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
1090 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
1091 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
1092 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1093 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1094 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1095 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1096 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1097 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1098 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
1099 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
1100 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
1101 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1102 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
1103 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
1104 AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
1105 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
1106 AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
1107 AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
1108 dnl thomas : the next line gives errors, this is how it is in CVS
1109 dnl AM_CONDITIONAL(HAVE_FLAC,               test "x$HAVE_FLAC" = "xyes")
1110 dnl thomas : the next line gives errors as well, I commented it
1111 dnl AM_CONDITIONAL(HAVE_LAC,                test "x$HAVE_FAC" = "xyes")
1112 dnl thomas: the next line doesn't give errors
1113 AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
1114 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
1115 AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
1116 AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
1117 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1118 AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
1119 AM_CONDITIONAL(HAVE_AALIB,          test "x$HAVE_AALIB" = "xyes")
1120 AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
1121 AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
1122 AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
1123 AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
1124 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
1125 AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
1126
1127
1128 dnl ############################
1129 dnl # Set up some more defines #
1130 dnl ############################
1131
1132 dnl Set location of configuration dir.
1133 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
1134 AC_SUBST(GST_CONFIG_DIR)
1135
1136 dnl Set location of windows dll dir.
1137 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
1138 AC_SUBST(GST_WIN32_LIBDIR)
1139
1140 dnl Set location of plugin directory
1141 if test "x${prefix}" = "xNONE"; then
1142   PLUGINS_DIR=${ac_default_prefix}/lib/gst
1143 else
1144   PLUGINS_DIR=${prefix}/lib/gst
1145 fi
1146 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
1147 AC_SUBST(PLUGINS_DIR)
1148
1149 dnl Set location of uninstalled plugin directory
1150 PLUGINS_BUILDDIR=`pwd`
1151 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
1152 AC_SUBST(PLUGINS_BUILDDIR)
1153
1154 dnl Private vars for libgst only
1155 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
1156 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
1157 AC_SUBST(LIBGST_LIBS)
1158 AC_SUBST(LIBGST_CFLAGS)
1159
1160 dnl Vars for everyone else
1161 GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
1162 GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
1163 AC_SUBST(GST_LIBS)
1164 AC_SUBST(GST_CFLAGS)
1165
1166 dnl #############################
1167 dnl # Configure the subpackages #
1168 dnl #############################
1169
1170 dnl AC_CONFIG_SUBDIRS(gist)
1171 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
1172
1173 dnl ##################################################
1174 dnl # Prepare informative messages to display at end #
1175 dnl ##################################################
1176
1177 infomessages=
1178
1179 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
1180   infomessages="$infomessages
1181 *** Warning: You have configured using the --enable-plugin-builddir option.
1182
1183 This option is for development purposes only: binaries built with
1184 it should be used with code in the build tree only.  To build an
1185 installable version, use ./configure without the --enable-plugin-builddir
1186 option.  Note that the autogen.sh script supplies the plugin builddir
1187 option automatically - it cannot be used to configure installable builds.
1188
1189 "
1190 fi
1191
1192 dnl #########################
1193 dnl # Make the output files #
1194 dnl #########################
1195
1196 dnl gstreamer.pc
1197 dnl gstreamer-uninstalled.pc
1198 dnl gstreamer.spec,
1199 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1200 dnl components/bonobo-gstmediaplay/Makefile
1201 dnl someone should fix this test/misc/Makefile
1202 dnl wtay fix this: testsuite/threads/Makefile
1203 dnl testsuite/refcounting/Makefile
1204 dnl libs/Makefile
1205 dnl libs/riff/Makefile
1206 dnl libs/getbits/Makefile
1207 dnl libs/putbits/Makefile
1208 dnl libs/idct/Makefile
1209 dnl libs/audio/Makefile
1210 dnl libs/bytestream/Makefile
1211 dnl libs/control/Makefile
1212 dnl libs/resample/Makefile
1213 dnl stamp.h
1214 dnl echo "$infomessages", infomessages="$infomessages"
1215 AC_OUTPUT(
1216 Makefile
1217 sys/Makefile
1218 sys/oss/Makefile
1219 sys/qcam/Makefile
1220 sys/v4l/Makefile
1221 sys/vcd/Makefile
1222 sys/vga/Makefile
1223 sys/xvideo/Makefile
1224 )
1225
1226 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1227 echo
1228 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"
1229 echo