3a0a7af16f515e1cb76bb18f9243b0653cb8e6f8
[platform/upstream/gstreamer.git] / configure.in
1 AC_INIT(gst/gstobject.h)
2
3 AC_CANONICAL_SYSTEM
4
5 AM_CONFIG_HEADER(config.h)
6
7 GST_VERSION_MAJOR=0
8 GST_VERSION_MINOR=1
9 GST_VERSION_MICRO=1
10 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
11
12 PACKAGE=gstreamer
13 VERSION=$GST_VERSION
14 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
15 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
16 AC_SUBST(PACKAGE)
17 AC_SUBST(VERSION)
18
19 dnl libtool
20 GST_CURRENT=0
21 GST_REVISION=0
22 GST_AGE=0
23 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
24
25 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
26 dnl Add parameters for aclocal
27 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
28 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
29
30 AC_SUBST(GST_VERSION_MAJOR)
31 AC_SUBST(GST_VERSION_MINOR)
32 AC_SUBST(GST_VERSION_MICRO)
33 AC_SUBST(GST_VERSION)
34
35 AC_SUBST(GST_CURRENT)
36 AC_SUBST(GST_REVISION)
37 AC_SUBST(GST_AGE)
38 AC_SUBST(GST_LIBVERSION)
39
40
41 AM_MAINTAINER_MODE
42
43 AC_PROG_CC
44 AC_PROG_CXX
45 AC_ISC_POSIX
46 AC_STDC_HEADERS
47 AC_ARG_PROGRAM
48
49 dnl We disable static building for development, for time savings
50 dnl *NOTE*: dnl this line before release, so release does static too
51 AM_DISABLE_STATIC
52 AC_LIBTOOL_DLOPEN
53 AM_PROG_LIBTOOL
54
55 CFLAGS=""
56
57 dnl This is used for the -config script...
58 builddir=`pwd`
59 AC_SUBST(builddir)
60
61 dnl ##############################
62 dnl # Do automated configuration #
63 dnl ##############################
64
65 dnl Check for tools:
66 dnl ================
67
68 dnl Check for nasm
69 AC_PATH_PROG(NASM_PATH, nasm, no)
70 AC_SUBST(NASM_PATH)
71 if test x$NASM_PATH = xno; then
72   AC_MSG_WARN(Couldn't find nasm)
73   HAVE_NASM="no"
74 else
75   AC_DEFINE(HAVE_NASM)
76   HAVE_NASM="yes"
77 fi
78
79 dnl check for gtkdoc
80 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
81 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scanobj, :, false)
82 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scan, :, false)
83 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mktmpl, :, false)
84 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, :, false)
85 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkhtml, :, false)
86 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-fixxref, :, false)
87
88 dnl check for docbook tools
89 AC_CHECK_PROG(HAVE_DB2HTML, db2html, true, false)
90 AC_CHECK_PROG(HAVE_DB2PS, db2ps, true, false)
91 AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, true, false)
92
93 dnl check for image conversion tool
94 AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
95
96 dnl The following is a hack: if fig2dev doesn't display an error message
97 dnl for the desired type, we assume it supports it.
98 HAVE_FIG2DEV_PNG=false
99 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
100   fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
101   if test "x$fig2dev_quiet" = "x" ; then
102     HAVE_FIG2DEV_PNG=true
103   fi
104 fi
105 HAVE_FIG2DEV_EPS=false
106 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
107   fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null`
108   if test "x$fig2dev_quiet" = "x" ; then
109     HAVE_FIG2DEV_EPS=true
110   fi
111 fi
112
113
114 dnl Set up conditionals for (target) architecture:
115 dnl ==============================================
116
117 dnl Determine CPU
118 case "x${target_cpu}" in
119   xi?86)     HAVE_CPU_I386=yes ;
120              AC_DEFINE(HAVE_CPU_I386) ;;
121   xpowerpc)  HAVE_CPU_PPC=yes ;
122              AC_DEFINE(HAVE_CPU_PPC) ;;
123   xalpha)    HAVE_CPU_ALPHA=yes ;
124              AC_DEFINE(HAVE_CPU_ALPHA) ;;
125   xarm*)     HAVE_CPU_ARM=yes ;
126              AC_DEFINE(HAVE_CPU_ARM) ;;
127   xsparc*)   HAVE_CPU_SPARC=yes ;
128              AC_DEFINE(HAVE_CPU_SPARC) ;;
129 esac
130
131 dnl Determine endianness
132 AC_C_BIGENDIAN
133
134 dnl Check for MMX-capable compiler
135 AC_MSG_CHECKING(for MMX-capable compiler)
136 AC_TRY_RUN([
137 #include "include/mmx.h"
138
139 main()
140 { movq_r2r(mm0, mm1); return 0; }
141 ],
142 [
143 HAVE_LIBMMX="yes"
144 AC_MSG_RESULT(yes)
145 ],
146 HAVE_LIBMMX="no"
147 AC_MSG_RESULT(no)
148 ,
149 HAVE_LIBMMX="no"
150 AC_MSG_RESULT(no)
151 )
152
153
154
155 dnl Check for essential libraries first:
156 dnl ====================================
157
158
159 dnl Check for glib
160 AM_PATH_GLIB(1.2.0,,
161             AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
162             glib gmodule gthread)
163 dnl Put the glib flags into $LIBS and $CFLAGS since we always use them
164 CORE_LIBS="$GLIB_LIBS"
165 CORE_CFLAGS="$GLIB_CFLAGS"
166
167
168 dnl Check for gtk
169 AM_PATH_GTK(1.2.0,,
170             AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
171 dnl Put the gtk flags into $LIBS and $CFLAGS since we always use them
172 CORE_LIBS="$CORE_LIBS $GTK_LIBS"
173 CORE_CFLAGS="$CORE_CFLAGS $GTK_CFLAGS"
174
175
176 dnl Check for libxml
177 AC_PATH_PROG(XML_CONFIG, xml-config, no)
178 if test x$XML_CONFIG = xno; then
179   AC_MSG_ERROR(Couldn't find xml-config)
180 fi
181 XML_LIBS=`xml-config --libs`
182 XML_CFLAGS=`xml-config --cflags`
183 AC_CHECK_LIB(xml, xmlDocGetRootElement, ,
184   [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
185   $XML_LIBS)
186 AC_SUBST(XML_LIBS)
187 AC_SUBST(XML_CFLAGS)
188 CORE_LIBS="$CORE_LIBS $XML_LIBS"
189 CORE_CFLAGS="$CORE_CFLAGS $XML_CFLAGS"
190
191
192 dnl Next, check for the optional libraries:
193 dnl =======================================
194
195
196 dnl Check for libesd
197 esd_save_LIBS=$LIBS
198 esd_save_CFLAGS=$CFLAGS 
199 AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
200 LIBS=$esd_save_LIBS
201 CFLAGS=$esd_save_CFLAGS
202 AC_ARG_ENABLE(esdsink,
203 [  --enable-esdsink          enable the building of the esdsink],
204 [case "${enableval}" in
205         yes) : ;;
206         no) HAVE_LIBESD=no ;;
207         *) AC_MSG_ERROR(bad value ${enableval} for --enable-esdsink) ;;
208         esac],
209 [HAVE_LIBESD=$HAVE_LIBESD])
210
211 dnl Check for artsc
212 AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
213 if test x$ARTSC_CONFIG = xno; then
214   AC_MSG_WARN(Couldn't find artsc-config)
215   ARTSC_LIBS=
216   ARTSC_CFLAGS=
217   HAVE_ARTSC=no
218 else
219   ARTSC_LIBS=`artsc-config --libs`
220   ARTSC_CFLAGS=`artsc-config --cflags`
221   HAVE_ARTSC=yes
222 fi
223 AC_SUBST(ARTSC_LIBS)
224 AC_SUBST(ARTSC_CFLAGS)
225 AC_ARG_ENABLE(artsd,
226 [  --enable-artsd            enable the building of artsd plugins],
227 [case "${enableval}" in
228         yes) : ;;
229         no) HAVE_ARTSC=no ;;
230         *) AC_MSG_ERROR(bad value ${enableval} for --enable-artsd) ;;
231         esac],
232 [:])
233
234 dnl AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
235
236 dnl Check for libasound
237 alsa_save_LIBS=$LIBS
238 alsa_save_CFLAGS=$CFLAGS
239 AM_PATH_ALSA(0.5.0, HAVE_LIBASOUND=yes, HAVE_LIBASOUND=no)
240 LIBS=$alsa_save_LIBS
241 CFLAGS=$alsa_save_CFLAGS
242 AC_ARG_ENABLE(alsasink,
243 [  --enable-alsasink          enable the building of the alsasink],
244 [case "${enableval}" in
245         yes) HAVE_LIBASOUND=$HAVE_LIBASOUND ;;
246         no) HAVE_LIBASOUND=no ;;
247         *) AC_MSG_ERROR(bad value ${enableval} for --enable-alsasink) ;;
248 esac],
249 [HAVE_LIBASOUND=$HAVE_LIBASOUND])
250
251 dnl Check for libgdk-pixbuf
252 AC_PATH_PROG(GDK_PIXBUF_CONFIG, gdk-pixbuf-config, no)
253 if test x$GDK_PIXBUF_CONFIG = xno; then
254   AC_MSG_WARN(Couldn't find gdk-pixbuf-config)
255   GDK_PIXBUF_LIBS=
256   GDK_PIXBUF_CFLAGS=
257   HAVE_GDK_PIXBUF=no
258 else
259   GDK_PIXBUF_LIBS=`gdk-pixbuf-config --libs`
260   GDK_PIXBUF_CFLAGS=`gdk-pixbuf-config --cflags`
261   HAVE_GDK_PIXBUF=yes
262 fi
263 AC_SUBST(GDK_PIXBUF_LIBS)
264 AC_SUBST(GDK_PIXBUF_CFLAGS)
265
266
267 dnl Check for libgnome
268 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
269 if test x$GNOME_CONFIG = xno; then
270   AC_MSG_WARN(Couldn't find gnome-config: can't build editor or gstplay)
271   GNOME_LIBS=
272   GNOME_CFLAGS=
273   HAVE_GNOME=no
274 else
275   GNOME_LIBS=`gnome-config --libs gnome gnomeui`
276   GNOME_CFLAGS=`gnome-config --cflags gnome gnomeui`
277   GHTTP_LIBS=`gnome-config --libs gnome gnomeui`
278   GHTTP_CFLAGS=`gnome-config --cflags gnome gnomeui`
279   HAVE_GNOME=yes
280 fi
281 AC_SUBST(GNOME_LIBS)
282 AC_SUBST(GNOME_CFLAGS)
283 AC_SUBST(GHTTP_LIBS)
284
285 dnl Check for libghttp
286 dnl FIXME: need to check for header
287 AC_CHECK_LIB(ghttp, ghttp_request_new,
288   [GHTTP_LIBS="-lghttp"
289    GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
290    HAVE_LIBGHTTP=yes
291   ],
292   [AC_MSG_WARN(Cannot find libghttp: can't build gsthttpsrc)
293    GHTTP_LIBS=
294    GST_HTTPSRC_GET_TYPE=
295    HAVE_LIBGHTTP=no
296   ],
297   $LIBS)
298 AC_SUBST(GST_HTTPSRC_GET_TYPE)
299
300 dnl Check for libglade
301 HAVE_LIBGLADE_GNOME="no"
302 AC_PATH_PROG(LIBGLADE_CONFIG_PATH, libglade-config, no)
303 if test x$LIBGLADE_CONFIG_PATH = xno; then
304   AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
305   LIBGLADE_GNOME_LIBS=
306   LIBGLADE_GNOME_CFLAGS=
307 else
308   LIBGLADE_GNOME_LIBS=`libglade-config --libs gnome`
309   LIBGLADE_GNOME_CFLAGS=`libglade-config --cflags gnome`
310   libglade_save_CFLAGS="$CFLAGS"
311   libglade_save_LIBS="$LIBS"
312   CFLAGS="$CFLAGS $LIBGLADE_GNOME_CFLAGS $GTK_CFLAGS"
313   LIBS="$LIBS $LIBGLADE_GNOME_LIBS $GTK_LIBS"
314   AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
315               HAVE_LIBGLADE_GNOME="yes",
316               AC_MSG_WARN(
317       [Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
318              )
319   CFLAGS="$libglade_save_CFLAGS"
320   LIBS="$libglade_save_LIBS"
321 fi
322 AC_SUBST(LIBGLADE_GNOME_LIBS)
323 AC_SUBST(LIBGLADE_GNOME_CFLAGS)
324
325
326 dnl Check for atomic.h
327 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
328 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
329 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
330 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
331 if test x$HAVE_ATOMIC_H = xyes; then
332   AC_TRY_RUN([
333 #include "asm/atomic.h"
334 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
335   ],, [
336     # Not successful
337     if test x$HAVE_ATOMIC_H = xyes; then
338       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
339     fi
340     HAVE_ATOMIC_H=no
341   ], [
342     # Cross compiling
343     AC_MSG_RESULT(yes)
344     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
345   ])
346 fi
347
348
349 dnl Check for X11 extensions
350 AC_PATH_XTRA
351 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
352   AC_MSG_ERROR(can not find X11)
353 fi
354 AC_SUBST(X_CFLAGS)
355 AC_SUBST(X_PRE_LIBS)
356 AC_SUBST(X_EXTRA_LIBS)
357 AC_SUBST(X_LIBS)
358
359
360 dnl Check for the Xv library
361 xvsave_LIBS=${LIBS}
362 AC_CHECK_LIB(Xv, XvQueryExtension, 
363 HAVE_LIBXV=yes 
364 AC_DEFINE(HAVE_LIBXV),
365 HAVE_LIBXV=no, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)
366 LIBS=${xvsave_LIBS}
367
368 dnl Check for OSS audio
369 AC_CHECK_HEADER(sys/soundcard.h,
370   AC_DEFINE(HAVE_OSS) 
371   HAVE_OSS=yes, []
372 )
373
374 dnl Check for xaudio
375 AC_CHECK_HEADER(xaudio/decoder.h,
376   AC_DEFINE(HAVE_XAUDIO) 
377   HAVE_XAUDIO="yes", []
378 )
379
380 dnl Check for libvorbis
381 AC_MSG_CHECKING(MAD library)
382 AC_CHECK_LIB(mad, mad_decoder_finish, 
383 HAVE_LIBMAD=yes 
384 AC_DEFINE(HAVE_LIBMAD),
385 HAVE_LIBMAD=no, )
386
387 dnl Check for libvorbis
388 AC_MSG_CHECKING(Vorbis library)
389 AC_CHECK_LIB(vorbis, ogg_sync_init, 
390 HAVE_VORBIS=yes 
391 AC_DEFINE(HAVE_VORBIS),
392 HAVE_VORBIS=no, )
393
394 dnl Check for libvorbis
395 AC_MSG_CHECKING(libjpeg library)
396 AC_CHECK_LIB(jpeg, jpeg_set_defaults, 
397 HAVE_LIBJPEG=yes 
398 AC_DEFINE(HAVE_LIBJPEG),
399 HAVE_LIBJPEG=no, )
400
401 dnl Check for libvorbis
402 AC_MSG_CHECKING(Hermes library)
403 AC_CHECK_LIB(Hermes, Hermes_ConverterInstance, 
404 HAVE_LIBHERMES=yes 
405 AC_DEFINE(HAVE_LIBHERMES),
406 HAVE_LIBHERMES=no, )
407
408 dnl Check for cdparanoia
409 AC_MSG_CHECKING(CDparanoia library)
410 HAVE_CDPARANOIA=yes
411 AC_CHECK_LIB(cdda_interface, cdda_open, : , HAVE_CDPARANOIA=no, )
412 AC_CHECK_HEADER(cdda_interface.h, :, HAVE_CDPARANOIA=no)
413 AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
414 AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
415
416 dnl Check for liblame
417 AC_MSG_CHECKING(LAME library)
418 AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, )
419 AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
420
421 dnl Check for libshout
422 AC_MSG_CHECKING(Shout library)
423 AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
424 AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
425
426 dnl Check for mpeg2dec
427 AC_MSG_CHECKING(mpeg2dec library)
428 AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
429 AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
430
431 dnl Check for librtp
432 AC_MSG_CHECKING(rtp library)
433 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
434
435
436 dnl check if css-auth.c exists (FIXME)
437 AC_MSG_CHECKING(DVD CSS code)
438 if test -f plugins/dvdsrc/css-auth.c
439 then
440   AC_MSG_RESULT(yes)
441   HAVE_CSSAUTH="yes"
442   AC_DEFINE(HAVE_CSSAUTH) 
443 else
444   AC_MSG_RESULT(no)
445   HAVE_CSSAUTH="no"
446 fi
447
448 dnl Check for linux/cdrom.h
449 AC_CHECK_HEADER(linux/cdrom.h,
450   AC_DEFINE(HAVE_LINUX_CDROM) 
451   HAVE_LINUX_CDROM=yes, []
452 )
453
454 dnl Check for linux/videodev.h
455 AC_CHECK_HEADER(linux/videodev.h,
456   AC_DEFINE(HAVE_LINUX_VIDEODEV) 
457   HAVE_LINUX_VIDEODEV=yes, []
458 )
459
460
461 dnl ######################################################################
462 dnl # Check command line parameters, and set shell variables accordingly #
463 dnl ######################################################################
464
465 AC_ARG_ENABLE(gdk-pixbuf,
466 [  --enable-gdk-pixbuf          use gdk pixbuf, if available],
467 [case "${enableval}" in
468   yes) USE_GDK_PIXBUF=$HAVE_GDK_PIXBUF ;;
469   no)  USE_GDK_PIXBUF=no ;;
470   *) AC_MSG_ERROR(bad value ${enableval} for --enable-gdk-pixbuf) ;;
471 esac], 
472 [USE_GDK_PIXBUF=$HAVE_GDK_PIXBUF]) dnl Default value
473
474 AC_ARG_ENABLE(libghttp,
475 [  --enable-libghttp            use the ghttp library, if available],
476 [case "${enableval}" in
477   yes) USE_LIBGHTTP=$HAVE_LIBGHTTP ;;
478   no)  USE_LIBGHTTP=no ;;
479   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libghttp) ;;
480 esac], 
481 [USE_LIBGHTTP=$HAVE_LIBGHTTP]) dnl Default value
482
483 AC_ARG_ENABLE(libmmx,
484 [  --enable-libmmx              use libmmx, if available],
485 [case "${enableval}" in
486   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
487   no)  USE_LIBMMX=no ;;
488   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
489 esac], 
490 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
491
492 AC_ARG_ENABLE(atomic,
493 [  --enable-atomic              use atomic reference counting header],
494 [case "${enableval}" in
495   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
496   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
497   no)  USE_ATOMIC_H=no;;
498   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
499 esac], 
500 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
501
502 AC_ARG_ENABLE(plugin-srcdir,
503 [  --enable-plugin-srcdir       allow tests/demos to use non-installed plugins ],
504 [case "${enableval}" in
505   yes) PLUGINS_USE_SRCDIR=yes ;;
506   no)  PLUGINS_USE_SRCDIR=no ;;
507   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-srcdir) ;;
508 esac], 
509 [PLUGINS_USE_SRCDIR=no]) dnl Default value
510
511 AC_ARG_ENABLE(debug,
512 [  --enable-debug               compile with -g debugging info],
513 [case "${enableval}" in
514   yes) USE_DEBUG=yes ;;
515   no)  USE_DEBUG=no ;;
516   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
517 esac], 
518 [USE_DEBUG=no]) dnl Default value
519
520 AC_ARG_ENABLE(debug-verbose,
521 [  --enable-debug-verbose       spews lots of useless debugging info at runtime],
522 [case "${enableval}" in
523   yes) USE_DEBUG_VERBOSE=yes ;;
524   no)  USE_DEBUG_VERBOSE=no ;;
525   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-verbose) ;;
526 esac], 
527 [USE_DEBUG_VERBOSE=no]) dnl Default value
528
529 AC_ARG_ENABLE(info,
530 [  --enable-info                spews lots of info at runtime for plugin writers],
531 [case "${enableval}" in
532   yes) USE_DEBUG_INFO_VERBOSE=yes ;;
533   no)  USE_DEBUG_INFO_VERBOSE=no ;;
534   *) AC_MSG_ERROR(bad value ${enableval} for --enable-info) ;;
535 esac], 
536 [USE_DEBUG_INFO_VERBOSE=no]) dnl Default value
537
538 AC_ARG_ENABLE(info-system,
539 [  --disable-info-system        disables the info debugging system],
540 [case "${enableval}" in
541   yes) DISABLE_DEBUG_INFO=no ;;
542   no)  DISABLE_DEBUG_INFO=yes ;;
543   *) AC_MSG_ERROR(bad value ${enableval} for --disable-info) ;;
544 esac], 
545 [DISABLE_DEBUG_INFO=no]) dnl Default value
546
547 AC_ARG_ENABLE(profiling,
548 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
549 [case "${enableval}" in
550   yes) USE_PROFILING=yes ;;
551   no)  UES_PROFILING=no ;;
552   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
553 esac], 
554 [USE_PROFILING=no]) dnl Default value
555
556 dnl Default value
557 GST_CONFIG_DIR="/etc/gstreamer"
558 AC_ARG_WITH(configdir,
559 [  --with-configdir             specify path to use for configdir],
560 [case "${withval}" in
561   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
562   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
563   *) GST_CONFIG_DIR="${withval}" ;;
564 esac], 
565 [:]) dnl Default value
566
567 dnl Default value
568 GST_WIN32_LIBDIR="/usr/lib/win32"
569 AC_ARG_WITH(win32_libdir,
570 [  --with-win32-libdir          specify location for win32 DLLs],
571 [case "${withval}" in
572   yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
573   no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
574   *) GST_WIN32_LIBDIR="${withval}" ;;
575 esac],
576 [:]) dnl Default value
577
578 AC_ARG_ENABLE(docs-build,
579 [  --disable-docs-build         disable all building of documentation],
580 [case "${enableval}" in
581   yes) BUILD_DOCS=yes ;;
582   no)  BUILD_DOCS=no ;;
583   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
584 esac], 
585 [BUILD_DOCS=yes]) dnl Default value
586
587 AC_ARG_ENABLE(plugin-docs,
588 [  --enable-plugin-docs         enable the building of plugin documentation
589                                (this is currently broken, so off by default)],
590 [case "${enableval}" in
591   yes) BUILD_PLUGIN_DOCS=yes ;;
592   no)  BUILD_PLUGIN_DOCS=no ;;
593   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
594 esac], 
595 [BUILD_PLUGIN_DOCS=no]) dnl Default value
596
597
598
599
600 dnl ################################################
601 dnl # Set defines according to variables set above #
602 dnl ################################################
603
604
605 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
606 dnl HAVE_ and it is likely to be easier to stick with the old name
607 if test "x$USE_GDK_PIXBUF" = xyes; then
608   AC_DEFINE(HAVE_GDK_PIXBUF)
609 fi
610
611 if test "x$USE_LIBGHTTP" = xyes; then
612   AC_DEFINE(HAVE_LIBGHTTP)
613 fi
614
615 if test "x$USE_LIBMMX" = xyes; then
616   AC_DEFINE(HAVE_LIBMMX)
617 fi
618
619 if test "x$USE_ATOMIC_H" = xyes; then
620   AC_DEFINE(HAVE_ATOMIC_H)
621 fi
622
623 if test "x$PLUGINS_USE_SRCDIR" = xyes; then
624   AC_DEFINE(PLUGINS_USE_SRCDIR)
625 fi
626
627 if test "x$USE_DEBUG" = xyes; then
628   CFLAGS="$CFLAGS -g"
629 fi
630
631 if test "x$USE_DEBUG_VERBOSE" = xyes; then
632   AC_DEFINE(GST_DEBUG_ENABLED)
633 fi
634
635 if test "x$USE_DEBUG_INFO_VERBOSE" = xyes; then
636   AC_DEFINE(GST_INFO_ENABLED_VERBOSE)
637   AC_DEFINE(GST_INFO_ENABLED)
638 else
639   AC_DEFINE(GST_INFO_ENABLED)
640 fi
641
642 if test "x$DISABLE_DEBUG_INFO" = xyes; then
643   AC_DEFINE(GST_INFO_FORCE_DISABLE)
644 fi
645
646 if test "x$USE_PROFILING" = xyes; then
647   CFLAGS="$CFLAGS -pg"
648   FOMIT_FRAME_POINTER=""
649 else
650   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
651 fi
652
653 dnl #############################
654 dnl # Set automake conditionals #
655 dnl #############################
656
657 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
658 dnl HAVE_ and it is likely to be easier to stick with the old name
659 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
660 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
661 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
662 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
663 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
664 AM_CONDITIONAL(HAVE_GDK_PIXBUF,     test "x$USE_GDK_PIXBUF" = "xyes")
665 AM_CONDITIONAL(HAVE_LIBGHTTP,       test "x$USE_LIBGHTTP" = "xyes")
666 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
667 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
668 AM_CONDITIONAL(HAVE_OSS,            test "x$HAVE_OSS" = "xyes")
669 AM_CONDITIONAL(HAVE_XAUDIO,         test "x$HAVE_XAUDIO" = "xyes")
670 AM_CONDITIONAL(HAVE_LIBMAD,         test "x$HAVE_LIBMAD" = "xyes")
671 AM_CONDITIONAL(HAVE_LINUX_CDROM,    test "x$HAVE_LINUX_CDROM" = "xyes")
672 AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
673 AM_CONDITIONAL(HAVE_CSSAUTH,        test "x$HAVE_CSSAUTH" = "xyes")
674 AM_CONDITIONAL(HAVE_VORBIS,         test "x$HAVE_VORBIS" = "xyes")
675 AM_CONDITIONAL(HAVE_LIBJPEG,        test "x$HAVE_LIBJPEG" = "xyes")
676 AM_CONDITIONAL(HAVE_LIBHERMES,      test "x$HAVE_LIBHERMES" = "xyes")
677 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
678 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
679 AM_CONDITIONAL(HAVE_GNOME,          test "x$HAVE_GNOME" = "xyes")
680 AM_CONDITIONAL(HAVE_LIBXV,          test "x$HAVE_LIBXV" = "xyes")
681 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
682 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
683 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
684 AM_CONDITIONAL(HAVE_DB2HTML,        $HAVE_DB2HTML)
685 AM_CONDITIONAL(HAVE_DB2PS,          $HAVE_DB2PS)
686 AM_CONDITIONAL(HAVE_PS2PDF,         $HAVE_PS2PDF)
687 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
688 AM_CONDITIONAL(HAVE_FIG2DEV_EPS,    $HAVE_FIG2DEV_EPS)
689 AM_CONDITIONAL(HAVE_CDPARANOIA,     test "x$HAVE_CDPARANOIA" = "xyes")
690 AM_CONDITIONAL(HAVE_LIBLAME,        test "x$HAVE_LIBLAME" = "xyes")
691 AM_CONDITIONAL(HAVE_LIBSHOUT,       test "x$HAVE_LIBSHOUT" = "xyes")
692 AM_CONDITIONAL(HAVE_LIBESD,         test "x$HAVE_LIBESD" = "xyes")
693 AM_CONDITIONAL(HAVE_ARTSC,          test "x$HAVE_ARTSC" = "xyes")
694 AM_CONDITIONAL(HAVE_LIBASOUND,      test "x$HAVE_LIBASOUND" = "xyes")
695 AM_CONDITIONAL(HAVE_MPEG2DEC,       test "x$HAVE_MPEG2DEC" = "xyes")
696 AM_CONDITIONAL(HAVE_LIBXMMS,        test "x$HAVE_LIBXMMS" = "xyes")
697 AM_CONDITIONAL(HAVE_LIBRTP,         test "x$HAVE_LIBRTP" = "xyes")
698
699
700
701 dnl ############################
702 dnl # Set up some more defines #
703 dnl ############################
704
705 dnl Set location of configuration dir.
706 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
707 AC_SUBST(GST_CONFIG_DIR)
708
709 dnl Set location of windows dll dir.
710 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
711 AC_SUBST(GST_WIN32_LIBDIR)
712
713 dnl Set location of plugin directory
714 if test "x${prefix}" = "xNONE"; then
715   PLUGINS_DIR=${ac_default_prefix}/lib/gst
716 else
717   PLUGINS_DIR=${prefix}/lib/gst
718 fi
719 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
720 AC_SUBST(PLUGINS_DIR)
721
722 dnl Set location of uninstalled plugin directory
723 PLUGINS_SRCDIR=`pwd`/$srcdir
724 AC_DEFINE_UNQUOTED(PLUGINS_SRCDIR,"$PLUGINS_SRCDIR")
725 AC_SUBST(PLUGINS_SRCDIR)
726
727
728
729 dnl ##############################
730 dnl # Set up the defaults cflags #
731 dnl ##############################
732 dnl CC="kgcc"
733 CFLAGS="$CORE_CFLAGS $CFLAGS -O6 -Wall"
734 LIBS="$CORE_LIBS $LIBS"
735 AC_SUBST(CORE_LIBS)
736 AC_SUBST(CORE_CFLAGS)
737
738 dnl FIXME: having to AC_SUBST these is messy.  Not sure if CPPFLAGS and LDFLAGS
739 dnl need it, either.
740
741 dnl Private vars for libgst only
742 LIBGST_LIBS="$LIBS"
743 LIBGST_CFLAGS="$CFLAGS"
744 AC_SUBST(LIBGST_LIBS)
745 AC_SUBST(LIBGST_CFLAGS)
746
747 dnl Vars for everyone else
748 GST_LIBS="\$(top_builddir)/gst/libgst.la"
749 GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
750 AC_SUBST(GST_LIBS)
751 AC_SUBST(GST_CFLAGS)
752
753 dnl CFLAGS for everyone else
754 CFLAGS="$CFLAGS $GST_CFLAGS"
755 AC_SUBST(LIBS)
756 AC_SUBST(CFLAGS)
757
758 dnl AC_SUBST(CPPFLAGS)
759 dnl AC_SUBST(LDFLAGS)
760
761
762 dnl #############################
763 dnl # Configure the subpackages #
764 dnl #############################
765
766 dnl AC_CONFIG_SUBDIRS(gist)
767 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
768
769
770 dnl #########################
771 dnl # Make the output files #
772 dnl #########################
773
774 AC_OUTPUT([Makefile
775 include/Makefile
776 include/wine/Makefile
777 gst/Makefile
778 gst/gstversion.h
779 gst/types/Makefile
780 gst/meta/Makefile
781 gst/elements/Makefile
782 gst/autoplug/Makefile
783 libs/Makefile
784 libs/riff/Makefile
785 libs/colorspace/Makefile
786 libs/videoscale/Makefile
787 libs/getbits/Makefile
788 libs/putbits/Makefile
789 libs/winloader/Makefile
790 libs/idct/Makefile
791 plugins/Makefile
792 plugins/alsa/Makefile
793 plugins/au/Makefile
794 plugins/audioscale/Makefile
795 plugins/avi/Makefile
796 plugins/avi/wincodec/Makefile
797 plugins/flx/Makefile
798 plugins/jpeg/Makefile
799 plugins/mp3decode/Makefile
800 plugins/mp3decode/types/Makefile
801 plugins/mp3decode/xa/Makefile
802 plugins/mp3decode/mpg123/Makefile
803 plugins/mp3decode/mad/Makefile
804 plugins/mp3decode/parse/Makefile
805 plugins/mp3encode/Makefile
806 plugins/mp3encode/lame/Makefile
807 plugins/mpeg2/Makefile
808 plugins/mpeg2/parse/Makefile
809 plugins/mpeg2/ac3parse/Makefile
810 plugins/mpeg2/ac3dec/Makefile
811 plugins/mpeg2/video/Makefile
812 plugins/mpeg2/mpeg2enc/Makefile
813 plugins/mpeg2/mpeg2dec/Makefile
814 plugins/mpeg2/subtitles/Makefile
815 plugins/mpeg2/videoparse/Makefile
816 plugins/mpeg2/mpegtypes/Makefile
817 plugins/mpeg1/Makefile
818 plugins/mpeg1/mpegtypes/Makefile
819 plugins/mpeg1/mpeg_play/Makefile
820 plugins/mpeg1/mpegaudio/Makefile
821 plugins/mpeg1/parse/Makefile
822 plugins/mpeg1/system_encode/Makefile
823 plugins/mpeg1/mpeg1encoder/Makefile
824 plugins/mpeg1video/Makefile
825 plugins/mpeg1video/parse/Makefile
826 plugins/oss/Makefile
827 plugins/rtp/Makefile
828 plugins/rtp/rtpsend/Makefile
829 plugins/mulaw/Makefile
830 plugins/alaw/Makefile
831 plugins/filters/Makefile
832 plugins/filters/smooth/Makefile
833 plugins/filters/median/Makefile
834 plugins/filters/ladspa/Makefile
835 plugins/filters/stereo2mono/Makefile
836 plugins/filters/passthrough/Makefile
837 plugins/filters/adder/Makefile
838 plugins/filters/colorspace/Makefile
839 plugins/filters/volenv/Makefile
840 plugins/icecast/Makefile
841 plugins/icecast/icecastsend/Makefile
842 plugins/effects/Makefile
843 plugins/effects/stereo/Makefile
844 plugins/effects/volume/Makefile
845 plugins/visualization/Makefile
846 plugins/visualization/spectrum/Makefile
847 plugins/visualization/vumeter/Makefile
848 plugins/visualization/synaesthesia/Makefile
849 plugins/visualization/smoothwave/Makefile
850 plugins/videosink/Makefile
851 plugins/videoscale/Makefile
852 plugins/xvideosink/Makefile
853 plugins/wav/Makefile
854 plugins/dvdsrc/Makefile
855 plugins/vcdsrc/Makefile
856 plugins/rtjpeg/Makefile
857 plugins/vorbis/Makefile
858 plugins/capture/Makefile
859 plugins/capture/v4l/Makefile
860 plugins/cdparanoia/Makefile
861 plugins/esd/Makefile
862 plugins/esd/esdsink/Makefile
863 plugins/artsd/Makefile
864 plugins/xmms/Makefile
865 plugins/arts/Makefile
866 gstplay/Makefile
867 dnl components/bonobo-gstmediaplay/Makefile
868 test/Makefile
869 test/xml/Makefile
870 test/bindings/Makefile
871 tests/Makefile
872 tests/sched/Makefile
873 tests/eos/Makefile
874 testsuite/Makefile
875 testsuite/capsnego/Makefile
876 tests/nego/Makefile
877 examples/Makefile
878 examples/autoplug/Makefile
879 examples/helloworld/Makefile
880 examples/helloworld2/Makefile
881 examples/launch/Makefile
882 examples/queue/Makefile
883 examples/queue2/Makefile
884 examples/queue3/Makefile
885 examples/queue4/Makefile
886 examples/thread/Makefile
887 examples/launch/Makefile
888 examples/xml/Makefile
889 examples/plugins/Makefile
890 examples/typefind/Makefile
891 examples/mixer/Makefile
892 editor/Makefile
893 editor/pixmaps/Makefile
894 tools/Makefile
895 docs/Makefile
896 docs/gst/Makefile
897 docs/gst/gstreamer.types
898 docs/libs/Makefile
899 docs/plugins/Makefile
900 docs/plugins/gstreamer-plugins.types
901 docs/manual/Makefile
902 docs/fwg/Makefile
903 debian/Makefile
904 stamp.h
905 gstreamer-config
906 gstreamer.spec])
907 AC_OUTPUT_COMMANDS([chmod +x gstreamer-config])