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