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