1 dnl autoconf configuration file for plugins
3 dnl FIXME take something else ?
4 AC_CONFIG_SRCDIR([COPYING])
6 AC_CANONICAL_TARGET([])
8 AM_CONFIG_HEADER(config.h)
14 dnl we use the release tag during CVS development
15 GST_VERSION_RELEASE=`date +%Y%m%d`
17 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
22 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
23 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
26 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
27 AC_SUBST(GST_VERSION_RELEASE)
33 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
35 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
36 dnl Add parameters for aclocal
37 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
38 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
40 AC_SUBST(GST_VERSION_MAJOR)
41 AC_SUBST(GST_VERSION_MINOR)
42 AC_SUBST(GST_VERSION_MICRO)
46 AC_SUBST(GST_REVISION)
48 AC_SUBST(GST_LIBVERSION)
60 dnl We disable static building for development, for time savings
61 dnl *NOTE*: dnl this line before release, so release does static too
68 dnl ###########################################
69 dnl # Super Duper options for plugin building #
70 dnl ###########################################
72 dnl experimental plugins; stuff that hasn't had the dust settle yet
73 dnl read 'builds, but might not work'
74 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
75 [HAVE_EXPERIMENTAL=yes],disabled,
77 AC_MSG_WARN(building experimental plugins)
81 AC_MSG_NOTICE(not building experimental plugins)
86 dnl broken plugins; stuff that doesn't seem to build at the moment
87 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
88 HAVE_BROKEN=yes,disabled,
90 AC_MSG_WARN(building broken plugins)
93 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
97 AC_MSG_NOTICE(not building broken plugins)
100 dnl ##############################
101 dnl # Do automated configuration #
102 dnl ##############################
107 dnl modify pkg-config path
108 AC_ARG_WITH(pkg-config-path,
109 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
110 [export PKG_CONFIG_PATH=${withval}])
113 AC_PATH_PROG(NASM_PATH, nasm, no)
115 if test x$NASM_PATH = xno; then
116 AC_MSG_WARN(Couldn't find nasm)
119 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
123 dnl check for gstreamer; check for uninstalled first
124 PKG_CHECK_MODULES(GST, gstreamer-uninstalled >= 0.3.0, HAVE_GST="yes", HAVE_GST="no")
125 if test "x$HAVE_GST" = "xno"; then
126 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0, HAVE_GST="yes", HAVE_GST="no")
129 if test "x$HAVE_GST" = "xno"; then
130 AC_MSG_ERROR(no GStreamer found)
133 dnl Set up conditionals for (target) architecture:
134 dnl ==============================================
137 case "x${target_cpu}" in
138 xi?86 | k?) HAVE_CPU_I386=yes
139 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
140 dnl FIXME could use some better detection
142 case "x${target_cpu}" in
144 *) AC_DEFINE(HAVE_RDTSC) ;;
146 xpowerpc) HAVE_CPU_PPC=yes
147 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
148 xalpha) HAVE_CPU_ALPHA=yes
149 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
150 xarm*) HAVE_CPU_ARM=yes
151 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
152 xsparc*) HAVE_CPU_SPARC=yes
153 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
154 xmips*) HAVE_CPU_MIPS=yes
155 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
156 xhppa*) HAVE_CPU_HPPA=yes
157 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
160 dnl Determine endianness
163 dnl Check for MMX-capable compiler
164 AC_MSG_CHECKING(for MMX-capable compiler)
166 #include "include/mmx.h"
169 { movq_r2r(mm0, mm1); return 0; }
183 dnl We should really use AC_SYS_LARGEFILE, but the problem is
184 dnl many of the plugins don't include "config.h". To assure
185 dnl binary compatibility, it is necessary that all gstreamer
186 dnl code be compiled with the same sizeof(off_t), so we use
187 dnl the following crude hack.
190 AC_MSG_CHECKING(for large file support)
192 #define _LARGEFILE_SOURCE
193 #define _FILE_OFFSET_BITS 64
194 #include <sys/types.h>
195 int main () { return !(sizeof(off_t) == 8); }
199 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
208 dnl Check for essential libraries first:
209 dnl ====================================
211 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
217 dnl Check for X11 extensions
219 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
220 AC_MSG_ERROR(can not find X11)
224 AC_SUBST(X_EXTRA_LIBS)
227 dnl ==========================================================================
228 dnl ============================= gst plugins ================================
229 dnl ==========================================================================
232 ac3parse adder audioscale auparse avi chart\
233 cutter deinterlace flx intfloat law level\
234 median mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
235 mpegaudio mpegaudioparse mpegstream mpegtypes\
236 passthrough playondemand rtjpeg silence sine\
237 smooth spectrum speed stereo stereomono\
238 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
240 AC_SUBST(GST_PLUGINS_ALL)
242 GST_PLUGINS_SELECTED=""
245 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
246 [for i in `echo $withval | tr , ' '`; do
247 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
248 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
250 echo "plugin $i not recognized, ignoring..."
253 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
255 AC_SUBST(GST_PLUGINS_SELECTED)
257 dnl needed for smoothwave, FIXME!
258 if test x$USE_GLIB2 = xno; then
260 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
264 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
266 GTK_CFLAGS=$GTK2_CFLAGS
272 dnl ==========================================================================
273 dnl ============================= sys plugins ================================
274 dnl ==========================================================================
277 dnl *** OSS audio ***
278 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
279 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
280 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
284 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
285 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
287 dnl *** Video 4 Linux ***
288 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
289 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
290 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
294 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
295 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
296 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
300 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
301 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
302 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
306 dnl look for the PIC library first, debian likes it
307 dnl yeah but redhat doesn't even *have* it and it works fine without
308 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
309 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
310 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
311 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
312 XVIDEO_LIBS="-lXv -lXext"
313 AC_SUBST(XVIDEO_LIBS)
316 dnl Next, check for the optional libraries:
317 dnl These are all libraries used in building plugins
318 dnl ================================================
319 dnl let's try and sort them alphabetically, shall we ?
323 AC_MSG_NOTICE(Checking for plugin libraries)
326 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
327 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
328 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
332 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
333 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
334 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
338 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
339 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
340 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
344 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
345 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
346 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
350 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
351 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
355 dnl *** audiofile ***
356 dnl this check uses the GST_CHECK_CONFIGPROG macro
357 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
358 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
359 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
360 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
361 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
365 dnl this check uses the GST_CHECK_CONFIGPROG macro
366 dnl this check needs more fixing
367 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
368 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
369 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
370 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
371 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
372 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
373 AC_SUBST(AVIFILE_LIBS)
376 dnl *** CDParanoia ***
377 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
378 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
379 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
380 AC_SUBST(CDPARANOIA_LIBS)
382 dnl FIXME : add second check somehow if that is necessary
383 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
384 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
387 dnl FIXME : check if those GLIB thingies are ok
388 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
389 GST_CHECK_FEATURE(DV, [dv library], dv, [
390 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
395 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
396 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
397 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
398 AC_SUBST(DVDREAD_LIBS)
402 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
403 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
404 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
408 dnl thomas : checking for compile with main instead of actual function,
409 dnl since that made autoconf break (for version 2.13)
410 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
411 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
412 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
416 dnl *** Gnome VFS ***
417 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
418 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
419 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
420 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
421 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
422 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
426 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
427 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
428 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
433 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
434 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
435 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
436 ], AC_SUBST(HERMES_LIBS))
439 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
440 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
441 dnl FIXME: need to check for header
443 GST_HTTPSRC_GET_TYPE=
444 if test x$USE_GLIB2 = xyes; then
445 AC_MSG_WARN(ghttp disabled for glib2.0)
447 AC_CHECK_LIB(ghttp, ghttp_request_new,
449 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
454 AC_SUBST(GST_HTTPSRC_GET_TYPE)
458 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
459 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
460 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
465 dnl FIXME : check if these CPP flags can be dealt with otherwise
466 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
467 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
468 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
469 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
472 dnl FIXME: we could use header checks here as well IMO
473 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
474 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
475 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
481 dnl FIXME: we could use header checks here as well IMO
482 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
483 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
484 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
489 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
490 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
491 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
492 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
493 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
497 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
498 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
499 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
500 AC_SUBST(MPEG2DEC_LIBS)
503 dnl *** openquicktime ***
504 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
505 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
506 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
507 AC_SUBST(OPENQUICKTIME_LIBS)
511 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
512 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
513 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
514 AC_SUBST(RAW1394_LIBS)
518 dnl FIXME : adapt and make it work
519 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
520 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
521 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
527 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
528 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
529 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
530 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
531 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
534 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
535 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
536 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
540 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
541 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
542 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
546 dnl *** smoothwave ***
547 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
548 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
549 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
553 dnl FIXME : make this work
554 dnl AC_PATH_LIBSIDPLAY
558 dnl AM_PATH_VORBIS only takes two options
559 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
560 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
561 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
565 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
566 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
567 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
570 dnl Check for atomic.h
571 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
572 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
573 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
574 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
575 if test x$HAVE_ATOMIC_H = xyes; then
577 #include "asm/atomic.h"
578 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
581 if test x$HAVE_ATOMIC_H = xyes; then
582 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
588 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
592 dnl ######################################################################
593 dnl # Check command line parameters, and set shell variables accordingly #
594 dnl ######################################################################
596 AC_ARG_ENABLE(libmmx,
597 [ --enable-libmmx use libmmx, if available],
598 [case "${enableval}" in
599 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
601 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
603 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
605 AC_ARG_ENABLE(atomic,
606 [ --enable-atomic use atomic reference counting header],
607 [case "${enableval}" in
608 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
609 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
610 no) USE_ATOMIC_H=no;;
611 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
613 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
615 AC_ARG_ENABLE(plugin-builddir,
616 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
617 [case "${enableval}" in
618 yes) PLUGINS_USE_BUILDDIR=yes ;;
619 no) PLUGINS_USE_BUILDDIR=no ;;
620 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
622 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
625 [ --enable-debug compile with -g debugging info],
626 [case "${enableval}" in
627 yes) USE_DEBUG=yes ;;
629 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
631 [USE_DEBUG=no]) dnl Default value
634 [ --enable-DEBUG compiles in a large number of debugging messages],
635 [case "${enableval}" in
636 yes) ENABLE_DEBUG=yes ;;
637 no) ENABLE_DEBUG=no ;;
638 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
640 [ENABLE_DEBUG=no]) dnl Default value
641 if test x$ENABLE_DEBUG = xyes; then
642 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
646 [ --disable-INFO disables compilation of informational messages],
647 [case "${enableval}" in
648 yes) ENABLE_INFO=yes ;;
649 no) ENABLE_INFO=no ;;
650 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
652 [ENABLE_INFO=yes]) dnl Default value
653 if test x$ENABLE_INFO = xyes; then
654 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
657 AC_ARG_ENABLE(debug-color,
658 [ --disable-debug-color disables color output of DEBUG and INFO output],
659 [case "${enableval}" in
660 yes) ENABLE_DEBUG_COLOR=yes ;;
661 no) ENABLE_DEBUG_COLOR=no ;;
662 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
664 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
665 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
666 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
669 AC_ARG_ENABLE(profiling,
670 [ --enable-profiling adds -pg to compiler commandline, for profiling],
671 [case "${enableval}" in
672 yes) USE_PROFILING=yes ;;
673 no) UES_PROFILING=no ;;
674 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
676 [USE_PROFILING=no]) dnl Default value
678 dnl default to building registry in the source tree if we are enabling plugin build dir
679 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
682 GST_CONFIG_DIR=/etc/gstreamer
684 AC_ARG_WITH(configdir,
685 [ --with-configdir specify path to use for configdir],
686 [case "${withval}" in
687 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
688 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
689 *) GST_CONFIG_DIR="${withval}" ;;
691 [:]) dnl Default value
694 GST_WIN32_LIBDIR="/usr/lib/win32"
695 AC_ARG_WITH(win32_libdir,
696 [ --with-win32-libdir specify location for win32 DLLs],
697 [case "${withval}" in
698 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
699 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
700 *) GST_WIN32_LIBDIR="${withval}" ;;
702 [:]) dnl Default value
704 AC_ARG_ENABLE(docs-build,
705 [ --enable-docs-build enable building of documentation],
706 [case "${enableval}" in
707 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; ;;
709 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
711 [BUILD_DOCS=no]) dnl Default value
713 AC_ARG_ENABLE(plugin-docs,
714 [ --enable-plugin-docs enable the building of plugin documentation
715 (this is currently broken, so off by default)],
716 [case "${enableval}" in
717 yes) BUILD_PLUGIN_DOCS=yes ;;
718 no) BUILD_PLUGIN_DOCS=no ;;
719 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
721 [BUILD_PLUGIN_DOCS=no]) dnl Default value
724 [ --disable-tests disable building test apps],
725 [case "${enableval}" in
726 yes) BUILD_TESTS=yes ;;
727 no) BUILD_TESTS=no ;;
728 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
730 [BUILD_TESTS=yes]) dnl Default value
732 AC_ARG_ENABLE(examples,
733 [ --disable-examples disable building examples],
734 [case "${enableval}" in
735 yes) BUILD_EXAMPLES=yes ;;
736 no) BUILD_EXAMPLES=no ;;
737 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
739 [BUILD_EXAMPLES=yes]) dnl Default value
741 dnl Next, check for the optional components:
742 dnl ========================================
745 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
747 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
749 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
750 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
751 [ case "${enableval}" in
752 yes) GST_DISABLE_[$1]=no ;;
753 no) GST_DISABLE_[$1]=yes ;;
754 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
756 [GST_DISABLE_[$1]=no]) dnl Default value
757 if test x$GST_DISABLE_[$1] = xyes; then
758 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
759 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
761 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
762 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
763 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
766 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
767 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
768 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
769 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
770 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
771 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
772 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
773 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
774 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
775 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
776 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
777 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
779 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
782 dnl ################################################
783 dnl # Set defines according to variables set above #
784 dnl ################################################
787 if test "x$USE_LIBMMX" = xyes; then
788 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
791 if test "x$USE_ATOMIC_H" = xyes; then
792 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
795 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
796 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
799 dnl if test "x$USE_DEBUG" = xyes; then
800 dnl CFLAGS="$CFLAGS -g"
803 if test "x$USE_PROFILING" = xyes; then
804 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
805 FOMIT_FRAME_POINTER=""
807 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
811 dnl AC_SUBST(FOMIT_FRAME_POINTER)
814 if test "x$HAVE_LIBMIKMOD" = xyes; then
815 AC_DEFINE(HAVE_LIBMIKMOD)
818 if test "x$HAVE_LIBGSM" = xyes; then
819 AC_DEFINE(HAVE_LIBGSM)
822 dnl #############################
823 dnl # Set automake conditionals #
824 dnl #############################
826 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
827 dnl HAVE_ and it is likely to be easier to stick with the old name
828 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
829 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
830 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
831 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
832 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
833 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
835 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
837 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
838 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
840 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
841 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
842 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
843 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
844 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
845 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
846 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
847 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
848 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
849 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
850 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
851 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
852 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
853 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
854 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
855 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
856 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
857 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
858 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
859 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
860 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
861 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
862 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
863 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
866 dnl ############################
867 dnl # Set up some more defines #
868 dnl ############################
870 dnl Set location of configuration dir.
871 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
872 AC_SUBST(GST_CONFIG_DIR)
874 dnl Set location of windows dll dir.
875 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
876 AC_SUBST(GST_WIN32_LIBDIR)
878 dnl Set location of plugin directory
879 if test "x${prefix}" = "xNONE"; then
880 PLUGINS_DIR=${ac_default_prefix}/lib/gst
882 PLUGINS_DIR=${prefix}/lib/gst
884 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
885 AC_SUBST(PLUGINS_DIR)
887 dnl Set location of uninstalled plugin directory
888 PLUGINS_BUILDDIR=`pwd`
889 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
890 AC_SUBST(PLUGINS_BUILDDIR)
892 dnl Private vars for libgst only
893 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
894 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
895 AC_SUBST(LIBGST_LIBS)
896 AC_SUBST(LIBGST_CFLAGS)
898 dnl Vars for everyone else
899 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
900 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
901 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
902 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
906 dnl #############################
907 dnl # Configure the subpackages #
908 dnl #############################
910 dnl AC_CONFIG_SUBDIRS(gist)
911 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
913 dnl ##################################################
914 dnl # Prepare informative messages to display at end #
915 dnl ##################################################
919 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
920 infomessages="$infomessages
921 *** Warning: You have configured using the --enable-plugin-builddir option.
923 This option is for development purposes only: binaries built with
924 it should be used with code in the build tree only. To build an
925 installable version, use ./configure without the --enable-plugin-builddir
926 option. Note that the autogen.sh script supplies the plugin builddir
927 option automatically - it cannot be used to configure installable builds.
932 dnl #########################
933 dnl # Make the output files #
934 dnl #########################
937 dnl gstreamer-uninstalled.pc
939 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
940 dnl components/bonobo-gstmediaplay/Makefile
941 dnl someone should fix this test/misc/Makefile
942 dnl wtay fix this: testsuite/threads/Makefile
943 dnl testsuite/refcounting/Makefile
945 dnl echo "$infomessages", infomessages="$infomessages"
949 gst/ac3parse/Makefile
951 gst/audioscale/Makefile
956 gst/deinterlace/Makefile
958 gst/intfloat/Makefile
962 gst/mpeg1enc/Makefile
963 gst/mpeg1sys/Makefile
964 gst/mpeg1videoparse/Makefile
965 gst/mpeg2enc/Makefile
966 gst/mpeg2sub/Makefile
967 gst/mpegaudio/Makefile
968 gst/mpegaudioparse/Makefile
969 gst/mpegstream/Makefile
970 gst/mpegtypes/Makefile
971 gst/passthrough/Makefile
972 gst/playondemand/Makefile
977 gst/spectrum/Makefile
980 gst/stereomono/Makefile
981 gst/synaesthesia/Makefile
983 gst/videoscale/Makefile
987 gst/wavparse/Makefile
1002 ext/audiofile/Makefile
1003 ext/avifile/Makefile
1004 ext/cdparanoia/Makefile
1006 ext/dvdread/Makefile
1008 ext/festival/Makefile
1010 ext/gnomevfs/Makefile
1019 ext/mpeg2dec/Makefile
1020 ext/openquicktime/Makefile
1021 ext/raw1394/Makefile
1025 ext/sidplay/Makefile
1026 ext/smoothwave/Makefile
1030 gst-libs/gst/Makefile
1031 gst-libs/gst/audio/Makefile
1032 gst-libs/gst/idct/Makefile
1033 gst-libs/gst/resample/Makefile
1034 gst-libs/gst/riff/Makefile
1038 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1040 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"