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
124 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0)
126 dnl dnl check for gtk-doc
127 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
129 dnl if test "x$with_html_dir" = "x" ; then
130 dnl HTML_DIR='${datadir}/gst/html'
132 dnl HTML_DIR=$with_html_dir
135 dnl AC_SUBST(HTML_DIR)
137 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
138 dnl gtk_doc_min_version=0.6
139 dnl if $HAVE_GTK_DOC ; then
140 dnl gtk_doc_version=`gtkdoc-mkdb --version`
141 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
142 dnl if perl <<EOF ; then
143 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
144 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
146 dnl AC_MSG_RESULT(yes)
148 dnl AC_MSG_RESULT(no)
149 dnl HAVE_GTK_DOC=false
152 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
154 dnl AC_SUBST(HAVE_GTK_DOC)
155 dnl AC_SUBST(GTK_DOC_SCANOBJ)
157 dnl dnl check for docbook tools
158 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
159 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
160 dnl dnl this does not yet work properly, at least on debain -- wingo
161 dnl HAVE_PDFXMLTEX=false
163 dnl dnl check for image conversion tool
164 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
166 dnl dnl The following is a hack: if fig2dev doesn't display an error message
167 dnl dnl for the desired type, we assume it supports it.
168 dnl HAVE_FIG2DEV_PNG=false
169 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
170 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
171 dnl if test "x$fig2dev_quiet" = "x" ; then
172 dnl HAVE_FIG2DEV_PNG=true
175 dnl HAVE_FIG2DEV_PDF=false
176 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
177 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
178 dnl if test "x$fig2dev_quiet" = "x" ; then
179 dnl HAVE_FIG2DEV_PDF=true
184 dnl Set up conditionals for (target) architecture:
185 dnl ==============================================
188 case "x${target_cpu}" in
189 xi?86 | k?) HAVE_CPU_I386=yes
190 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
191 dnl FIXME could use some better detection
193 case "x${target_cpu}" in
195 *) AC_DEFINE(HAVE_RDTSC) ;;
197 xpowerpc) HAVE_CPU_PPC=yes
198 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
199 xalpha) HAVE_CPU_ALPHA=yes
200 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
201 xarm*) HAVE_CPU_ARM=yes
202 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
203 xsparc*) HAVE_CPU_SPARC=yes
204 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
205 xmips*) HAVE_CPU_MIPS=yes
206 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
207 xhppa*) HAVE_CPU_HPPA=yes
208 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
211 dnl Determine endianness
214 dnl Check for MMX-capable compiler
215 AC_MSG_CHECKING(for MMX-capable compiler)
217 #include "include/mmx.h"
220 { movq_r2r(mm0, mm1); return 0; }
234 dnl We should really use AC_SYS_LARGEFILE, but the problem is
235 dnl many of the plugins don't include "config.h". To assure
236 dnl binary compatibility, it is necessary that all gstreamer
237 dnl code be compiled with the same sizeof(off_t), so we use
238 dnl the following crude hack.
241 AC_MSG_CHECKING(for large file support)
243 #define _LARGEFILE_SOURCE
244 #define _FILE_OFFSET_BITS 64
245 #include <sys/types.h>
246 int main () { return !(sizeof(off_t) == 8); }
250 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
259 dnl Check for essential libraries first:
260 dnl ====================================
262 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
268 dnl Check for X11 extensions
270 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
271 AC_MSG_ERROR(can not find X11)
275 AC_SUBST(X_EXTRA_LIBS)
278 dnl ==========================================================================
279 dnl ============================= gst plugins ================================
280 dnl ==========================================================================
283 ac3parse adder audioscale auparse avi chart\
284 cutter deinterlace flx intfloat law level\
285 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
286 mpegaudio mpegaudioparse mpegstream mpegtypes\
287 passthrough playondemand rtjpeg silence sine\
288 smooth spectrum speed stereo stereomono\
289 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
291 AC_SUBST(GST_PLUGINS_ALL)
293 GST_PLUGINS_SELECTED=""
296 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
297 [for i in `echo $withval | tr , ' '`; do
298 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
299 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
301 echo "plugin $i not recognized, ignoring..."
304 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
306 AC_SUBST(GST_PLUGINS_SELECTED)
308 dnl needed for smoothwave, FIXME!
309 if test x$USE_GLIB2 = xno; then
311 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
315 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
317 GTK_CFLAGS=$GTK2_CFLAGS
323 dnl ==========================================================================
324 dnl ============================= sys plugins ================================
325 dnl ==========================================================================
328 dnl *** OSS audio ***
329 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
330 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
331 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
335 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
336 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
338 dnl *** Video 4 Linux ***
339 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
340 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
341 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
345 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
346 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
347 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
351 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
352 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
353 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
357 dnl look for the PIC library first, debian likes it
358 dnl yeah but redhat doesn't even *have* it and it works fine without
359 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
360 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
361 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
362 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
363 XVIDEO_LIBS="-lXv -lXext"
364 AC_SUBST(XVIDEO_LIBS)
367 dnl Next, check for the optional libraries:
368 dnl These are all libraries used in building plugins
369 dnl ================================================
370 dnl let's try and sort them alphabetically, shall we ?
374 AC_MSG_NOTICE(Checking for plugin libraries)
377 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
378 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
379 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
383 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
384 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
385 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
389 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
390 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
391 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
395 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
396 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
397 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
401 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
402 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
406 dnl *** audiofile ***
407 dnl this check uses the GST_CHECK_CONFIGPROG macro
408 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
409 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
410 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
411 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
412 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
416 dnl this check uses the GST_CHECK_CONFIGPROG macro
417 dnl this check needs more fixing
418 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
419 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
420 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
421 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
422 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
423 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
424 AC_SUBST(AVIFILE_LIBS)
427 dnl *** CDParanoia ***
428 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
429 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
430 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
431 AC_SUBST(CDPARANOIA_LIBS)
433 dnl FIXME : add second check somehow if that is necessary
434 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
435 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
438 dnl FIXME : check if those GLIB thingies are ok
439 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
440 GST_CHECK_FEATURE(DV, [dv library], dv, [
441 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
446 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
447 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
448 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
449 AC_SUBST(DVDREAD_LIBS)
453 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
454 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
455 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
459 dnl thomas : checking for compile with main instead of actual function,
460 dnl since that made autoconf break (for version 2.13)
461 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
462 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
463 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
467 dnl *** Gnome VFS ***
468 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
469 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
470 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
471 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
472 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
473 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
477 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
478 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
479 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
484 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
485 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
486 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
487 ], AC_SUBST(HERMES_LIBS))
490 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
491 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
492 dnl FIXME: need to check for header
494 GST_HTTPSRC_GET_TYPE=
495 if test x$USE_GLIB2 = xyes; then
496 AC_MSG_WARN(ghttp disabled for glib2.0)
498 AC_CHECK_LIB(ghttp, ghttp_request_new,
500 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
505 AC_SUBST(GST_HTTPSRC_GET_TYPE)
509 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
510 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
511 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
516 dnl FIXME : check if these CPP flags can be dealt with otherwise
517 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
518 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
519 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
520 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
523 dnl FIXME: we could use header checks here as well IMO
524 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
525 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
526 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
532 dnl FIXME: we could use header checks here as well IMO
533 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
534 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
535 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
540 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
541 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
542 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
543 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
544 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
548 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
549 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
550 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
551 AC_SUBST(MPEG2DEC_LIBS)
554 dnl *** openquicktime ***
555 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
556 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
557 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
558 AC_SUBST(OPENQUICKTIME_LIBS)
562 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
563 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
564 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
565 AC_SUBST(RAW1394_LIBS)
569 dnl FIXME : adapt and make it work
570 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
571 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
572 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
578 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
579 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
580 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
581 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
582 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
585 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
586 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
587 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
591 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
592 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
593 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
597 dnl *** smoothwave ***
598 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
599 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
600 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
604 dnl FIXME : make this work
605 dnl AC_PATH_LIBSIDPLAY
609 dnl AM_PATH_VORBIS only takes two options
610 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
611 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
612 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
616 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
617 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
618 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
621 dnl Check for atomic.h
622 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
623 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
624 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
625 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
626 if test x$HAVE_ATOMIC_H = xyes; then
628 #include "asm/atomic.h"
629 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
632 if test x$HAVE_ATOMIC_H = xyes; then
633 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
639 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
643 dnl ######################################################################
644 dnl # Check command line parameters, and set shell variables accordingly #
645 dnl ######################################################################
647 AC_ARG_ENABLE(libmmx,
648 [ --enable-libmmx use libmmx, if available],
649 [case "${enableval}" in
650 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
652 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
654 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
656 AC_ARG_ENABLE(atomic,
657 [ --enable-atomic use atomic reference counting header],
658 [case "${enableval}" in
659 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
660 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
661 no) USE_ATOMIC_H=no;;
662 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
664 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
666 AC_ARG_ENABLE(plugin-builddir,
667 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
668 [case "${enableval}" in
669 yes) PLUGINS_USE_BUILDDIR=yes ;;
670 no) PLUGINS_USE_BUILDDIR=no ;;
671 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
673 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
676 [ --enable-debug compile with -g debugging info],
677 [case "${enableval}" in
678 yes) USE_DEBUG=yes ;;
680 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
682 [USE_DEBUG=no]) dnl Default value
685 [ --enable-DEBUG compiles in a large number of debugging messages],
686 [case "${enableval}" in
687 yes) ENABLE_DEBUG=yes ;;
688 no) ENABLE_DEBUG=no ;;
689 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
691 [ENABLE_DEBUG=no]) dnl Default value
692 if test x$ENABLE_DEBUG = xyes; then
693 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
697 [ --disable-INFO disables compilation of informational messages],
698 [case "${enableval}" in
699 yes) ENABLE_INFO=yes ;;
700 no) ENABLE_INFO=no ;;
701 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
703 [ENABLE_INFO=yes]) dnl Default value
704 if test x$ENABLE_INFO = xyes; then
705 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
708 AC_ARG_ENABLE(debug-color,
709 [ --disable-debug-color disables color output of DEBUG and INFO output],
710 [case "${enableval}" in
711 yes) ENABLE_DEBUG_COLOR=yes ;;
712 no) ENABLE_DEBUG_COLOR=no ;;
713 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
715 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
716 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
717 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
720 AC_ARG_ENABLE(profiling,
721 [ --enable-profiling adds -pg to compiler commandline, for profiling],
722 [case "${enableval}" in
723 yes) USE_PROFILING=yes ;;
724 no) UES_PROFILING=no ;;
725 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
727 [USE_PROFILING=no]) dnl Default value
729 dnl default to building registry in the source tree if we are enabling plugin build dir
730 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
733 GST_CONFIG_DIR=/etc/gstreamer
735 AC_ARG_WITH(configdir,
736 [ --with-configdir specify path to use for configdir],
737 [case "${withval}" in
738 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
739 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
740 *) GST_CONFIG_DIR="${withval}" ;;
742 [:]) dnl Default value
745 GST_WIN32_LIBDIR="/usr/lib/win32"
746 AC_ARG_WITH(win32_libdir,
747 [ --with-win32-libdir specify location for win32 DLLs],
748 [case "${withval}" in
749 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
750 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
751 *) GST_WIN32_LIBDIR="${withval}" ;;
753 [:]) dnl Default value
755 AC_ARG_ENABLE(docs-build,
756 [ --enable-docs-build enable building of documentation],
757 [case "${enableval}" in
758 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; ;;
760 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
762 [BUILD_DOCS=no]) dnl Default value
764 AC_ARG_ENABLE(plugin-docs,
765 [ --enable-plugin-docs enable the building of plugin documentation
766 (this is currently broken, so off by default)],
767 [case "${enableval}" in
768 yes) BUILD_PLUGIN_DOCS=yes ;;
769 no) BUILD_PLUGIN_DOCS=no ;;
770 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
772 [BUILD_PLUGIN_DOCS=no]) dnl Default value
775 [ --disable-tests disable building test apps],
776 [case "${enableval}" in
777 yes) BUILD_TESTS=yes ;;
778 no) BUILD_TESTS=no ;;
779 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
781 [BUILD_TESTS=yes]) dnl Default value
783 AC_ARG_ENABLE(examples,
784 [ --disable-examples disable building examples],
785 [case "${enableval}" in
786 yes) BUILD_EXAMPLES=yes ;;
787 no) BUILD_EXAMPLES=no ;;
788 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
790 [BUILD_EXAMPLES=yes]) dnl Default value
792 dnl Next, check for the optional components:
793 dnl ========================================
796 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
798 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
800 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
801 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
802 [ case "${enableval}" in
803 yes) GST_DISABLE_[$1]=no ;;
804 no) GST_DISABLE_[$1]=yes ;;
805 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
807 [GST_DISABLE_[$1]=no]) dnl Default value
808 if test x$GST_DISABLE_[$1] = xyes; then
809 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
810 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
812 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
813 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
814 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
817 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
818 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
819 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
820 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
821 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
822 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
823 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
824 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
825 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
826 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
827 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
828 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
830 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
833 dnl ################################################
834 dnl # Set defines according to variables set above #
835 dnl ################################################
838 if test "x$USE_LIBMMX" = xyes; then
839 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
842 if test "x$USE_ATOMIC_H" = xyes; then
843 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
846 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
847 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
850 dnl if test "x$USE_DEBUG" = xyes; then
851 dnl CFLAGS="$CFLAGS -g"
854 if test "x$USE_PROFILING" = xyes; then
855 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
856 FOMIT_FRAME_POINTER=""
858 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
862 dnl AC_SUBST(FOMIT_FRAME_POINTER)
865 if test "x$HAVE_LIBMIKMOD" = xyes; then
866 AC_DEFINE(HAVE_LIBMIKMOD)
869 if test "x$HAVE_LIBGSM" = xyes; then
870 AC_DEFINE(HAVE_LIBGSM)
873 dnl #############################
874 dnl # Set automake conditionals #
875 dnl #############################
877 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
878 dnl HAVE_ and it is likely to be easier to stick with the old name
879 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
880 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
881 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
882 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
883 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
884 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
886 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
888 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
889 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
891 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
892 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
893 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
894 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
895 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
896 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
897 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
898 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
899 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
900 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
901 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
902 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
903 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
904 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
905 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
906 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
907 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
908 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
909 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
910 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
911 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
912 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
913 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
914 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
917 dnl ############################
918 dnl # Set up some more defines #
919 dnl ############################
921 dnl Set location of configuration dir.
922 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
923 AC_SUBST(GST_CONFIG_DIR)
925 dnl Set location of windows dll dir.
926 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
927 AC_SUBST(GST_WIN32_LIBDIR)
929 dnl Set location of plugin directory
930 if test "x${prefix}" = "xNONE"; then
931 PLUGINS_DIR=${ac_default_prefix}/lib/gst
933 PLUGINS_DIR=${prefix}/lib/gst
935 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
936 AC_SUBST(PLUGINS_DIR)
938 dnl Set location of uninstalled plugin directory
939 PLUGINS_BUILDDIR=`pwd`
940 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
941 AC_SUBST(PLUGINS_BUILDDIR)
943 dnl Private vars for libgst only
944 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
945 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
946 AC_SUBST(LIBGST_LIBS)
947 AC_SUBST(LIBGST_CFLAGS)
949 dnl Vars for everyone else
950 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
951 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
952 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
953 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
957 dnl #############################
958 dnl # Configure the subpackages #
959 dnl #############################
961 dnl AC_CONFIG_SUBDIRS(gist)
962 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
964 dnl ##################################################
965 dnl # Prepare informative messages to display at end #
966 dnl ##################################################
970 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
971 infomessages="$infomessages
972 *** Warning: You have configured using the --enable-plugin-builddir option.
974 This option is for development purposes only: binaries built with
975 it should be used with code in the build tree only. To build an
976 installable version, use ./configure without the --enable-plugin-builddir
977 option. Note that the autogen.sh script supplies the plugin builddir
978 option automatically - it cannot be used to configure installable builds.
983 dnl #########################
984 dnl # Make the output files #
985 dnl #########################
988 dnl gstreamer-uninstalled.pc
990 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
991 dnl components/bonobo-gstmediaplay/Makefile
992 dnl someone should fix this test/misc/Makefile
993 dnl wtay fix this: testsuite/threads/Makefile
994 dnl testsuite/refcounting/Makefile
996 dnl echo "$infomessages", infomessages="$infomessages"
1000 gst/ac3parse/Makefile
1002 gst/audioscale/Makefile
1003 gst/auparse/Makefile
1007 gst/deinterlace/Makefile
1009 gst/intfloat/Makefile
1013 gst/mpeg1enc/Makefile
1014 gst/mpeg1sys/Makefile
1015 gst/mpeg2enc/Makefile
1016 gst/mpeg2sub/Makefile
1017 gst/mpegaudio/Makefile
1018 gst/mpegaudioparse/Makefile
1019 gst/mpegstream/Makefile
1020 gst/mpegtypes/Makefile
1021 gst/passthrough/Makefile
1022 gst/playondemand/Makefile
1024 gst/silence/Makefile
1027 gst/spectrum/Makefile
1030 gst/stereomono/Makefile
1031 gst/synaesthesia/Makefile
1033 gst/videoscale/Makefile
1036 gst/vumeter/Makefile
1037 gst/wavparse/Makefile
1052 ext/audiofile/Makefile
1053 ext/avifile/Makefile
1054 ext/cdparanoia/Makefile
1056 ext/dvdread/Makefile
1058 ext/festival/Makefile
1060 ext/gnomevfs/Makefile
1069 ext/mpeg2dec/Makefile
1070 ext/openquicktime/Makefile
1071 ext/raw1394/Makefile
1075 ext/sidplay/Makefile
1076 ext/smooothwave/Makefile
1080 gst-libs/gst/Makefile
1081 gst-libs/gst/audio/Makefile
1082 gst-libs/gst/idct/Makefile
1083 gst-libs/gst/resample/Makefile
1084 gst-libs/gst/riff/Makefile
1088 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1090 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"