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
77 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
78 [HAVE_EXPERIMENTAL=yes],disabled,
80 AC_MSG_WARN(building experimental plugins)
83 AC_MSG_NOTICE(not building experimental plugins)
87 dnl broken plugins; stuff that doesn't seem to build at the moment
88 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
89 HAVE_BROKEN=yes,disabled,
91 AC_MSG_WARN(building broken plugins)
94 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
98 AC_MSG_NOTICE(not building broken plugins)
101 dnl ##############################
102 dnl # Do automated configuration #
103 dnl ##############################
109 AC_PATH_PROG(NASM_PATH, nasm, no)
111 if test x$NASM_PATH = xno; then
112 AC_MSG_WARN(Couldn't find nasm)
115 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
119 dnl fix pkg-config's broken default search path
120 if test -z $PKG_CONFIG_PATH; then
121 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
123 export PKG_CONFIG_PATH
125 dnl Check for pkgconfig
126 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
128 dnl dnl check for gtk-doc
129 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
131 dnl if test "x$with_html_dir" = "x" ; then
132 dnl HTML_DIR='${datadir}/gst/html'
134 dnl HTML_DIR=$with_html_dir
137 dnl AC_SUBST(HTML_DIR)
139 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
140 dnl gtk_doc_min_version=0.6
141 dnl if $HAVE_GTK_DOC ; then
142 dnl gtk_doc_version=`gtkdoc-mkdb --version`
143 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
144 dnl if perl <<EOF ; then
145 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
146 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
148 dnl AC_MSG_RESULT(yes)
150 dnl AC_MSG_RESULT(no)
151 dnl HAVE_GTK_DOC=false
154 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
156 dnl AC_SUBST(HAVE_GTK_DOC)
157 dnl AC_SUBST(GTK_DOC_SCANOBJ)
159 dnl dnl check for docbook tools
160 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
161 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
162 dnl dnl this does not yet work properly, at least on debain -- wingo
163 dnl HAVE_PDFXMLTEX=false
165 dnl dnl check for image conversion tool
166 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
168 dnl dnl The following is a hack: if fig2dev doesn't display an error message
169 dnl dnl for the desired type, we assume it supports it.
170 dnl HAVE_FIG2DEV_PNG=false
171 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
172 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
173 dnl if test "x$fig2dev_quiet" = "x" ; then
174 dnl HAVE_FIG2DEV_PNG=true
177 dnl HAVE_FIG2DEV_PDF=false
178 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
179 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
180 dnl if test "x$fig2dev_quiet" = "x" ; then
181 dnl HAVE_FIG2DEV_PDF=true
186 dnl Set up conditionals for (target) architecture:
187 dnl ==============================================
190 case "x${target_cpu}" in
191 xi?86 | k?) HAVE_CPU_I386=yes
192 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
193 dnl FIXME could use some better detection
195 case "x${target_cpu}" in
197 *) AC_DEFINE(HAVE_RDTSC) ;;
199 xpowerpc) HAVE_CPU_PPC=yes
200 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
201 xalpha) HAVE_CPU_ALPHA=yes
202 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
203 xarm*) HAVE_CPU_ARM=yes
204 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
205 xsparc*) HAVE_CPU_SPARC=yes
206 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
207 xmips*) HAVE_CPU_MIPS=yes
208 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
209 xhppa*) HAVE_CPU_HPPA=yes
210 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
213 dnl Determine endianness
216 dnl Check for MMX-capable compiler
217 AC_MSG_CHECKING(for MMX-capable compiler)
219 #include "include/mmx.h"
222 { movq_r2r(mm0, mm1); return 0; }
236 dnl We should really use AC_SYS_LARGEFILE, but the problem is
237 dnl many of the plugins don't include "config.h". To assure
238 dnl binary compatibility, it is necessary that all gstreamer
239 dnl code be compiled with the same sizeof(off_t), so we use
240 dnl the following crude hack.
243 AC_MSG_CHECKING(for large file support)
245 #define _LARGEFILE_SOURCE
246 #define _FILE_OFFSET_BITS 64
247 #include <sys/types.h>
248 int main () { return !(sizeof(off_t) == 8); }
252 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
261 dnl Check for essential libraries first:
262 dnl ====================================
264 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
270 dnl Check for X11 extensions
272 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
273 AC_MSG_ERROR(can not find X11)
277 AC_SUBST(X_EXTRA_LIBS)
280 dnl ==========================================================================
281 dnl ============================= gst plugins ================================
282 dnl ==========================================================================
285 ac3parse adder audioscale auparse avi chart\
286 cutter deinterlace flx intfloat law level\
287 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
288 mpegaudio mpegaudioparse mpegstream mpegtypes\
289 passthrough playondemand rtjpeg silence sine\
290 smooth smoothwave spectrum speed stereo stereomono\
291 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
293 AC_SUBST(GST_PLUGINS_ALL)
295 GST_PLUGINS_SELECTED=""
298 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
299 [for i in `echo $withval | tr , ' '`; do
300 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
301 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
303 echo "plugin $i not recognized, ignoring..."
306 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
308 AC_SUBST(GST_PLUGINS_SELECTED)
310 dnl needed for smoothwave, FIXME!
311 if test x$USE_GLIB2 = xno; then
313 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
317 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
319 GTK_CFLAGS=$GTK2_CFLAGS
325 dnl ==========================================================================
326 dnl ============================= sys plugins ================================
327 dnl ==========================================================================
330 dnl *** OSS audio ***
331 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
332 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
333 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
337 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
338 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
340 dnl *** Video 4 Linux ***
341 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
342 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
343 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
347 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
348 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
349 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
353 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
354 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
355 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
359 dnl look for the PIC library first, debian likes it
360 dnl yeah but redhat doesn't even *have* it and it works fine without
361 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
362 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
363 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
364 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
365 XVIDEO_LIBS="-lXv -lXext"
366 AC_SUBST(XVIDEO_LIBS)
369 dnl Next, check for the optional libraries:
370 dnl These are all libraries used in building plugins
371 dnl ================================================
372 dnl let's try and sort them alphabetically, shall we ?
376 AC_MSG_NOTICE(Checking for plugin libraries)
379 translit(dnm, m, l) AM_CONDITIONAL(USE_A52, true)
380 GST_CHECK_FEATURE(A52, [a52], a52dec, [
381 GST_CHECK_LIBHEADER(A52, a52, a52_init, -lm, a52dec/a52.h, A52_LIBS="-la52")
385 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
386 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
387 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
391 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
392 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
393 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
397 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
398 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
399 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
403 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
404 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
408 dnl *** audiofile ***
409 dnl this check uses the GST_CHECK_CONFIGPROG macro
410 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
411 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
412 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
413 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
414 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
418 dnl this check uses the GST_CHECK_CONFIGPROG macro
419 dnl this check needs more fixing
420 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
421 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
422 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
423 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
424 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
425 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
426 AC_SUBST(AVIFILE_LIBS)
429 dnl *** CDParanoia ***
430 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
431 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
432 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
433 AC_SUBST(CDPARANOIA_LIBS)
435 dnl FIXME : add second check somehow if that is necessary
436 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
437 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
440 dnl FIXME : check if those GLIB thingies are ok
441 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
442 GST_CHECK_FEATURE(DV, [dv library], dv, [
443 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
448 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
449 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
450 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
451 AC_SUBST(DVDREAD_LIBS)
455 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
456 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
457 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
461 dnl thomas : checking for compile with main instead of actual function,
462 dnl since that made autoconf break (for version 2.13)
463 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
464 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
465 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
469 dnl *** Gnome VFS ***
470 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
471 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
472 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
473 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
474 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
475 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
479 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
480 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
481 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
486 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
487 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
488 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
489 ], AC_SUBST(HERMES_LIBS))
492 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
493 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
494 dnl FIXME: need to check for header
496 GST_HTTPSRC_GET_TYPE=
497 if test x$USE_GLIB2 = xyes; then
498 AC_MSG_WARN(ghttp disabled for glib2.0)
500 AC_CHECK_LIB(ghttp, ghttp_request_new,
502 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
507 AC_SUBST(GST_HTTPSRC_GET_TYPE)
511 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
512 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
513 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
518 dnl FIXME : check if these CPP flags can be dealt with otherwise
519 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
520 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
521 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
522 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
525 dnl FIXME: we could use header checks here as well IMO
526 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
527 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
528 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
534 dnl FIXME: we could use header checks here as well IMO
535 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
536 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
537 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
542 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
543 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
544 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
545 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
546 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
550 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
551 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
552 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
553 AC_SUBST(MPEG2DEC_LIBS)
556 dnl *** openquicktime ***
557 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
558 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
559 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
560 AC_SUBST(OPENQUICKTIME_LIBS)
564 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
565 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
566 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
567 AC_SUBST(RAW1394_LIBS)
571 dnl FIXME : adapt and make it work
572 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
573 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
574 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
580 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
581 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
582 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
583 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
584 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
587 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
588 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
589 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
593 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
594 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
595 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
600 dnl FIXME : make this work
601 dnl AC_PATH_LIBSIDPLAY
605 dnl AM_PATH_VORBIS only takes two options
606 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
607 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
608 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
612 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
613 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
614 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
617 dnl Check for atomic.h
618 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
619 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
620 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
621 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
622 if test x$HAVE_ATOMIC_H = xyes; then
624 #include "asm/atomic.h"
625 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
628 if test x$HAVE_ATOMIC_H = xyes; then
629 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
635 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
639 dnl ######################################################################
640 dnl # Check command line parameters, and set shell variables accordingly #
641 dnl ######################################################################
643 AC_ARG_ENABLE(libmmx,
644 [ --enable-libmmx use libmmx, if available],
645 [case "${enableval}" in
646 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
648 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
650 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
652 AC_ARG_ENABLE(atomic,
653 [ --enable-atomic use atomic reference counting header],
654 [case "${enableval}" in
655 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
656 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
657 no) USE_ATOMIC_H=no;;
658 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
660 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
662 AC_ARG_ENABLE(plugin-builddir,
663 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
664 [case "${enableval}" in
665 yes) PLUGINS_USE_BUILDDIR=yes ;;
666 no) PLUGINS_USE_BUILDDIR=no ;;
667 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
669 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
672 [ --enable-debug compile with -g debugging info],
673 [case "${enableval}" in
674 yes) USE_DEBUG=yes ;;
676 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
678 [USE_DEBUG=no]) dnl Default value
681 [ --enable-DEBUG compiles in a large number of debugging messages],
682 [case "${enableval}" in
683 yes) ENABLE_DEBUG=yes ;;
684 no) ENABLE_DEBUG=no ;;
685 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
687 [ENABLE_DEBUG=no]) dnl Default value
688 if test x$ENABLE_DEBUG = xyes; then
689 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
693 [ --disable-INFO disables compilation of informational messages],
694 [case "${enableval}" in
695 yes) ENABLE_INFO=yes ;;
696 no) ENABLE_INFO=no ;;
697 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
699 [ENABLE_INFO=yes]) dnl Default value
700 if test x$ENABLE_INFO = xyes; then
701 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
704 AC_ARG_ENABLE(debug-color,
705 [ --disable-debug-color disables color output of DEBUG and INFO output],
706 [case "${enableval}" in
707 yes) ENABLE_DEBUG_COLOR=yes ;;
708 no) ENABLE_DEBUG_COLOR=no ;;
709 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
711 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
712 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
713 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
716 AC_ARG_ENABLE(profiling,
717 [ --enable-profiling adds -pg to compiler commandline, for profiling],
718 [case "${enableval}" in
719 yes) USE_PROFILING=yes ;;
720 no) UES_PROFILING=no ;;
721 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
723 [USE_PROFILING=no]) dnl Default value
725 dnl default to building registry in the source tree if we are enabling plugin build dir
726 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
729 GST_CONFIG_DIR=/etc/gstreamer
731 AC_ARG_WITH(configdir,
732 [ --with-configdir specify path to use for configdir],
733 [case "${withval}" in
734 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
735 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
736 *) GST_CONFIG_DIR="${withval}" ;;
738 [:]) dnl Default value
741 GST_WIN32_LIBDIR="/usr/lib/win32"
742 AC_ARG_WITH(win32_libdir,
743 [ --with-win32-libdir specify location for win32 DLLs],
744 [case "${withval}" in
745 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
746 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
747 *) GST_WIN32_LIBDIR="${withval}" ;;
749 [:]) dnl Default value
751 AC_ARG_ENABLE(docs-build,
752 [ --enable-docs-build enable building of documentation],
753 [case "${enableval}" in
754 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; ;;
756 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
758 [BUILD_DOCS=no]) dnl Default value
760 AC_ARG_ENABLE(plugin-docs,
761 [ --enable-plugin-docs enable the building of plugin documentation
762 (this is currently broken, so off by default)],
763 [case "${enableval}" in
764 yes) BUILD_PLUGIN_DOCS=yes ;;
765 no) BUILD_PLUGIN_DOCS=no ;;
766 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
768 [BUILD_PLUGIN_DOCS=no]) dnl Default value
771 [ --disable-tests disable building test apps],
772 [case "${enableval}" in
773 yes) BUILD_TESTS=yes ;;
774 no) BUILD_TESTS=no ;;
775 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
777 [BUILD_TESTS=yes]) dnl Default value
779 AC_ARG_ENABLE(examples,
780 [ --disable-examples disable building examples],
781 [case "${enableval}" in
782 yes) BUILD_EXAMPLES=yes ;;
783 no) BUILD_EXAMPLES=no ;;
784 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
786 [BUILD_EXAMPLES=yes]) dnl Default value
788 dnl Next, check for the optional components:
789 dnl ========================================
792 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
794 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
796 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
797 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
798 [ case "${enableval}" in
799 yes) GST_DISABLE_[$1]=no ;;
800 no) GST_DISABLE_[$1]=yes ;;
801 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
803 [GST_DISABLE_[$1]=no]) dnl Default value
804 if test x$GST_DISABLE_[$1] = xyes; then
805 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
806 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
808 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
809 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
810 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
813 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
814 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
815 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
816 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
817 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
818 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
819 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
820 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
821 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
822 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
823 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
824 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
826 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
829 dnl ################################################
830 dnl # Set defines according to variables set above #
831 dnl ################################################
834 if test "x$USE_LIBMMX" = xyes; then
835 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
838 if test "x$USE_ATOMIC_H" = xyes; then
839 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
842 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
843 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
846 dnl if test "x$USE_DEBUG" = xyes; then
847 dnl CFLAGS="$CFLAGS -g"
850 if test "x$USE_PROFILING" = xyes; then
851 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
852 FOMIT_FRAME_POINTER=""
854 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
858 dnl AC_SUBST(FOMIT_FRAME_POINTER)
861 if test "x$HAVE_LIBMIKMOD" = xyes; then
862 AC_DEFINE(HAVE_LIBMIKMOD)
865 if test "x$HAVE_LIBGSM" = xyes; then
866 AC_DEFINE(HAVE_LIBGSM)
869 dnl #############################
870 dnl # Set automake conditionals #
871 dnl #############################
873 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
874 dnl HAVE_ and it is likely to be easier to stick with the old name
875 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
876 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
877 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
878 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
879 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
880 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
882 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
884 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
885 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
887 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
888 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
889 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
890 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
891 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
892 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
893 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
894 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
895 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
896 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
897 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
898 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
899 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
900 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
901 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
902 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
903 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
904 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
905 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
906 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
907 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
908 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
909 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
910 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
913 dnl ############################
914 dnl # Set up some more defines #
915 dnl ############################
917 dnl Set location of configuration dir.
918 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
919 AC_SUBST(GST_CONFIG_DIR)
921 dnl Set location of windows dll dir.
922 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
923 AC_SUBST(GST_WIN32_LIBDIR)
925 dnl Set location of plugin directory
926 if test "x${prefix}" = "xNONE"; then
927 PLUGINS_DIR=${ac_default_prefix}/lib/gst
929 PLUGINS_DIR=${prefix}/lib/gst
931 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
932 AC_SUBST(PLUGINS_DIR)
934 dnl Set location of uninstalled plugin directory
935 PLUGINS_BUILDDIR=`pwd`
936 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
937 AC_SUBST(PLUGINS_BUILDDIR)
939 dnl Private vars for libgst only
940 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
941 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
942 AC_SUBST(LIBGST_LIBS)
943 AC_SUBST(LIBGST_CFLAGS)
945 dnl Vars for everyone else
946 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
947 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
948 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
949 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
953 dnl #############################
954 dnl # Configure the subpackages #
955 dnl #############################
957 dnl AC_CONFIG_SUBDIRS(gist)
958 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
960 dnl ##################################################
961 dnl # Prepare informative messages to display at end #
962 dnl ##################################################
966 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
967 infomessages="$infomessages
968 *** Warning: You have configured using the --enable-plugin-builddir option.
970 This option is for development purposes only: binaries built with
971 it should be used with code in the build tree only. To build an
972 installable version, use ./configure without the --enable-plugin-builddir
973 option. Note that the autogen.sh script supplies the plugin builddir
974 option automatically - it cannot be used to configure installable builds.
979 dnl #########################
980 dnl # Make the output files #
981 dnl #########################
984 dnl gstreamer-uninstalled.pc
986 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
987 dnl components/bonobo-gstmediaplay/Makefile
988 dnl someone should fix this test/misc/Makefile
989 dnl wtay fix this: testsuite/threads/Makefile
990 dnl testsuite/refcounting/Makefile
992 dnl echo "$infomessages", infomessages="$infomessages"
996 gst/ac3parse/Makefile
998 gst/audioscale/Makefile
1003 gst/deinterlace/Makefile
1005 gst/intfloat/Makefile
1009 gst/mpeg1enc/Makefile
1010 gst/mpeg1sys/Makefile
1011 gst/mpeg2enc/Makefile
1012 gst/mpeg2sub/Makefile
1013 gst/mpegaudio/Makefile
1014 gst/mpegaudioparse/Makefile
1015 gst/mpegstream/Makefile
1016 gst/mpegtypes/Makefile
1017 gst/passthrough/Makefile
1018 gst/playondemand/Makefile
1020 gst/silence/Makefile
1023 gst/smoothwave/Makefile
1024 gst/spectrum/Makefile
1027 gst/stereomono/Makefile
1028 gst/synaesthesia/Makefile
1030 gst/videoscale/Makefile
1033 gst/vumeter/Makefile
1034 gst/wavparse/Makefile
1049 ext/audiofile/Makefile
1050 ext/avifile/Makefile
1051 ext/cdparanoia/Makefile
1053 ext/dvdread/Makefile
1055 ext/festival/Makefile
1057 ext/gnomevfs/Makefile
1066 ext/mpeg2dec/Makefile
1067 ext/openquicktime/Makefile
1068 ext/raw1394/Makefile
1072 ext/sidplay/Makefile
1076 gst-libs/gst/Makefile
1077 gst-libs/gst/audio/Makefile
1078 gst-libs/gst/idct/Makefile
1079 gst-libs/gst/resample/Makefile
1080 gst-libs/gst/riff/Makefile
1084 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1086 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"