we want avifile don't we ?
[platform/upstream/gstreamer.git] / configure.ac
1 dnl Note: this file is generated from configure.base by autogen.sh
2 AC_INIT
3 AC_CONFIG_SRCDIR([gst/gstobject.h])
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=0
12 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
13
14 PACKAGE=gstreamer
15 VERSION=$GST_VERSION
16
17 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
18 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
19 AC_SUBST(PACKAGE)
20 AC_SUBST(VERSION)
21
22 dnl libtool
23 GST_CURRENT=1
24 GST_REVISION=0
25 GST_AGE=0
26 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
27
28 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
29 dnl Add parameters for aclocal
30 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
31 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
32
33 AC_SUBST(GST_VERSION_MAJOR)
34 AC_SUBST(GST_VERSION_MINOR)
35 AC_SUBST(GST_VERSION_MICRO)
36 AC_SUBST(GST_VERSION)
37
38 AC_SUBST(GST_CURRENT)
39 AC_SUBST(GST_REVISION)
40 AC_SUBST(GST_AGE)
41 AC_SUBST(GST_LIBVERSION)
42
43 AM_MAINTAINER_MODE
44
45 AC_PROG_CC
46 AM_PROG_CC_STDC
47 dnl you need automake 1.5 for AM_PROG_AS to work !
48 AM_PROG_AS
49 AS="${CC}"
50 AC_PROG_CXX
51 AC_PROG_CXXCPP
52 AC_ISC_POSIX
53
54 dnl We disable static building for development, for time savings
55 dnl *NOTE*: dnl this line before release, so release does static too
56 AM_DISABLE_STATIC
57 AC_LIBTOOL_DLOPEN
58 AM_PROG_LIBTOOL
59
60 AC_HEADER_STDC([])
61
62 dnl This is used for the -config script...
63 builddir=`pwd`
64 AC_SUBST(builddir)
65
66 dnl ##############################
67 dnl # Do automated configuration #
68 dnl ##############################
69
70 dnl Check for tools:
71 dnl ================
72
73 dnl Check for nasm
74 AC_PATH_PROG(NASM_PATH, nasm, no)
75 AC_SUBST(NASM_PATH)
76 if test x$NASM_PATH = xno; then
77   AC_MSG_WARN(Couldn't find nasm)
78   HAVE_NASM="no"
79 else
80   AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
81   HAVE_NASM="yes"
82 fi
83
84 dnl fix pkg-config's broken default search path
85 if test -z "$PKG_CONFIG_PATH"; then
86   PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
87 fi
88 export PKG_CONFIG_PATH
89
90 dnl Check for pkgconfig
91 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
92
93 dnl check for gtk-doc
94 AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
95
96 if test "x$with_html_dir" = "x" ; then
97   HTML_DIR='${datadir}/gst/html'
98 else
99   HTML_DIR=$with_html_dir
100 fi
101
102 AC_SUBST(HTML_DIR)
103
104 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
105 gtk_doc_min_version=0.6
106 if $HAVE_GTK_DOC ; then 
107     gtk_doc_version=`gtkdoc-mkdb --version`
108     AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
109     if perl <<EOF ; then
110       exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
111             ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
112 EOF
113       AC_MSG_RESULT(yes)
114    else
115       AC_MSG_RESULT(no)
116       HAVE_GTK_DOC=false
117    fi
118 fi
119 GTK_DOC_SCANOBJ=gtkdoc-scanobj
120
121 AC_SUBST(HAVE_GTK_DOC)
122 AC_SUBST(GTK_DOC_SCANOBJ)
123
124 dnl check for docbook tools
125 AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false)
126 AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false)
127 AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, true, false)
128
129 dnl check for image conversion tool
130 AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
131
132 dnl The following is a hack: if fig2dev doesn't display an error message
133 dnl for the desired type, we assume it supports it.
134 HAVE_FIG2DEV_PNG=false
135 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
136   fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
137   if test "x$fig2dev_quiet" = "x" ; then
138     HAVE_FIG2DEV_PNG=true
139   fi
140 fi
141 HAVE_FIG2DEV_EPS=false
142 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
143   fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
144   if test "x$fig2dev_quiet" = "x" ; then
145     HAVE_FIG2DEV_EPS=true
146   fi
147 fi
148
149
150 dnl Set up conditionals for (target) architecture:
151 dnl ==============================================
152
153 dnl Determine CPU
154 case "x${target_cpu}" in
155   xi?86 | k?) HAVE_CPU_I386=yes
156               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
157               dnl FIXME could use some better detection
158               dnl       (ie CPUID)
159               case "x${target_cpu}" in
160                 xi386 | xi486) ;;
161                 *)             AC_DEFINE(HAVE_RDTSC) ;;
162               esac ;;
163   xpowerpc)   HAVE_CPU_PPC=yes
164               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
165   xalpha)     HAVE_CPU_ALPHA=yes
166               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
167   xarm*)      HAVE_CPU_ARM=yes
168               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
169   xsparc*)    HAVE_CPU_SPARC=yes
170               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
171   xmips*)     HAVE_CPU_MIPS=yes
172               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
173   xhppa*)     HAVE_CPU_HPPA=yes
174               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
175 esac
176
177 dnl Determine endianness
178 AC_C_BIGENDIAN
179
180 dnl Check for MMX-capable compiler
181 AC_MSG_CHECKING(for MMX-capable compiler)
182 AC_TRY_RUN([
183 #include "include/mmx.h"
184
185 main()
186 { movq_r2r(mm0, mm1); return 0; }
187 ],
188 [
189 HAVE_LIBMMX="yes"
190 AC_MSG_RESULT(yes)
191 ],
192 HAVE_LIBMMX="no"
193 AC_MSG_RESULT(no)
194 ,
195 HAVE_LIBMMX="no"
196 AC_MSG_RESULT(no)
197 )
198
199 dnl
200 dnl We should really use AC_SYS_LARGEFILE, but the problem is
201 dnl many of the plugins don't include "config.h".  To assure
202 dnl binary compatibility, it is necessary that all gstreamer
203 dnl code be compiled with the same sizeof(off_t), so we use
204 dnl the following crude hack.
205 dnl
206
207 AC_MSG_CHECKING(for large file support)
208 AC_TRY_RUN([
209 #define _LARGEFILE_SOURCE
210 #define _FILE_OFFSET_BITS 64
211 #include <sys/types.h>
212 int main () { return !(sizeof(off_t) == 8); }
213 ],
214 [
215 AC_MSG_RESULT(yes)
216 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
217 ],
218 [
219 AC_MSG_RESULT(no)
220 ],
221 [
222 AC_MSG_RESULT(no)
223 ])
224
225 dnl Check for essential libraries first:
226 dnl ====================================
227
228 dnl Check for glib2
229 translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true)
230 GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
231   PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
232     HAVE_GLIB2=yes,HAVE_GLIB2=no)
233   GLIB_LIBS=$GLIB2_LIBS
234   GLIB_CFLAGS=$GLIB2_CFLAGS
235   AC_SUBST(GLIB_LIBS)
236   AC_SUBST(GLIB_CFLAGS)
237 ], disabled, [
238   AC_DEFINE(USE_GLIB2)
239   GST_CFLAGS="$GST_CFLAGS -DUSE_GLIB2"
240 ])
241 AC_SUBST(USE_GLIB2)
242
243 if test x$USE_GLIB2 = xno; then
244   GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0"
245   
246   dnl Check for glib and gtk
247   AM_PATH_GLIB(1.2.0,,
248               AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
249               glib gmodule gthread)
250   AM_PATH_GTK(1.2.0,,
251               AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
252   HAVE_GTK=yes
253
254   GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
255   GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
256 else
257   GST_PKG_DEPS="glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0"
258   
259   PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
260
261   GTK_FLAGS=$GTK2_CFLAGS
262   GTK_LIBS=$GTK2_LIBS
263   
264   if $HAVE_GTK_DOC; then  
265     AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false)
266     if $HAVE_GTK_DOC; then
267       GTK_DOC_SCANOBJ=gtkdoc-scangobj
268     fi;
269   fi
270
271   dnl FIXME: check for  gnome2 - this conditional is currently
272   dnl always false.
273   AM_CONDITIONAL(USE_GNOME2, test "x$USE_GNOME2" = "xyes")
274   AC_SUBST(USE_GNOME2)
275 fi
276
277 AC_SUBST(GST_PKG_DEPS)
278 AC_SUBST(GTK_LIBS)
279 AC_SUBST(GTK_CFLAGS)
280
281 if test x$USE_GLIB2 = xno; then
282   LIBXML_PKG='libxml >= 1.8.1'
283 else
284   LIBXML_PKG='libxml-2.0'
285   AC_DEFINE(HAVE_LIBXML2)
286 fi
287 AC_SUBST(LIBXML_PKG)
288
289 dnl Check for libxml
290 dnl Thomas tries to convert this to pkg-config
291 PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no)
292 dnl AC_PATH_PROG(XML_CONFIG, xml-config, no)
293 if test x$XML_CONFIG = xno; then
294   AC_MSG_ERROR(Couldn't find $LIBXML_PKG)
295 fi
296 AC_SUBST(XML_LIBS)
297 AC_SUBST(XML_CFLAGS)
298
299
300 dnl ==========================================================================
301 dnl ========================= Macro definitions ==============================
302 dnl ==========================================================================
303
304 dnl These macros should be moved out to separate files (acinclude.m4?), but
305 dnl can't currently be because of the SUBSTFOR magic.
306
307 dnl Perform a check for existence of ARTS
308 dnl Richard Boulton <richard-alsa@tartarus.org>
309 dnl Last modification: 26/06/2001
310 dnl GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION,
311 dnl                   DEPENDENT-PLUGINS, TEST-FOR-FEATURE)
312 dnl
313 dnl This check was written for GStreamer: it should be renamed and checked
314 dnl for portability if you decide to use it elsewhere.
315 dnl
316 AC_DEFUN(GST_CHECK_ARTS,
317 [
318 dnl Set the flags
319 ARTS_LIBS="-L/usr/local/lib -L/usr/lib -lmcop -lartsflow -lartsflow_idl"
320 ARTS_CFLAGS="-I/usr/local/include/arts -I/usr/include/kde/arts -I/usr/include/arts"
321 ARTS_MCOPFLAGS=$ARTS_CFLAGS
322 dnl There's no arts-config script, so we make a guess based on the artsc-config
323 AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
324 if test x$ARTSC_CONFIG = xyes; then
325   ARTS_ARTSC_CFLAGS=`artsc-config --cflags | sed 's/artsc/arts/g'`
326   ARTS_CFLAGS="$ARTS_CFLAGS $ARTS_ARTSC_CFLAGS"
327   ARTS_MCOPFLAGS="$ARTS_MCOPFLAGS $ARTS_ARTSC_CFLAGS"
328 fi
329 AC_SUBST(ARTS_LIBS)
330 AC_SUBST(ARTS_CFLAGS)
331 AC_SUBST(ARTS_MCOPFLAGS)
332
333 dnl Now check if it exists
334 AC_LANG_PUSH(C++)
335 HAVE_ARTS=yes
336 dnl FIXME: Can't get this test to pass, so commented it out.  Rely on header check.
337 dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS)
338
339 dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
340 dnl FIXME: ensure only suitable flags result from artsc-config --cflags
341 AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no)
342
343 AC_LANG_POP(C++)
344 dnl Check for the idl generator
345 AC_CHECK_PROG(HAVE_MCOPIDL, mcopidl, yes, no)
346 if test x$HAVE_MCOPIDL = xno; then
347   HAVE_ARTS=no
348 fi
349 ])
350
351 dnl ==========================================================================
352 dnl ========================= End macro definitions ==========================
353 dnl ==========================================================================
354
355
356 dnl Next, check for the optional libraries:
357 dnl =======================================
358
359
360 dnl ***** ESound *****
361 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBESD, true)
362 GST_CHECK_FEATURE(LIBESD, [esound plugins], esdsrc esdsink, [
363   AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
364 ])
365
366 dnl Check for artsc
367 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
368 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [GST_CHECK_ARTSC()])
369
370 dnl Check for arts
371 dnl FIXME: thomasvs: I don't understand this, have replaced the check
372 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
373 dnl GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [GST_CHECK_ARTS()])
374
375 dnl Check for xmms
376 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_LIBXMMS, true)
377 dnl GST_CHECK_FEATURE(LIBXMMS, [xmms plugin], xmms, [
378 dnl  AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
379 dnl ], disabled)
380
381 dnl Check for alsa
382 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
383 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
384   AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
385 ])
386 if test x$HAVE_ALSA = xno; then
387   unset USE_ALSA
388   ALSA_CFLAGS=
389   ALSA_LIBS=
390 fi
391
392 dnl Check for libaudiofile
393 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBAUDIOFILE, true)
394 GST_CHECK_FEATURE(LIBAUDIOFILE, [use gdk pixbuf], afsink afsrc, [
395 translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_LIBS)
396 translit(dnm, m, l) AC_SUBST(LIBAUDIOFILE_CFLAGS)
397 GST_CHECK_CONFIGPROG(LIBAUDIOFILE, audiofile-config)
398 ])
399
400 dnl Check for libgdk-pixbuf
401 dnl FIXME: not sure that this is still used anywhere.
402 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
403 GST_CHECK_FEATURE(GDK_PIXBUF, [use gdk pixbuf], , [
404 translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_LIBS)
405 translit(dnm, m, l) AC_SUBST(GDK_PIXBUF_CFLAGS)
406 GST_CHECK_CONFIGPROG(GDK_PIXBUF, gdk-pixbuf-config)
407 ])
408
409 if test x$USE_GLIB2 = xyes; then
410   dnl we don't support gnome/gtk with glib2.0 yet
411   GNOME_LIBS=
412   GNOME_CFLAGS=
413   HAVE_GNOME=no
414   AC_MSG_WARN(gnome disabled for glib2.0)
415 else
416   dnl Check for libgnome
417 translit(dnm, m, l) AC_SUBST(GNOME_LIBS)
418 translit(dnm, m, l) AC_SUBST(GNOME_CFLAGS)
419 GST_CHECK_CONFIGPROG(GNOME, gnome-config, gnome gnomeui)
420 fi
421
422 dnl Check for libghttp
423 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
424 GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
425   dnl FIXME: need to check for header
426   GHTTP_LIBS=
427   GST_HTTPSRC_GET_TYPE=
428   if test x$USE_GLIB2 = xyes; then
429     AC_MSG_WARN(ghttp disabled for glib2.0)
430   else
431     AC_CHECK_LIB(ghttp, ghttp_request_new,
432       [GHTTP_LIBS="-lghttp"
433        GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
434        HAVE_LIBGHTTP=yes
435       ], :, $LIBS)
436   fi
437   AC_SUBST(GHTTP_LIBS)
438   AC_SUBST(GST_HTTPSRC_GET_TYPE)
439 ])
440
441 dnl thomas : adding an arts check taken from xine with it's own .m4
442 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
443
444 dnl also define ARTS_MCOPFLAGS
445 ARTS_MCOPFLAGS="$ARTS_CFLAGS"
446 AC_SUBST(ARTS_MCOPFLAGS)   
447
448 dnl Check for xmms
449 AM_PATH_XMMS(0.9.4, HAVE_XXMS=yes, HAVE_XMMS=no)
450
451 dnl Check for libglade
452 HAVE_LIBGLADE_GNOME="no"
453 if test x$USE_GLIB2 = xyes; then
454   dnl no glade for glib2.0
455   LIBGLADE_GNOME_LIBS=
456   LIBGLADE_GNOME_CFLAGS=
457   AC_MSG_WARN(libglade disabled for glib2.0)
458 else
459   AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome)
460   if test x$HAVE_LIBGLADE_GNOME = xno; then
461     AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
462     LIBGLADE_GNOME_LIBS=
463     LIBGLADE_GNOME_CFLAGS=
464   else
465     LIBGLADE_GNOME_LIBS=$LIBGLADE_LIBS
466     LIBGLADE_GNOME_CFLAGS=$LIBGLADE_CFLAGS
467         AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
468                 HAVE_LIBGLADE_GNOME="yes"
469                 AC_MSG_WARN(
470         [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
471                )
472   fi
473 fi
474 AC_SUBST(LIBGLADE_GNOME_LIBS)
475 AC_SUBST(LIBGLADE_GNOME_CFLAGS)
476
477 dnl Check for Gnome VFS
478 HAVE_GNOME_VFS="no"
479 if test x$USE_GLIB2 = xyes; then
480   VFS_LIBS=
481   VFS_CFLAGS=
482   AC_MSG_WARN(Gnome-VFS disabled for glib2.0)
483 else
484   AC_MSG_CHECKING(for Gnome VFS)
485   if gnome-config --libs vfs > /dev/null 2>&1; then
486         HAVE_GNOME_VFS="yes"
487         AC_MSG_RESULT(found)
488         VFS_LIBS="`gnome-config --libs vfs`"
489         VFS_CFLAGS="`gnome-config --cflags vfs`"
490   else
491         AC_MSG_WARN(Did not find Gnome-VFS installed)
492         VFS_LIBS=
493         VFS_CFLAGS=
494   fi
495 fi
496 AC_SUBST(VFS_LIBS)
497 AC_SUBST(VFS_CFLAGS)
498
499 dnl Check for Avifile
500 HAVE_AVIFILE="no"
501 AC_MSG_CHECKING(for Avifile)
502 if avifile-config --libs > /dev/null 2>&1; then
503         HAVE_AVIFILE="yes"
504         AC_MSG_RESULT(found)
505 else
506         AC_MSG_WARN(Did not find Avifile installed)
507 fi
508 AVIFILE_LIBS="`avifile-config --libs`"
509 AVIFILE_CFLAGS="`avifile-config --cflags`"
510 AC_SUBST(AVIFILE_LIBS)
511 AC_SUBST(AVIFILE_CFLAGS)
512 dnl HAVE_AVIFILE is needed in a Makefile.am
513
514 AC_SUBST(HAVE_AVIFILE)
515 dnl Check for atomic.h
516 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
517 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
518 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
519 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
520 if test x$HAVE_ATOMIC_H = xyes; then
521   AC_TRY_RUN([
522 #include "asm/atomic.h"
523 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
524   ],, [
525     # Not successful
526     if test x$HAVE_ATOMIC_H = xyes; then
527       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
528     fi
529     HAVE_ATOMIC_H=no
530   ], [
531     # Cross compiling
532     AC_MSG_RESULT(yes)
533     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
534   ])
535 fi
536
537
538 dnl Check for X11 extensions
539 AC_PATH_XTRA
540 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
541   AC_MSG_ERROR(can not find X11)
542 fi
543 AC_SUBST(X_CFLAGS)
544 AC_SUBST(X_PRE_LIBS)
545 AC_SUBST(X_EXTRA_LIBS)
546 AC_SUBST(X_LIBS)
547
548
549 dnl Check for the Xv library
550 xvsave_LIBS=${LIBS}
551 AC_CHECK_LIB(Xv, XvQueryExtension,
552   HAVE_LIBXV=yes,
553   HAVE_LIBXV=no,
554   $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS
555 )
556 LIBS=${xvsave_LIBS}
557 AC_CHECK_HEADER(X11/extensions/Xv.h, :, HAVE_LIBXV=no)
558 AC_CHECK_HEADER(X11/extensions/Xvlib.h, :, HAVE_LIBXV=no)
559
560 dnl Check for OSS audio
561 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS=yes, HAVE_OSS=no)
562
563 dnl Check for xaudio
564 AC_CHECK_HEADER(xaudio/decoder.h,
565   AC_DEFINE(HAVE_XAUDIO, 1, [Define if xaudio is available])
566   HAVE_XAUDIO="yes",
567   AC_MSG_WARN(
568 ***** NOTE: These plugins won't be built: gstxa
569 )
570   HAVE_XAUDIO="no",
571 )
572
573 dnl Check for libmad
574 AC_MSG_CHECKING(MAD library)
575 AC_CHECK_LIB(mad, mad_decoder_finish,
576   HAVE_LIBMAD=yes
577   AC_DEFINE(HAVE_LIBMAD, 1, [Define if libmad is available]),
578   AC_MSG_WARN(
579 ***** NOTE: These plugins won't be built: mad
580 )
581   HAVE_LIBMAD=no,
582 )
583
584 dnl Check for libmikmod
585 AC_MSG_CHECKING(Mikmod library)
586 AC_CHECK_LIB(mikmod, MikMod_Init,
587   HAVE_LIBMIKMOD=yes
588   AC_DEFINE(HAVE_LIBMIKMOD, 1, [Define if libmikmod is available]),
589   AC_MSG_WARN(
590 ***** NOTE: These plugins won't be built: mikmod
591 )
592   HAVE_LIBMIKMOD=no,
593 )
594
595
596 dnl Check for libvorbis
597 AC_MSG_CHECKING(Vorbis library)
598 AC_CHECK_LIB(vorbis, ogg_sync_init,
599   HAVE_VORBIS=yes
600   AC_DEFINE(HAVE_VORBIS, 1, [Define if vorbis library is available]),
601   AC_MSG_WARN(
602 ***** NOTE: These plugins won't be built: vorbisdec vorbisenc
603 )
604   HAVE_VORBIS=no,
605 )
606
607 dnl Check for libjpeg
608 AC_MSG_CHECKING(libjpeg library)
609 AC_CHECK_LIB(jpeg, jpeg_set_defaults,
610   HAVE_LIBJPEG=yes
611   AC_DEFINE(HAVE_LIBJPEG, 1, [Define if libjpeg is available]),
612   AC_MSG_WARN(
613 ***** NOTE: These plugins won't be built: jpegdec jpegenc
614 )
615   HAVE_LIBJPEG=no,
616 )
617
618 dnl Check for libHermes
619 AC_MSG_CHECKING(Hermes library)
620 AC_CHECK_LIB(Hermes, Hermes_ConverterInstance,
621   HAVE_LIBHERMES=yes
622   AC_DEFINE(HAVE_LIBHERMES, 1, [Define if Hermes library is available]),
623   AC_MSG_WARN(
624 ***** NOTE: These plugins won't be built: colorspace
625 )
626   HAVE_LIBHERMES=no,
627 )
628 AC_CHECK_HEADER(Hermes/Hermes.h, :, HAVE_LIBHERMES=no)
629
630 dnl Check for libgsm
631 AC_MSG_CHECKING(GSM library)
632 AC_CHECK_LIB(gsm, gsm_create, HAVE_LIBGSM=yes, HAVE_LIBGSM=no,)
633 GSM_CFLAGS=
634 GSM_LIBS=-lgsm
635 AC_CHECK_HEADER(gsm.h, :, 
636   GSM_CFLAGS="$GSM_CFLAGS -DGSM_HEADER_IN_SUBDIR"
637   AC_CHECK_HEADER(gsm/gsm.h, :, HAVE_LIBGSM=no)
638 )
639 AC_SUBST(GSM_CFLAGS)
640 AC_SUBST(GSM_LIBS)
641
642 if test "x$HAVE_LIBGSM" = "xyes"; then
643   AC_DEFINE(HAVE_LIBGSM, 1, [Define if GSM library is available])
644 else
645   AC_MSG_WARN(
646 ***** NOTE: These plugins won't be built: gsmdec, gsmenc
647 )
648 fi
649
650 dnl Check for cdparanoia
651 AC_MSG_CHECKING(CDparanoia library)
652 HAVE_CDPARANOIA=yes
653 AC_CHECK_LIB(cdda_interface, cdda_open, : , HAVE_CDPARANOIA=no, )
654 AC_CHECK_HEADER(cdda_interface.h, :, HAVE_CDPARANOIA=no)
655 AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
656 AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
657
658 dnl Check for liblame
659 AC_MSG_CHECKING(LAME library)
660 AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, -lm)
661 AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
662
663 dnl Check for libshout
664 AC_MSG_CHECKING(Shout library)
665 AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
666 AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
667
668 dnl Check for mpeg2dec
669 AC_MSG_CHECKING(mpeg2dec library)
670 AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
671 AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
672
673 dnl Check for a52dec
674 AC_MSG_CHECKING(a52dec library)
675 AC_CHECK_LIB(a52, a52_init, HAVE_A52DEC=yes, HAVE_A52DEC=no, -lm)
676 AC_CHECK_HEADER(a52dec/a52.h, :, HAVE_A52DEC=no)
677
678 dnl Check for sidplay
679 AC_PATH_LIBSIDPLAY
680
681 dnl Check for librtp
682 AC_MSG_CHECKING(rtp library)
683 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
684 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
685 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
686 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
687 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
688 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
689
690 dnl Check for FLAC
691 dnl thomas : checking for compile with main instead of actual function,
692 dnl since that made autoconf break (for version 2.13)
693 AC_MSG_CHECKING(FLAC library)
694 AC_CHECK_LIB(FLAC, main, HAVE_FLACLIB=yes, HAVE_FLACLIB=no, -lm)
695 AC_CHECK_HEADER(FLAC/all.h, :, HAVE_FLACLIB=no)
696
697 dnl Check for libraw1394
698 AC_MSG_CHECKING(raw1394 library)
699 AC_CHECK_LIB(raw1394, raw1394_get_handle, HAVE_RAW1394=yes, HAVE_RAW1394=no, )
700 AC_CHECK_HEADER(libraw1394/raw1394.h, :, HAVE_RAW1394=no)
701
702 dnl Check for libdv
703 AC_MSG_CHECKING(libdv)
704 AC_CHECK_LIB(dv, dv_init, HAVE_LIBDV=yes, HAVE_LIBDV=no, -lm $GLIB_LIBS $GLIB_CFLAGS)
705 libdvcheck_save_CPPFLAGS="$CPPFLAGS"
706 CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
707 AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
708 CPPFLAGS="$libdvcheck_save_CPPFLAGS"
709
710 dnl Check for aalib
711 AC_MSG_CHECKING(aalib)
712 AC_CHECK_LIB(aa, aa_init, HAVE_LIBAA=yes, HAVE_LIBAA=no, )
713 AC_CHECK_HEADER(aalib.h, :, HAVE_LIBAA=no)
714
715 dnl Check for quicktime
716 AC_MSG_CHECKING(openquicktime)
717 AC_CHECK_LIB(openquicktime, quicktime_init, HAVE_LIBOPENQUICKTIME=yes, HAVE_LIBOPENQUICKTIME=no, )
718 AC_CHECK_HEADER(openquicktime/openquicktime.h, :, HAVE_LIBOPENQUICKTIME=no)
719
720 dnl Check for libdvdread
721 AC_MSG_CHECKING(libdvdread)
722 AC_CHECK_LIB(dvdread, DVDOpen, HAVE_LIBDVDREAD=yes, HAVE_LIBDVDREAD=no, )
723 AC_CHECK_HEADER(dvdread/dvd_reader.h, :, HAVE_LIBDVDREAD=no)
724
725 dnl Check for SDL library
726 dnl this bit is taken from vlc's configure.in and modified accordingly
727
728 AM_PATH_SDL(1.1.0, HAVE_LIBSDL=yes, HAVE_LIBSDL=no)
729
730 if test "x$HAVE_LIBSDL" = "xno"; then
731   AC_MSG_WARN(
732 ***** NOTE: These plugins won't be built: sdlvideosink
733 )
734 fi
735
736 dnl Check for linux/cdrom.h
737 AC_CHECK_HEADER(linux/cdrom.h,
738   HAVE_LINUX_CDROM=yes, HAVE_LINUX_CDROM=no
739 )
740
741 dnl Check for linux/videodev.h
742 AC_CHECK_HEADER(linux/videodev.h,
743   HAVE_LINUX_VIDEODEV=yes, HAVE_LINUX_VIDEODEV=no
744 )
745
746
747 dnl ######################################################################
748 dnl # Check command line parameters, and set shell variables accordingly #
749 dnl ######################################################################
750
751 AC_ARG_ENABLE(libmmx,
752 [  --enable-libmmx              use libmmx, if available],
753 [case "${enableval}" in
754   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
755   no)  USE_LIBMMX=no ;;
756   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
757 esac], 
758 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
759
760 AC_ARG_ENABLE(atomic,
761 [  --enable-atomic              use atomic reference counting header],
762 [case "${enableval}" in
763   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
764   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
765   no)  USE_ATOMIC_H=no;;
766   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
767 esac], 
768 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
769
770 AC_ARG_ENABLE(plugin-builddir,
771 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
772 [case "${enableval}" in
773   yes) PLUGINS_USE_BUILDDIR=yes ;;
774   no)  PLUGINS_USE_BUILDDIR=no ;;
775   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
776 esac], 
777 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
778
779 AC_ARG_ENABLE(debug,
780 [  --enable-debug               compile with -g debugging info],
781 [case "${enableval}" in
782   yes) USE_DEBUG=yes ;;
783   no)  USE_DEBUG=no ;;
784   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
785 esac], 
786 [USE_DEBUG=no]) dnl Default value
787
788 AC_ARG_ENABLE(DEBUG,
789 [  --enable-DEBUG               compiles in a large number of debugging messages],
790 [case "${enableval}" in
791   yes) ENABLE_DEBUG=yes ;;
792   no)  ENABLE_DEBUG=no ;;
793   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
794 esac], 
795 [ENABLE_DEBUG=no]) dnl Default value
796 if test x$ENABLE_DEBUG = xyes; then
797   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
798 fi
799
800 AC_ARG_ENABLE(INFO,
801 [  --disable-INFO               disables compilation of informational messages],
802 [case "${enableval}" in
803   yes) ENABLE_INFO=yes ;;
804   no)  ENABLE_INFO=no ;;
805   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
806 esac], 
807 [ENABLE_INFO=yes]) dnl Default value
808 if test x$ENABLE_INFO = xyes; then
809   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
810 fi
811
812 AC_ARG_ENABLE(debug-color,
813 [  --disable-debug-color        disables color output of DEBUG and INFO output],
814 [case "${enableval}" in
815   yes) ENABLE_DEBUG_COLOR=yes ;;
816   no)  ENABLE_DEBUG_COLOR=no ;;
817   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
818 esac], 
819 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
820 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
821   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
822 fi
823
824 AC_ARG_ENABLE(profiling,
825 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
826 [case "${enableval}" in
827   yes) USE_PROFILING=yes ;;
828   no)  UES_PROFILING=no ;;
829   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
830 esac], 
831 [USE_PROFILING=no]) dnl Default value
832
833 dnl default to building registry in the source tree if we are enabling plugin build dir
834 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
835   GST_CONFIG_DIR=$builddir
836 else
837   GST_CONFIG_DIR=/etc/gstreamer
838 fi
839 AC_ARG_WITH(configdir,
840 [  --with-configdir             specify path to use for configdir],
841 [case "${withval}" in
842   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
843   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
844   *) GST_CONFIG_DIR="${withval}" ;;
845 esac], 
846 [:]) dnl Default value
847
848 dnl Default value
849 GST_WIN32_LIBDIR="/usr/lib/win32"
850 AC_ARG_WITH(win32_libdir,
851 [  --with-win32-libdir          specify location for win32 DLLs],
852 [case "${withval}" in
853   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
854   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
855   *) GST_WIN32_LIBDIR="${withval}" ;;
856 esac],
857 [:]) dnl Default value
858
859 AC_ARG_ENABLE(docs-build,
860 [  --enable-docs-build          enable building of documentation],
861 [case "${enableval}" in
862   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; ;;
863   no)  BUILD_DOCS=no ;;
864   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
865 esac], 
866 [BUILD_DOCS=no]) dnl Default value
867
868 AC_ARG_ENABLE(plugin-docs,
869 [  --enable-plugin-docs         enable the building of plugin documentation
870                                (this is currently broken, so off by default)],
871 [case "${enableval}" in
872   yes) BUILD_PLUGIN_DOCS=yes ;;
873   no)  BUILD_PLUGIN_DOCS=no ;;
874   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
875 esac], 
876 [BUILD_PLUGIN_DOCS=no]) dnl Default value
877
878 AC_ARG_ENABLE(tests,
879 [  --disable-tests              disable building test apps],
880 [case "${enableval}" in
881   yes) BUILD_TESTS=yes ;;
882   no)  BUILD_TESTS=no ;;
883   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
884 esac], 
885 [BUILD_TESTS=yes]) dnl Default value
886
887 AC_ARG_ENABLE(examples,
888 [  --disable-examples           disable building examples],
889 [case "${enableval}" in
890   yes) BUILD_EXAMPLES=yes ;;
891   no)  BUILD_EXAMPLES=no ;;
892   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
893 esac], 
894 [BUILD_EXAMPLES=yes]) dnl Default value
895
896 dnl Next, check for the optional components:
897 dnl ========================================
898
899
900 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
901 [dnl
902 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
903 dnl
904 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
905 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
906 [ case "${enableval}" in
907     yes) GST_DISABLE_[$1]=no ;;
908     no) GST_DISABLE_[$1]=yes ;;
909     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
910   esac],
911 [GST_DISABLE_[$1]=no]) dnl Default value
912 if test x$GST_DISABLE_[$1] = xyes; then
913   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
914   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
915 fi
916 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
917 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
918 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
919 ])
920
921 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
922 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
923 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
924 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
925 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
926 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
927 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
928 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
929 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
930 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
931 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
932 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
933
934 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
935
936
937 dnl ################################################
938 dnl # Set defines according to variables set above #
939 dnl ################################################
940
941
942 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
943 dnl HAVE_ and it is likely to be easier to stick with the old name
944 if test "x$USE_LIBGHTTP" = xyes; then
945   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
946 fi
947
948 if test "x$USE_LIBMMX" = xyes; then
949   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
950 fi
951
952 if test "x$USE_ATOMIC_H" = xyes; then
953   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
954 fi
955
956 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
957   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
958 fi
959
960 dnl if test "x$USE_DEBUG" = xyes; then
961 dnl   CFLAGS="$CFLAGS -g"
962 dnl fi
963
964 if test "x$USE_PROFILING" = xyes; then
965 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
966   FOMIT_FRAME_POINTER=""
967 else
968   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
969 fi
970
971 dnl
972 dnl AC_SUBST(FOMIT_FRAME_POINTER)
973 dnl
974
975 if test "x$HAVE_LIBXV" = xyes; then
976   AC_DEFINE(HAVE_LIBXV)
977 fi
978
979 if test "x$HAVE_OSS" = xyes; then
980   AC_DEFINE(HAVE_OSS)
981 fi
982
983 if test "x$HAVE_XAUDIO" = xyes; then
984   AC_DEFINE(HAVE_XAUDIO)
985 fi
986
987 if test "x$HAVE_LIBMAD" = xyes; then
988   AC_DEFINE(HAVE_LIBMAD)
989 fi
990
991 if test "x$HAVE_LIBMIKMOD" = xyes; then
992   AC_DEFINE(HAVE_LIBMIKMOD)
993 fi
994
995 if test "x$HAVE_VORBIS" = xyes; then
996   AC_DEFINE(HAVE_VORBIS)
997 fi
998
999 if test "x$HAVE_LIBJPEG" = xyes; then
1000   AC_DEFINE(HAVE_LIBJPEG)
1001 fi
1002
1003 if test "x$HAVE_LIBSDL" = xyes; then
1004   AC_DEFINE(HAVE_LIBSDL)
1005 fi
1006
1007 if test "x$HAVE_LIBHERMES" = "xyes"; then
1008   AC_DEFINE(HAVE_LIBHERMES)
1009 fi
1010
1011 if test "x$HAVE_LIBDVDREAD" = xyes; then
1012   AC_DEFINE(HAVE_LIBDVDREAD)
1013 fi
1014
1015 if test "x$HAVE_LINUX_CDROM" = xyes; then
1016   AC_DEFINE(HAVE_LINUX_CDROM)
1017 fi
1018
1019 if test "x$HAVE_LINUX_VIDEODEV" = xyes; then
1020   AC_DEFINE(HAVE_LINUX_VIDEODEV)
1021 fi
1022
1023 if test "x$HAVE_MPEG2DEC" = xyes; then
1024   AC_DEFINE(HAVE_MPEG2DEC)
1025 fi
1026
1027 if test "x$HAVE_A52DEC" = xyes; then
1028   AC_DEFINE(HAVE_A52DEC)
1029 fi
1030
1031 if test "x$HAVE_FLACLIB" = xyes; then
1032   AC_DEFINE(HAVE_FLACLIB)
1033 fi
1034
1035 if test "x$HAVE_LIBGSM" = xyes; then
1036   AC_DEFINE(HAVE_LIBGSM)
1037 fi
1038
1039 dnl #############################
1040 dnl # Set automake conditionals #
1041 dnl #############################
1042
1043 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1044 dnl HAVE_ and it is likely to be easier to stick with the old name
1045 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
1046 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
1047 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
1048 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
1049 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
1050 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1051 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1052 AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
1053 AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
1054 AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
1055 AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
1056 AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
1057 AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
1058 AM_CONDITIONAL(HAVE_LIBDVDREAD,     test "x$HAVE_LIBDVDREAD" = "xyes")
1059 AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
1060 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
1061 AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
1062 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
1063 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1064 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
1065 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
1066 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
1067 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1068 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1069 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1070 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1071 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1072 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1073 AM_CONDITIONAL(HAVE_DB2HTML,        $HAVE_DB2HTML)
1074 AM_CONDITIONAL(HAVE_DB2PS,          $HAVE_DB2PS)
1075 AM_CONDITIONAL(HAVE_PS2PDF,         $HAVE_PS2PDF)
1076 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1077 AM_CONDITIONAL(HAVE_FIG2DEV_EPS,    $HAVE_FIG2DEV_EPS)
1078 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
1079 AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
1080 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
1081 AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
1082 AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
1083 dnl thomas : the next line gives errors, this is how it is in CVS
1084 dnl AM_CONDITIONAL(HAVE_FLAC,               test "x$HAVE_FLAC" = "xyes")
1085 dnl thomas : the next line gives errors as well, I commented it
1086 dnl AM_CONDITIONAL(HAVE_LAC,                test "x$HAVE_FAC" = "xyes")
1087 dnl thomas: the next line doesn't give errors
1088 AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
1089 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
1090 AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
1091 AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
1092 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1093 AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
1094 AM_CONDITIONAL(HAVE_LIBAA,          test "x$HAVE_LIBAA" = "xyes")
1095 AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
1096 AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
1097 AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
1098 AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
1099 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
1100 AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
1101
1102
1103 dnl ############################
1104 dnl # Set up some more defines #
1105 dnl ############################
1106
1107 dnl Set location of configuration dir.
1108 dnl AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
1109 AC_SUBST(GST_CONFIG_DIR)
1110
1111 dnl Set location of windows dll dir.
1112 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
1113 AC_SUBST(GST_WIN32_LIBDIR)
1114
1115 dnl Set location of plugin directory
1116 if test "x${prefix}" = "xNONE"; then
1117   PLUGINS_DIR=${ac_default_prefix}/lib/gst
1118 else
1119   PLUGINS_DIR=${prefix}/lib/gst
1120 fi
1121 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
1122 AC_SUBST(PLUGINS_DIR)
1123
1124 dnl Set location of uninstalled plugin directory
1125 PLUGINS_BUILDDIR=${builddir}
1126 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
1127 AC_SUBST(PLUGINS_BUILDDIR)
1128
1129 dnl Vars for everyone else
1130 GST_LIBS="\$(top_builddir)/gst/libgst.la"
1131 GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
1132 AC_SUBST(GST_LIBS)
1133 AC_SUBST(GST_CFLAGS)
1134
1135 dnl Private vars for libgst only
1136 LIBGST_CFLAGS="$GST_CFLAGS"
1137 AC_SUBST(LIBGST_LIBS)
1138 AC_SUBST(LIBGST_CFLAGS)
1139
1140 AC_SUBST(GST_CFLAGS)
1141
1142 dnl #############################
1143 dnl # Configure the subpackages #
1144 dnl #############################
1145
1146 dnl AC_CONFIG_SUBDIRS(gist)
1147 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
1148
1149 dnl ##################################################
1150 dnl # Prepare informative messages to display at end #
1151 dnl ##################################################
1152
1153 infomessages=
1154
1155 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
1156   infomessages="$infomessages
1157 *** Warning: You have configured using the --enable-plugin-builddir option.
1158
1159 This option is for development purposes only: binaries built with
1160 it should be used with code in the build tree only.  To build an
1161 installable version, use ./configure without the --enable-plugin-builddir
1162 option.  Note that the autogen.sh script supplies the plugin builddir
1163 option automatically - it cannot be used to configure installable builds.
1164
1165 "
1166 fi
1167
1168 dnl #########################
1169 dnl # Make the output files #
1170 dnl #########################
1171
1172 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1173 dnl components/bonobo-gstmediaplay/Makefile
1174 dnl FIXME someone should fix this test/misc/Makefile
1175 dnl FIXME wtay fix this: testsuite/threads/Makefile
1176 dnl FIXME testsuite/refcounting/Makefile
1177
1178 AC_OUTPUT(
1179 Makefile
1180 include/Makefile
1181 gst/Makefile
1182 gst/gstversion.h
1183 gst/types/Makefile
1184 gst/elements/Makefile
1185 gst/autoplug/Makefile
1186 gst/schedulers/Makefile
1187 libs/Makefile
1188 libs/riff/Makefile
1189 libs/getbits/Makefile
1190 libs/putbits/Makefile
1191 libs/idct/Makefile
1192 libs/audio/Makefile
1193 libs/bytestream/Makefile
1194 libs/control/Makefile
1195 libs/resample/Makefile
1196 plugins/Makefile
1197 plugins/a52dec/Makefile
1198 plugins/aasink/Makefile
1199 plugins/alsa/Makefile
1200 plugins/au/Makefile
1201 plugins/audiofile/Makefile
1202 plugins/audioscale/Makefile
1203 plugins/avi/Makefile
1204 plugins/avi/wincodec/Makefile
1205 plugins/avi/winaudio/Makefile
1206 plugins/flx/Makefile
1207 plugins/festival/Makefile
1208 plugins/flac/Makefile
1209 plugins/jpeg/Makefile
1210 plugins/mp3decode/Makefile
1211 plugins/mp3decode/types/Makefile
1212 plugins/mp3decode/xa/Makefile
1213 plugins/mp3decode/mpg123/Makefile
1214 plugins/mp3decode/mad/Makefile
1215 plugins/mp3decode/parse/Makefile
1216 plugins/mp3encode/Makefile
1217 plugins/mp3encode/lame/Makefile
1218 plugins/mikmod/Makefile
1219 plugins/mpeg2/Makefile
1220 plugins/mpeg2/parse/Makefile
1221 plugins/mpeg2/ac3parse/Makefile
1222 plugins/mpeg2/ac3dec/Makefile
1223 plugins/mpeg2/video/Makefile
1224 plugins/mpeg2/mpeg2enc/Makefile
1225 plugins/mpeg2/mpeg2dec/Makefile
1226 plugins/mpeg2/subtitles/Makefile
1227 plugins/mpeg2/videoparse/Makefile
1228 plugins/mpeg2/mpegtypes/Makefile
1229 plugins/mpeg1/Makefile
1230 plugins/mpeg1/mpegtypes/Makefile
1231 plugins/mpeg1/mpegaudio/Makefile
1232 plugins/mpeg1/system_encode/Makefile
1233 plugins/mpeg1/mpeg1encoder/Makefile
1234 plugins/mpeg1video/Makefile
1235 plugins/mpeg1video/parse/Makefile
1236 plugins/oss/Makefile
1237 plugins/rtp/Makefile
1238 plugins/mulaw/Makefile
1239 plugins/alaw/Makefile
1240 plugins/filters/Makefile
1241 plugins/filters/smooth/Makefile
1242 plugins/filters/median/Makefile
1243 plugins/filters/ladspa/Makefile
1244 plugins/filters/stereo2mono/Makefile
1245 plugins/filters/mono2stereo/Makefile
1246 plugins/filters/intfloatconvert/Makefile
1247 plugins/filters/passthrough/Makefile
1248 plugins/filters/adder/Makefile
1249 plugins/filters/colorspace/Makefile
1250 plugins/filters/volenv/Makefile
1251 plugins/filters/level/Makefile
1252 plugins/filters/lav/Makefile
1253 plugins/filters/cutter/Makefile
1254 plugins/filters/deinterlace/Makefile
1255 plugins/filters/volume/Makefile
1256 plugins/filters/speed/Makefile
1257 plugins/filters/playondemand/Makefile
1258 plugins/gnomevfs/Makefile
1259 plugins/icecast/Makefile
1260 plugins/icecast/icecastsend/Makefile
1261 plugins/effects/Makefile
1262 plugins/effects/stereo/Makefile
1263 plugins/effects/volume/Makefile
1264 plugins/udp/Makefile
1265 plugins/visualization/Makefile
1266 plugins/visualization/spectrum/Makefile
1267 plugins/visualization/vumeter/Makefile
1268 plugins/visualization/synaesthesia/Makefile
1269 plugins/visualization/smoothwave/Makefile
1270 plugins/visualization/chart/Makefile
1271 plugins/videoscale/Makefile
1272 plugins/xvideosink/Makefile
1273 plugins/wav/Makefile
1274 plugins/dvdsrc/Makefile
1275 plugins/vcdsrc/Makefile
1276 plugins/rtjpeg/Makefile
1277 plugins/SID/Makefile
1278 plugins/vorbis/Makefile
1279 plugins/capture/Makefile
1280 plugins/capture/v4l/Makefile
1281 plugins/capture/qcam/Makefile
1282 plugins/cdparanoia/Makefile
1283 plugins/esd/Makefile
1284 plugins/esd/esdsink/Makefile
1285 plugins/artsd/Makefile
1286 plugins/quicktime/Makefile
1287 plugins/xmms/Makefile
1288 plugins/arts/Makefile
1289 plugins/gsm/Makefile
1290 plugins/1394/Makefile
1291 plugins/sdlsink/Makefile
1292 plugins/dv/Makefile
1293 plugins/synthesis/Makefile
1294 plugins/synthesis/sinesrc/Makefile
1295 plugins/silence/Makefile
1296 gstplay/Makefile
1297 test/Makefile
1298 test/xml/Makefile
1299 test/bindings/Makefile
1300 test/memchunk/Makefile
1301 test/events/Makefile
1302 tests/Makefile
1303 tests/sched/Makefile
1304 tests/eos/Makefile
1305 tests/muxing/Makefile
1306 testsuite/Makefile
1307 testsuite/bytestream/Makefile
1308 testsuite/capsnego/Makefile
1309 testsuite/plugin/Makefile
1310 tests/nego/Makefile
1311 examples/Makefile
1312 examples/autoplug/Makefile
1313 examples/helloworld/Makefile
1314 examples/helloworld2/Makefile
1315 examples/launch/Makefile
1316 examples/queue/Makefile
1317 examples/queue2/Makefile
1318 examples/queue3/Makefile
1319 examples/queue4/Makefile
1320 examples/thread/Makefile
1321 examples/mixer/Makefile
1322 examples/cutter/Makefile
1323 examples/launch/Makefile
1324 examples/xml/Makefile
1325 examples/plugins/Makefile
1326 examples/typefind/Makefile
1327 examples/mixer/Makefile
1328 editor/Makefile
1329 editor/pixmaps/Makefile
1330 tools/Makefile
1331 docs/Makefile
1332 docs/gst/Makefile
1333 docs/gst/gstreamer.types
1334 docs/libs/Makefile
1335 docs/plugins/Makefile
1336 docs/plugins/gstreamer-plugins.types
1337 docs/manual/Makefile
1338 docs/fwg/Makefile
1339 debian/Makefile
1340 stamp.h
1341 gstreamer-config
1342 gstreamer.pc
1343 gstreamer-uninstalled.pc
1344 gstreamer.spec,
1345 chmod +x gstreamer-config
1346 echo "$infomessages", infomessages="$infomessages"
1347 )