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