Aplied more fixage from Michael Meeks.
[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   PKG_CHECK_MODULES(LIBGLADE_GNOME, libglade-2.0 libgnomeui-2.0, HAVE_LIBGLADE_GNOME=yes, HAVE_LIBGLADE_GNOME=no)
459   if test x$HAVE_LIBGLADE_GNOME = xno; then
460     AC_MSG_WARN(Couldn't find libglade-2.0 - Can't build gstplay)
461     LIBGLADE_GNOME_LIBS=
462     LIBGLADE_GNOME_CFLAGS=
463   fi;
464 else
465   AM_PATH_LIBGLADE(HAVE_LIBGLADE_GNOME="yes", HAVE_LIBGLADE_GNOME="no", gnome)
466   if test x$HAVE_LIBGLADE_GNOME = xno; then
467     AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
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   PKG_CHECK_MODULES(VFS, gnome-vfs-2.0, HAVE_GNOME_VFS=yes, HAVE_GNOME_VFS=no)
485
486   if test x$HAVE_GNOME_VFS = xno; then
487     AC_MSG_WARN(Couldn't find gnome-vfs-2.0 - Gnome-VFS support disabled)
488   fi;
489 else
490   AC_MSG_CHECKING(for Gnome VFS)
491   if gnome-config --libs vfs > /dev/null 2>&1; then
492         HAVE_GNOME_VFS="yes"
493         AC_MSG_RESULT(found)
494         VFS_LIBS="`gnome-config --libs vfs`"
495         VFS_CFLAGS="`gnome-config --cflags vfs`"
496   else
497         AC_MSG_WARN(Did not find Gnome-VFS installed)
498         VFS_LIBS=
499         VFS_CFLAGS=
500   fi
501 fi
502 AC_SUBST(VFS_LIBS)
503 AC_SUBST(VFS_CFLAGS)
504
505 dnl Check for Avifile
506 HAVE_AVIFILE="no"
507 AC_MSG_CHECKING(for Avifile)
508 if avifile-config --libs > /dev/null 2>&1; then
509         HAVE_AVIFILE="yes"
510         AC_MSG_RESULT(found)
511 else
512         AC_MSG_WARN(Did not find Avifile installed)
513 fi
514 AVIFILE_LIBS="`avifile-config --libs`"
515 AVIFILE_CFLAGS="`avifile-config --cflags`"
516 AC_SUBST(AVIFILE_LIBS)
517 AC_SUBST(AVIFILE_CFLAGS)
518 dnl HAVE_AVIFILE is needed in a Makefile.am
519
520 AC_SUBST(HAVE_AVIFILE)
521 dnl Check for atomic.h
522 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
523 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
524 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
525 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
526 if test x$HAVE_ATOMIC_H = xyes; then
527   AC_TRY_RUN([
528 #include "asm/atomic.h"
529 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
530   ],, [
531     # Not successful
532     if test x$HAVE_ATOMIC_H = xyes; then
533       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
534     fi
535     HAVE_ATOMIC_H=no
536   ], [
537     # Cross compiling
538     AC_MSG_RESULT(yes)
539     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
540   ])
541 fi
542
543
544 dnl Check for X11 extensions
545 AC_PATH_XTRA
546 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
547   AC_MSG_ERROR(can not find X11)
548 fi
549 AC_SUBST(X_CFLAGS)
550 AC_SUBST(X_PRE_LIBS)
551 AC_SUBST(X_EXTRA_LIBS)
552 AC_SUBST(X_LIBS)
553
554
555 dnl Check for the Xv library
556 xvsave_LIBS=${LIBS}
557 AC_CHECK_LIB(Xv, XvQueryExtension,
558   HAVE_LIBXV=yes,
559   HAVE_LIBXV=no,
560   $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS
561 )
562 LIBS=${xvsave_LIBS}
563 AC_CHECK_HEADER(X11/extensions/Xv.h, :, HAVE_LIBXV=no)
564 AC_CHECK_HEADER(X11/extensions/Xvlib.h, :, HAVE_LIBXV=no)
565
566 dnl Check for OSS audio
567 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS=yes, HAVE_OSS=no)
568
569 dnl Check for xaudio
570 AC_CHECK_HEADER(xaudio/decoder.h,
571   AC_DEFINE(HAVE_XAUDIO, 1, [Define if xaudio is available])
572   HAVE_XAUDIO="yes",
573   AC_MSG_WARN(
574 ***** NOTE: These plugins won't be built: gstxa
575 )
576   HAVE_XAUDIO="no",
577 )
578
579 dnl Check for libmad
580 AC_MSG_CHECKING(MAD library)
581 AC_CHECK_LIB(mad, mad_decoder_finish,
582   HAVE_LIBMAD=yes
583   AC_DEFINE(HAVE_LIBMAD, 1, [Define if libmad is available]),
584   AC_MSG_WARN(
585 ***** NOTE: These plugins won't be built: mad
586 )
587   HAVE_LIBMAD=no,
588 )
589
590 dnl Check for libmikmod
591 AC_MSG_CHECKING(Mikmod library)
592 AC_CHECK_LIB(mikmod, MikMod_Init,
593   HAVE_LIBMIKMOD=yes
594   AC_DEFINE(HAVE_LIBMIKMOD, 1, [Define if libmikmod is available]),
595   AC_MSG_WARN(
596 ***** NOTE: These plugins won't be built: mikmod
597 )
598   HAVE_LIBMIKMOD=no,
599 )
600
601
602 dnl Check for libvorbis
603 AC_MSG_CHECKING(Vorbis library)
604 AC_CHECK_LIB(vorbis, ogg_sync_init,
605   HAVE_VORBIS=yes
606   AC_DEFINE(HAVE_VORBIS, 1, [Define if vorbis library is available]),
607   AC_MSG_WARN(
608 ***** NOTE: These plugins won't be built: vorbisdec vorbisenc
609 )
610   HAVE_VORBIS=no,
611 )
612
613 dnl Check for libjpeg
614 AC_MSG_CHECKING(libjpeg library)
615 AC_CHECK_LIB(jpeg, jpeg_set_defaults,
616   HAVE_LIBJPEG=yes
617   AC_DEFINE(HAVE_LIBJPEG, 1, [Define if libjpeg is available]),
618   AC_MSG_WARN(
619 ***** NOTE: These plugins won't be built: jpegdec jpegenc
620 )
621   HAVE_LIBJPEG=no,
622 )
623
624 dnl Check for libHermes
625 AC_MSG_CHECKING(Hermes library)
626 AC_CHECK_LIB(Hermes, Hermes_ConverterInstance,
627   HAVE_LIBHERMES=yes
628   AC_DEFINE(HAVE_LIBHERMES, 1, [Define if Hermes library is available]),
629   AC_MSG_WARN(
630 ***** NOTE: These plugins won't be built: colorspace
631 )
632   HAVE_LIBHERMES=no,
633 )
634 AC_CHECK_HEADER(Hermes/Hermes.h, :, HAVE_LIBHERMES=no)
635
636 dnl Check for libgsm
637 AC_MSG_CHECKING(GSM library)
638 AC_CHECK_LIB(gsm, gsm_create, HAVE_LIBGSM=yes, HAVE_LIBGSM=no,)
639 GSM_CFLAGS=
640 GSM_LIBS=-lgsm
641 AC_CHECK_HEADER(gsm.h, :, 
642   GSM_CFLAGS="$GSM_CFLAGS -DGSM_HEADER_IN_SUBDIR"
643   AC_CHECK_HEADER(gsm/gsm.h, :, HAVE_LIBGSM=no)
644 )
645 AC_SUBST(GSM_CFLAGS)
646 AC_SUBST(GSM_LIBS)
647
648 if test "x$HAVE_LIBGSM" = "xyes"; then
649   AC_DEFINE(HAVE_LIBGSM, 1, [Define if GSM library is available])
650 else
651   AC_MSG_WARN(
652 ***** NOTE: These plugins won't be built: gsmdec, gsmenc
653 )
654 fi
655
656 dnl Check for cdparanoia
657 AC_MSG_CHECKING(CDparanoia library)
658 HAVE_CDPARANOIA=yes
659 AC_CHECK_LIB(cdda_interface, cdda_open, : , HAVE_CDPARANOIA=no, )
660 AC_CHECK_HEADER(cdda_interface.h, :, HAVE_CDPARANOIA=no)
661 AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
662 AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
663
664 dnl Check for liblame
665 AC_MSG_CHECKING(LAME library)
666 AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, -lm)
667 AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
668
669 dnl Check for libshout
670 AC_MSG_CHECKING(Shout library)
671 AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
672 AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
673
674 dnl Check for mpeg2dec
675 AC_MSG_CHECKING(mpeg2dec library)
676 AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
677 AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
678
679 dnl Check for a52dec
680 AC_MSG_CHECKING(a52dec library)
681 AC_CHECK_LIB(a52, a52_init, HAVE_A52DEC=yes, HAVE_A52DEC=no, -lm)
682 AC_CHECK_HEADER(a52dec/a52.h, :, HAVE_A52DEC=no)
683
684 dnl Check for sidplay
685 AC_PATH_LIBSIDPLAY
686
687 dnl Check for librtp
688 AC_MSG_CHECKING(rtp library)
689 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
690 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
691 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
692 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
693 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
694 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
695
696 dnl Check for FLAC
697 dnl thomas : checking for compile with main instead of actual function,
698 dnl since that made autoconf break (for version 2.13)
699 AC_MSG_CHECKING(FLAC library)
700 AC_CHECK_LIB(FLAC, main, HAVE_FLACLIB=yes, HAVE_FLACLIB=no, -lm)
701 AC_CHECK_HEADER(FLAC/all.h, :, HAVE_FLACLIB=no)
702
703 dnl Check for libraw1394
704 AC_MSG_CHECKING(raw1394 library)
705 AC_CHECK_LIB(raw1394, raw1394_get_handle, HAVE_RAW1394=yes, HAVE_RAW1394=no, )
706 AC_CHECK_HEADER(libraw1394/raw1394.h, :, HAVE_RAW1394=no)
707
708 dnl Check for libdv
709 AC_MSG_CHECKING(libdv)
710 AC_CHECK_LIB(dv, dv_init, HAVE_LIBDV=yes, HAVE_LIBDV=no, -lm $GLIB_LIBS $GLIB_CFLAGS)
711 libdvcheck_save_CPPFLAGS="$CPPFLAGS"
712 CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
713 AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
714 CPPFLAGS="$libdvcheck_save_CPPFLAGS"
715
716 dnl Check for aalib
717 AC_MSG_CHECKING(aalib)
718 AC_CHECK_LIB(aa, aa_init, HAVE_LIBAA=yes, HAVE_LIBAA=no, )
719 AC_CHECK_HEADER(aalib.h, :, HAVE_LIBAA=no)
720
721 dnl Check for quicktime
722 AC_MSG_CHECKING(openquicktime)
723 AC_CHECK_LIB(openquicktime, quicktime_init, HAVE_LIBOPENQUICKTIME=yes, HAVE_LIBOPENQUICKTIME=no, )
724 AC_CHECK_HEADER(openquicktime/openquicktime.h, :, HAVE_LIBOPENQUICKTIME=no)
725
726 dnl Check for libdvdread
727 AC_MSG_CHECKING(libdvdread)
728 AC_CHECK_LIB(dvdread, DVDOpen, HAVE_LIBDVDREAD=yes, HAVE_LIBDVDREAD=no, )
729 AC_CHECK_HEADER(dvdread/dvd_reader.h, :, HAVE_LIBDVDREAD=no)
730
731 dnl Check for SDL library
732 dnl this bit is taken from vlc's configure.in and modified accordingly
733
734 AM_PATH_SDL(1.1.0, HAVE_LIBSDL=yes, HAVE_LIBSDL=no)
735
736 if test "x$HAVE_LIBSDL" = "xno"; then
737   AC_MSG_WARN(
738 ***** NOTE: These plugins won't be built: sdlvideosink
739 )
740 fi
741
742 dnl Check for linux/cdrom.h
743 AC_CHECK_HEADER(linux/cdrom.h,
744   HAVE_LINUX_CDROM=yes, HAVE_LINUX_CDROM=no
745 )
746
747 dnl Check for linux/videodev.h
748 AC_CHECK_HEADER(linux/videodev.h,
749   HAVE_LINUX_VIDEODEV=yes, HAVE_LINUX_VIDEODEV=no
750 )
751
752
753 dnl ######################################################################
754 dnl # Check command line parameters, and set shell variables accordingly #
755 dnl ######################################################################
756
757 AC_ARG_ENABLE(libmmx,
758 [  --enable-libmmx              use libmmx, if available],
759 [case "${enableval}" in
760   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
761   no)  USE_LIBMMX=no ;;
762   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
763 esac], 
764 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
765
766 AC_ARG_ENABLE(atomic,
767 [  --enable-atomic              use atomic reference counting header],
768 [case "${enableval}" in
769   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
770   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
771   no)  USE_ATOMIC_H=no;;
772   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
773 esac], 
774 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
775
776 AC_ARG_ENABLE(plugin-builddir,
777 [  --enable-plugin-builddir     allow tests/demos to use non-installed plugins ],
778 [case "${enableval}" in
779   yes) PLUGINS_USE_BUILDDIR=yes ;;
780   no)  PLUGINS_USE_BUILDDIR=no ;;
781   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
782 esac], 
783 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
784
785 AC_ARG_ENABLE(debug,
786 [  --enable-debug               compile with -g debugging info],
787 [case "${enableval}" in
788   yes) USE_DEBUG=yes ;;
789   no)  USE_DEBUG=no ;;
790   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
791 esac], 
792 [USE_DEBUG=no]) dnl Default value
793
794 AC_ARG_ENABLE(DEBUG,
795 [  --enable-DEBUG               compiles in a large number of debugging messages],
796 [case "${enableval}" in
797   yes) ENABLE_DEBUG=yes ;;
798   no)  ENABLE_DEBUG=no ;;
799   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
800 esac], 
801 [ENABLE_DEBUG=no]) dnl Default value
802 if test x$ENABLE_DEBUG = xyes; then
803   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
804 fi
805
806 AC_ARG_ENABLE(INFO,
807 [  --disable-INFO               disables compilation of informational messages],
808 [case "${enableval}" in
809   yes) ENABLE_INFO=yes ;;
810   no)  ENABLE_INFO=no ;;
811   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
812 esac], 
813 [ENABLE_INFO=yes]) dnl Default value
814 if test x$ENABLE_INFO = xyes; then
815   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
816 fi
817
818 AC_ARG_ENABLE(debug-color,
819 [  --disable-debug-color        disables color output of DEBUG and INFO output],
820 [case "${enableval}" in
821   yes) ENABLE_DEBUG_COLOR=yes ;;
822   no)  ENABLE_DEBUG_COLOR=no ;;
823   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
824 esac], 
825 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
826 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
827   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
828 fi
829
830 AC_ARG_ENABLE(profiling,
831 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
832 [case "${enableval}" in
833   yes) USE_PROFILING=yes ;;
834   no)  UES_PROFILING=no ;;
835   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
836 esac], 
837 [USE_PROFILING=no]) dnl Default value
838
839 dnl default to building registry in the source tree if we are enabling plugin build dir
840 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
841   GST_CONFIG_DIR=$builddir
842 else
843   GST_CONFIG_DIR=/etc/gstreamer
844 fi
845 AC_ARG_WITH(configdir,
846 [  --with-configdir             specify path to use for configdir],
847 [case "${withval}" in
848   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
849   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
850   *) GST_CONFIG_DIR="${withval}" ;;
851 esac], 
852 [:]) dnl Default value
853
854 dnl Default value
855 GST_WIN32_LIBDIR="/usr/lib/win32"
856 AC_ARG_WITH(win32_libdir,
857 [  --with-win32-libdir          specify location for win32 DLLs],
858 [case "${withval}" in
859   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
860   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
861   *) GST_WIN32_LIBDIR="${withval}" ;;
862 esac],
863 [:]) dnl Default value
864
865 AC_ARG_ENABLE(docs-build,
866 [  --enable-docs-build          enable building of documentation],
867 [case "${enableval}" in
868   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; ;;
869   no)  BUILD_DOCS=no ;;
870   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
871 esac], 
872 [BUILD_DOCS=no]) dnl Default value
873
874 AC_ARG_ENABLE(plugin-docs,
875 [  --enable-plugin-docs         enable the building of plugin documentation
876                                (this is currently broken, so off by default)],
877 [case "${enableval}" in
878   yes) BUILD_PLUGIN_DOCS=yes ;;
879   no)  BUILD_PLUGIN_DOCS=no ;;
880   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
881 esac], 
882 [BUILD_PLUGIN_DOCS=no]) dnl Default value
883
884 AC_ARG_ENABLE(tests,
885 [  --disable-tests              disable building test apps],
886 [case "${enableval}" in
887   yes) BUILD_TESTS=yes ;;
888   no)  BUILD_TESTS=no ;;
889   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
890 esac], 
891 [BUILD_TESTS=yes]) dnl Default value
892
893 AC_ARG_ENABLE(examples,
894 [  --disable-examples           disable building examples],
895 [case "${enableval}" in
896   yes) BUILD_EXAMPLES=yes ;;
897   no)  BUILD_EXAMPLES=no ;;
898   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
899 esac], 
900 [BUILD_EXAMPLES=yes]) dnl Default value
901
902 dnl Next, check for the optional components:
903 dnl ========================================
904
905
906 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
907 [dnl
908 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
909 dnl
910 AC_ARG_ENABLE(translit([$1], A-Z, a-z), 
911 [  ]builtin(format, --disable-%-17s  disable %s, translit([$1], A-Z, a-z), $2),
912 [ case "${enableval}" in
913     yes) GST_DISABLE_[$1]=no ;;
914     no) GST_DISABLE_[$1]=yes ;;
915     *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
916   esac],
917 [GST_DISABLE_[$1]=no]) dnl Default value
918 if test x$GST_DISABLE_[$1] = xyes; then
919   AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
920   GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
921 fi
922 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
923 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
924 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
925 ])
926
927 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
928 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
929 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
930 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
931 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
932 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
933 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
934 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
935 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
936 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
937 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
938 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
939
940 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
941
942
943 dnl ################################################
944 dnl # Set defines according to variables set above #
945 dnl ################################################
946
947
948 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
949 dnl HAVE_ and it is likely to be easier to stick with the old name
950 if test "x$USE_LIBGHTTP" = xyes; then
951   AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
952 fi
953
954 if test "x$USE_LIBMMX" = xyes; then
955   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
956 fi
957
958 if test "x$USE_ATOMIC_H" = xyes; then
959   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
960 fi
961
962 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
963   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
964 fi
965
966 dnl if test "x$USE_DEBUG" = xyes; then
967 dnl   CFLAGS="$CFLAGS -g"
968 dnl fi
969
970 if test "x$USE_PROFILING" = xyes; then
971 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
972   FOMIT_FRAME_POINTER=""
973 else
974   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
975 fi
976
977 dnl
978 dnl AC_SUBST(FOMIT_FRAME_POINTER)
979 dnl
980
981 if test "x$HAVE_LIBXV" = xyes; then
982   AC_DEFINE(HAVE_LIBXV)
983 fi
984
985 if test "x$HAVE_OSS" = xyes; then
986   AC_DEFINE(HAVE_OSS)
987 fi
988
989 if test "x$HAVE_XAUDIO" = xyes; then
990   AC_DEFINE(HAVE_XAUDIO)
991 fi
992
993 if test "x$HAVE_LIBMAD" = xyes; then
994   AC_DEFINE(HAVE_LIBMAD)
995 fi
996
997 if test "x$HAVE_LIBMIKMOD" = xyes; then
998   AC_DEFINE(HAVE_LIBMIKMOD)
999 fi
1000
1001 if test "x$HAVE_VORBIS" = xyes; then
1002   AC_DEFINE(HAVE_VORBIS)
1003 fi
1004
1005 if test "x$HAVE_LIBJPEG" = xyes; then
1006   AC_DEFINE(HAVE_LIBJPEG)
1007 fi
1008
1009 if test "x$HAVE_LIBSDL" = xyes; then
1010   AC_DEFINE(HAVE_LIBSDL)
1011 fi
1012
1013 if test "x$HAVE_LIBHERMES" = "xyes"; then
1014   AC_DEFINE(HAVE_LIBHERMES)
1015 fi
1016
1017 if test "x$HAVE_LIBDVDREAD" = xyes; then
1018   AC_DEFINE(HAVE_LIBDVDREAD)
1019 fi
1020
1021 if test "x$HAVE_LINUX_CDROM" = xyes; then
1022   AC_DEFINE(HAVE_LINUX_CDROM)
1023 fi
1024
1025 if test "x$HAVE_LINUX_VIDEODEV" = xyes; then
1026   AC_DEFINE(HAVE_LINUX_VIDEODEV)
1027 fi
1028
1029 if test "x$HAVE_MPEG2DEC" = xyes; then
1030   AC_DEFINE(HAVE_MPEG2DEC)
1031 fi
1032
1033 if test "x$HAVE_A52DEC" = xyes; then
1034   AC_DEFINE(HAVE_A52DEC)
1035 fi
1036
1037 if test "x$HAVE_FLACLIB" = xyes; then
1038   AC_DEFINE(HAVE_FLACLIB)
1039 fi
1040
1041 if test "x$HAVE_LIBGSM" = xyes; then
1042   AC_DEFINE(HAVE_LIBGSM)
1043 fi
1044
1045 dnl #############################
1046 dnl # Set automake conditionals #
1047 dnl #############################
1048
1049 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1050 dnl HAVE_ and it is likely to be easier to stick with the old name
1051 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
1052 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
1053 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
1054 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
1055 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
1056 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
1057 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
1058 AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
1059 AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
1060 AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
1061 AM_CONDITIONAL(HAVE_LIBMIKMOD,      test "x$HAVE_LIBMIKMOD" = "xyes")
1062 AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
1063 AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
1064 AM_CONDITIONAL(HAVE_LIBDVDREAD,     test "x$HAVE_LIBDVDREAD" = "xyes")
1065 AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
1066 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
1067 AM_CONDITIONAL(HAVE_LIBSDL,         test "x$HAVE_LIBSDL" = "xyes")
1068 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
1069 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
1070 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
1071 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
1072 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
1073 AM_CONDITIONAL(HAVE_GTK,            test "x$HAVE_GTK" = "xyes")
1074 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
1075 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
1076 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
1077 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
1078 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
1079 AM_CONDITIONAL(HAVE_DB2HTML,        $HAVE_DB2HTML)
1080 AM_CONDITIONAL(HAVE_DB2PS,          $HAVE_DB2PS)
1081 AM_CONDITIONAL(HAVE_PS2PDF,         $HAVE_PS2PDF)
1082 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
1083 AM_CONDITIONAL(HAVE_FIG2DEV_EPS,    $HAVE_FIG2DEV_EPS)
1084 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
1085 AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
1086 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
1087 AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
1088 AM_CONDITIONAL(HAVE_A52DEC,         test "x$HAVE_A52DEC" = "xyes")
1089 dnl thomas : the next line gives errors, this is how it is in CVS
1090 dnl AM_CONDITIONAL(HAVE_FLAC,               test "x$HAVE_FLAC" = "xyes")
1091 dnl thomas : the next line gives errors as well, I commented it
1092 dnl AM_CONDITIONAL(HAVE_LAC,                test "x$HAVE_FAC" = "xyes")
1093 dnl thomas: the next line doesn't give errors
1094 AM_CONDITIONAL(HAVE_FLACLIB,        test "x$HAVE_FLACLIB" = "xyes")
1095 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
1096 AM_CONDITIONAL(HAVE_ARTS,           test "x$HAVE_ARTS" = "xyes")
1097 AM_CONDITIONAL(HAVE_XMMS,           test "x$HAVE_XMMS" = "xyes")
1098 AM_CONDITIONAL(HAVE_RAW1394,        test "x$HAVE_RAW1394" = "xyes")
1099 AM_CONDITIONAL(HAVE_LIBDV,          test "x$HAVE_LIBDV" = "xyes")
1100 AM_CONDITIONAL(HAVE_LIBAA,          test "x$HAVE_LIBAA" = "xyes")
1101 AM_CONDITIONAL(HAVE_GNOME_VFS,      test "x$HAVE_GNOME_VFS" = "xyes")
1102 AM_CONDITIONAL(HAVE_AVIFILE,        test "x$HAVE_AVIFILE" = "xyes")
1103 AM_CONDITIONAL(HAVE_LIBOPENQUICKTIME, test "x$HAVE_LIBOPENQUICKTIME" = "xyes")
1104 AM_CONDITIONAL(HAVE_LIBGSM,         test "x$HAVE_LIBGSM" = "xyes")
1105 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
1106 AM_CONDITIONAL(HAVE_SIDPLAY,        test "x$have_sidplay" = "xyes")
1107
1108
1109 dnl ############################
1110 dnl # Set up some more defines #
1111 dnl ############################
1112
1113 dnl Set location of configuration dir.
1114 dnl AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
1115 AC_SUBST(GST_CONFIG_DIR)
1116
1117 dnl Set location of windows dll dir.
1118 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
1119 AC_SUBST(GST_WIN32_LIBDIR)
1120
1121 dnl Set location of plugin directory
1122 if test "x${prefix}" = "xNONE"; then
1123   PLUGINS_DIR=${ac_default_prefix}/lib/gst
1124 else
1125   PLUGINS_DIR=${prefix}/lib/gst
1126 fi
1127 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
1128 AC_SUBST(PLUGINS_DIR)
1129
1130 dnl Set location of uninstalled plugin directory
1131 PLUGINS_BUILDDIR=${builddir}
1132 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
1133 AC_SUBST(PLUGINS_BUILDDIR)
1134
1135 dnl Vars for everyone else
1136 GST_LIBS="\$(top_builddir)/gst/libgst.la"
1137 GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
1138 AC_SUBST(GST_LIBS)
1139 AC_SUBST(GST_CFLAGS)
1140
1141 dnl Private vars for libgst only
1142 LIBGST_CFLAGS="$GST_CFLAGS"
1143 AC_SUBST(LIBGST_LIBS)
1144 AC_SUBST(LIBGST_CFLAGS)
1145
1146 AC_SUBST(GST_CFLAGS)
1147
1148 dnl #############################
1149 dnl # Configure the subpackages #
1150 dnl #############################
1151
1152 dnl AC_CONFIG_SUBDIRS(gist)
1153 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
1154
1155 dnl ##################################################
1156 dnl # Prepare informative messages to display at end #
1157 dnl ##################################################
1158
1159 infomessages=
1160
1161 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
1162   infomessages="$infomessages
1163 *** Warning: You have configured using the --enable-plugin-builddir option.
1164
1165 This option is for development purposes only: binaries built with
1166 it should be used with code in the build tree only.  To build an
1167 installable version, use ./configure without the --enable-plugin-builddir
1168 option.  Note that the autogen.sh script supplies the plugin builddir
1169 option automatically - it cannot be used to configure installable builds.
1170
1171 "
1172 fi
1173
1174 dnl #########################
1175 dnl # Make the output files #
1176 dnl #########################
1177
1178 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1179 dnl components/bonobo-gstmediaplay/Makefile
1180 dnl FIXME someone should fix this test/misc/Makefile
1181 dnl FIXME wtay fix this: testsuite/threads/Makefile
1182 dnl FIXME testsuite/refcounting/Makefile
1183
1184 AC_OUTPUT(
1185 Makefile
1186 include/Makefile
1187 gst/Makefile
1188 gst/gstversion.h
1189 gst/types/Makefile
1190 gst/elements/Makefile
1191 gst/autoplug/Makefile
1192 gst/schedulers/Makefile
1193 libs/Makefile
1194 libs/riff/Makefile
1195 libs/getbits/Makefile
1196 libs/putbits/Makefile
1197 libs/idct/Makefile
1198 libs/audio/Makefile
1199 libs/bytestream/Makefile
1200 libs/control/Makefile
1201 libs/resample/Makefile
1202 plugins/Makefile
1203 plugins/a52dec/Makefile
1204 plugins/aasink/Makefile
1205 plugins/alsa/Makefile
1206 plugins/au/Makefile
1207 plugins/audiofile/Makefile
1208 plugins/audioscale/Makefile
1209 plugins/avi/Makefile
1210 plugins/avi/wincodec/Makefile
1211 plugins/avi/winaudio/Makefile
1212 plugins/flx/Makefile
1213 plugins/festival/Makefile
1214 plugins/flac/Makefile
1215 plugins/jpeg/Makefile
1216 plugins/mp3decode/Makefile
1217 plugins/mp3decode/types/Makefile
1218 plugins/mp3decode/xa/Makefile
1219 plugins/mp3decode/mpg123/Makefile
1220 plugins/mp3decode/mad/Makefile
1221 plugins/mp3decode/parse/Makefile
1222 plugins/mp3encode/Makefile
1223 plugins/mp3encode/lame/Makefile
1224 plugins/mikmod/Makefile
1225 plugins/mpeg2/Makefile
1226 plugins/mpeg2/parse/Makefile
1227 plugins/mpeg2/ac3parse/Makefile
1228 plugins/mpeg2/ac3dec/Makefile
1229 plugins/mpeg2/video/Makefile
1230 plugins/mpeg2/mpeg2enc/Makefile
1231 plugins/mpeg2/mpeg2dec/Makefile
1232 plugins/mpeg2/subtitles/Makefile
1233 plugins/mpeg2/videoparse/Makefile
1234 plugins/mpeg2/mpegtypes/Makefile
1235 plugins/mpeg1/Makefile
1236 plugins/mpeg1/mpegtypes/Makefile
1237 plugins/mpeg1/mpegaudio/Makefile
1238 plugins/mpeg1/system_encode/Makefile
1239 plugins/mpeg1/mpeg1encoder/Makefile
1240 plugins/mpeg1video/Makefile
1241 plugins/mpeg1video/parse/Makefile
1242 plugins/oss/Makefile
1243 plugins/rtp/Makefile
1244 plugins/mulaw/Makefile
1245 plugins/alaw/Makefile
1246 plugins/filters/Makefile
1247 plugins/filters/smooth/Makefile
1248 plugins/filters/median/Makefile
1249 plugins/filters/ladspa/Makefile
1250 plugins/filters/stereo2mono/Makefile
1251 plugins/filters/mono2stereo/Makefile
1252 plugins/filters/intfloatconvert/Makefile
1253 plugins/filters/passthrough/Makefile
1254 plugins/filters/adder/Makefile
1255 plugins/filters/colorspace/Makefile
1256 plugins/filters/volenv/Makefile
1257 plugins/filters/level/Makefile
1258 plugins/filters/lav/Makefile
1259 plugins/filters/cutter/Makefile
1260 plugins/filters/deinterlace/Makefile
1261 plugins/filters/volume/Makefile
1262 plugins/filters/speed/Makefile
1263 plugins/filters/playondemand/Makefile
1264 plugins/gnomevfs/Makefile
1265 plugins/icecast/Makefile
1266 plugins/icecast/icecastsend/Makefile
1267 plugins/effects/Makefile
1268 plugins/effects/stereo/Makefile
1269 plugins/effects/volume/Makefile
1270 plugins/udp/Makefile
1271 plugins/visualization/Makefile
1272 plugins/visualization/spectrum/Makefile
1273 plugins/visualization/vumeter/Makefile
1274 plugins/visualization/synaesthesia/Makefile
1275 plugins/visualization/smoothwave/Makefile
1276 plugins/visualization/chart/Makefile
1277 plugins/videoscale/Makefile
1278 plugins/xvideosink/Makefile
1279 plugins/wav/Makefile
1280 plugins/dvdsrc/Makefile
1281 plugins/vcdsrc/Makefile
1282 plugins/rtjpeg/Makefile
1283 plugins/SID/Makefile
1284 plugins/vorbis/Makefile
1285 plugins/capture/Makefile
1286 plugins/capture/v4l/Makefile
1287 plugins/capture/qcam/Makefile
1288 plugins/cdparanoia/Makefile
1289 plugins/esd/Makefile
1290 plugins/esd/esdsink/Makefile
1291 plugins/artsd/Makefile
1292 plugins/quicktime/Makefile
1293 plugins/xmms/Makefile
1294 plugins/arts/Makefile
1295 plugins/gsm/Makefile
1296 plugins/1394/Makefile
1297 plugins/sdlsink/Makefile
1298 plugins/dv/Makefile
1299 plugins/synthesis/Makefile
1300 plugins/synthesis/sinesrc/Makefile
1301 plugins/silence/Makefile
1302 gstplay/Makefile
1303 test/Makefile
1304 test/xml/Makefile
1305 test/bindings/Makefile
1306 test/memchunk/Makefile
1307 test/events/Makefile
1308 tests/Makefile
1309 tests/sched/Makefile
1310 tests/eos/Makefile
1311 tests/muxing/Makefile
1312 testsuite/Makefile
1313 testsuite/bytestream/Makefile
1314 testsuite/capsnego/Makefile
1315 testsuite/plugin/Makefile
1316 tests/nego/Makefile
1317 examples/Makefile
1318 examples/autoplug/Makefile
1319 examples/helloworld/Makefile
1320 examples/helloworld2/Makefile
1321 examples/launch/Makefile
1322 examples/queue/Makefile
1323 examples/queue2/Makefile
1324 examples/queue3/Makefile
1325 examples/queue4/Makefile
1326 examples/thread/Makefile
1327 examples/mixer/Makefile
1328 examples/cutter/Makefile
1329 examples/launch/Makefile
1330 examples/xml/Makefile
1331 examples/plugins/Makefile
1332 examples/typefind/Makefile
1333 examples/mixer/Makefile
1334 editor/Makefile
1335 editor/pixmaps/Makefile
1336 tools/Makefile
1337 docs/Makefile
1338 docs/gst/Makefile
1339 docs/gst/gstreamer.types
1340 docs/libs/Makefile
1341 docs/plugins/Makefile
1342 docs/plugins/gstreamer-plugins.types
1343 docs/manual/Makefile
1344 docs/fwg/Makefile
1345 debian/Makefile
1346 stamp.h
1347 gstreamer-config
1348 gstreamer.pc
1349 gstreamer-uninstalled.pc
1350 gstreamer.spec,
1351 chmod +x gstreamer-config
1352 echo "$infomessages", infomessages="$infomessages"
1353 )