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 a datestamped release tag and a fourth version ".1" number
15 dnl during CVS development
16 GST_VERSION_RELEASE=`date +%Y%m%d`
17 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO.2
18 dnl we use a normal release tag increased manually when releasing
19 dnl GST_VERSION_RELEASE=1
20 dnl GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
25 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
26 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
29 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
30 AC_SUBST(GST_VERSION_RELEASE)
36 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
38 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
39 dnl Add parameters for aclocal
40 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
41 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
43 AC_SUBST(GST_VERSION_MAJOR)
44 AC_SUBST(GST_VERSION_MINOR)
45 AC_SUBST(GST_VERSION_MICRO)
49 AC_SUBST(GST_REVISION)
51 AC_SUBST(GST_LIBVERSION)
63 dnl We disable static building for development, for time savings
64 dnl *NOTE*: dnl this line before release, so release does static too
71 dnl ###########################################
72 dnl # Super Duper options for plugin building #
73 dnl ###########################################
75 dnl experimental plugins; stuff that hasn't had the dust settle yet
76 dnl read 'builds, but might not work'
77 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plugins],,
78 [HAVE_EXPERIMENTAL=yes],disabled,
80 AC_MSG_WARN(building experimental plugins)
83 AC_MSG_NOTICE(not building experimental plugins)
87 dnl broken plugins; stuff that doesn't seem to build at the moment
88 GST_CHECK_FEATURE(BROKEN, [enable building of broken plugins],,
89 HAVE_BROKEN=yes,disabled,
91 AC_MSG_WARN(building broken plugins)
94 dnl AC_MSG_NOTICE(actually there are no broken plugins at the moment)
98 AC_MSG_NOTICE(not building broken plugins)
101 dnl ##############################
102 dnl # Do automated configuration #
103 dnl ##############################
108 dnl modify pkg-config path
109 AC_ARG_WITH(pkg-config-path,
110 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
111 [export PKG_CONFIG_PATH=${withval}])
114 AC_PATH_PROG(NASM_PATH, nasm, no)
116 if test x$NASM_PATH = xno; then
117 AC_MSG_WARN(Couldn't find nasm)
120 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
124 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
125 PKG_CHECK_MODULES(GST, gstreamer >= 0.3.1, HAVE_GST="yes", HAVE_GST="no")
127 if test "x$HAVE_GST" = "xno"; then
128 AC_MSG_ERROR(no GStreamer found)
131 dnl Set up conditionals for (target) architecture:
132 dnl ==============================================
135 case "x${target_cpu}" in
136 xi?86 | k?) HAVE_CPU_I386=yes
137 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
138 dnl FIXME could use some better detection
140 case "x${target_cpu}" in
142 *) AC_DEFINE(HAVE_RDTSC) ;;
144 xpowerpc) HAVE_CPU_PPC=yes
145 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
146 xalpha) HAVE_CPU_ALPHA=yes
147 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
148 xarm*) HAVE_CPU_ARM=yes
149 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
150 xsparc*) HAVE_CPU_SPARC=yes
151 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
152 xmips*) HAVE_CPU_MIPS=yes
153 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
154 xhppa*) HAVE_CPU_HPPA=yes
155 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
158 dnl Determine endianness
161 dnl Check for essential libraries first:
162 dnl ====================================
164 if test -n "`echo $GST_CFLAGS | grep USE_GLIB2`"; then
170 dnl needed for some plugins and demos, now's a nice time to check for gtk
171 if test x$USE_GLIB2 = xno; then
173 AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
177 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
179 GTK_CFLAGS=$GTK2_CFLAGS
185 dnl Check for X11 extensions
187 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
188 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
192 AC_SUBST(X_EXTRA_LIBS)
195 dnl ==========================================================================
196 dnl ============================= gst plugins ================================
197 dnl ==========================================================================
198 GST_PLUGIN_LDFLAGS='-module -avoid-version'
199 AC_SUBST(GST_PLUGIN_LDFLAGS)
202 ac3parse adder audioscale auparse avi chart\
203 cutter deinterlace flx intfloat law level\
204 median mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
205 mpegaudio mpegaudioparse mpegstream mpegtypes\
206 passthrough playondemand rtjpeg silence sine\
207 smooth spectrum speed stereo stereomono\
208 synaesthesia udp videoscale volenv volume vumeter wavparse y4m"
210 AC_SUBST(GST_PLUGINS_ALL)
212 GST_PLUGINS_SELECTED=""
215 AC_HELP_STRING([--with-plugins],[comma-separated list of plugins to compile]),
216 [for i in `echo $withval | tr , ' '`; do
217 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
218 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
220 echo "plugin $i not recognized, ignoring..."
223 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
225 AC_SUBST(GST_PLUGINS_SELECTED)
227 dnl ==========================================================================
228 dnl ============================= sys plugins ================================
229 dnl ==========================================================================
232 dnl *** OSS audio ***
233 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
234 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
235 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
239 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
240 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
241 dnl this one is for hadess, no qcam when no nasm found
242 if test "x$HAVE_NASM" = "xno";
245 AC_MSG_WARN([QuickCam needs nasm])
251 dnl *** Video 4 Linux ***
252 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
253 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc, [
254 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
258 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
259 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
260 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
264 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
265 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
266 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
270 dnl Look for the PIC library first, Debian requires it.
271 dnl Check debian-devel archives for gory details.
273 dnl At the moment XFree86 doesn't distribute shared libXv due
274 dnl to unstable API. On many platforms you CAN NOT link a shared
275 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
276 dnl plugin wants to do. So Debian distributes a PIC compiled
277 dnl version of the static lib for plugins to link to when it is
278 dnl inappropriate to link the main application to libXv directly.
279 dnl FIXME: add check if this platform can support linking to a
280 dnl non-PIC libXv, if not then don not use Xv.
281 dnl FIXME: perhaps warn user if they have a shared libXv since
282 dnl this is an error until XFree86 starts shipping one
283 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
284 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
285 dnl check for PIC static lib
286 GST_CHECK_LIBHEADER(XVIDEO, Xv_pic, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv_pic -lXext")
287 if test x$HAVE_XVIDEO = xno; then
288 dnl PIC lib not found, check for regular lib
289 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
291 AC_SUBST(XVIDEO_LIBS)
294 dnl Next, check for the optional libraries:
295 dnl These are all libraries used in building plugins
296 dnl ================================================
297 dnl let's try and sort them alphabetically, shall we ?
301 AC_MSG_NOTICE(Checking for plugin libraries)
304 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
305 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
306 GST_CHECK_LIBHEADER(A52DEC, a52, a52_init, -lm, a52dec/a52.h, A52DEC_LIBS="-la52")
310 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
311 GST_CHECK_FEATURE(AALIB, [aasink plugin], aasink, [
312 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
316 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
317 GST_CHECK_FEATURE(ALSA, [alsa plugins], gstalsa, [
318 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
323 dnl if mcopidl can't be found there's no use in compiling it
324 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
325 if test "xHAVE_MCOPIDL" = "xno";
330 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
331 GST_CHECK_FEATURE(ARTS, [arts plugins], arts, [
332 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
334 dnl if mcopidl can't be found there's no use in compiling it
335 AC_PATH_PROG(MCOPIDL, mcopidl, yes, no)
336 if test "xHAVE_MCOPIDL" = "xno";
342 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
343 GST_CHECK_FEATURE(ARTSC, [artsd plugins], artsdsink, [
347 dnl *** audiofile ***
348 dnl this check uses the GST_CHECK_CONFIGPROG macro
349 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
350 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
351 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
352 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
353 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
357 dnl this check uses the GST_CHECK_CONFIGPROG macro
358 dnl this check needs more fixing
359 dnl translit(dnm, m, l) AC_SUBST(AVIFILE_LIBS)
360 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
361 GST_CHECK_FEATURE(AVIFILE, [avifile], windec winenc, [
362 translit(dnm, m, l) AC_SUBST(AVIFILE_CFLAGS)
363 GST_CHECK_CONFIGPROG(AVIFILE, avifile-config)
364 AVIFILE_LIBS="$AVIFILE_LIBS -lstdc++"
365 AC_SUBST(AVIFILE_LIBS)
368 dnl *** CDParanoia ***
369 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
370 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
371 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface, cdda_open, -lm, cdda_interface.h, CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia")
372 AC_SUBST(CDPARANOIA_LIBS)
374 dnl FIXME : add second check somehow if that is necessary
375 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
376 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
379 translit(dnm, m, l) AM_CONDITIONAL(USE_DV, true)
380 GST_CHECK_FEATURE(DV, [dv library], dv, [
381 GST_CHECK_LIBHEADER(DV, dv, dv_init, -lm $GST_CFLAGS $GST_LIBS, libdv/dv.h, DV_LIBS="-ldv")
386 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
387 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdsrc, [
388 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
389 AC_SUBST(DVDREAD_LIBS)
393 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
394 GST_CHECK_FEATURE(ESD, [esound plugins], esdsrc esdsink, [
395 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
398 dnl **** festival ****
399 translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
400 GST_CHECK_FEATURE(FESTIVAL, [festival plugins], festivalsrc, [
401 dnl NOTE: just using local net connection now, add this lib check
402 dnl in the future if needed
403 dnl AC_LANG_PUSH(C++)
404 dnl dnl FIXME: took out func to check for
405 dnl dnl This check puts festival_tidy_up in extern "C".
406 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
407 dnl dnl mangling C++ nonsense and symbols can't resolve
408 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
409 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
411 dnl AC_SUBST(FESTIVAL_LIBS)
416 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
417 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
418 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
422 dnl *** Gnome VFS ***
423 dnl this check uses the GST_CHECK_CONFIGPROG macro with gnome-config vfs
424 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
425 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
426 translit(dnm, m, l) AC_SUBST(GNOME_VFS_LIBS)
427 translit(dnm, m, l) AC_SUBST(GNOME_VFS_CFLAGS)
428 GST_CHECK_CONFIGPROG(GNOME_VFS, gnome-config vfs)
432 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
433 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
434 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
435 if test $HAVE_GSM != "yes"; then
436 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
437 if test $HAVE_GSM = "yes"; then
438 AC_DEFINE(GSM_HEADER_IN_SUBDIR)
445 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
446 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
447 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
448 ], AC_SUBST(HERMES_LIBS))
451 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
452 GST_CHECK_FEATURE(HTTP, [http plugins], gsthttpsrc, [
453 dnl FIXME: need to check for header
455 GST_HTTPSRC_GET_TYPE=
456 if test x$USE_GLIB2 = xyes; then
457 AC_MSG_WARN(ghttp disabled for glib2.0)
459 AC_CHECK_LIB(ghttp, ghttp_request_new,
461 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
466 AC_SUBST(GST_HTTPSRC_GET_TYPE)
470 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
471 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
472 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame.h, LAME_LIBS="-lmp3lame")
477 dnl FIXME : check if these CPP flags can be dealt with otherwise
478 dnl libdvcheck_save_CPPFLAGS="$CPPFLAGS"
479 dnl CPPFLAGS="$CPPFLAGS $GST_CFLAGS"
480 dnl AC_CHECK_HEADER(libdv/dv.h, :, HAVE_LIBDV=no)
481 dnl CPPFLAGS="$libdvcheck_save_CPPFLAGS"
484 dnl FIXME: we could use header checks here as well IMO
485 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
486 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
487 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
493 dnl FIXME: we could use header checks here as well IMO
494 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
495 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
496 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
501 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
502 GST_CHECK_FEATURE(MIKMOD, [mikmod plugin], mikmod, [
503 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
504 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
505 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
508 dnl *** mjpegtools ***
509 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
510 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
511 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
512 AC_SUBST(MJPEGTOOLS_LIBS)
513 AC_SUBST(MJPEGTOOLS_CFLAGS)
517 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
518 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [ GST_CHECK_MPEG2DEC() ])
520 dnl *** openquicktime ***
521 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
522 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
523 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
524 AC_SUBST(OPENQUICKTIME_LIBS)
528 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
529 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
530 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
531 AC_SUBST(RAW1394_LIBS)
535 dnl FIXME : adapt and make it work
536 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
537 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
538 AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
544 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
545 dnl can use GST_* which should have GLIB_* info
546 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
547 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
548 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
549 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
552 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
553 GST_CHECK_FEATURE(SDL, [SDL plugin], sdlvideosink, [
554 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
558 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
559 GST_CHECK_FEATURE(SHOUT, [shout plugin], icecastsend, [
560 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
565 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
566 GST_CHECK_FEATURE(SIDPLAY, [sidplay plugin], sidplay, [
570 dnl *** smoothwave ***
571 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
572 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plugin], smoothwave, [
573 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
577 dnl AM_PATH_VORBIS only takes two options
578 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
579 GST_CHECK_FEATURE(VORBIS, [vorbis plugin], vorbisenc vorbisdec, [
580 AM_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
584 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
585 GST_CHECK_FEATURE(XMMS, [xmms plugin], xmms, [
586 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
589 dnl Check for atomic.h
590 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
591 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
592 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
593 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
594 if test x$HAVE_ATOMIC_H = xyes; then
596 #include "asm/atomic.h"
597 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
600 if test x$HAVE_ATOMIC_H = xyes; then
601 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
607 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
611 dnl ######################################################################
612 dnl # Check command line parameters, and set shell variables accordingly #
613 dnl ######################################################################
615 AC_ARG_ENABLE(libmmx,
616 [ --enable-libmmx use libmmx, if available],
617 [case "${enableval}" in
618 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
620 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
622 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
624 AC_ARG_ENABLE(atomic,
625 [ --enable-atomic use atomic reference counting header],
626 [case "${enableval}" in
627 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
628 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
629 no) USE_ATOMIC_H=no;;
630 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
632 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
634 AC_ARG_ENABLE(profiling,
635 [ --enable-profiling adds -pg to compiler commandline, for profiling],
636 [case "${enableval}" in
637 yes) USE_PROFILING=yes ;;
638 no) UES_PROFILING=no ;;
639 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
641 [USE_PROFILING=no]) dnl Default value
644 [ --disable-tests disable building test apps],
645 [case "${enableval}" in
646 yes) BUILD_TESTS=yes ;;
647 no) BUILD_TESTS=no ;;
648 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
650 [BUILD_TESTS=yes]) dnl Default value
652 AC_ARG_ENABLE(examples,
653 [ --disable-examples disable building examples],
654 [case "${enableval}" in
655 yes) BUILD_EXAMPLES=yes ;;
656 no) BUILD_EXAMPLES=no ;;
657 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
659 [BUILD_EXAMPLES=yes]) dnl Default value
661 dnl ################################################
662 dnl # Set defines according to variables set above #
663 dnl ################################################
666 if test "x$USE_LIBMMX" = xyes; then
667 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
670 if test "x$USE_ATOMIC_H" = xyes; then
671 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
674 dnl if test "x$USE_DEBUG" = xyes; then
675 dnl CFLAGS="$CFLAGS -g"
678 if test "x$USE_PROFILING" = xyes; then
679 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
680 FOMIT_FRAME_POINTER=""
682 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
686 dnl AC_SUBST(FOMIT_FRAME_POINTER)
689 dnl #############################
690 dnl # Set automake conditionals #
691 dnl #############################
693 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
694 dnl HAVE_ and it is likely to be easier to stick with the old name
695 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
696 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
697 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
698 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
699 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
700 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
702 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
704 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
705 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
707 AM_CONDITIONAL(HAVE_LIBMIKMOD, test "x$HAVE_LIBMIKMOD" = "xyes")
708 AM_CONDITIONAL(HAVE_LIBSDL, test "x$HAVE_LIBSDL" = "xyes")
709 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
710 AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
711 AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
712 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
713 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
714 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
715 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
716 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
717 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
718 AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX)
719 AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS)
720 AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC)
721 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
722 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
723 AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
724 AM_CONDITIONAL(HAVE_ARTS, test "x$HAVE_ARTS" = "xyes")
725 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
726 AM_CONDITIONAL(HAVE_LIBDV, test "x$HAVE_LIBDV" = "xyes")
727 AM_CONDITIONAL(HAVE_GNOME_VFS, test "x$HAVE_GNOME_VFS" = "xyes")
728 AM_CONDITIONAL(HAVE_LIBGSM, test "x$HAVE_LIBGSM" = "xyes")
729 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes")
732 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs -Wall"
736 dnl #########################
737 dnl # Make the output files #
738 dnl #########################
743 gstreamer-libs-uninstalled.pc
746 gst/ac3parse/Makefile
748 gst/audioscale/Makefile
753 gst/deinterlace/Makefile
755 gst/intfloat/Makefile
759 gst/mpeg1enc/Makefile
760 gst/mpeg1sys/Makefile
761 gst/mpeg1videoparse/Makefile
762 gst/mpeg2enc/Makefile
763 gst/mpeg2sub/Makefile
764 gst/mpegaudio/Makefile
765 gst/mpegaudioparse/Makefile
766 gst/mpegstream/Makefile
767 gst/mpegtypes/Makefile
768 gst/passthrough/Makefile
769 gst/playondemand/Makefile
774 gst/spectrum/Makefile
777 gst/stereomono/Makefile
778 gst/synaesthesia/Makefile
780 gst/videoscale/Makefile
784 gst/wavparse/Makefile
799 ext/audiofile/Makefile
801 ext/cdparanoia/Makefile
805 ext/festival/Makefile
807 ext/gnomevfs/Makefile
816 ext/mjpegtools/Makefile
817 ext/mpeg2dec/Makefile
818 ext/openquicktime/Makefile
824 ext/smoothwave/Makefile
828 gst-libs/gst/Makefile
829 gst-libs/gst/audio/Makefile
830 gst-libs/gst/idct/Makefile
831 gst-libs/gst/resample/Makefile
832 gst-libs/gst/riff/Makefile
833 examples/capsfilter/Makefile
837 echo -e "configure: *** Plugins that will be built : $GST_PLUGINS_YES"
839 echo -e "configure: *** Plugins that will not be built : $GST_PLUGINS_NO"