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