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)
86 AC_MSG_NOTICE(not building experimental plugins)
93 dnl broken plugins; stuff that doesn't seem to build at the moment
94 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
95 HAVE_BROKEN=yes,disabled,
97 AC_MSG_WARN(building broken plugins)
100 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
104 AC_MSG_NOTICE(not building broken plugins)
107 dnl ##############################
108 dnl # Do automated configuration #
109 dnl ##############################
115 AC_PATH_PROG(NASM_PATH, nasm, no)
117 if test x$NASM_PATH = xno; then
118 AC_MSG_WARN(Couldn't find nasm)
121 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
125 dnl fix pkg-config's broken default search path
126 if test -z $PKG_CONFIG_PATH; then
127 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
129 export PKG_CONFIG_PATH
131 dnl Check for pkgconfig
132 AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, true, false)
134 dnl dnl check for gtk-doc
135 dnl AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
137 dnl if test "x$with_html_dir" = "x" ; then
138 dnl HTML_DIR='${datadir}/gst/html'
140 dnl HTML_DIR=$with_html_dir
143 dnl AC_SUBST(HTML_DIR)
145 dnl AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
146 dnl gtk_doc_min_version=0.6
147 dnl if $HAVE_GTK_DOC ; then
148 dnl gtk_doc_version=`gtkdoc-mkdb --version`
149 dnl AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
150 dnl if perl <<EOF ; then
151 dnl exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
152 dnl ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
154 dnl AC_MSG_RESULT(yes)
156 dnl AC_MSG_RESULT(no)
157 dnl HAVE_GTK_DOC=false
160 dnl GTK_DOC_SCANOBJ=gtkdoc-scanobj
162 dnl AC_SUBST(HAVE_GTK_DOC)
163 dnl AC_SUBST(GTK_DOC_SCANOBJ)
165 dnl dnl check for docbook tools
166 dnl AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
167 dnl AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
168 dnl dnl this does not yet work properly, at least on debain -- wingo
169 dnl HAVE_PDFXMLTEX=false
171 dnl dnl check for image conversion tool
172 dnl AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
174 dnl dnl The following is a hack: if fig2dev doesn't display an error message
175 dnl dnl for the desired type, we assume it supports it.
176 dnl HAVE_FIG2DEV_PNG=false
177 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
178 dnl fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
179 dnl if test "x$fig2dev_quiet" = "x" ; then
180 dnl HAVE_FIG2DEV_PNG=true
183 dnl HAVE_FIG2DEV_PDF=false
184 dnl if test "x$HAVE_FIG2DEV" = "xtrue" ; then
185 dnl fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
186 dnl if test "x$fig2dev_quiet" = "x" ; then
187 dnl HAVE_FIG2DEV_PDF=true
192 dnl Set up conditionals for (target) architecture:
193 dnl ==============================================
196 case "x${target_cpu}" in
197 xi?86 | k?) HAVE_CPU_I386=yes
198 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
199 dnl FIXME could use some better detection
201 case "x${target_cpu}" in
203 *) AC_DEFINE(HAVE_RDTSC) ;;
205 xpowerpc) HAVE_CPU_PPC=yes
206 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
207 xalpha) HAVE_CPU_ALPHA=yes
208 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
209 xarm*) HAVE_CPU_ARM=yes
210 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
211 xsparc*) HAVE_CPU_SPARC=yes
212 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
213 xmips*) HAVE_CPU_MIPS=yes
214 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
215 xhppa*) HAVE_CPU_HPPA=yes
216 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
219 dnl Determine endianness
222 dnl Check for MMX-capable compiler
223 AC_MSG_CHECKING(for MMX-capable compiler)
225 #include "include/mmx.h"
228 { movq_r2r(mm0, mm1); return 0; }
242 dnl We should really use AC_SYS_LARGEFILE, but the problem is
243 dnl many of the plugins don't include "config.h". To assure
244 dnl binary compatibility, it is necessary that all gstreamer
245 dnl code be compiled with the same sizeof(off_t), so we use
246 dnl the following crude hack.
249 AC_MSG_CHECKING(for large file support)
251 #define _LARGEFILE_SOURCE
252 #define _FILE_OFFSET_BITS 64
253 #include <sys/types.h>
254 int main () { return !(sizeof(off_t) == 8); }
258 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
267 dnl Check for essential libraries first:
268 dnl ====================================
270 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
276 dnl Check for X11 extensions
278 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
279 AC_MSG_ERROR(can not find X11)
283 AC_SUBST(X_EXTRA_LIBS)
286 dnl ==========================================================================
287 dnl ============================= gst plugins ================================
288 dnl ==========================================================================
291 ac3parse adder audioscale auparse avi chart\
292 cutter deinterlace flx intfloat law level\
293 median mpeg1enc mpeg1sys mpeg2enc mpeg2sub\
294 mpegaudio mpegaudioparse mpegstream mpegtypes\
295 passthrough playondemand rtjpeg silence sine\
296 smooth smoothwave spectrum speed stereo stereomono\
297 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
299 AC_SUBST(GST_PLUGINS_ALL)
301 GST_PLUGINS_SELECTED=""
304 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
305 [for i in `echo $withval | tr , ' '`; do
306 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
307 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
309 echo "plugin $i not recognized, ignoring..."
312 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
314 AC_SUBST(GST_PLUGINS_SELECTED)
316 dnl needed for smoothwave, FIXME!
317 if test x$USE_GLIB2 = xno; then
319 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
323 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
325 GTK_CFLAGS=$GTK2_CFLAGS
331 dnl ==========================================================================
332 dnl ============================= sys plugins ================================
333 dnl ==========================================================================
336 dnl *** OSS audio ***
337 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
338 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
339 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
343 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
344 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
346 dnl *** Video 4 Linux ***
347 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
348 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
349 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
353 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
354 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
355 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
359 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
360 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
361 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
365 dnl look for the PIC library first, debian likes it
366 dnl yeah but redhat doesn't even *have* it and it works fine without
367 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
368 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
369 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
370 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
371 XVIDEO_LIBS="-lXv -lXext"
372 AC_SUBST(XVIDEO_LIBS)
375 dnl Next, check for the optional libraries:
376 dnl These are all libraries used in building plugins
377 dnl ================================================
378 dnl let's try and sort them alphabetically, shall we ?
382 AC_MSG_NOTICE(Checking for plugin libraries)
385 translit(dnm, m, l) AM_CONDITIONAL(USE_A52, true)
386 GST_CHECK_FEATURE(A52, [a52], a52dec, [
387 GST_CHECK_LIBHEADER(A52, a52, a52_init, -lm, a52dec/a52.h, A52_LIBS="-la52")
391 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
392 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
393 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
397 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
398 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
399 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
403 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
404 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
405 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
409 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
410 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
414 dnl *** audiofile ***
415 dnl this check uses the GST_CHECK_CONFIGPROG macro
416 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
417 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
418 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
419 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
420 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
424 dnl this check uses the GST_CHECK_CONFIGPROG macro
425 dnl this check needs more fixing
426 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
427 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
428 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
429 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
430 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
431 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
432 AC_SUBST(AVIFILE_LIBS)
435 dnl *** CDParanoia ***
436 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
437 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
438 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
439 AC_SUBST(CDPARANOIA_LIBS)
441 dnl FIXME : add second check somehow if that is necessary
442 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
443 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
446 dnl FIXME : check if those GLIB thingies are ok
447 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
448 GST_CHECK_FEATURE(DV, [dv library], dv, [
449 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
454 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
455 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
456 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
457 AC_SUBST(DVDREAD_LIBS)
461 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
462 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
463 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
467 dnl thomas : checking for compile with main instead of actual function,
468 dnl since that made autoconf break (for version 2.13)
469 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
470 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
471 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
475 dnl *** Gnome VFS ***
476 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
477 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
478 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
479 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
480 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
481 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
485 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
486 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
487 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
492 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
493 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
494 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
495 ], AC_SUBST(HERMES_LIBS))
498 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
499 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
500 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
505 dnl FIXME : check if these CPP flags can be dealt with otherwise
506 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
507 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
508 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
509 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
512 dnl FIXME: we could use header checks here as well IMO
513 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
514 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
515 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
521 dnl FIXME: we could use header checks here as well IMO
522 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
523 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
524 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
529 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
530 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
531 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
532 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
533 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
537 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
538 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
539 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
540 AC_SUBST(MPEG2DEC_LIBS)
543 dnl *** openquicktime ***
544 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
545 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
546 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
547 AC_SUBST(OPENQUICKTIME_LIBS)
551 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
552 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
553 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
554 AC_SUBST(RAW1394_LIBS)
558 dnl FIXME : adapt and make it work
559 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
560 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
561 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
567 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
568 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
569 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
570 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
571 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
574 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
575 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
576 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
580 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
581 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
582 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
587 dnl FIXME : make this work
588 dnl AC_PATH_LIBSIDPLAY
592 dnl AM_PATH_VORBIS only takes two options
593 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
594 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
595 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
599 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
600 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
601 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
604 dnl Check for libghttp
605 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBGHTTP, true)
606 GST_CHECK_FEATURE(LIBGHTTP, [libghttp plugins], gsthttpsrc, [
607 dnl FIXME: need to check for header
609 GST_HTTPSRC_GET_TYPE=
610 if test x$USE_GLIB2 = xyes; then
611 AC_MSG_WARN(ghttp disabled for glib2.0)
613 AC_CHECK_LIB(ghttp, ghttp_request_new,
614 [GHTTP_LIBS="-lghttp"
615 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
620 AC_SUBST(GST_HTTPSRC_GET_TYPE)
623 dnl Check for atomic.h
624 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
625 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
626 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
627 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
628 if test x$HAVE_ATOMIC_H = xyes; then
630 #include "asm/atomic.h"
631 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
634 if test x$HAVE_ATOMIC_H = xyes; then
635 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
641 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
645 dnl ######################################################################
646 dnl # Check command line parameters, and set shell variables accordingly #
647 dnl ######################################################################
649 AC_ARG_ENABLE(libmmx,
650 [ --enable-libmmx use libmmx, if available],
651 [case "${enableval}" in
652 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
654 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
656 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
658 AC_ARG_ENABLE(atomic,
659 [ --enable-atomic use atomic reference counting header],
660 [case "${enableval}" in
661 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
662 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
663 no) USE_ATOMIC_H=no;;
664 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
666 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
668 AC_ARG_ENABLE(plugin-builddir,
669 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
670 [case "${enableval}" in
671 yes) PLUGINS_USE_BUILDDIR=yes ;;
672 no) PLUGINS_USE_BUILDDIR=no ;;
673 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
675 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
678 [ --enable-debug compile with -g debugging info],
679 [case "${enableval}" in
680 yes) USE_DEBUG=yes ;;
682 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
684 [USE_DEBUG=no]) dnl Default value
687 [ --enable-DEBUG compiles in a large number of debugging messages],
688 [case "${enableval}" in
689 yes) ENABLE_DEBUG=yes ;;
690 no) ENABLE_DEBUG=no ;;
691 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
693 [ENABLE_DEBUG=no]) dnl Default value
694 if test x$ENABLE_DEBUG = xyes; then
695 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
699 [ --disable-INFO disables compilation of informational messages],
700 [case "${enableval}" in
701 yes) ENABLE_INFO=yes ;;
702 no) ENABLE_INFO=no ;;
703 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
705 [ENABLE_INFO=yes]) dnl Default value
706 if test x$ENABLE_INFO = xyes; then
707 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
710 AC_ARG_ENABLE(debug-color,
711 [ --disable-debug-color disables color output of DEBUG and INFO output],
712 [case "${enableval}" in
713 yes) ENABLE_DEBUG_COLOR=yes ;;
714 no) ENABLE_DEBUG_COLOR=no ;;
715 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
717 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
718 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
719 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
722 AC_ARG_ENABLE(profiling,
723 [ --enable-profiling adds -pg to compiler commandline, for profiling],
724 [case "${enableval}" in
725 yes) USE_PROFILING=yes ;;
726 no) UES_PROFILING=no ;;
727 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
729 [USE_PROFILING=no]) dnl Default value
731 dnl default to building registry in the source tree if we are enabling plugin build dir
732 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
735 GST_CONFIG_DIR=/etc/gstreamer
737 AC_ARG_WITH(configdir,
738 [ --with-configdir specify path to use for configdir],
739 [case "${withval}" in
740 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
741 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
742 *) GST_CONFIG_DIR="${withval}" ;;
744 [:]) dnl Default value
747 GST_WIN32_LIBDIR="/usr/lib/win32"
748 AC_ARG_WITH(win32_libdir,
749 [ --with-win32-libdir specify location for win32 DLLs],
750 [case "${withval}" in
751 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
752 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
753 *) GST_WIN32_LIBDIR="${withval}" ;;
755 [:]) dnl Default value
757 AC_ARG_ENABLE(docs-build,
758 [ --enable-docs-build enable building of documentation],
759 [case "${enableval}" in
760 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; ;;
762 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
764 [BUILD_DOCS=no]) dnl Default value
766 AC_ARG_ENABLE(plugin-docs,
767 [ --enable-plugin-docs enable the building of plugin documentation
768 (this is currently broken, so off by default)],
769 [case "${enableval}" in
770 yes) BUILD_PLUGIN_DOCS=yes ;;
771 no) BUILD_PLUGIN_DOCS=no ;;
772 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
774 [BUILD_PLUGIN_DOCS=no]) dnl Default value
777 [ --disable-tests disable building test apps],
778 [case "${enableval}" in
779 yes) BUILD_TESTS=yes ;;
780 no) BUILD_TESTS=no ;;
781 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
783 [BUILD_TESTS=yes]) dnl Default value
785 AC_ARG_ENABLE(examples,
786 [ --disable-examples disable building examples],
787 [case "${enableval}" in
788 yes) BUILD_EXAMPLES=yes ;;
789 no) BUILD_EXAMPLES=no ;;
790 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
792 [BUILD_EXAMPLES=yes]) dnl Default value
794 dnl Next, check for the optional components:
795 dnl ========================================
798 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
800 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
802 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
803 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
804 [ case "${enableval}" in
805 yes) GST_DISABLE_[$1]=no ;;
806 no) GST_DISABLE_[$1]=yes ;;
807 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
809 [GST_DISABLE_[$1]=no]) dnl Default value
810 if test x$GST_DISABLE_[$1] = xyes; then
811 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
812 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
814 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
815 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
816 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
819 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
820 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
821 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
822 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
823 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
824 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
825 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
826 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
827 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
828 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
829 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
830 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
832 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
835 dnl ################################################
836 dnl # Set defines according to variables set above #
837 dnl ################################################
840 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
841 dnl HAVE_ and it is likely to be easier to stick with the old name
842 if test "x$USE_LIBGHTTP" = xyes; then
843 AC_DEFINE(HAVE_LIBGHTTP, 1, [Define if ghttp library is available])
846 if test "x$USE_LIBMMX" = xyes; then
847 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
850 if test "x$USE_ATOMIC_H" = xyes; then
851 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
854 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
855 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
858 dnl if test "x$USE_DEBUG" = xyes; then
859 dnl CFLAGS="$CFLAGS -g"
862 if test "x$USE_PROFILING" = xyes; then
863 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
864 FOMIT_FRAME_POINTER=""
866 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
870 dnl AC_SUBST(FOMIT_FRAME_POINTER)
873 if test "x$HAVE_LIBMIKMOD" = xyes; then
874 AC_DEFINE(HAVE_LIBMIKMOD)
877 if test "x$HAVE_LIBGSM" = xyes; then
878 AC_DEFINE(HAVE_LIBGSM)
881 dnl #############################
882 dnl # Set automake conditionals #
883 dnl #############################
885 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
886 dnl HAVE_ and it is likely to be easier to stick with the old name
887 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
888 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
889 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
890 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
891 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
892 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
894 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
896 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
897 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
899 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
900 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
901 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
902 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
903 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
904 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
905 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
906 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
907 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
908 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
909 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
910 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
911 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
912 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
913 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
914 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
915 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
916 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
917 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
918 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
919 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
920 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
921 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
922 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
925 dnl ############################
926 dnl # Set up some more defines #
927 dnl ############################
929 dnl Set location of configuration dir.
930 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
931 AC_SUBST(GST_CONFIG_DIR)
933 dnl Set location of windows dll dir.
934 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
935 AC_SUBST(GST_WIN32_LIBDIR)
937 dnl Set location of plugin directory
938 if test "x${prefix}" = "xNONE"; then
939 PLUGINS_DIR=${ac_default_prefix}/lib/gst
941 PLUGINS_DIR=${prefix}/lib/gst
943 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
944 AC_SUBST(PLUGINS_DIR)
946 dnl Set location of uninstalled plugin directory
947 PLUGINS_BUILDDIR=`pwd`
948 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
949 AC_SUBST(PLUGINS_BUILDDIR)
951 dnl Private vars for libgst only
952 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
953 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
954 AC_SUBST(LIBGST_LIBS)
955 AC_SUBST(LIBGST_CFLAGS)
957 dnl Vars for everyone else
958 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
959 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
960 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
961 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
965 dnl #############################
966 dnl # Configure the subpackages #
967 dnl #############################
969 dnl AC_CONFIG_SUBDIRS(gist)
970 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
972 dnl ##################################################
973 dnl # Prepare informative messages to display at end #
974 dnl ##################################################
978 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
979 infomessages="$infomessages
980 *** Warning: You have configured using the --enable-plugin-builddir option.
982 This option is for development purposes only: binaries built with
983 it should be used with code in the build tree only. To build an
984 installable version, use ./configure without the --enable-plugin-builddir
985 option. Note that the autogen.sh script supplies the plugin builddir
986 option automatically - it cannot be used to configure installable builds.
991 dnl #########################
992 dnl # Make the output files #
993 dnl #########################
996 dnl gstreamer-uninstalled.pc
998 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
999 dnl components/bonobo-gstmediaplay/Makefile
1000 dnl someone should fix this test/misc/Makefile
1001 dnl wtay fix this: testsuite/threads/Makefile
1002 dnl testsuite/refcounting/Makefile
1004 dnl echo "$infomessages", infomessages="$infomessages"
1005 dnl ext/arts/Makefile
1006 dnl ext/artsd/Makefile
1010 gst/ac3parse/Makefile
1012 gst/audioscale/Makefile
1013 gst/auparse/Makefile
1017 gst/deinterlace/Makefile
1019 gst/intfloat/Makefile
1023 gst/mpeg1enc/Makefile
1024 gst/mpeg1sys/Makefile
1025 gst/mpeg2enc/Makefile
1026 gst/mpeg2sub/Makefile
1027 gst/mpegaudio/Makefile
1028 gst/mpegaudioparse/Makefile
1029 gst/mpegstream/Makefile
1030 gst/mpegtypes/Makefile
1031 gst/passthrough/Makefile
1032 gst/playondemand/Makefile
1034 gst/silence/Makefile
1037 gst/smoothwave/Makefile
1038 gst/spectrum/Makefile
1041 gst/stereomono/Makefile
1042 gst/synaesthesia/Makefile
1044 gst/videoscale/Makefile
1047 gst/vumeter/Makefile
1048 gst/wavparse/Makefile
1061 ext/audiofile/Makefile
1062 ext/avifile/Makefile
1063 ext/cdparanoia/Makefile
1065 ext/dvdread/Makefile
1067 ext/festival/Makefile
1069 ext/gnomevfs/Makefile
1077 ext/mpeg2dec/Makefile
1078 ext/openquicktime/Makefile
1079 ext/raw1394/Makefile
1083 ext/sidplay/Makefile
1087 gst-libs/gst/Makefile
1088 gst-libs/gst/audio/Makefile
1089 gst-libs/gst/idct/Makefile
1090 gst-libs/gst/resample/Makefile
1091 gst-libs/gst/riff/Makefile
1095 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1097 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"