I'm putting the gst Makefiles in a var right now, it seems to work and it's just...
[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 GST_PLUGINS_ALL=""
298
299 AC_SUBST(GST_PLUGINS_ALL)
300
301 GST_PLUGINS_SELECTED=""
302
303 AC_ARG_WITH(plugins,
304     AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
305     [for i in `echo $withval | tr , ' '`; do
306         if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
307             GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
308         else
309             echo "plugin $i not recognized, ignoring..."
310         fi
311     done],
312     [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
313
314 AC_SUBST(GST_PLUGINS_SELECTED)
315
316 dnl needed for smoothwave, FIXME!
317 if test x$USE_GLIB2 = xno; then
318   AM_PATH_GTK(1.2.0,,
319               AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
320   HAVE_GTK=yes
321   # we have to have it
322 else
323   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
324
325   GTK_CFLAGS=$GTK2_CFLAGS
326   GTK_LIBS=$GTK2_LIBS
327 fi
328 AC_SUBST(GTK_LIBS)
329 AC_SUBST(GTK_CFLAGS)
330
331 dnl ==========================================================================
332 dnl ============================= sys plugins ================================
333 dnl ==========================================================================
334
335
336 dnl *** OSS audio ***
337 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
338 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
339   AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
340 ])
341
342 dnl *** QuickCam ***
343 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
344 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
345
346 dnl *** Video 4 Linux ***
347 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
348 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
349   AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
350 ])
351
352 dnl *** Video CD ***
353 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
354 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
355   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
356 ])
357
358 dnl *** VGA ***
359 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
360 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
361   AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
362 ])
363
364 dnl *** XVideo ***
365 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
366 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
367   dnl look for the PIC library first, debian likes it
368   GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
369   if test "x$HAVE_XVIDEO" = "no"; then
370     GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
371   fi    
372 ])
373
374 dnl Next, check for the optional libraries:
375 dnl These are all libraries used in building plugins
376 dnl ================================================
377 dnl let's try and sort them alphabetically, shall we ?
378
379 echo
380 echo
381 AC_MSG_NOTICE(Checking for plugin libraries)
382
383 dnl *** a52 ***
384 translit(dnm, m, l) AM_CONDITIONAL(USE_A52, true)
385 GST_CHECK_FEATURE(A52, [a52], a52dec, [
386   GST_CHECK_LIBHEADER(A52, a52, a52_init, -lm, a52dec/a52.h, A52_LIBS="-la52")
387 ])
388
389 dnl *** aalib ***
390 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
391 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
392   AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
393 ])
394
395 dnl *** alsa ***
396 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
397 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
398   AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
399 ])
400
401 dnl *** arts ***
402 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
403 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
404   AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
405 ])
406
407 dnl *** artsc ***
408 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
409 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
410   GST_CHECK_ARTSC()
411 ])
412
413 dnl *** audiofile ***
414 dnl this check uses the GST_CHECK_CONFIGPROG macro
415 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
416 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
417   translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
418   translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
419   GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
420 ])
421
422 dnl *** avifile ***
423 dnl this check uses the GST_CHECK_CONFIGPROG macro
424 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
425 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
426   translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
427   translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
428   GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
429 ])
430
431 dnl *** CDParanoia ***
432 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
433 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
434   GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
435 ])
436 dnl FIXME : add second check somehow if that is necessary
437 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
438 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
439
440 dnl *** dvdread ***
441 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
442 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdread, [
443   GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
444   AC_SUBST(DVDREAD_LIBS)
445 ])
446
447 dnl **** ESound ****
448 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
449 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
450   AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
451 ])
452
453 dnl *** FLAC ***
454 dnl thomas : checking for compile with main instead of actual function,
455 dnl since that made autoconf break (for version 2.13)
456 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFLAC, true)
457 GST_CHECK_FEATURE(FLACLIB, [FLAC lossless audio], flacenc flacdec, [
458   GST_CHECK_LIBHEADER(FLACLIB, FLAC, main, -lm, FLAC/all.h, LIBFLAC_LIBS="-lFLAC")
459 ])
460
461 dnl *** Gnome VFS ***
462 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
463 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
464 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
465 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
466 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
467 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
468 ])
469
470 dnl *** gsm ***
471 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGSM, true)
472 GST_CHECK_FEATURE(LIBGSM, [GSM library], gsmenc gsmdec, [
473 GST_CHECK_LIBHEADER(LIBGSM, gsm, gsm_create, , gsm/gsm.h, LIBGSM_LIBS="-lgsm")
474 ])
475
476 dnl *** Hermes ***
477 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBHERMES, true)
478 GST_CHECK_FEATURE(LIBHERMES, [Hermes library], colorspace, [
479 GST_CHECK_LIBHEADER(LIBHERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, LIBHERMES_LIBS="-lHermes")
480 ], AC_SUBST(LIBHERMES_LIBS))
481
482 dnl *** lame ***
483 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
484 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
485 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
486 ])
487 AC_SUBST(LAME_LIBS)
488
489 dnl *** libdv ***
490 dnl FIXME : check if those GLIB thingies are ok
491 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
492 GST_CHECK_FEATURE(LIBDV, [dv library], dv, [
493 GST_CHECK_LIBHEADER(LIBDV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, LIBDV_LIBS="-ldv")
494 ])
495 dnl FIXME : check if these CPP flags can be dealt with otherwise
496 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
497 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
498 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
499 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
500
501 dnl *** libjpeg ***
502 dnl FIXME: we could use header checks here as well IMO
503 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBJPEG, true)
504 GST_CHECK_FEATURE(LIBJPEG, [libjpeg], jpegenc jpegdec, [
505   AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_LIBJPEG="yes", HAVE_LIBJPEG="no")
506 ])
507
508 dnl *** mad ***
509 dnl FIXME: we could use header checks here as well IMO
510 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
511 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
512   AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
513 ])
514 AC_SUBST(MAD_LIBS)
515
516 dnl *** mikmod ***
517 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMIKMOD, true)
518 GST_CHECK_FEATURE(LIBMIKMOD, [mikmod plugin], mikmod, [
519   AM_PATH_LIBMIKMOD(, HAVE_LIBMIKMOD=yes, HAVE_LIBMIKMOD=no)
520 ])
521
522 dnl *** mpeg2dec ***
523 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
524 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
525   GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
526   AC_SUBST(MPEG2DEC_LIBS)
527 ])
528
529 dnl *** quicktime ***
530 dnl FIXME: make this be called openquicktime
531 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
532 GST_CHECK_FEATURE(QUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
533   GST_CHECK_LIBHEADER(QUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, QUICKTIME_LIBS="-lopenquicktime")
534 ])
535
536 dnl *** raw1394 ***
537 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
538 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
539   GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
540 ])
541
542 dnl Check for librtp
543 dnl FIXME : adapt and make it work
544 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRTP, true)
545 GST_CHECK_FEATURE(LIBRTP, [RTP library], rtpenc rtpdec,[
546   AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
547 ])
548 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
549 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
550 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
551 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
552 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
553
554
555 dnl *** SDL ***
556 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
557 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
558  AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
559 ])
560
561 dnl *** shout ***
562 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSHOUT, true)
563 GST_CHECK_FEATURE(LIBSHOUT, [shout plugin], icecastsend, [
564   GST_CHECK_LIBHEADER(LIBSHOUT, shout, shout_init_connection,, shout/shout.h, LIBSHOUT_LIBS="-lshout")
565 ])
566
567 dnl for sidplay
568 dnl FIXME : make this work
569 dnl AC_PATH_LIBSIDPLAY
570
571
572 dnl *** vorbis ***
573 dnl AM_PATH_VORBIS only takes two options
574 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
575 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
576   AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
577 ])
578
579 dnl *** xmms ***
580 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true)
581 GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [
582   AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
583 ])
584
585 dnl Check for libghttp
586 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
587 GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
588   dnl FIXME: need to check for header
589   GHTTP_LIBS=
590   GST_HTTPSRC_GET_TYPE=
591   if test x$USE_GLIB2 = xyes; then
592     AC_MSG_WARN(ghttp disabled for glib2.0)
593   else
594     AC_CHECK_LIB(ghttp, ghttp_request_new,
595       [GHTTP_LIBS="-lghttp"
596        GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
597        HAVE_LIBGHTTP=yes
598       ], :, $LIBS)
599   fi
600   AC_SUBST(GHTTP_LIBS)
601   AC_SUBST(GST_HTTPSRC_GET_TYPE)
602 ])
603
604 dnl Check for atomic.h
605 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
606 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
607 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
608 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
609 if test x$HAVE_ATOMIC_H = xyes; then
610   AC_TRY_RUN([
611 #include "asm/atomic.h"
612 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
613   ],, [
614     # Not successful
615     if test x$HAVE_ATOMIC_H = xyes; then
616       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
617     fi
618     HAVE_ATOMIC_H=no
619   ], [
620     # Cross compiling
621     AC_MSG_RESULT(yes)
622     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
623   ])
624 fi
625
626 dnl ######################################################################
627 dnl # Check command line parameters, and set shell variables accordingly #
628 dnl ######################################################################
629
630 AC_ARG_ENABLE(libmmx,
631 [  --enable-libmmx              use libmmx, if available],
632 [case "${enableval}" in
633   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
634   no)  USE_LIBMMX=no ;;
635   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
636 esac], 
637 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
638
639 AC_ARG_ENABLE(atomic,
640 [  --enable-atomic              use atomic reference counting header],
641 [case "${enableval}" in
642   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
643   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
644   no)  USE_ATOMIC_H=no;;
645   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
646 esac], 
647 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
648
649 AC_ARG_ENABLE(plugin-builddir,
650 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
651 [case "${enableval}" in
652   yes) PLUGINS_USE_BUILDDIR=yes ;;
653   no)  PLUGINS_USE_BUILDDIR=no ;;
654   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
655 esac], 
656 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
657
658 AC_ARG_ENABLE(debug,
659 [  --enable-debug               compile with -g debugging info],
660 [case "${enableval}" in
661   yes) USE_DEBUG=yes ;;
662   no)  USE_DEBUG=no ;;
663   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
664 esac], 
665 [USE_DEBUG=no]) dnl Default value
666
667 AC_ARG_ENABLE(DEBUG,
668 [  --enable-DEBUG               compiles in a large number of debugging messages],
669 [case "${enableval}" in
670   yes) ENABLE_DEBUG=yes ;;
671   no)  ENABLE_DEBUG=no ;;
672   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
673 esac], 
674 [ENABLE_DEBUG=no]) dnl Default value
675 if test x$ENABLE_DEBUG = xyes; then
676   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
677 fi
678
679 AC_ARG_ENABLE(INFO,
680 [  --disable-INFO               disables compilation of informational messages],
681 [case "${enableval}" in
682   yes) ENABLE_INFO=yes ;;
683   no)  ENABLE_INFO=no ;;
684   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
685 esac], 
686 [ENABLE_INFO=yes]) dnl Default value
687 if test x$ENABLE_INFO = xyes; then
688   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
689 fi
690
691 AC_ARG_ENABLE(debug-color,
692 [  --disable-debug-color        disables color output of DEBUG and INFO output],
693 [case "${enableval}" in
694   yes) ENABLE_DEBUG_COLOR=yes ;;
695   no)  ENABLE_DEBUG_COLOR=no ;;
696   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
697 esac], 
698 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
699 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
700   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
701 fi
702
703 AC_ARG_ENABLE(profiling,
704 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
705 [case "${enableval}" in
706   yes) USE_PROFILING=yes ;;
707   no)  UES_PROFILING=no ;;
708   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
709 esac], 
710 [USE_PROFILING=no]) dnl Default value
711
712 dnl default to building registry in the source tree if we are enabling plugin build dir
713 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
714   GST_CONFIG_DIR=`pwd`
715 else
716   GST_CONFIG_DIR=/etc/gstreamer
717 fi
718 AC_ARG_WITH(configdir,
719 [  --with-configdir             specify path to use for configdir],
720 [case "${withval}" in
721   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
722   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
723   *) GST_CONFIG_DIR="${withval}" ;;
724 esac], 
725 [:]) dnl Default value
726
727 dnl Default value
728 GST_WIN32_LIBDIR="/usr/lib/win32"
729 AC_ARG_WITH(win32_libdir,
730 [  --with-win32-libdir          specify location for win32 DLLs],
731 [case "${withval}" in
732   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
733   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
734   *) GST_WIN32_LIBDIR="${withval}" ;;
735 esac],
736 [:]) dnl Default value
737
738 AC_ARG_ENABLE(docs-build,
739 [  --enable-docs-build          enable building of documentation],
740 [case "${enableval}" in
741   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; ;;
742   no)  BUILD_DOCS=no ;;
743   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
744 esac], 
745 [BUILD_DOCS=no]) dnl Default value
746
747 AC_ARG_ENABLE(plugin-docs,
748 [  --enable-plugin-docs         enable the building of plugin documentation
749                                (this is currently broken, so off by default)],
750 [case "${enableval}" in
751   yes) BUILD_PLUGIN_DOCS=yes ;;
752   no)  BUILD_PLUGIN_DOCS=no ;;
753   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
754 esac], 
755 [BUILD_PLUGIN_DOCS=no]) dnl Default value
756
757 AC_ARG_ENABLE(tests,
758 [  --disable-tests              disable building test apps],
759 [case "${enableval}" in
760   yes) BUILD_TESTS=yes ;;
761   no)  BUILD_TESTS=no ;;
762   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
763 esac], 
764 [BUILD_TESTS=yes]) dnl Default value
765
766 AC_ARG_ENABLE(examples,
767 [  --disable-examples           disable building examples],
768 [case "${enableval}" in
769   yes) BUILD_EXAMPLES=yes ;;
770   no)  BUILD_EXAMPLES=no ;;
771   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
772 esac], 
773 [BUILD_EXAMPLES=yes]) dnl Default value
774
775 dnl Next, check for the optional components:
776 dnl ========================================
777
778
779 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
780 [dnl
781 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
782 dnl
783 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
784 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
785 [ case "${enableval}" in
786     yes) GST_DISABLE_[$1]=no ;;
787     no) GST_DISABLE_[$1]=yes ;;
788     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
789   esac],
790 [GST_DISABLE_[$1]=no]) dnl Default value
791 if test x$GST_DISABLE_[$1] = xyes; then
792   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
793   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
794 fi
795 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
796 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
797 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
798 ])
799
800 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
801 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
802 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
803 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
804 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
805 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
806 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
807 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
808 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
809 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
810 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
811 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
812
813 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
814
815
816 dnl ################################################
817 dnl # Set defines according to variables set above #
818 dnl ################################################
819
820
821 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
822 dnl HAVE_ and it is likely to be easier to stick with the old name
823 if test "x$USE_LIBGHTTP" = xyes; then
824   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
825 fi
826
827 if test "x$USE_LIBMMX" = xyes; then
828   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
829 fi
830
831 if test "x$USE_ATOMIC_H" = xyes; then
832   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
833 fi
834
835 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
836   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
837 fi
838
839 dnl if test "x$USE_DEBUG" = xyes; then
840 dnl   CFLAGS="$CFLAGS -g"
841 dnl fi
842
843 if test "x$USE_PROFILING" = xyes; then
844 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
845   FOMIT_FRAME_POINTER=""
846 else
847   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
848 fi
849
850 dnl
851 dnl AC_SUBST(FOMIT_FRAME_POINTER)
852 dnl
853
854 if test "x$HAVE_LIBMIKMOD" = xyes; then
855   AC_DEFINE(HAVE_LIBMIKMOD)
856 fi
857
858 if test "x$HAVE_LIBJPEG" = xyes; then
859   AC_DEFINE(HAVE_LIBJPEG)
860 fi
861
862 if test "x$HAVE_LIBHERMES" = "xyes"; then
863   AC_DEFINE(HAVE_LIBHERMES)
864 fi
865
866 if test "x$HAVE_A52DEC" = xyes; then
867   AC_DEFINE(HAVE_A52DEC)
868 fi
869
870 if test "x$HAVE_FLACLIB" = xyes; then
871   AC_DEFINE(HAVE_FLACLIB)
872 fi
873
874 if test "x$HAVE_LIBGSM" = xyes; then
875   AC_DEFINE(HAVE_LIBGSM)
876 fi
877
878 dnl #############################
879 dnl # Set automake conditionals #
880 dnl #############################
881
882 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
883 dnl HAVE_ and it is likely to be easier to stick with the old name
884 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
885 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
886 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
887 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
888 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
889 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
890
891 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
892
893 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
894 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
895
896 AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
897 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
898 AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
899 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
900 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
901 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
902 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
903 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
904 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
905 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
906 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
907 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
908 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
909 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
910 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
911 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
912 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
913 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
914 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
915 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
916 AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
917 AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
918 dnl thomas : the next line gives errors, this is how it is in CVS
919 dnl AM_CONDITIONAL(HAVE_FLAC,               test "x$HAVE_FLAC" = "xyes")
920 dnl thomas : the next line gives errors as well, I commented it
921 dnl AM_CONDITIONAL(HAVE_LAC,                test "x$HAVE_FAC" = "xyes")
922 dnl thomas: the next line doesn't give errors
923 AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
924 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
925 AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
926 AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
927 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
928 AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
929 AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
930 AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
931 AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
932 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
933 AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
934
935
936 dnl ############################
937 dnl # Set up some more defines #
938 dnl ############################
939
940 dnl Set location of configuration dir.
941 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
942 AC_SUBST(GST_CONFIG_DIR)
943
944 dnl Set location of windows dll dir.
945 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
946 AC_SUBST(GST_WIN32_LIBDIR)
947
948 dnl Set location of plugin directory
949 if test "x${prefix}" = "xNONE"; then
950   PLUGINS_DIR=${ac_default_prefix}/lib/gst
951 else
952   PLUGINS_DIR=${prefix}/lib/gst
953 fi
954 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
955 AC_SUBST(PLUGINS_DIR)
956
957 dnl Set location of uninstalled plugin directory
958 PLUGINS_BUILDDIR=`pwd`
959 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
960 AC_SUBST(PLUGINS_BUILDDIR)
961
962 dnl Private vars for libgst only
963 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
964 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
965 AC_SUBST(LIBGST_LIBS)
966 AC_SUBST(LIBGST_CFLAGS)
967
968 dnl Vars for everyone else
969 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
970 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
971 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
972 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
973 AC_SUBST(GST_LIBS)
974 AC_SUBST(GST_CFLAGS)
975
976 dnl #############################
977 dnl # Configure the subpackages #
978 dnl #############################
979
980 dnl AC_CONFIG_SUBDIRS(gist)
981 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
982
983 dnl ##################################################
984 dnl # Prepare informative messages to display at end #
985 dnl ##################################################
986
987 infomessages=
988
989 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
990   infomessages="$infomessages
991 *** Warning: You have configured using the --enable-plugin-builddir option.
992
993 This option is for development purposes only: binaries built with
994 it should be used with code in the build tree only.  To build an
995 installable version, use ./configure without the --enable-plugin-builddir
996 option.  Note that the autogen.sh script supplies the plugin builddir
997 option automatically - it cannot be used to configure installable builds.
998
999 "
1000 fi
1001
1002 dnl #########################
1003 dnl # Make the output files #
1004 dnl #########################
1005
1006 dnl gstreamer.pc
1007 dnl gstreamer-uninstalled.pc
1008 dnl gstreamer.spec,
1009 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1010 dnl components/bonobo-gstmediaplay/Makefile
1011 dnl someone should fix this test/misc/Makefile
1012 dnl wtay fix this: testsuite/threads/Makefile
1013 dnl testsuite/refcounting/Makefile
1014 dnl libs/Makefile
1015 dnl libs/riff/Makefile
1016 dnl libs/getbits/Makefile
1017 dnl libs/putbits/Makefile
1018 dnl libs/idct/Makefile
1019 dnl libs/audio/Makefile
1020 dnl libs/bytestream/Makefile
1021 dnl libs/control/Makefile
1022 dnl libs/resample/Makefile
1023 dnl stamp.h
1024 dnl echo "$infomessages", infomessages="$infomessages"
1025 PLUGIN_GST_MAKEFILES="\
1026 gst/ac3parse/Makefile \
1027 gst/adder/Makefile \
1028 gst/audioscale/Makefile \
1029 gst/auparse/Makefile \
1030 gst/avi/Makefile \
1031 gst/chart/Makefile \
1032 gst/cutter/Makefile \
1033 gst/deinterlace/Makefile \
1034 gst/flx/Makefile \
1035 gst/intfloat/Makefile \
1036 gst/lav/Makefile \
1037 gst/law/Makefile \
1038 gst/level/Makefile \
1039 gst/median/Makefile \
1040 gst/mpeg1enc/Makefile \
1041 gst/mpeg1sys/Makefile \
1042 gst/mpeg2enc/Makefile \
1043 gst/mpeg2sub/Makefile \
1044 gst/mpegaudio/Makefile \
1045 gst/mpegaudioparse/Makefile \
1046 gst/mpegstream/Makefile \
1047 gst/mpegtypes/Makefile \
1048 gst/passthrough/Makefile \
1049 gst/playondemand/Makefile \
1050 gst/rtjpeg/Makefile \
1051 gst/silence/Makefile \
1052 gst/sine/Makefile \
1053 gst/smooth/Makefile \
1054 gst/smoothwave/Makefile \
1055 gst/spectrum/Makefile \
1056 gst/speed/Makefile \
1057 gst/stereo/Makefile \
1058 gst/stereomono/Makefile \
1059 gst/synaesthesia/Makefile \
1060 gst/udp/Makefile \
1061 gst/videoscale/Makefile \
1062 gst/volenv/Makefile \
1063 gst/volume/Makefile \
1064 gst/vumeter/Makefile \
1065 gst/wavparse/Makefile"
1066
1067 AC_OUTPUT(
1068 Makefile
1069 gst/Makefile
1070 $PLUGIN_GST_MAKEFILES
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/aalib/Makefile
1080 ext/alsa/Makefile
1081 ext/audiofile/Makefile
1082 ext/dvdread/Makefile
1083 ext/esd/Makefile
1084 ext/lame/Makefile
1085 ext/mad/Makefile
1086 ext/mpeg2dec/Makefile
1087 ext/sdl/Makefile
1088 ext/vorbis/Makefile
1089 gst-libs/Makefile
1090 gst-libs/gst/Makefile
1091 gst-libs/gst/audio/Makefile
1092 gst-libs/gst/resample/Makefile
1093 gst-libs/gst/riff/Makefile
1094 gst-plugins.spec
1095 )
1096
1097 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1098 echo
1099 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"
1100 echo