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 ##############################
108 AC_PATH_PROG(NASM_PATH, nasm, no)
110 if test x$NASM_PATH = xno; then
111 AC_MSG_WARN(Couldn't find nasm)
114 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
118 dnl Check for pkgconfig
119 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
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
124 echo "Setting PKG_CONFIG_PATH to $PKG_CONFIG_PATH"
126 export PKG_CONFIG_PATH
128 dnl check for gstreamer
129 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0)
131 dnl dnl check for gtk-doc
132 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
134 dnl if test "x$with_html_dir" = "x" ; then
135 dnl HTML_DIR='${datadir}/gst/html'
137 dnl HTML_DIR=$with_html_dir
140 dnl AC_SUBST(HTML_DIR)
142 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
143 dnl gtk_doc_min_version=0.6
144 dnl if $HAVE_GTK_DOC ; then
145 dnl gtk_doc_version=`gtkdoc-mkdb --version`
146 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
147 dnl if perl <<EOF ; then
148 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
149 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
151 dnl AC_MSG_RESULT(yes)
153 dnl AC_MSG_RESULT(no)
154 dnl HAVE_GTK_DOC=false
157 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
159 dnl AC_SUBST(HAVE_GTK_DOC)
160 dnl AC_SUBST(GTK_DOC_SCANOBJ)
162 dnl dnl check for docbook tools
163 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
164 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
165 dnl dnl this does not yet work properly, at least on debain -- wingo
166 dnl HAVE_PDFXMLTEX=false
168 dnl dnl check for image conversion tool
169 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
171 dnl dnl The following is a hack: if fig2dev doesn't display an error message
172 dnl dnl for the desired type, we assume it supports it.
173 dnl HAVE_FIG2DEV_PNG=false
174 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
175 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
176 dnl if test "x$fig2dev_quiet" = "x" ; then
177 dnl HAVE_FIG2DEV_PNG=true
180 dnl HAVE_FIG2DEV_PDF=false
181 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
182 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
183 dnl if test "x$fig2dev_quiet" = "x" ; then
184 dnl HAVE_FIG2DEV_PDF=true
189 dnl Set up conditionals for (target) architecture:
190 dnl ==============================================
193 case "x${target_cpu}" in
194 xi?86 | k?) HAVE_CPU_I386=yes
195 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
196 dnl FIXME could use some better detection
198 case "x${target_cpu}" in
200 *) AC_DEFINE(HAVE_RDTSC) ;;
202 xpowerpc) HAVE_CPU_PPC=yes
203 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
204 xalpha) HAVE_CPU_ALPHA=yes
205 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
206 xarm*) HAVE_CPU_ARM=yes
207 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
208 xsparc*) HAVE_CPU_SPARC=yes
209 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
210 xmips*) HAVE_CPU_MIPS=yes
211 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
212 xhppa*) HAVE_CPU_HPPA=yes
213 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
216 dnl Determine endianness
219 dnl Check for MMX-capable compiler
220 AC_MSG_CHECKING(for MMX-capable compiler)
222 #include "include/mmx.h"
225 { movq_r2r(mm0, mm1); return 0; }
239 dnl We should really use AC_SYS_LARGEFILE, but the problem is
240 dnl many of the plugins don't include "config.h". To assure
241 dnl binary compatibility, it is necessary that all gstreamer
242 dnl code be compiled with the same sizeof(off_t), so we use
243 dnl the following crude hack.
246 AC_MSG_CHECKING(for large file support)
248 #define _LARGEFILE_SOURCE
249 #define _FILE_OFFSET_BITS 64
250 #include <sys/types.h>
251 int main () { return !(sizeof(off_t) == 8); }
255 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
264 dnl Check for essential libraries first:
265 dnl ====================================
267 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
273 dnl Check for X11 extensions
275 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
276 AC_MSG_ERROR(can not find X11)
280 AC_SUBST(X_EXTRA_LIBS)
283 dnl ==========================================================================
284 dnl ============================= gst plugins ================================
285 dnl ==========================================================================
288 ac3parse adder audioscale auparse avi chart\
289 cutter deinterlace flx intfloat law level\
290 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
291 mpegaudio mpegaudioparse mpegstream mpegtypes\
292 passthrough playondemand rtjpeg silence sine\
293 smooth spectrum speed stereo stereomono\
294 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
296 AC_SUBST(GST_PLUGINS_ALL)
298 GST_PLUGINS_SELECTED=""
301 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
302 [for i in `echo $withval | tr , ' '`; do
303 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
304 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
306 echo "plugin $i not recognized, ignoring..."
309 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
311 AC_SUBST(GST_PLUGINS_SELECTED)
313 dnl needed for smoothwave, FIXME!
314 if test x$USE_GLIB2 = xno; then
316 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
320 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
322 GTK_CFLAGS=$GTK2_CFLAGS
328 dnl ==========================================================================
329 dnl ============================= sys plugins ================================
330 dnl ==========================================================================
333 dnl *** OSS audio ***
334 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
335 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
336 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
340 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
341 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
343 dnl *** Video 4 Linux ***
344 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
345 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
346 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
350 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
351 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
352 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
356 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
357 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
358 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
362 dnl look for the PIC library first, debian likes it
363 dnl yeah but redhat doesn't even *have* it and it works fine without
364 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
365 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
366 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
367 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
368 XVIDEO_LIBS="-lXv -lXext"
369 AC_SUBST(XVIDEO_LIBS)
372 dnl Next, check for the optional libraries:
373 dnl These are all libraries used in building plugins
374 dnl ================================================
375 dnl let's try and sort them alphabetically, shall we ?
379 AC_MSG_NOTICE(Checking for plugin libraries)
382 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
383 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
384 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
388 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
389 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
390 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
394 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
395 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
396 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
400 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
401 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
402 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
406 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
407 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
411 dnl *** audiofile ***
412 dnl this check uses the GST_CHECK_CONFIGPROG macro
413 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
414 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
415 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
416 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
417 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
421 dnl this check uses the GST_CHECK_CONFIGPROG macro
422 dnl this check needs more fixing
423 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
424 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
425 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
426 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
427 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
428 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
429 AC_SUBST(AVIFILE_LIBS)
432 dnl *** CDParanoia ***
433 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
434 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
435 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
436 AC_SUBST(CDPARANOIA_LIBS)
438 dnl FIXME : add second check somehow if that is necessary
439 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
440 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
443 dnl FIXME : check if those GLIB thingies are ok
444 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
445 GST_CHECK_FEATURE(DV, [dv library], dv, [
446 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
451 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
452 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
453 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
454 AC_SUBST(DVDREAD_LIBS)
458 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
459 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
460 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
464 dnl thomas : checking for compile with main instead of actual function,
465 dnl since that made autoconf break (for version 2.13)
466 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
467 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
468 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
472 dnl *** Gnome VFS ***
473 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
474 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
475 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
476 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
477 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
478 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
482 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
483 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
484 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
489 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
490 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
491 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
492 ], AC_SUBST(HERMES_LIBS))
495 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
496 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
497 dnl FIXME: need to check for header
499 GST_HTTPSRC_GET_TYPE=
500 if test x$USE_GLIB2 = xyes; then
501 AC_MSG_WARN(ghttp disabled for glib2.0)
503 AC_CHECK_LIB(ghttp, ghttp_request_new,
505 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
510 AC_SUBST(GST_HTTPSRC_GET_TYPE)
514 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
515 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
516 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
521 dnl FIXME : check if these CPP flags can be dealt with otherwise
522 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
523 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
524 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
525 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
528 dnl FIXME: we could use header checks here as well IMO
529 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
530 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
531 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
537 dnl FIXME: we could use header checks here as well IMO
538 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
539 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
540 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
545 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
546 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
547 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
548 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
549 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
553 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
554 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
555 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
556 AC_SUBST(MPEG2DEC_LIBS)
559 dnl *** openquicktime ***
560 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
561 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
562 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
563 AC_SUBST(OPENQUICKTIME_LIBS)
567 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
568 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
569 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
570 AC_SUBST(RAW1394_LIBS)
574 dnl FIXME : adapt and make it work
575 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
576 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
577 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
583 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
584 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
585 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
586 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
587 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
590 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
591 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
592 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
596 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
597 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
598 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
602 dnl *** smoothwave ***
603 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
604 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
605 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
609 dnl FIXME : make this work
610 dnl AC_PATH_LIBSIDPLAY
614 dnl AM_PATH_VORBIS only takes two options
615 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
616 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
617 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
621 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
622 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
623 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
626 dnl Check for atomic.h
627 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
628 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
629 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
630 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
631 if test x$HAVE_ATOMIC_H = xyes; then
633 #include "asm/atomic.h"
634 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
637 if test x$HAVE_ATOMIC_H = xyes; then
638 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
644 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
648 dnl ######################################################################
649 dnl # Check command line parameters, and set shell variables accordingly #
650 dnl ######################################################################
652 AC_ARG_ENABLE(libmmx,
653 [ --enable-libmmx use libmmx, if available],
654 [case "${enableval}" in
655 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
657 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
659 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
661 AC_ARG_ENABLE(atomic,
662 [ --enable-atomic use atomic reference counting header],
663 [case "${enableval}" in
664 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
665 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
666 no) USE_ATOMIC_H=no;;
667 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
669 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
671 AC_ARG_ENABLE(plugin-builddir,
672 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
673 [case "${enableval}" in
674 yes) PLUGINS_USE_BUILDDIR=yes ;;
675 no) PLUGINS_USE_BUILDDIR=no ;;
676 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
678 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
681 [ --enable-debug compile with -g debugging info],
682 [case "${enableval}" in
683 yes) USE_DEBUG=yes ;;
685 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
687 [USE_DEBUG=no]) dnl Default value
690 [ --enable-DEBUG compiles in a large number of debugging messages],
691 [case "${enableval}" in
692 yes) ENABLE_DEBUG=yes ;;
693 no) ENABLE_DEBUG=no ;;
694 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
696 [ENABLE_DEBUG=no]) dnl Default value
697 if test x$ENABLE_DEBUG = xyes; then
698 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
702 [ --disable-INFO disables compilation of informational messages],
703 [case "${enableval}" in
704 yes) ENABLE_INFO=yes ;;
705 no) ENABLE_INFO=no ;;
706 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
708 [ENABLE_INFO=yes]) dnl Default value
709 if test x$ENABLE_INFO = xyes; then
710 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
713 AC_ARG_ENABLE(debug-color,
714 [ --disable-debug-color disables color output of DEBUG and INFO output],
715 [case "${enableval}" in
716 yes) ENABLE_DEBUG_COLOR=yes ;;
717 no) ENABLE_DEBUG_COLOR=no ;;
718 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
720 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
721 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
722 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
725 AC_ARG_ENABLE(profiling,
726 [ --enable-profiling adds -pg to compiler commandline, for profiling],
727 [case "${enableval}" in
728 yes) USE_PROFILING=yes ;;
729 no) UES_PROFILING=no ;;
730 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
732 [USE_PROFILING=no]) dnl Default value
734 dnl default to building registry in the source tree if we are enabling plugin build dir
735 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
738 GST_CONFIG_DIR=/etc/gstreamer
740 AC_ARG_WITH(configdir,
741 [ --with-configdir specify path to use for configdir],
742 [case "${withval}" in
743 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
744 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
745 *) GST_CONFIG_DIR="${withval}" ;;
747 [:]) dnl Default value
750 GST_WIN32_LIBDIR="/usr/lib/win32"
751 AC_ARG_WITH(win32_libdir,
752 [ --with-win32-libdir specify location for win32 DLLs],
753 [case "${withval}" in
754 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
755 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
756 *) GST_WIN32_LIBDIR="${withval}" ;;
758 [:]) dnl Default value
760 AC_ARG_ENABLE(docs-build,
761 [ --enable-docs-build enable building of documentation],
762 [case "${enableval}" in
763 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; ;;
765 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
767 [BUILD_DOCS=no]) dnl Default value
769 AC_ARG_ENABLE(plugin-docs,
770 [ --enable-plugin-docs enable the building of plugin documentation
771 (this is currently broken, so off by default)],
772 [case "${enableval}" in
773 yes) BUILD_PLUGIN_DOCS=yes ;;
774 no) BUILD_PLUGIN_DOCS=no ;;
775 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
777 [BUILD_PLUGIN_DOCS=no]) dnl Default value
780 [ --disable-tests disable building test apps],
781 [case "${enableval}" in
782 yes) BUILD_TESTS=yes ;;
783 no) BUILD_TESTS=no ;;
784 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
786 [BUILD_TESTS=yes]) dnl Default value
788 AC_ARG_ENABLE(examples,
789 [ --disable-examples disable building examples],
790 [case "${enableval}" in
791 yes) BUILD_EXAMPLES=yes ;;
792 no) BUILD_EXAMPLES=no ;;
793 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
795 [BUILD_EXAMPLES=yes]) dnl Default value
797 dnl Next, check for the optional components:
798 dnl ========================================
801 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
803 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
805 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
806 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
807 [ case "${enableval}" in
808 yes) GST_DISABLE_[$1]=no ;;
809 no) GST_DISABLE_[$1]=yes ;;
810 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
812 [GST_DISABLE_[$1]=no]) dnl Default value
813 if test x$GST_DISABLE_[$1] = xyes; then
814 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
815 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
817 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
818 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
819 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
822 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
823 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
824 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
825 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
826 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
827 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
828 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
829 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
830 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
831 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
832 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
833 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
835 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
838 dnl ################################################
839 dnl # Set defines according to variables set above #
840 dnl ################################################
843 if test "x$USE_LIBMMX" = xyes; then
844 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
847 if test "x$USE_ATOMIC_H" = xyes; then
848 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
851 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
852 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
855 dnl if test "x$USE_DEBUG" = xyes; then
856 dnl CFLAGS="$CFLAGS -g"
859 if test "x$USE_PROFILING" = xyes; then
860 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
861 FOMIT_FRAME_POINTER=""
863 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
867 dnl AC_SUBST(FOMIT_FRAME_POINTER)
870 if test "x$HAVE_LIBMIKMOD" = xyes; then
871 AC_DEFINE(HAVE_LIBMIKMOD)
874 if test "x$HAVE_LIBGSM" = xyes; then
875 AC_DEFINE(HAVE_LIBGSM)
878 dnl #############################
879 dnl # Set automake conditionals #
880 dnl #############################
882 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
883 dnl HAVE_ and it is likely to be easier to stick with the old name
884 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
885 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
886 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
887 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
888 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
889 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
891 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
893 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
894 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
896 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
897 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
898 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
899 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
900 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
901 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
902 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
903 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
904 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
905 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
906 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
907 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
908 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
909 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
910 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
911 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
912 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
913 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
914 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
915 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
916 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
917 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
918 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
919 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
922 dnl ############################
923 dnl # Set up some more defines #
924 dnl ############################
926 dnl Set location of configuration dir.
927 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
928 AC_SUBST(GST_CONFIG_DIR)
930 dnl Set location of windows dll dir.
931 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
932 AC_SUBST(GST_WIN32_LIBDIR)
934 dnl Set location of plugin directory
935 if test "x${prefix}" = "xNONE"; then
936 PLUGINS_DIR=${ac_default_prefix}/lib/gst
938 PLUGINS_DIR=${prefix}/lib/gst
940 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
941 AC_SUBST(PLUGINS_DIR)
943 dnl Set location of uninstalled plugin directory
944 PLUGINS_BUILDDIR=`pwd`
945 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
946 AC_SUBST(PLUGINS_BUILDDIR)
948 dnl Private vars for libgst only
949 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
950 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
951 AC_SUBST(LIBGST_LIBS)
952 AC_SUBST(LIBGST_CFLAGS)
954 dnl Vars for everyone else
955 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
956 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
957 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
958 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
962 dnl #############################
963 dnl # Configure the subpackages #
964 dnl #############################
966 dnl AC_CONFIG_SUBDIRS(gist)
967 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
969 dnl ##################################################
970 dnl # Prepare informative messages to display at end #
971 dnl ##################################################
975 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
976 infomessages="$infomessages
977 *** Warning: You have configured using the --enable-plugin-builddir option.
979 This option is for development purposes only: binaries built with
980 it should be used with code in the build tree only. To build an
981 installable version, use ./configure without the --enable-plugin-builddir
982 option. Note that the autogen.sh script supplies the plugin builddir
983 option automatically - it cannot be used to configure installable builds.
988 dnl #########################
989 dnl # Make the output files #
990 dnl #########################
993 dnl gstreamer-uninstalled.pc
995 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
996 dnl components/bonobo-gstmediaplay/Makefile
997 dnl someone should fix this test/misc/Makefile
998 dnl wtay fix this: testsuite/threads/Makefile
999 dnl testsuite/refcounting/Makefile
1001 dnl echo "$infomessages", infomessages="$infomessages"
1005 gst/ac3parse/Makefile
1007 gst/audioscale/Makefile
1008 gst/auparse/Makefile
1012 gst/deinterlace/Makefile
1014 gst/intfloat/Makefile
1018 gst/mpeg1enc/Makefile
1019 gst/mpeg1sys/Makefile
1020 gst/mpeg2enc/Makefile
1021 gst/mpeg2sub/Makefile
1022 gst/mpegaudio/Makefile
1023 gst/mpegaudioparse/Makefile
1024 gst/mpegstream/Makefile
1025 gst/mpegtypes/Makefile
1026 gst/passthrough/Makefile
1027 gst/playondemand/Makefile
1029 gst/silence/Makefile
1032 gst/spectrum/Makefile
1035 gst/stereomono/Makefile
1036 gst/synaesthesia/Makefile
1038 gst/videoscale/Makefile
1041 gst/vumeter/Makefile
1042 gst/wavparse/Makefile
1057 ext/audiofile/Makefile
1058 ext/avifile/Makefile
1059 ext/cdparanoia/Makefile
1061 ext/dvdread/Makefile
1063 ext/festival/Makefile
1065 ext/gnomevfs/Makefile
1074 ext/mpeg2dec/Makefile
1075 ext/openquicktime/Makefile
1076 ext/raw1394/Makefile
1080 ext/sidplay/Makefile
1081 ext/smooothwave/Makefile
1085 gst-libs/gst/Makefile
1086 gst-libs/gst/audio/Makefile
1087 gst-libs/gst/idct/Makefile
1088 gst-libs/gst/resample/Makefile
1089 gst-libs/gst/riff/Makefile
1093 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1095 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"