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