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