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 dnl check for gstreamer
36 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0)
38 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
39 dnl Add parameters for aclocal
40 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
41 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
43 AC_SUBST(GST_VERSION_MAJOR)
44 AC_SUBST(GST_VERSION_MINOR)
45 AC_SUBST(GST_VERSION_MICRO)
49 AC_SUBST(GST_REVISION)
51 AC_SUBST(GST_LIBVERSION)
63 dnl We disable static building for development, for time savings
64 dnl *NOTE*: dnl this line before release, so release does static too
71 dnl ###########################################
72 dnl # Super Duper options for plugin building #
73 dnl ###########################################
75 dnl experimental plugins; stuff that hasn't had the dust settle yet
76 dnl read 'builds, but might not work'
77 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
78 [HAVE_EXPERIMENTAL=yes],disabled,
80 AC_MSG_WARN(building experimental plugins)
84 AC_MSG_NOTICE(not building experimental plugins)
89 dnl broken plugins; stuff that doesn't seem to build at the moment
90 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
91 HAVE_BROKEN=yes,disabled,
93 AC_MSG_WARN(building broken plugins)
96 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
100 AC_MSG_NOTICE(not building broken plugins)
103 dnl ##############################
104 dnl # Do automated configuration #
105 dnl ##############################
111 AC_PATH_PROG(NASM_PATH, nasm, no)
113 if test x$NASM_PATH = xno; then
114 AC_MSG_WARN(Couldn't find nasm)
117 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
121 dnl fix pkg-config's broken default search path
122 if test -z $PKG_CONFIG_PATH; then
123 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
125 export PKG_CONFIG_PATH
127 dnl Check for pkgconfig
128 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
130 dnl dnl check for gtk-doc
131 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
133 dnl if test "x$with_html_dir" = "x" ; then
134 dnl HTML_DIR='${datadir}/gst/html'
136 dnl HTML_DIR=$with_html_dir
139 dnl AC_SUBST(HTML_DIR)
141 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
142 dnl gtk_doc_min_version=0.6
143 dnl if $HAVE_GTK_DOC ; then
144 dnl gtk_doc_version=`gtkdoc-mkdb --version`
145 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
146 dnl if perl <<EOF ; then
147 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
148 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
150 dnl AC_MSG_RESULT(yes)
152 dnl AC_MSG_RESULT(no)
153 dnl HAVE_GTK_DOC=false
156 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
158 dnl AC_SUBST(HAVE_GTK_DOC)
159 dnl AC_SUBST(GTK_DOC_SCANOBJ)
161 dnl dnl check for docbook tools
162 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
163 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
164 dnl dnl this does not yet work properly, at least on debain -- wingo
165 dnl HAVE_PDFXMLTEX=false
167 dnl dnl check for image conversion tool
168 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
170 dnl dnl The following is a hack: if fig2dev doesn't display an error message
171 dnl dnl for the desired type, we assume it supports it.
172 dnl HAVE_FIG2DEV_PNG=false
173 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
174 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
175 dnl if test "x$fig2dev_quiet" = "x" ; then
176 dnl HAVE_FIG2DEV_PNG=true
179 dnl HAVE_FIG2DEV_PDF=false
180 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
181 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
182 dnl if test "x$fig2dev_quiet" = "x" ; then
183 dnl HAVE_FIG2DEV_PDF=true
188 dnl Set up conditionals for (target) architecture:
189 dnl ==============================================
192 case "x${target_cpu}" in
193 xi?86 | k?) HAVE_CPU_I386=yes
194 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
195 dnl FIXME could use some better detection
197 case "x${target_cpu}" in
199 *) AC_DEFINE(HAVE_RDTSC) ;;
201 xpowerpc) HAVE_CPU_PPC=yes
202 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
203 xalpha) HAVE_CPU_ALPHA=yes
204 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
205 xarm*) HAVE_CPU_ARM=yes
206 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
207 xsparc*) HAVE_CPU_SPARC=yes
208 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
209 xmips*) HAVE_CPU_MIPS=yes
210 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
211 xhppa*) HAVE_CPU_HPPA=yes
212 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
215 dnl Determine endianness
218 dnl Check for MMX-capable compiler
219 AC_MSG_CHECKING(for MMX-capable compiler)
221 #include "include/mmx.h"
224 { movq_r2r(mm0, mm1); return 0; }
238 dnl We should really use AC_SYS_LARGEFILE, but the problem is
239 dnl many of the plugins don't include "config.h". To assure
240 dnl binary compatibility, it is necessary that all gstreamer
241 dnl code be compiled with the same sizeof(off_t), so we use
242 dnl the following crude hack.
245 AC_MSG_CHECKING(for large file support)
247 #define _LARGEFILE_SOURCE
248 #define _FILE_OFFSET_BITS 64
249 #include <sys/types.h>
250 int main () { return !(sizeof(off_t) == 8); }
254 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
263 dnl Check for essential libraries first:
264 dnl ====================================
266 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
272 dnl Check for X11 extensions
274 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
275 AC_MSG_ERROR(can not find X11)
279 AC_SUBST(X_EXTRA_LIBS)
282 dnl ==========================================================================
283 dnl ============================= gst plugins ================================
284 dnl ==========================================================================
287 ac3parse adder audioscale auparse avi chart\
288 cutter deinterlace flx intfloat law level\
289 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
290 mpegaudio mpegaudioparse mpegstream mpegtypes\
291 passthrough playondemand rtjpeg silence sine\
292 smooth spectrum speed stereo stereomono\
293 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
295 AC_SUBST(GST_PLUGINS_ALL)
297 GST_PLUGINS_SELECTED=""
300 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
301 [for i in `echo $withval | tr , ' '`; do
302 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
303 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
305 echo "plugin $i not recognized, ignoring..."
308 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
310 AC_SUBST(GST_PLUGINS_SELECTED)
312 dnl needed for smoothwave, FIXME!
313 if test x$USE_GLIB2 = xno; then
315 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
319 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
321 GTK_CFLAGS=$GTK2_CFLAGS
327 dnl ==========================================================================
328 dnl ============================= sys plugins ================================
329 dnl ==========================================================================
332 dnl *** OSS audio ***
333 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
334 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
335 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
339 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
340 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
342 dnl *** Video 4 Linux ***
343 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
344 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
345 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
349 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
350 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
351 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
355 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
356 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
357 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
361 dnl look for the PIC library first, debian likes it
362 dnl yeah but redhat doesn't even *have* it and it works fine without
363 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
364 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
365 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
366 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
367 XVIDEO_LIBS="-lXv -lXext"
368 AC_SUBST(XVIDEO_LIBS)
371 dnl Next, check for the optional libraries:
372 dnl These are all libraries used in building plugins
373 dnl ================================================
374 dnl let's try and sort them alphabetically, shall we ?
378 AC_MSG_NOTICE(Checking for plugin libraries)
381 translit(dnm, m, l) AM_CONDITIONAL(USE_A52, true)
382 GST_CHECK_FEATURE(A52, [a52], a52dec, [
383 GST_CHECK_LIBHEADER(A52, a52, a52_init, -lm, a52dec/a52.h, A52_LIBS="-la52")
387 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
388 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
389 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
393 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
394 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
395 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
399 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
400 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
401 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
405 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
406 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
410 dnl *** audiofile ***
411 dnl this check uses the GST_CHECK_CONFIGPROG macro
412 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
413 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
414 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
415 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
416 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
420 dnl this check uses the GST_CHECK_CONFIGPROG macro
421 dnl this check needs more fixing
422 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
423 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
424 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
425 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
426 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
427 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
428 AC_SUBST(AVIFILE_LIBS)
431 dnl *** CDParanoia ***
432 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
433 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
434 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
435 AC_SUBST(CDPARANOIA_LIBS)
437 dnl FIXME : add second check somehow if that is necessary
438 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
439 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
442 dnl FIXME : check if those GLIB thingies are ok
443 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
444 GST_CHECK_FEATURE(DV, [dv library], dv, [
445 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
450 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
451 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
452 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
453 AC_SUBST(DVDREAD_LIBS)
457 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
458 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
459 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
463 dnl thomas : checking for compile with main instead of actual function,
464 dnl since that made autoconf break (for version 2.13)
465 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
466 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
467 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
471 dnl *** Gnome VFS ***
472 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
473 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
474 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
475 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
476 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
477 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
481 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
482 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
483 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
488 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
489 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
490 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
491 ], AC_SUBST(HERMES_LIBS))
494 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
495 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
496 dnl FIXME: need to check for header
498 GST_HTTPSRC_GET_TYPE=
499 if test x$USE_GLIB2 = xyes; then
500 AC_MSG_WARN(ghttp disabled for glib2.0)
502 AC_CHECK_LIB(ghttp, ghttp_request_new,
504 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
509 AC_SUBST(GST_HTTPSRC_GET_TYPE)
513 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
514 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
515 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
520 dnl FIXME : check if these CPP flags can be dealt with otherwise
521 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
522 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
523 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
524 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
527 dnl FIXME: we could use header checks here as well IMO
528 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
529 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
530 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
536 dnl FIXME: we could use header checks here as well IMO
537 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
538 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
539 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
544 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
545 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
546 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
547 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
548 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
552 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
553 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
554 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
555 AC_SUBST(MPEG2DEC_LIBS)
558 dnl *** openquicktime ***
559 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
560 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
561 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
562 AC_SUBST(OPENQUICKTIME_LIBS)
566 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
567 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
568 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
569 AC_SUBST(RAW1394_LIBS)
573 dnl FIXME : adapt and make it work
574 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
575 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
576 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
582 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
583 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
584 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
585 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
586 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
589 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
590 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
591 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
595 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
596 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
597 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
601 dnl *** smoothwave ***
602 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
603 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
604 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
608 dnl FIXME : make this work
609 dnl AC_PATH_LIBSIDPLAY
613 dnl AM_PATH_VORBIS only takes two options
614 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
615 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
616 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
620 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
621 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
622 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
625 dnl Check for atomic.h
626 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
627 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
628 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
629 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
630 if test x$HAVE_ATOMIC_H = xyes; then
632 #include "asm/atomic.h"
633 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
636 if test x$HAVE_ATOMIC_H = xyes; then
637 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
643 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
647 dnl ######################################################################
648 dnl # Check command line parameters, and set shell variables accordingly #
649 dnl ######################################################################
651 AC_ARG_ENABLE(libmmx,
652 [ --enable-libmmx use libmmx, if available],
653 [case "${enableval}" in
654 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
656 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
658 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
660 AC_ARG_ENABLE(atomic,
661 [ --enable-atomic use atomic reference counting header],
662 [case "${enableval}" in
663 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
664 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
665 no) USE_ATOMIC_H=no;;
666 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
668 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
670 AC_ARG_ENABLE(plugin-builddir,
671 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
672 [case "${enableval}" in
673 yes) PLUGINS_USE_BUILDDIR=yes ;;
674 no) PLUGINS_USE_BUILDDIR=no ;;
675 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
677 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
680 [ --enable-debug compile with -g debugging info],
681 [case "${enableval}" in
682 yes) USE_DEBUG=yes ;;
684 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
686 [USE_DEBUG=no]) dnl Default value
689 [ --enable-DEBUG compiles in a large number of debugging messages],
690 [case "${enableval}" in
691 yes) ENABLE_DEBUG=yes ;;
692 no) ENABLE_DEBUG=no ;;
693 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
695 [ENABLE_DEBUG=no]) dnl Default value
696 if test x$ENABLE_DEBUG = xyes; then
697 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
701 [ --disable-INFO disables compilation of informational messages],
702 [case "${enableval}" in
703 yes) ENABLE_INFO=yes ;;
704 no) ENABLE_INFO=no ;;
705 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
707 [ENABLE_INFO=yes]) dnl Default value
708 if test x$ENABLE_INFO = xyes; then
709 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
712 AC_ARG_ENABLE(debug-color,
713 [ --disable-debug-color disables color output of DEBUG and INFO output],
714 [case "${enableval}" in
715 yes) ENABLE_DEBUG_COLOR=yes ;;
716 no) ENABLE_DEBUG_COLOR=no ;;
717 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
719 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
720 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
721 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
724 AC_ARG_ENABLE(profiling,
725 [ --enable-profiling adds -pg to compiler commandline, for profiling],
726 [case "${enableval}" in
727 yes) USE_PROFILING=yes ;;
728 no) UES_PROFILING=no ;;
729 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
731 [USE_PROFILING=no]) dnl Default value
733 dnl default to building registry in the source tree if we are enabling plugin build dir
734 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
737 GST_CONFIG_DIR=/etc/gstreamer
739 AC_ARG_WITH(configdir,
740 [ --with-configdir specify path to use for configdir],
741 [case "${withval}" in
742 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
743 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
744 *) GST_CONFIG_DIR="${withval}" ;;
746 [:]) dnl Default value
749 GST_WIN32_LIBDIR="/usr/lib/win32"
750 AC_ARG_WITH(win32_libdir,
751 [ --with-win32-libdir specify location for win32 DLLs],
752 [case "${withval}" in
753 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
754 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
755 *) GST_WIN32_LIBDIR="${withval}" ;;
757 [:]) dnl Default value
759 AC_ARG_ENABLE(docs-build,
760 [ --enable-docs-build enable building of documentation],
761 [case "${enableval}" in
762 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; ;;
764 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
766 [BUILD_DOCS=no]) dnl Default value
768 AC_ARG_ENABLE(plugin-docs,
769 [ --enable-plugin-docs enable the building of plugin documentation
770 (this is currently broken, so off by default)],
771 [case "${enableval}" in
772 yes) BUILD_PLUGIN_DOCS=yes ;;
773 no) BUILD_PLUGIN_DOCS=no ;;
774 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
776 [BUILD_PLUGIN_DOCS=no]) dnl Default value
779 [ --disable-tests disable building test apps],
780 [case "${enableval}" in
781 yes) BUILD_TESTS=yes ;;
782 no) BUILD_TESTS=no ;;
783 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
785 [BUILD_TESTS=yes]) dnl Default value
787 AC_ARG_ENABLE(examples,
788 [ --disable-examples disable building examples],
789 [case "${enableval}" in
790 yes) BUILD_EXAMPLES=yes ;;
791 no) BUILD_EXAMPLES=no ;;
792 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
794 [BUILD_EXAMPLES=yes]) dnl Default value
796 dnl Next, check for the optional components:
797 dnl ========================================
800 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
802 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
804 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
805 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
806 [ case "${enableval}" in
807 yes) GST_DISABLE_[$1]=no ;;
808 no) GST_DISABLE_[$1]=yes ;;
809 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
811 [GST_DISABLE_[$1]=no]) dnl Default value
812 if test x$GST_DISABLE_[$1] = xyes; then
813 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
814 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
816 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
817 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
818 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
821 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
822 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
823 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
824 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
825 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
826 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
827 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
828 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
829 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
830 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
831 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
832 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
834 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
837 dnl ################################################
838 dnl # Set defines according to variables set above #
839 dnl ################################################
842 if test "x$USE_LIBMMX" = xyes; then
843 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
846 if test "x$USE_ATOMIC_H" = xyes; then
847 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
850 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
851 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
854 dnl if test "x$USE_DEBUG" = xyes; then
855 dnl CFLAGS="$CFLAGS -g"
858 if test "x$USE_PROFILING" = xyes; then
859 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
860 FOMIT_FRAME_POINTER=""
862 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
866 dnl AC_SUBST(FOMIT_FRAME_POINTER)
869 if test "x$HAVE_LIBMIKMOD" = xyes; then
870 AC_DEFINE(HAVE_LIBMIKMOD)
873 if test "x$HAVE_LIBGSM" = xyes; then
874 AC_DEFINE(HAVE_LIBGSM)
877 dnl #############################
878 dnl # Set automake conditionals #
879 dnl #############################
881 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
882 dnl HAVE_ and it is likely to be easier to stick with the old name
883 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
884 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
885 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
886 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
887 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
888 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
890 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
892 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
893 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
895 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
896 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
897 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
898 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
899 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
900 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
901 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
902 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
903 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
904 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
905 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
906 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
907 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
908 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
909 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
910 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
911 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
912 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
913 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
914 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
915 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
916 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
917 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
918 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
921 dnl ############################
922 dnl # Set up some more defines #
923 dnl ############################
925 dnl Set location of configuration dir.
926 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
927 AC_SUBST(GST_CONFIG_DIR)
929 dnl Set location of windows dll dir.
930 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
931 AC_SUBST(GST_WIN32_LIBDIR)
933 dnl Set location of plugin directory
934 if test "x${prefix}" = "xNONE"; then
935 PLUGINS_DIR=${ac_default_prefix}/lib/gst
937 PLUGINS_DIR=${prefix}/lib/gst
939 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
940 AC_SUBST(PLUGINS_DIR)
942 dnl Set location of uninstalled plugin directory
943 PLUGINS_BUILDDIR=`pwd`
944 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
945 AC_SUBST(PLUGINS_BUILDDIR)
947 dnl Private vars for libgst only
948 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
949 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
950 AC_SUBST(LIBGST_LIBS)
951 AC_SUBST(LIBGST_CFLAGS)
953 dnl Vars for everyone else
954 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
955 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
956 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
957 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
961 dnl #############################
962 dnl # Configure the subpackages #
963 dnl #############################
965 dnl AC_CONFIG_SUBDIRS(gist)
966 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
968 dnl ##################################################
969 dnl # Prepare informative messages to display at end #
970 dnl ##################################################
974 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
975 infomessages="$infomessages
976 *** Warning: You have configured using the --enable-plugin-builddir option.
978 This option is for development purposes only: binaries built with
979 it should be used with code in the build tree only. To build an
980 installable version, use ./configure without the --enable-plugin-builddir
981 option. Note that the autogen.sh script supplies the plugin builddir
982 option automatically - it cannot be used to configure installable builds.
987 dnl #########################
988 dnl # Make the output files #
989 dnl #########################
992 dnl gstreamer-uninstalled.pc
994 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
995 dnl components/bonobo-gstmediaplay/Makefile
996 dnl someone should fix this test/misc/Makefile
997 dnl wtay fix this: testsuite/threads/Makefile
998 dnl testsuite/refcounting/Makefile
1000 dnl echo "$infomessages", infomessages="$infomessages"
1004 gst/ac3parse/Makefile
1006 gst/audioscale/Makefile
1007 gst/auparse/Makefile
1011 gst/deinterlace/Makefile
1013 gst/intfloat/Makefile
1017 gst/mpeg1enc/Makefile
1018 gst/mpeg1sys/Makefile
1019 gst/mpeg2enc/Makefile
1020 gst/mpeg2sub/Makefile
1021 gst/mpegaudio/Makefile
1022 gst/mpegaudioparse/Makefile
1023 gst/mpegstream/Makefile
1024 gst/mpegtypes/Makefile
1025 gst/passthrough/Makefile
1026 gst/playondemand/Makefile
1028 gst/silence/Makefile
1031 gst/spectrum/Makefile
1034 gst/stereomono/Makefile
1035 gst/synaesthesia/Makefile
1037 gst/videoscale/Makefile
1040 gst/vumeter/Makefile
1041 gst/wavparse/Makefile
1056 ext/audiofile/Makefile
1057 ext/avifile/Makefile
1058 ext/cdparanoia/Makefile
1060 ext/dvdread/Makefile
1062 ext/festival/Makefile
1064 ext/gnomevfs/Makefile
1073 ext/mpeg2dec/Makefile
1074 ext/openquicktime/Makefile
1075 ext/raw1394/Makefile
1079 ext/sidplay/Makefile
1080 ext/smooothwave/Makefile
1084 gst-libs/gst/Makefile
1085 gst-libs/gst/audio/Makefile
1086 gst-libs/gst/idct/Makefile
1087 gst-libs/gst/resample/Makefile
1088 gst-libs/gst/riff/Makefile
1092 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1094 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"