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