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