1 dnl autoconf configuration file for plugins
3 dnl FIXME take something else ?
4 AC_CONFIG_SRCDIR([COPYING])
6 AC_CANONICAL_TARGET([])
8 AM_CONFIG_HEADER(config.h)
14 dnl we use the release tag during CVS development
15 GST_VERSION_RELEASE=`date +%Y%m%d`
17 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
22 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
23 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
26 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
27 AC_SUBST(GST_VERSION_RELEASE)
33 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
35 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
36 dnl Add parameters for aclocal
37 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
38 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
40 AC_SUBST(GST_VERSION_MAJOR)
41 AC_SUBST(GST_VERSION_MINOR)
42 AC_SUBST(GST_VERSION_MICRO)
46 AC_SUBST(GST_REVISION)
48 AC_SUBST(GST_LIBVERSION)
60 dnl We disable static building for development, for time savings
61 dnl *NOTE*: dnl this line before release, so release does static too
68 dnl ###########################################
69 dnl # Super Duper options for plugin building #
70 dnl ###########################################
72 dnl experimental plugins; stuff that hasn't had the dust settle yet
73 dnl read 'builds, but might not work'
74 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
75 [HAVE_EXPERIMENTAL=yes],disabled,
77 AC_MSG_WARN(building experimental plugins)
81 AC_MSG_NOTICE(not building experimental plugins)
86 dnl broken plugins; stuff that doesn't seem to build at the moment
87 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
88 HAVE_BROKEN=yes,disabled,
90 AC_MSG_WARN(building broken plugins)
93 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
97 AC_MSG_NOTICE(not building broken plugins)
100 dnl ##############################
101 dnl # Do automated configuration #
102 dnl ##############################
107 dnl modify pkg-config path
108 AC_ARG_WITH(pkg-config-path,
109 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
110 [export PKG_CONFIG_PATH=${withval}])
113 AC_PATH_PROG(NASM_PATH, nasm, no)
115 if test x$NASM_PATH = xno; then
116 AC_MSG_WARN(Couldn't find nasm)
119 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
123 dnl check for gstreamer; check for uninstalled first
124 PKG_CHECK_MODULES(GST, gstreamer-uninstalled >= 0.3.0, HAVE_GST="yes", HAVE_GST="no")
125 if test "x$HAVE_GST" = "xno"; then
126 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.0, HAVE_GST="yes", HAVE_GST="no")
129 if test "x$HAVE_GST" = "xno"; then
130 AC_MSG_ERROR(no GStreamer found)
133 dnl Set up conditionals for (target) architecture:
134 dnl ==============================================
137 case "x${target_cpu}" in
138 xi?86 | k?) HAVE_CPU_I386=yes
139 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
140 dnl FIXME could use some better detection
142 case "x${target_cpu}" in
144 *) AC_DEFINE(HAVE_RDTSC) ;;
146 xpowerpc) HAVE_CPU_PPC=yes
147 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
148 xalpha) HAVE_CPU_ALPHA=yes
149 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
150 xarm*) HAVE_CPU_ARM=yes
151 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
152 xsparc*) HAVE_CPU_SPARC=yes
153 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
154 xmips*) HAVE_CPU_MIPS=yes
155 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
156 xhppa*) HAVE_CPU_HPPA=yes
157 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
160 dnl Determine endianness
163 dnl Check for MMX-capable compiler
164 AC_MSG_CHECKING(for MMX-capable compiler)
166 #include "include/mmx.h"
169 { movq_r2r(mm0, mm1); return 0; }
183 dnl We should really use AC_SYS_LARGEFILE, but the problem is
184 dnl many of the plugins don't include "config.h". To assure
185 dnl binary compatibility, it is necessary that all gstreamer
186 dnl code be compiled with the same sizeof(off_t), so we use
187 dnl the following crude hack.
190 AC_MSG_CHECKING(for large file support)
192 #define _LARGEFILE_SOURCE
193 #define _FILE_OFFSET_BITS 64
194 #include <sys/types.h>
195 int main () { return !(sizeof(off_t) == 8); }
199 GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
208 dnl Check for essential libraries first:
209 dnl ====================================
211 dnl if test -n "`cat $GST_CFLAGS | grep USE_GLIB2`"; then
217 dnl Check for X11 extensions
219 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
220 AC_MSG_ERROR(can not find X11)
224 AC_SUBST(X_EXTRA_LIBS)
227 dnl ==========================================================================
228 dnl ============================= gst plugins ================================
229 dnl ==========================================================================
232 ac3parse adder audioscale auparse avi chart\
233 cutter deinterlace flx intfloat law level\
234 median mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
235 mpegaudio mpegaudioparse mpegstream mpegtypes\
236 passthrough playondemand rtjpeg silence sine\
237 smooth spectrum speed stereo stereomono\
238 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
240 AC_SUBST(GST_PLUGINS_ALL)
242 GST_PLUGINS_SELECTED=""
245 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
246 [for i in `echo $withval | tr , ' '`; do
247 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
248 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
250 echo "plugin $i not recognized, ignoring..."
253 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
255 AC_SUBST(GST_PLUGINS_SELECTED)
257 dnl needed for smoothwave, FIXME!
258 if test x$USE_GLIB2 = xno; then
260 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
264 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
266 GTK_CFLAGS=$GTK2_CFLAGS
272 dnl ==========================================================================
273 dnl ============================= sys plugins ================================
274 dnl ==========================================================================
277 dnl *** OSS audio ***
278 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
279 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
280 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
284 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
285 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, HAVE_QCAM="yes")
287 dnl *** Video 4 Linux ***
288 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
289 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
290 AC_CHECK_HEADER(linux/videodev.h, HAVE_V4L="yes", HAVE_V4L="no")
294 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
295 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
296 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
300 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
301 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
302 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
306 dnl look for the PIC library first, debian likes it
307 dnl yeah but redhat doesn't even *have* it and it works fine without
308 dnl GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
309 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
310 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
311 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h)
312 XVIDEO_LIBS="-lXv -lXext"
313 AC_SUBST(XVIDEO_LIBS)
316 dnl Next, check for the optional libraries:
317 dnl These are all libraries used in building plugins
318 dnl ================================================
319 dnl let's try and sort them alphabetically, shall we ?
323 AC_MSG_NOTICE(Checking for plugin libraries)
326 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
327 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
328 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
332 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
333 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
334 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
338 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
339 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
340 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
345 dnl if mcopidl can't be found there's no use in compiling it
346 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
347 if test "xHAVE_MCOPIDL" = "xno";
352 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
353 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
354 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
356 dnl if mcopidl can't be found there's no use in compiling it
357 AC_PATH_PROG(MCOPIDL, mcopidl, yes, no)
358 if test "xHAVE_MCOPIDL" = "xno";
364 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
365 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
369 dnl *** audiofile ***
370 dnl this check uses the GST_CHECK_CONFIGPROG macro
371 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
372 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
373 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
374 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
375 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
379 dnl this check uses the GST_CHECK_CONFIGPROG macro
380 dnl this check needs more fixing
381 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
382 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
383 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
384 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
385 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
386 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
387 AC_SUBST(AVIFILE_LIBS)
390 dnl *** CDParanoia ***
391 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
392 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
393 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, , cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
394 AC_SUBST(CDPARANOIA_LIBS)
396 dnl FIXME : add second check somehow if that is necessary
397 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
398 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
401 dnl FIXME : check if those GLIB thingies are ok
402 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
403 GST_CHECK_FEATURE(DV, [dv library], dv, [
404 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GLIB_LIBS $GLIB_CFLAGS, libdv/dv.h, DV_LIBS="-ldv")
409 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
410 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
411 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
412 AC_SUBST(DVDREAD_LIBS)
416 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
417 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
418 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
421 dnl **** festival ****
422 dnl FIXME until thomas can be bothered to download the 20 MB festival sources
423 dnl this will not go in
424 translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
425 GST_CHECK_FEATURE(FESTIVAL, [festival plugins], festivalsrc, [
426 GST_CHECK_LIBHEADER(FESTIVAL, festival, festival_tidy_up, -lFestival, festival/festival.h, FESTIVAL_LIBS="-lFestival")
427 AC_SUBST(FESTIVAL_LIBS)
431 dnl thomas : checking for compile with main instead of actual function,
432 dnl since that made autoconf break (for version 2.13)
433 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
434 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
435 GST_CHECK_LIBHEADER(FLAC, FLAC, main, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
439 dnl *** Gnome VFS ***
440 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
441 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
442 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
443 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
444 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
445 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
449 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
450 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
451 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
456 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
457 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
458 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
459 ], AC_SUBST(HERMES_LIBS))
462 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
463 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
464 dnl FIXME: need to check for header
466 GST_HTTPSRC_GET_TYPE=
467 if test x$USE_GLIB2 = xyes; then
468 AC_MSG_WARN(ghttp disabled for glib2.0)
470 AC_CHECK_LIB(ghttp, ghttp_request_new,
472 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
477 AC_SUBST(GST_HTTPSRC_GET_TYPE)
481 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
482 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
483 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, LAME_LIBS="-lmp3lame")
488 dnl FIXME : check if these CPP flags can be dealt with otherwise
489 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
490 dnl CPPFLAGS="$CPPFLAGS $GLIB_CFLAGS"
491 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
492 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
495 dnl FIXME: we could use header checks here as well IMO
496 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
497 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
498 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
504 dnl FIXME: we could use header checks here as well IMO
505 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
506 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
507 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
512 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
513 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
514 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
515 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
516 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
520 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
521 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
522 GST_CHECK_LIBHEADER(MPEG2DEC, mpeg2, mpeg2_init,, mpeg2dec/mpeg2.h, MPEG2DEC_LIBS="-lmpeg2 -lmpeg2dec")
523 AC_SUBST(MPEG2DEC_LIBS)
526 dnl *** openquicktime ***
527 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
528 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
529 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
530 AC_SUBST(OPENQUICKTIME_LIBS)
534 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
535 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
536 GST_CHECK_LIBHEADER(RAW1394, raw1934, raw1934_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
537 AC_SUBST(RAW1394_LIBS)
541 dnl FIXME : adapt and make it work
542 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
543 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
544 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GLIB_LIBS $GLIB_CFLAGS)
550 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
551 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
552 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
553 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
554 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
557 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
558 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
559 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
563 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
564 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
565 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
570 dnl FIXME : make this work
571 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
572 GST_CHECK_FEATURE(SIDPLAY, [sidplay plugin], sidplay, [
573 GST_CHECK_LIBHEADER(SIDPLAY, sidplay, sidTune(), ,sidplay/sidtune.h,SIDPLAY_LIBS="-lsidplay")
574 AC_SUBST(SIDPLAY_LIBS)
577 dnl *** smoothwave ***
578 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
579 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
580 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
584 dnl AM_PATH_VORBIS only takes two options
585 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
586 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
587 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
591 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
592 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
593 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
596 dnl Check for atomic.h
597 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
598 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
599 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
600 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
601 if test x$HAVE_ATOMIC_H = xyes; then
603 #include "asm/atomic.h"
604 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
607 if test x$HAVE_ATOMIC_H = xyes; then
608 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
614 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
618 dnl ######################################################################
619 dnl # Check command line parameters, and set shell variables accordingly #
620 dnl ######################################################################
622 AC_ARG_ENABLE(libmmx,
623 [ --enable-libmmx use libmmx, if available],
624 [case "${enableval}" in
625 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
627 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
629 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
631 AC_ARG_ENABLE(atomic,
632 [ --enable-atomic use atomic reference counting header],
633 [case "${enableval}" in
634 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
635 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
636 no) USE_ATOMIC_H=no;;
637 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
639 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
641 AC_ARG_ENABLE(plugin-builddir,
642 [ --enable-plugin-builddir allow tests/demos to use non-installed plugins ],
643 [case "${enableval}" in
644 yes) PLUGINS_USE_BUILDDIR=yes ;;
645 no) PLUGINS_USE_BUILDDIR=no ;;
646 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
648 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
651 [ --enable-debug compile with -g debugging info],
652 [case "${enableval}" in
653 yes) USE_DEBUG=yes ;;
655 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
657 [USE_DEBUG=no]) dnl Default value
660 [ --enable-DEBUG compiles in a large number of debugging messages],
661 [case "${enableval}" in
662 yes) ENABLE_DEBUG=yes ;;
663 no) ENABLE_DEBUG=no ;;
664 *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
666 [ENABLE_DEBUG=no]) dnl Default value
667 if test x$ENABLE_DEBUG = xyes; then
668 AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
672 [ --disable-INFO disables compilation of informational messages],
673 [case "${enableval}" in
674 yes) ENABLE_INFO=yes ;;
675 no) ENABLE_INFO=no ;;
676 *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
678 [ENABLE_INFO=yes]) dnl Default value
679 if test x$ENABLE_INFO = xyes; then
680 AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
683 AC_ARG_ENABLE(debug-color,
684 [ --disable-debug-color disables color output of DEBUG and INFO output],
685 [case "${enableval}" in
686 yes) ENABLE_DEBUG_COLOR=yes ;;
687 no) ENABLE_DEBUG_COLOR=no ;;
688 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
690 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
691 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
692 AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
695 AC_ARG_ENABLE(profiling,
696 [ --enable-profiling adds -pg to compiler commandline, for profiling],
697 [case "${enableval}" in
698 yes) USE_PROFILING=yes ;;
699 no) UES_PROFILING=no ;;
700 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
702 [USE_PROFILING=no]) dnl Default value
704 dnl default to building registry in the source tree if we are enabling plugin build dir
705 if test "x$PLUGINS_USE_BUILDDIR"="xyes"; then
708 GST_CONFIG_DIR=/etc/gstreamer
710 AC_ARG_WITH(configdir,
711 [ --with-configdir specify path to use for configdir],
712 [case "${withval}" in
713 yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
714 no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
715 *) GST_CONFIG_DIR="${withval}" ;;
717 [:]) dnl Default value
720 GST_WIN32_LIBDIR="/usr/lib/win32"
721 AC_ARG_WITH(win32_libdir,
722 [ --with-win32-libdir specify location for win32 DLLs],
723 [case "${withval}" in
724 yes) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
725 no) AC_MSG_ERROR(bad value ${withval} for --with-win32-libdir) ;;
726 *) GST_WIN32_LIBDIR="${withval}" ;;
728 [:]) dnl Default value
730 AC_ARG_ENABLE(docs-build,
731 [ --enable-docs-build enable building of documentation],
732 [case "${enableval}" in
733 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; ;;
735 *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
737 [BUILD_DOCS=no]) dnl Default value
739 AC_ARG_ENABLE(plugin-docs,
740 [ --enable-plugin-docs enable the building of plugin documentation
741 (this is currently broken, so off by default)],
742 [case "${enableval}" in
743 yes) BUILD_PLUGIN_DOCS=yes ;;
744 no) BUILD_PLUGIN_DOCS=no ;;
745 *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
747 [BUILD_PLUGIN_DOCS=no]) dnl Default value
750 [ --disable-tests disable building test apps],
751 [case "${enableval}" in
752 yes) BUILD_TESTS=yes ;;
753 no) BUILD_TESTS=no ;;
754 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
756 [BUILD_TESTS=yes]) dnl Default value
758 AC_ARG_ENABLE(examples,
759 [ --disable-examples disable building examples],
760 [case "${enableval}" in
761 yes) BUILD_EXAMPLES=yes ;;
762 no) BUILD_EXAMPLES=no ;;
763 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
765 [BUILD_EXAMPLES=yes]) dnl Default value
767 dnl Next, check for the optional components:
768 dnl ========================================
771 AC_DEFUN(GST_SUBSYSTEM_DISABLE,
773 dnl Add a subsystem --disable flag and all the necessary symbols and substitions
775 AC_ARG_ENABLE(translit([$1], A-Z, a-z),
776 [ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2),
777 [ case "${enableval}" in
778 yes) GST_DISABLE_[$1]=no ;;
779 no) GST_DISABLE_[$1]=yes ;;
780 *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
782 [GST_DISABLE_[$1]=no]) dnl Default value
783 if test x$GST_DISABLE_[$1] = xyes; then
784 AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2])
785 GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1]
787 AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes)
788 AC_SUBST(GST_DISABLE_[$1]_DEFINE)
789 GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE"
792 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
793 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
794 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
795 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
796 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
797 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
798 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
799 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
800 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
801 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
802 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
803 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
805 GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
808 dnl ################################################
809 dnl # Set defines according to variables set above #
810 dnl ################################################
813 if test "x$USE_LIBMMX" = xyes; then
814 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
817 if test "x$USE_ATOMIC_H" = xyes; then
818 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
821 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
822 AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
825 dnl if test "x$USE_DEBUG" = xyes; then
826 dnl CFLAGS="$CFLAGS -g"
829 if test "x$USE_PROFILING" = xyes; then
830 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
831 FOMIT_FRAME_POINTER=""
833 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
837 dnl AC_SUBST(FOMIT_FRAME_POINTER)
840 if test "x$HAVE_LIBMIKMOD" = xyes; then
841 AC_DEFINE(HAVE_LIBMIKMOD)
844 if test "x$HAVE_LIBGSM" = xyes; then
845 AC_DEFINE(HAVE_LIBGSM)
848 dnl #############################
849 dnl # Set automake conditionals #
850 dnl #############################
852 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
853 dnl HAVE_ and it is likely to be easier to stick with the old name
854 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
855 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
856 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
857 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
858 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
859 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
861 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
863 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
864 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
866 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
867 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
868 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
869 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
870 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
871 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
872 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
873 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
874 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
875 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
876 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
877 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
878 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
879 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
880 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
881 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
882 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
883 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
884 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
885 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
886 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
887 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
888 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
889 AM_CONDITIONAL(HAVE_SIDPLAY, test "x$have_sidplay" = "xyes")
892 dnl ############################
893 dnl # Set up some more defines #
894 dnl ############################
896 dnl Set location of configuration dir.
897 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
898 AC_SUBST(GST_CONFIG_DIR)
900 dnl Set location of windows dll dir.
901 AC_DEFINE_UNQUOTED(GST_WIN32_LIBDIR,"$GST_WIN32_LIBDIR")
902 AC_SUBST(GST_WIN32_LIBDIR)
904 dnl Set location of plugin directory
905 if test "x${prefix}" = "xNONE"; then
906 PLUGINS_DIR=${ac_default_prefix}/lib/gst
908 PLUGINS_DIR=${prefix}/lib/gst
910 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
911 AC_SUBST(PLUGINS_DIR)
913 dnl Set location of uninstalled plugin directory
914 PLUGINS_BUILDDIR=`pwd`
915 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
916 AC_SUBST(PLUGINS_BUILDDIR)
918 dnl Private vars for libgst only
919 LIBGST_LIBS="$GST_LIBS $XML_LIBS $GLIB_LIBS"
920 LIBGST_CFLAGS="$GST_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
921 AC_SUBST(LIBGST_LIBS)
922 AC_SUBST(LIBGST_CFLAGS)
924 dnl Vars for everyone else
925 dnl FIXME: is there a reason to add this top_builddir stuff ? don't think so
926 dnl GST_LIBS="\$(top_builddir)/gst/libgst.la $LIBGST_LIBS"
927 dnl GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include $LIBGST_CFLAGS"
928 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs"
932 dnl #############################
933 dnl # Configure the subpackages #
934 dnl #############################
936 dnl AC_CONFIG_SUBDIRS(gist)
937 dnl AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
939 dnl ##################################################
940 dnl # Prepare informative messages to display at end #
941 dnl ##################################################
945 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
946 infomessages="$infomessages
947 *** Warning: You have configured using the --enable-plugin-builddir option.
949 This option is for development purposes only: binaries built with
950 it should be used with code in the build tree only. To build an
951 installable version, use ./configure without the --enable-plugin-builddir
952 option. Note that the autogen.sh script supplies the plugin builddir
953 option automatically - it cannot be used to configure installable builds.
958 dnl #########################
959 dnl # Make the output files #
960 dnl #########################
963 dnl gstreamer-uninstalled.pc
965 dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
966 dnl components/bonobo-gstmediaplay/Makefile
967 dnl someone should fix this test/misc/Makefile
968 dnl wtay fix this: testsuite/threads/Makefile
969 dnl testsuite/refcounting/Makefile
971 dnl echo "$infomessages", infomessages="$infomessages"
975 gst/ac3parse/Makefile
977 gst/audioscale/Makefile
982 gst/deinterlace/Makefile
984 gst/intfloat/Makefile
988 gst/mpeg1enc/Makefile
989 gst/mpeg1sys/Makefile
990 gst/mpeg1videoparse/Makefile
991 gst/mpeg2enc/Makefile
992 gst/mpeg2sub/Makefile
993 gst/mpegaudio/Makefile
994 gst/mpegaudioparse/Makefile
995 gst/mpegstream/Makefile
996 gst/mpegtypes/Makefile
997 gst/passthrough/Makefile
998 gst/playondemand/Makefile
1000 gst/silence/Makefile
1003 gst/spectrum/Makefile
1006 gst/stereomono/Makefile
1007 gst/synaesthesia/Makefile
1009 gst/videoscale/Makefile
1012 gst/vumeter/Makefile
1013 gst/wavparse/Makefile
1028 ext/audiofile/Makefile
1029 ext/avifile/Makefile
1030 ext/cdparanoia/Makefile
1032 ext/dvdread/Makefile
1034 ext/festival/Makefile
1036 ext/gnomevfs/Makefile
1045 ext/mpeg2dec/Makefile
1046 ext/openquicktime/Makefile
1047 ext/raw1394/Makefile
1051 ext/sidplay/Makefile
1052 ext/smoothwave/Makefile
1056 gst-libs/gst/Makefile
1057 gst-libs/gst/audio/Makefile
1058 gst-libs/gst/idct/Makefile
1059 gst-libs/gst/resample/Makefile
1060 gst-libs/gst/riff/Makefile
1064 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
1066 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"