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