applied wingo's patch to core
[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_LIBESD, true)
464 GST_CHECK_FEATURE(LIBESD, [esound plugins], esdsrc esdsink, [
465   AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=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_LIBMAD, true)
527 GST_CHECK_FEATURE(LIBMAD, [mad], mad, [
528 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_LIBMAD="yes")
529 ])
530
531 dnl *** mikmod ***
532 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMIKMOD, true)
533 GST_CHECK_FEATURE(LIBMIKMOD, [mikmod plugin], mikmod, [
534   AM_PATH_LIBMIKMOD(, HAVE_LIBMIKMOD=yes, HAVE_LIBMIKMOD=no)
535 ])
536
537 dnl *** mpeg2dec ***
538 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
539 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
540   GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2")
541 ])
542
543 dnl *** quicktime ***
544 dnl FIXME: make this be called openquicktime
545 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
546 GST_CHECK_FEATURE(QUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
547   GST_CHECK_LIBHEADER(QUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, QUICKTIME_LIBS="-lopenquicktime")
548 ])
549
550 dnl *** raw1394 ***
551 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
552 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
553   GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
554 ])
555
556 dnl Check for librtp
557 dnl FIXME : adapt and make it work
558 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRTP, true)
559 GST_CHECK_FEATURE(LIBRTP, [RTP library], rtpenc rtpdec,[
560   AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
561 ])
562 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
563 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
564 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
565 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
566 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
567
568
569 dnl *** SDL ***
570 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSDL, true)
571 GST_CHECK_FEATURE(LIBSDL, [SDL plugin], sdlvideosink, [
572  AM_PATH_SDL(, HAVE_LIBSDL=yes, HAVE_LIBSDL=no)
573 ])
574
575 dnl *** shout ***
576 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBSHOUT, true)
577 GST_CHECK_FEATURE(LIBSHOUT, [shout plugin], icecastsend, [
578   GST_CHECK_LIBHEADER(LIBSHOUT, shout, shout_init_connection,, shout/shout.h, LIBSHOUT_LIBS="-lshout")
579 ])
580
581 dnl for sidplay
582 dnl FIXME : make this work
583 dnl AC_PATH_LIBSIDPLAY
584
585
586 dnl *** vorbis ***
587 dnl AM_PATH_VORBIS only takes two options
588 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
589 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
590   AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
591 ])
592
593 dnl *** xmms ***
594 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true)
595 GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [
596   AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
597 ])
598
599 dnl Check for libgdk-pixbuf
600 dnl FIXME: not sure that this is still used anywhere.
601 dnl DELETEME
602 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
603 dnl GST_CHECK_FEATURE(GDK_PIXBUF, [use gdk pixbuf], , [
604 dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_LIBS)
605 dnl translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_CFLAGS)
606 dnl GST_CHECK_CONFIGPROG(GDK_PIXBUF, gdk-pixbuf-config)
607 dnl ])
608 dnl 
609
610
611 if test x$USE_GLIB2 = xyes; then
612   dnl we don't support gnome/gtk with glib2.0 yet
613   GNOME_LIBS=
614   GNOME_CFLAGS=
615   HAVE_GNOME=no
616   AC_MSG_WARN(gnome disabled for glib2.0)
617 else
618   dnl Check for libgnome
619   GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
620 fi
621 AC_SUBST(GNOME_LIBS)
622 AC_SUBST(GNOME_CFLAGS)
623 AC_SUBST(HAVE_GNOME)
624
625 dnl Check for libghttp
626 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
627 GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
628   dnl FIXME: need to check for header
629   GHTTP_LIBS=
630   GST_HTTPSRC_GET_TYPE=
631   if test x$USE_GLIB2 = xyes; then
632     AC_MSG_WARN(ghttp disabled for glib2.0)
633   else
634     AC_CHECK_LIB(ghttp, ghttp_request_new,
635       [GHTTP_LIBS="-lghttp"
636        GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
637        HAVE_LIBGHTTP=yes
638       ], :, $LIBS)
639   fi
640   AC_SUBST(GHTTP_LIBS)
641   AC_SUBST(GST_HTTPSRC_GET_TYPE)
642 ])
643
644
645 dnl thomas : adding an arts check taken from xine with it's own .m4
646 dnl FIXME: put this higher up
647 dnl AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
648
649 dnl also define ARTS_MCOPFLAGS
650 dnl ARTS_MCOPFLAGS="$ARTS_CFLAGS"
651 dnl AC_SUBST(ARTS_MCOPFLAGS)   
652
653 dnl Check for libglade with gnome support; no libglade for glib2.0
654 HAVE_LIBGLADE_GNOME="no"
655 if test x$USE_GLIB2 = xyes; then
656   AC_MSG_WARN(libglade disabled for glib2.0)
657   PKG_CHECK_MODULES(LIBGLADE_GNOME, libglade-2.0 libgnomeui-2.0, HAVE_LIBGLADE_GNOME=yes, HAVE_LIBGLADE_GNOME=no)
658   if test x$HAVE_LIBGLADE_GNOME = xno; then
659     AC_MSG_WARN(Couldn't find libglade-2.0 - Can't build gstplay)
660     LIBGLADE_GNOME_LIBS=
661     LIBGLADE_GNOME_CFLAGS=
662   fi;
663 else
664   AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome)
665   if test x$HAVE_LIBGLADE_GNOME = xno; then
666     AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
667   else
668     LIBGLADE_GNOME_LIBS=$LIBGLADE_LIBS
669     LIBGLADE_GNOME_CFLAGS=$LIBGLADE_CFLAGS
670         AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
671                 HAVE_LIBGLADE_GNOME="yes"
672                 AC_MSG_WARN(
673         [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
674                )
675   fi
676 fi
677 AC_SUBST(HAVE_LIBGLADE_GNOME)
678 AC_SUBST(LIBGLADE_GNOME_LIBS)
679 AC_SUBST(LIBGLADE_GNOME_CFLAGS)
680
681 dnl Check for atomic.h
682 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
683 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
684 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
685 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
686 if test x$HAVE_ATOMIC_H = xyes; then
687   AC_TRY_RUN([
688 #include "asm/atomic.h"
689 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
690   ],, [
691     # Not successful
692     if test x$HAVE_ATOMIC_H = xyes; then
693       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
694     fi
695     HAVE_ATOMIC_H=no
696   ], [
697     # Cross compiling
698     AC_MSG_RESULT(yes)
699     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
700   ])
701 fi
702
703
704
705 dnl ######################################################################
706 dnl # Check command line parameters, and set shell variables accordingly #
707 dnl ######################################################################
708
709 AC_ARG_ENABLE(libmmx,
710 [  --enable-libmmx              use libmmx, if available],
711 [case "${enableval}" in
712   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
713   no)  USE_LIBMMX=no ;;
714   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
715 esac], 
716 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
717
718 AC_ARG_ENABLE(atomic,
719 [  --enable-atomic              use atomic reference counting header],
720 [case "${enableval}" in
721   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
722   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
723   no)  USE_ATOMIC_H=no;;
724   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
725 esac], 
726 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
727
728 AC_ARG_ENABLE(plugin-builddir,
729 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
730 [case "${enableval}" in
731   yes) PLUGINS_USE_BUILDDIR=yes ;;
732   no)  PLUGINS_USE_BUILDDIR=no ;;
733   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
734 esac], 
735 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
736
737 AC_ARG_ENABLE(debug,
738 [  --enable-debug               compile with -g debugging info],
739 [case "${enableval}" in
740   yes) USE_DEBUG=yes ;;
741   no)  USE_DEBUG=no ;;
742   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
743 esac], 
744 [USE_DEBUG=no]) dnl Default value
745
746 AC_ARG_ENABLE(DEBUG,
747 [  --enable-DEBUG               compiles in a large number of debugging messages],
748 [case "${enableval}" in
749   yes) ENABLE_DEBUG=yes ;;
750   no)  ENABLE_DEBUG=no ;;
751   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
752 esac], 
753 [ENABLE_DEBUG=no]) dnl Default value
754 if test x$ENABLE_DEBUG = xyes; then
755   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
756 fi
757
758 AC_ARG_ENABLE(INFO,
759 [  --disable-INFO               disables compilation of informational messages],
760 [case "${enableval}" in
761   yes) ENABLE_INFO=yes ;;
762   no)  ENABLE_INFO=no ;;
763   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
764 esac], 
765 [ENABLE_INFO=yes]) dnl Default value
766 if test x$ENABLE_INFO = xyes; then
767   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
768 fi
769
770 AC_ARG_ENABLE(debug-color,
771 [  --disable-debug-color        disables color output of DEBUG and INFO output],
772 [case "${enableval}" in
773   yes) ENABLE_DEBUG_COLOR=yes ;;
774   no)  ENABLE_DEBUG_COLOR=no ;;
775   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
776 esac], 
777 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
778 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
779   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
780 fi
781
782 AC_ARG_ENABLE(profiling,
783 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
784 [case "${enableval}" in
785   yes) USE_PROFILING=yes ;;
786   no)  UES_PROFILING=no ;;
787   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
788 esac], 
789 [USE_PROFILING=no]) dnl Default value
790
791 dnl default to building registry in the source tree if we are enabling plugin build dir
792 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
793   GST_CONFIG_DIR=`pwd`
794 else
795   GST_CONFIG_DIR=/etc/gstreamer
796 fi
797 AC_ARG_WITH(configdir,
798 [  --with-configdir             specify path to use for configdir],
799 [case "${withval}" in
800   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
801   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
802   *) GST_CONFIG_DIR="${withval}" ;;
803 esac], 
804 [:]) dnl Default value
805
806 dnl Default value
807 GST_WIN32_LIBDIR="/usr/lib/win32"
808 AC_ARG_WITH(win32_libdir,
809 [  --with-win32-libdir          specify location for win32 DLLs],
810 [case "${withval}" in
811   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
812   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
813   *) GST_WIN32_LIBDIR="${withval}" ;;
814 esac],
815 [:]) dnl Default value
816
817 AC_ARG_ENABLE(docs-build,
818 [  --enable-docs-build          enable building of documentation],
819 [case "${enableval}" in
820   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; ;;
821   no)  BUILD_DOCS=no ;;
822   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
823 esac], 
824 [BUILD_DOCS=no]) dnl Default value
825
826 AC_ARG_ENABLE(plugin-docs,
827 [  --enable-plugin-docs         enable the building of plugin documentation
828                                (this is currently broken, so off by default)],
829 [case "${enableval}" in
830   yes) BUILD_PLUGIN_DOCS=yes ;;
831   no)  BUILD_PLUGIN_DOCS=no ;;
832   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
833 esac], 
834 [BUILD_PLUGIN_DOCS=no]) dnl Default value
835
836 AC_ARG_ENABLE(tests,
837 [  --disable-tests              disable building test apps],
838 [case "${enableval}" in
839   yes) BUILD_TESTS=yes ;;
840   no)  BUILD_TESTS=no ;;
841   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
842 esac], 
843 [BUILD_TESTS=yes]) dnl Default value
844
845 AC_ARG_ENABLE(examples,
846 [  --disable-examples           disable building examples],
847 [case "${enableval}" in
848   yes) BUILD_EXAMPLES=yes ;;
849   no)  BUILD_EXAMPLES=no ;;
850   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
851 esac], 
852 [BUILD_EXAMPLES=yes]) dnl Default value
853
854 dnl Next, check for the optional components:
855 dnl ========================================
856
857
858 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
859 [dnl
860 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
861 dnl
862 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
863 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
864 [ case "${enableval}" in
865     yes) GST_DISABLE_[$1]=no ;;
866     no) GST_DISABLE_[$1]=yes ;;
867     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
868   esac],
869 [GST_DISABLE_[$1]=no]) dnl Default value
870 if test x$GST_DISABLE_[$1] = xyes; then
871   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
872   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
873 fi
874 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
875 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
876 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
877 ])
878
879 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
880 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
881 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
882 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
883 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
884 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
885 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
886 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
887 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
888 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
889 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
890 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
891
892 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
893
894
895 dnl ################################################
896 dnl # Set defines according to variables set above #
897 dnl ################################################
898
899
900 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
901 dnl HAVE_ and it is likely to be easier to stick with the old name
902 if test "x$USE_LIBGHTTP" = xyes; then
903   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
904 fi
905
906 if test "x$USE_LIBMMX" = xyes; then
907   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
908 fi
909
910 if test "x$USE_ATOMIC_H" = xyes; then
911   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
912 fi
913
914 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
915   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
916 fi
917
918 dnl if test "x$USE_DEBUG" = xyes; then
919 dnl   CFLAGS="$CFLAGS -g"
920 dnl fi
921
922 if test "x$USE_PROFILING" = xyes; then
923 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
924   FOMIT_FRAME_POINTER=""
925 else
926   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
927 fi
928
929 dnl
930 dnl AC_SUBST(FOMIT_FRAME_POINTER)
931 dnl
932
933 if test "x$HAVE_LIBXV" = xyes; then
934   AC_DEFINE(HAVE_LIBXV)
935 fi
936
937 if test "x$HAVE_LIBMAD" = xyes; then
938   AC_DEFINE(HAVE_LIBMAD)
939 fi
940
941 if test "x$HAVE_LIBMIKMOD" = xyes; then
942   AC_DEFINE(HAVE_LIBMIKMOD)
943 fi
944
945 if test "x$HAVE_VORBIS" = xyes; then
946   AC_DEFINE(HAVE_VORBIS)
947 fi
948
949 if test "x$HAVE_AALIB" = "xyes"; then
950   AC_DEFINE(HAVE_AALIB)
951 fi
952
953 if test "x$HAVE_LIBJPEG" = xyes; then
954   AC_DEFINE(HAVE_LIBJPEG)
955 fi
956
957 if test "x$HAVE_LIBSDL" = xyes; then
958   AC_DEFINE(HAVE_LIBSDL)
959 fi
960
961 if test "x$HAVE_LIBHERMES" = "xyes"; then
962   AC_DEFINE(HAVE_LIBHERMES)
963 fi
964
965 if test "x$HAVE_LIBDVDREAD" = xyes; then
966   AC_DEFINE(HAVE_LIBDVDREAD)
967 fi
968
969 if test "x$HAVE_LINUX_CDROM" = xyes; then
970   AC_DEFINE(HAVE_LINUX_CDROM)
971 fi
972
973 if test "x$HAVE_LINUX_VIDEODEV" = xyes; then
974   AC_DEFINE(HAVE_LINUX_VIDEODEV)
975 fi
976
977 if test "x$HAVE_MPEG2DEC" = xyes; then
978   AC_DEFINE(HAVE_MPEG2DEC)
979 fi
980
981 if test "x$HAVE_A52DEC" = xyes; then
982   AC_DEFINE(HAVE_A52DEC)
983 fi
984
985 if test "x$HAVE_FLACLIB" = xyes; then
986   AC_DEFINE(HAVE_FLACLIB)
987 fi
988
989 if test "x$HAVE_LIBGSM" = xyes; then
990   AC_DEFINE(HAVE_LIBGSM)
991 fi
992
993 dnl #############################
994 dnl # Set automake conditionals #
995 dnl #############################
996
997 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
998 dnl HAVE_ and it is likely to be easier to stick with the old name
999 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
1000 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
1001 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
1002 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
1003 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
1004 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1005
1006 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1007
1008 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
1009 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
1010
1011 AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
1012 AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
1013 AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
1014 AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
1015 AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
1016 AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
1017 AM_CONDITIONAL(HAVE_LIBDVDREAD,     test "x$HAVE_LIBDVDREAD" = "xyes")
1018 AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
1019 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
1020 AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
1021 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
1022 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1023 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
1024 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
1025 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
1026 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1027 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1028 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1029 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1030 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1031 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1032 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
1033 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
1034 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
1035 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1036 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
1037 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
1038 AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
1039 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
1040 AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
1041 AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
1042 dnl thomas : the next line gives errors, this is how it is in CVS
1043 dnl AM_CONDITIONAL(HAVE_FLAC,               test "x$HAVE_FLAC" = "xyes")
1044 dnl thomas : the next line gives errors as well, I commented it
1045 dnl AM_CONDITIONAL(HAVE_LAC,                test "x$HAVE_FAC" = "xyes")
1046 dnl thomas: the next line doesn't give errors
1047 AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
1048 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
1049 AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
1050 AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
1051 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1052 AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
1053 AM_CONDITIONAL(HAVE_AALIB,          test "x$HAVE_AALIB" = "xyes")
1054 AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
1055 AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
1056 AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
1057 AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
1058 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
1059 AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
1060
1061
1062 dnl ############################
1063 dnl # Set up some more defines #
1064 dnl ############################
1065
1066 dnl Set location of configuration dir.
1067 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
1068 AC_SUBST(GST_CONFIG_DIR)
1069
1070 dnl Set location of windows dll dir.
1071 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
1072 AC_SUBST(GST_WIN32_LIBDIR)
1073
1074 dnl Set location of plugin directory
1075 if test "x${prefix}" = "xNONE"; then
1076   PLUGINS_DIR=${ac_default_prefix}/lib/gst
1077 else
1078   PLUGINS_DIR=${prefix}/lib/gst
1079 fi
1080 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
1081 AC_SUBST(PLUGINS_DIR)
1082
1083 dnl Set location of uninstalled plugin directory
1084 PLUGINS_BUILDDIR=`pwd`
1085 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
1086 AC_SUBST(PLUGINS_BUILDDIR)
1087
1088 dnl Private vars for libgst only
1089 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
1090 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
1091 AC_SUBST(LIBGST_LIBS)
1092 AC_SUBST(LIBGST_CFLAGS)
1093
1094 dnl Vars for everyone else
1095 GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
1096 GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
1097 AC_SUBST(GST_LIBS)
1098 AC_SUBST(GST_CFLAGS)
1099
1100 dnl #############################
1101 dnl # Configure the subpackages #
1102 dnl #############################
1103
1104 dnl AC_CONFIG_SUBDIRS(gist)
1105 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
1106
1107 dnl ##################################################
1108 dnl # Prepare informative messages to display at end #
1109 dnl ##################################################
1110
1111 infomessages=
1112
1113 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
1114   infomessages="$infomessages
1115 *** Warning: You have configured using the --enable-plugin-builddir option.
1116
1117 This option is for development purposes only: binaries built with
1118 it should be used with code in the build tree only.  To build an
1119 installable version, use ./configure without the --enable-plugin-builddir
1120 option.  Note that the autogen.sh script supplies the plugin builddir
1121 option automatically - it cannot be used to configure installable builds.
1122
1123 "
1124 fi
1125
1126 dnl #########################
1127 dnl # Make the output files #
1128 dnl #########################
1129
1130 dnl gstreamer.pc
1131 dnl gstreamer-uninstalled.pc
1132 dnl gstreamer.spec,
1133 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1134 dnl components/bonobo-gstmediaplay/Makefile
1135 dnl someone should fix this test/misc/Makefile
1136 dnl wtay fix this: testsuite/threads/Makefile
1137 dnl testsuite/refcounting/Makefile
1138 dnl libs/Makefile
1139 dnl libs/riff/Makefile
1140 dnl libs/getbits/Makefile
1141 dnl libs/putbits/Makefile
1142 dnl libs/idct/Makefile
1143 dnl libs/audio/Makefile
1144 dnl libs/bytestream/Makefile
1145 dnl libs/control/Makefile
1146 dnl libs/resample/Makefile
1147 dnl stamp.h
1148 dnl echo "$infomessages", infomessages="$infomessages"
1149 AC_OUTPUT(
1150 Makefile
1151 sys/Makefile
1152 sys/oss/Makefile
1153 sys/qcam/Makefile
1154 sys/v4l/Makefile
1155 sys/vcd/Makefile
1156 sys/vga/Makefile
1157 sys/xvideo/Makefile
1158 )
1159
1160 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1161 echo
1162 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"
1163 echo