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 pkgconfig
124 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
126 dnl fix pkg-config's broken default search path
127 if test -z $PKG_CONFIG_PATH; then
128 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
129 echo "Setting PKG_CONFIG_PATH to $PKG_CONFIG_PATH"
131 export PKG_CONFIG_PATH
133 dnl check for gstreamer
134 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0)
136 dnl dnl check for gtk-doc
137 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
139 dnl if test "x$with_html_dir" = "x" ; then
140 dnl HTML_DIR='${datadir}/gst/html'
142 dnl HTML_DIR=$with_html_dir
145 dnl AC_SUBST(HTML_DIR)
147 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
148 dnl gtk_doc_min_version=0.6
149 dnl if $HAVE_GTK_DOC ; then
150 dnl gtk_doc_version=`gtkdoc-mkdb --version`
151 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
152 dnl if perl <<EOF ; then
153 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
154 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
156 dnl AC_MSG_RESULT(yes)
158 dnl AC_MSG_RESULT(no)
159 dnl HAVE_GTK_DOC=false
162 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
164 dnl AC_SUBST(HAVE_GTK_DOC)
165 dnl AC_SUBST(GTK_DOC_SCANOBJ)
167 dnl dnl check for docbook tools
168 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
169 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
170 dnl dnl this does not yet work properly, at least on debain -- wingo
171 dnl HAVE_PDFXMLTEX=false
173 dnl dnl check for image conversion tool
174 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
176 dnl dnl The following is a hack: if fig2dev doesn't display an error message
177 dnl dnl for the desired type, we assume it supports it.
178 dnl HAVE_FIG2DEV_PNG=false
179 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
180 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
181 dnl if test "x$fig2dev_quiet" = "x" ; then
182 dnl HAVE_FIG2DEV_PNG=true
185 dnl HAVE_FIG2DEV_PDF=false
186 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
187 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
188 dnl if test "x$fig2dev_quiet" = "x" ; then
189 dnl HAVE_FIG2DEV_PDF=true
194 dnl Set up conditionals for (target) architecture:
195 dnl ==============================================
198 case "x${target_cpu}" in
199 xi?86 | k?) HAVE_CPU_I386=yes
200 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
201 dnl FIXME could use some better detection
203 case "x${target_cpu}" in
205 *) AC_DEFINE(HAVE_RDTSC) ;;
207 xpowerpc) HAVE_CPU_PPC=yes
208 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
209 xalpha) HAVE_CPU_ALPHA=yes
210 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
211 xarm*) HAVE_CPU_ARM=yes
212 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
213 xsparc*) HAVE_CPU_SPARC=yes
214 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
215 xmips*) HAVE_CPU_MIPS=yes
216 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
217 xhppa*) HAVE_CPU_HPPA=yes
218 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
221 dnl Determine endianness
224 dnl Check for MMX-capable compiler
225 AC_MSG_CHECKING(for MMX-capable compiler)
227 #include "include/mmx.h"
230 { movq_r2r(mm0, mm1); return 0; }
244 dnl We should really use AC_SYS_LARGEFILE, but the problem is
245 dnl many of the plugins don't include "config.h". To assure
246 dnl binary compatibility, it is necessary that all gstreamer
247 dnl code be compiled with the same sizeof(off_t), so we use
248 dnl the following crude hack.
251 AC_MSG_CHECKING(for large file support)
253 #define _LARGEFILE_SOURCE
254 #define _FILE_OFFSET_BITS 64
255 #include <sys/types.h>
256 int main () { return !(sizeof(off_t) == 8); }
260 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
269 dnl Check for essential libraries first:
270 dnl ====================================
272 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
278 dnl Check for X11 extensions
280 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
281 AC_MSG_ERROR(can not find X11)
285 AC_SUBST(X_EXTRA_LIBS)
288 dnl ==========================================================================
289 dnl ============================= gst plugins ================================
290 dnl ==========================================================================
293 ac3parse adder audioscale auparse avi chart\
294 cutter deinterlace flx intfloat law level\
295 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
296 mpegaudio mpegaudioparse mpegstream mpegtypes\
297 passthrough playondemand rtjpeg silence sine\
298 smooth spectrum speed stereo stereomono\
299 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
301 AC_SUBST(GST_PLUGINS_ALL)
303 GST_PLUGINS_SELECTED=""
306 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
307 [for i in `echo $withval | tr , ' '`; do
308 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
309 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
311 echo "plugin $i not recognized, ignoring..."
314 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
316 AC_SUBST(GST_PLUGINS_SELECTED)
318 dnl needed for smoothwave, FIXME!
319 if test x$USE_GLIB2 = xno; then
321 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
325 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
327 GTK_CFLAGS=$GTK2_CFLAGS
333 dnl ==========================================================================
334 dnl ============================= sys plugins ================================
335 dnl ==========================================================================
338 dnl *** OSS audio ***
339 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
340 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
341 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
345 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
346 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
348 dnl *** Video 4 Linux ***
349 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
350 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
351 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
355 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
356 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
357 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
361 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
362 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
363 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
367 dnl look for the PIC library first, debian likes it
368 dnl yeah but redhat doesn't even *have* it and it works fine without
369 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
370 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
371 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
372 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
373 XVIDEO_LIBS="-lXv -lXext"
374 AC_SUBST(XVIDEO_LIBS)
377 dnl Next, check for the optional libraries:
378 dnl These are all libraries used in building plugins
379 dnl ================================================
380 dnl let's try and sort them alphabetically, shall we ?
384 AC_MSG_NOTICE(Checking for plugin libraries)
387 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
388 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
389 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
393 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
394 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
395 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
399 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
400 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
401 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
405 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
406 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
407 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
411 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
412 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
416 dnl *** audiofile ***
417 dnl this check uses the GST_CHECK_CONFIGPROG macro
418 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
419 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
420 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
421 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
422 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
426 dnl this check uses the GST_CHECK_CONFIGPROG macro
427 dnl this check needs more fixing
428 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
429 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
430 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
431 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
432 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
433 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
434 AC_SUBST(AVIFILE_LIBS)
437 dnl *** CDParanoia ***
438 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
439 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
440 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
441 AC_SUBST(CDPARANOIA_LIBS)
443 dnl FIXME : add second check somehow if that is necessary
444 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
445 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
448 dnl FIXME : check if those GLIB thingies are ok
449 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
450 GST_CHECK_FEATURE(DV, [dv library], dv, [
451 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
456 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
457 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
458 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
459 AC_SUBST(DVDREAD_LIBS)
463 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
464 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
465 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
469 dnl thomas : checking for compile with main instead of actual function,
470 dnl since that made autoconf break (for version 2.13)
471 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
472 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
473 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
477 dnl *** Gnome VFS ***
478 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
479 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
480 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
481 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
482 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
483 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
487 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
488 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
489 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
494 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
495 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
496 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
497 ], AC_SUBST(HERMES_LIBS))
500 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
501 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
502 dnl FIXME: need to check for header
504 GST_HTTPSRC_GET_TYPE=
505 if test x$USE_GLIB2 = xyes; then
506 AC_MSG_WARN(ghttp disabled for glib2.0)
508 AC_CHECK_LIB(ghttp, ghttp_request_new,
510 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
515 AC_SUBST(GST_HTTPSRC_GET_TYPE)
519 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
520 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
521 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
526 dnl FIXME : check if these CPP flags can be dealt with otherwise
527 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
528 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
529 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
530 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
533 dnl FIXME: we could use header checks here as well IMO
534 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
535 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
536 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
542 dnl FIXME: we could use header checks here as well IMO
543 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
544 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
545 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
550 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
551 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
552 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
553 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
554 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
558 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
559 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
560 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
561 AC_SUBST(MPEG2DEC_LIBS)
564 dnl *** openquicktime ***
565 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
566 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
567 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
568 AC_SUBST(OPENQUICKTIME_LIBS)
572 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
573 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
574 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
575 AC_SUBST(RAW1394_LIBS)
579 dnl FIXME : adapt and make it work
580 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
581 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
582 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
588 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
589 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
590 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
591 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
592 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
595 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
596 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
597 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
601 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
602 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
603 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
607 dnl *** smoothwave ***
608 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
609 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
610 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
614 dnl FIXME : make this work
615 dnl AC_PATH_LIBSIDPLAY
619 dnl AM_PATH_VORBIS only takes two options
620 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
621 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
622 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
626 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
627 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
628 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
631 dnl Check for atomic.h
632 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
633 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
634 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
635 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
636 if test x$HAVE_ATOMIC_H = xyes; then
638 #include "asm/atomic.h"
639 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
642 if test x$HAVE_ATOMIC_H = xyes; then
643 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
649 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
653 dnl ######################################################################
654 dnl # Check command line parameters, and set shell variables accordingly #
655 dnl ######################################################################
657 AC_ARG_ENABLE(libmmx,
658 [ --enable-libmmx use libmmx, if available],
659 [case "${enableval}" in
660 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
662 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
664 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
666 AC_ARG_ENABLE(atomic,
667 [ --enable-atomic use atomic reference counting header],
668 [case "${enableval}" in
669 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
670 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
671 no) USE_ATOMIC_H=no;;
672 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
674 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
676 AC_ARG_ENABLE(plugin-builddir,
677 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
678 [case "${enableval}" in
679 yes) PLUGINS_USE_BUILDDIR=yes ;;
680 no) PLUGINS_USE_BUILDDIR=no ;;
681 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
683 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
686 [ --enable-debug compile with -g debugging info],
687 [case "${enableval}" in
688 yes) USE_DEBUG=yes ;;
690 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
692 [USE_DEBUG=no]) dnl Default value
695 [ --enable-DEBUG compiles in a large number of debugging messages],
696 [case "${enableval}" in
697 yes) ENABLE_DEBUG=yes ;;
698 no) ENABLE_DEBUG=no ;;
699 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
701 [ENABLE_DEBUG=no]) dnl Default value
702 if test x$ENABLE_DEBUG = xyes; then
703 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
707 [ --disable-INFO disables compilation of informational messages],
708 [case "${enableval}" in
709 yes) ENABLE_INFO=yes ;;
710 no) ENABLE_INFO=no ;;
711 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
713 [ENABLE_INFO=yes]) dnl Default value
714 if test x$ENABLE_INFO = xyes; then
715 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
718 AC_ARG_ENABLE(debug-color,
719 [ --disable-debug-color disables color output of DEBUG and INFO output],
720 [case "${enableval}" in
721 yes) ENABLE_DEBUG_COLOR=yes ;;
722 no) ENABLE_DEBUG_COLOR=no ;;
723 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
725 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
726 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
727 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
730 AC_ARG_ENABLE(profiling,
731 [ --enable-profiling adds -pg to compiler commandline, for profiling],
732 [case "${enableval}" in
733 yes) USE_PROFILING=yes ;;
734 no) UES_PROFILING=no ;;
735 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
737 [USE_PROFILING=no]) dnl Default value
739 dnl default to building registry in the source tree if we are enabling plugin build dir
740 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
743 GST_CONFIG_DIR=/etc/gstreamer
745 AC_ARG_WITH(configdir,
746 [ --with-configdir specify path to use for configdir],
747 [case "${withval}" in
748 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
749 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
750 *) GST_CONFIG_DIR="${withval}" ;;
752 [:]) dnl Default value
755 GST_WIN32_LIBDIR="/usr/lib/win32"
756 AC_ARG_WITH(win32_libdir,
757 [ --with-win32-libdir specify location for win32 DLLs],
758 [case "${withval}" in
759 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
760 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
761 *) GST_WIN32_LIBDIR="${withval}" ;;
763 [:]) dnl Default value
765 AC_ARG_ENABLE(docs-build,
766 [ --enable-docs-build enable building of documentation],
767 [case "${enableval}" in
768 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; ;;
770 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
772 [BUILD_DOCS=no]) dnl Default value
774 AC_ARG_ENABLE(plugin-docs,
775 [ --enable-plugin-docs enable the building of plugin documentation
776 (this is currently broken, so off by default)],
777 [case "${enableval}" in
778 yes) BUILD_PLUGIN_DOCS=yes ;;
779 no) BUILD_PLUGIN_DOCS=no ;;
780 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
782 [BUILD_PLUGIN_DOCS=no]) dnl Default value
785 [ --disable-tests disable building test apps],
786 [case "${enableval}" in
787 yes) BUILD_TESTS=yes ;;
788 no) BUILD_TESTS=no ;;
789 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
791 [BUILD_TESTS=yes]) dnl Default value
793 AC_ARG_ENABLE(examples,
794 [ --disable-examples disable building examples],
795 [case "${enableval}" in
796 yes) BUILD_EXAMPLES=yes ;;
797 no) BUILD_EXAMPLES=no ;;
798 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
800 [BUILD_EXAMPLES=yes]) dnl Default value
802 dnl Next, check for the optional components:
803 dnl ========================================
806 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
808 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
810 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
811 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
812 [ case "${enableval}" in
813 yes) GST_DISABLE_[$1]=no ;;
814 no) GST_DISABLE_[$1]=yes ;;
815 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
817 [GST_DISABLE_[$1]=no]) dnl Default value
818 if test x$GST_DISABLE_[$1] = xyes; then
819 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
820 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
822 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
823 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
824 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
827 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
828 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
829 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
830 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
831 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
832 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
833 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
834 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
835 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
836 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
837 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
838 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
840 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
843 dnl ################################################
844 dnl # Set defines according to variables set above #
845 dnl ################################################
848 if test "x$USE_LIBMMX" = xyes; then
849 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
852 if test "x$USE_ATOMIC_H" = xyes; then
853 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
856 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
857 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
860 dnl if test "x$USE_DEBUG" = xyes; then
861 dnl CFLAGS="$CFLAGS -g"
864 if test "x$USE_PROFILING" = xyes; then
865 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
866 FOMIT_FRAME_POINTER=""
868 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
872 dnl AC_SUBST(FOMIT_FRAME_POINTER)
875 if test "x$HAVE_LIBMIKMOD" = xyes; then
876 AC_DEFINE(HAVE_LIBMIKMOD)
879 if test "x$HAVE_LIBGSM" = xyes; then
880 AC_DEFINE(HAVE_LIBGSM)
883 dnl #############################
884 dnl # Set automake conditionals #
885 dnl #############################
887 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
888 dnl HAVE_ and it is likely to be easier to stick with the old name
889 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
890 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
891 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
892 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
893 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
894 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
896 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
898 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
899 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
901 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
902 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
903 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
904 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
905 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
906 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
907 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
908 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
909 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
910 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
911 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
912 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
913 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
914 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
915 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
916 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
917 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
918 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
919 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
920 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
921 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
922 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
923 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
924 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
927 dnl ############################
928 dnl # Set up some more defines #
929 dnl ############################
931 dnl Set location of configuration dir.
932 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
933 AC_SUBST(GST_CONFIG_DIR)
935 dnl Set location of windows dll dir.
936 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
937 AC_SUBST(GST_WIN32_LIBDIR)
939 dnl Set location of plugin directory
940 if test "x${prefix}" = "xNONE"; then
941 PLUGINS_DIR=${ac_default_prefix}/lib/gst
943 PLUGINS_DIR=${prefix}/lib/gst
945 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
946 AC_SUBST(PLUGINS_DIR)
948 dnl Set location of uninstalled plugin directory
949 PLUGINS_BUILDDIR=`pwd`
950 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
951 AC_SUBST(PLUGINS_BUILDDIR)
953 dnl Private vars for libgst only
954 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
955 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
956 AC_SUBST(LIBGST_LIBS)
957 AC_SUBST(LIBGST_CFLAGS)
959 dnl Vars for everyone else
960 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
961 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
962 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
963 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
967 dnl #############################
968 dnl # Configure the subpackages #
969 dnl #############################
971 dnl AC_CONFIG_SUBDIRS(gist)
972 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
974 dnl ##################################################
975 dnl # Prepare informative messages to display at end #
976 dnl ##################################################
980 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
981 infomessages="$infomessages
982 *** Warning: You have configured using the --enable-plugin-builddir option.
984 This option is for development purposes only: binaries built with
985 it should be used with code in the build tree only. To build an
986 installable version, use ./configure without the --enable-plugin-builddir
987 option. Note that the autogen.sh script supplies the plugin builddir
988 option automatically - it cannot be used to configure installable builds.
993 dnl #########################
994 dnl # Make the output files #
995 dnl #########################
998 dnl gstreamer-uninstalled.pc
1000 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
1001 dnl components/bonobo-gstmediaplay/Makefile
1002 dnl someone should fix this test/misc/Makefile
1003 dnl wtay fix this: testsuite/threads/Makefile
1004 dnl testsuite/refcounting/Makefile
1006 dnl echo "$infomessages", infomessages="$infomessages"
1010 gst/ac3parse/Makefile
1012 gst/audioscale/Makefile
1013 gst/auparse/Makefile
1017 gst/deinterlace/Makefile
1019 gst/intfloat/Makefile
1023 gst/mpeg1enc/Makefile
1024 gst/mpeg1sys/Makefile
1025 gst/mpeg2enc/Makefile
1026 gst/mpeg2sub/Makefile
1027 gst/mpegaudio/Makefile
1028 gst/mpegaudioparse/Makefile
1029 gst/mpegstream/Makefile
1030 gst/mpegtypes/Makefile
1031 gst/passthrough/Makefile
1032 gst/playondemand/Makefile
1034 gst/silence/Makefile
1037 gst/spectrum/Makefile
1040 gst/stereomono/Makefile
1041 gst/synaesthesia/Makefile
1043 gst/videoscale/Makefile
1046 gst/vumeter/Makefile
1047 gst/wavparse/Makefile
1062 ext/audiofile/Makefile
1063 ext/avifile/Makefile
1064 ext/cdparanoia/Makefile
1066 ext/dvdread/Makefile
1068 ext/festival/Makefile
1070 ext/gnomevfs/Makefile
1079 ext/mpeg2dec/Makefile
1080 ext/openquicktime/Makefile
1081 ext/raw1394/Makefile
1085 ext/sidplay/Makefile
1086 ext/smooothwave/Makefile
1090 gst-libs/gst/Makefile
1091 gst-libs/gst/audio/Makefile
1092 gst-libs/gst/idct/Makefile
1093 gst-libs/gst/resample/Makefile
1094 gst-libs/gst/riff/Makefile
1098 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1100 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"