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