1 dnl autoconf configuration file for gst-plugins
3 AC_CANONICAL_TARGET([])
5 dnl We disable static building for development, for time savings
6 dnl this goes before AS_LIBTOOL to appease autoconf
7 dnl *NOTE*: dnl this line before release, so release does static too
10 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
13 dnl when going to/from release please set the nano (fourth number) right !
14 dnl releases only do Wall, cvs and prerelease does Werror too
15 AS_VERSION(gst-plugins, GST_PLUGINS_VERSION, 0, 5, 0, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
16 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
18 dnl our libraries and install dirs use major.minor as a version
19 GST_MAJORMINOR=$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
20 AC_SUBST(GST_MAJORMINOR)
22 dnl CURRENT, REVISION, AGE
23 dnl - library source changed -> increment REVISION
24 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
25 dnl - interfaces added -> increment AGE
26 dnl - interfaces removed -> AGE = 0
27 AS_LIBTOOL(GST_PLUGINS, 1, 0, 0)
29 dnl FIXME take something else ?
30 AC_CONFIG_SRCDIR([gst/law/alaw.c])
31 AM_CONFIG_HEADER(config.h)
33 dnl Add parameters for aclocal
34 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
35 ACLOCAL_FLAGS="-I m4 -I common/m4"
36 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
42 dnl determine c++ compiler
44 dnl determine if c++ is available on this system
45 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
46 dnl determine c++ preprocessor
52 dnl ############################################
53 dnl # Super Duper options for plug-in building #
54 dnl ############################################
56 dnl ext plug-ins; plug-ins that have external dependencies
57 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
58 [HAVE_EXTERNAL=yes],enabled,
60 AC_MSG_WARN(building external plug-ins)
63 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
66 # make BUILD_EXTERNAL available to Makefile.am
67 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
69 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
70 dnl read 'builds, but might not work'UTO
71 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
72 [HAVE_EXPERIMENTAL=yes],disabled,
74 AC_MSG_WARN(building experimental plug-ins)
79 AC_MSG_NOTICE(not building experimental plug-ins)
85 dnl broken plug-ins; stuff that doesn't seem to build at the moment
86 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
87 HAVE_BROKEN=yes,disabled,
89 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
97 AC_MSG_NOTICE([not building broken plug-ins])
100 dnl ##############################
101 dnl # Do automated configuration #
102 dnl ##############################
107 dnl allow for different autotools
108 AS_AUTOTOOLS_ALTERNATE()
110 dnl modify pkg-config path
111 AC_ARG_WITH(pkg-config-path,
112 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
113 [export PKG_CONFIG_PATH=${withval}])
116 AC_PATH_PROG(NASM_PATH, nasm, no)
118 if test x$NASM_PATH = xno; then
119 AC_MSG_WARN(Couldn't find nasm)
122 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
126 dnl check for gconftool-2
127 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
128 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
129 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
130 if test x$GCONFTOOL = xno; then
131 AC_MSG_WARN(Not installing GConf schemas)
137 AC_SUBST(HAVE_GCONFTOOL)
140 dnl check for GConf libraries
141 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
142 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
143 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
144 AC_SUBST(GCONF_CFLAGS)
148 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
149 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
150 HAVE_GST="yes", HAVE_GST="no")
152 if test "x$HAVE_GST" = "xno"; then
153 AC_MSG_ERROR(no GStreamer found)
156 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
157 if test -z $GST_TOOLS_DIR; then
158 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
160 AC_SUBST(GST_TOOLS_DIR)
162 dnl additional gstcontrol libs
163 GST_CONTROL_LIBS=`pkg-config --variable=gstcontrol_libs gstreamer-$GST_MAJORMINOR`
164 AC_SUBST(GST_CONTROL_LIBS)
166 dnl Set up conditionals for (target) architecture:
167 dnl ==============================================
170 case "x${target_cpu}" in
171 xi?86 | k?) HAVE_CPU_I386=yes
172 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
173 dnl FIXME could use some better detection
175 case "x${target_cpu}" in
177 *) AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
179 xpowerpc) HAVE_CPU_PPC=yes
180 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
181 xalpha) HAVE_CPU_ALPHA=yes
182 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
183 xarm*) HAVE_CPU_ARM=yes
184 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
185 xsparc*) HAVE_CPU_SPARC=yes
186 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
187 xmips*) HAVE_CPU_MIPS=yes
188 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
189 xhppa*) HAVE_CPU_HPPA=yes
190 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
193 dnl Determine endianness
196 dnl Check for fast float to int casting as defined in C99
200 dnl Check for essential libraries first:
201 dnl ====================================
204 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
205 GTK_CFLAGS=$GTK2_CFLAGS
211 dnl Check for X11 extensions
213 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
214 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
218 AC_SUBST(X_EXTRA_LIBS)
221 dnl ===========================================================================
222 dnl ============================= gst plug-ins ================================
223 dnl ===========================================================================
225 GST_PLUGIN_LDFLAGS='-module -avoid-version'
226 AC_SUBST(GST_PLUGIN_LDFLAGS)
228 dnl these are all the gst plug-ins, compilable without additional libs
230 ac3parse adder audioscale auparse avi cdxaparse chart\
231 cutter deinterlace effectv festival filter flx goom\
233 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
234 mpegaudio mpegaudioparse mpegstream mpegtypes\
235 monoscope oneton passthrough playondemand qtdemux rtjpeg silence sine\
236 smooth smpte spectrum speed stereo stereomono synaesthesia\
237 udp vbidec videocrop videoscale videotestsrc volenv volume\
238 vumeter wavenc wavparse y4m"
240 dnl see if we can build C++ plug-ins
241 if test "x$HAVE_CXX" = "xyes"; then
242 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
245 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
248 AC_SUBST(GST_PLUGINS_ALL)
250 GST_PLUGINS_SELECTED=""
253 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
254 [for i in `echo $withval | tr , ' '`; do
255 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
256 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
258 echo "plug-in $i not recognized, ignoring..."
261 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
263 AC_SUBST(GST_PLUGINS_SELECTED)
265 dnl ==========================================================================
266 dnl ============================= sys plug-ins ================================
267 dnl ==========================================================================
269 dnl *** DXR3 card ***
270 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
271 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
272 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
275 dnl *** OSS audio ***
276 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
277 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
278 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
282 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
283 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
284 dnl this one is for hadess, no qcam when no nasm found
285 if test "x$HAVE_NASM" = "xno";
288 AC_MSG_WARN([QuickCam needs nasm])
294 dnl *** Video 4 Linux ***
295 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
296 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
297 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
300 dnl *** Video 4 Linux 2***
301 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
302 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
303 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
307 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
308 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
309 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
313 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
314 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
315 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
318 dnl *** CDROM Audio ***
319 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
320 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
321 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
322 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
323 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
325 if test "${ac_cv_header_linux_cdrom_h}" = "yes" || test "${ac_cv_header_sys_cdio_h}" = "yes" || test "${ac_cv_header_dmedia_cdaudio_h}" = "yes"; then
327 *-sun-* | *-*-linux*)
328 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
331 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
333 *-*-netbsd* | *-*-openbsd*)
334 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
335 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
338 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
339 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
342 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
353 dnl Look for the PIC library first, Debian requires it.
354 dnl Check debian-devel archives for gory details.
356 dnl At the moment XFree86 doesn't distribute shared libXv due
357 dnl to unstable API. On many platforms you CAN NOT link a shared
358 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
359 dnl plug-in wants to do. So Debian distributes a PIC compiled
360 dnl version of the static lib for plug-ins to link to when it is
361 dnl inappropriate to link the main application to libXv directly.
362 dnl FIXME: add check if this platform can support linking to a
363 dnl non-PIC libXv, if not then don not use Xv.
364 dnl FIXME: perhaps warn user if they have a shared libXv since
365 dnl this is an error until XFree86 starts shipping one
366 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
367 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
368 dnl check for PIC static lib
369 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")
370 if test x$HAVE_XVIDEO = xno; then
371 dnl PIC lib not found, check for regular lib
372 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
374 AC_SUBST(XVIDEO_LIBS)
377 dnl Next, check for the optional libraries:
378 dnl These are all libraries used in building plug-ins
379 dnl ================================================
380 dnl let's try and sort them alphabetically, shall we ?
382 if test "x$BUILD_EXTERNAL" = "xyes"; then
384 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
387 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
388 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
389 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
393 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
394 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
395 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
396 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
400 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
401 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
402 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
406 dnl if mcopidl can't be found there's no use in compiling it
407 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
408 if test "xHAVE_MCOPIDL" = "xno";
413 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
414 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
415 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
419 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
420 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
424 dnl *** audiofile ***
425 dnl this check uses the GST_CHECK_CONFIGPROG macro
426 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
427 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
428 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
429 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
430 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
431 dnl we need this function
432 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
436 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
437 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
438 if test "x$no_x" = "xyes"; then
439 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
441 if test "x$HAVE_CXX" != "xyes"; then
442 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
447 dnl *** CDParanoia ***
448 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
449 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
450 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
453 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
455 FOUND_CDPARANOIA="yes")
456 if test "x$FOUND_CDPARANOIA" != "xyes";
458 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
460 cdda/cdda_interface.h,
461 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
463 FOUND_CDPARANOIA="yes")
465 if test "x$HEADER_DIR" = "xyes";
467 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
468 defined if cdda headers are in a cdda/ directory)
470 AC_SUBST(CDPARANOIA_LIBS)
472 dnl FIXME : add second check somehow if that is necessary
473 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
474 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
477 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
478 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
479 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
480 AC_SUBST(DVDREAD_LIBS)
484 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
485 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
486 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
487 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
488 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
489 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
493 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
494 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
495 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
496 AS_SCRUB_INCLUDE(ESD_CFLAGS)
499 dnl **** festival ****
500 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
501 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
502 dnl NOTE: just using local net connection now, add this lib check
503 dnl in the future if needed
504 dnl AC_LANG_PUSH(C++)
505 dnl dnl FIXME: took out func to check for
506 dnl dnl This check puts festival_tidy_up in extern "C".
507 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
508 dnl dnl mangling C++ nonsense and symbols can't resolve
509 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
510 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
512 dnl AC_SUBST(FESTIVAL_LIBS)
513 dnl HAVE_FESTIVAL=yes
517 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
518 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
519 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
524 translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
525 GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
526 # only slurp in the case where we are in CVS mode;
527 # prerelease and release should get it disted
528 if test "x$GST_PLUGINS_VERSION_NANO" = x1; then
529 AC_MSG_NOTICE(slurping FFmpeg CVS source)
530 AS_SLURP_FFMPEG(gst-libs/ext/ffmpeg, 2002-12-14 12:00 GMT,
531 HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
532 AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED, 1,
533 [defined if we use uninstalled ffmpeg])
535 AC_MSG_NOTICE(FFmpeg CVS code should be included already)
540 dnl *** Gnome VFS ***
541 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
542 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
543 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
544 AC_SUBST(GNOME_VFS_CFLAGS)
545 AC_SUBST(GNOME_VFS_LIBS)
549 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
550 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
551 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
552 if test $HAVE_GSM != "yes"; then
553 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
554 if test $HAVE_GSM = "yes"; then
555 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
562 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
563 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
564 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
565 ], AC_SUBST(HERMES_LIBS))
568 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
569 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
570 dnl FIXME: need to check for header
572 GST_HTTPSRC_GET_TYPE=
573 if test x$USE_GLIB2 = xyes; then
574 AC_MSG_WARN(ghttp disabled for glib2.0)
576 AC_CHECK_LIB(ghttp, ghttp_request_new,
578 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
583 AC_SUBST(GST_HTTPSRC_GET_TYPE)
587 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
588 GST_CHECK_FEATURE(JACK, Jack, jack, [
589 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
590 AC_SUBST(JACK_CFLAGS)
595 dnl FIXME: we could use header checks here as well IMO
596 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
597 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
598 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
604 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
605 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
606 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
610 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
611 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
612 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
616 dnl *** libcolorspace ***
617 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
618 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
619 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
625 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
626 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
627 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
628 AC_SUBST(LIBDV_CFLAGS)
633 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
634 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
635 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
636 AC_SUBST(LIBFAME_CFLAGS)
637 AC_SUBST(LIBFAME_LIBS)
641 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
642 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
643 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
644 AC_SUBST(LIBPNG_CFLAGS)
645 AC_SUBST(LIBPNG_LIBS)
650 dnl FIXME: we could use header checks here as well IMO
651 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
652 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
653 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
654 if test "x$HAVE_MAD" = "xyes"; then
655 # installed with mad >= 0.14
659 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
666 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
667 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
668 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
669 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
670 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
673 dnl *** mjpegtools ***
674 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
675 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
676 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
678 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
679 dnl some headers we might want to need
680 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
681 if [ test x$HAVE_STDINT_H = x"no" ]; then
682 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
683 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
684 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
687 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
689 dnl sizeof PRId64 etc...
691 AC_CHECK_SIZEOF(long)
692 AC_CHECK_SIZEOF(long long)
695 PRID64_STRING_FORMAT="d"
698 PRID64_STRING_FORMAT="ld"
700 $ac_cv_sizeof_long_long)
701 PRID64_STRING_FORMAT="lld"
704 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
709 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
710 [ A printf type definition for 64 bit integers ])
711 AC_SUBST(MJPEGTOOLS_LIBS)
712 AC_SUBST(MJPEGTOOLS_CFLAGS)
717 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
718 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
719 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
720 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
721 AC_SUBST(MPEG2DEC_CFLAGS)
722 AC_SUBST(MPEG2DEC_LIBS)
725 dnl *** openquicktime ***
726 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
727 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
728 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
729 AC_SUBST(OPENQUICKTIME_LIBS)
733 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
734 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
735 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
736 AC_SUBST(RAW1394_LIBS)
740 dnl FIXME : adapt and make it work
741 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
742 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
743 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
748 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
749 dnl can use GST_* which should have GLIB_* info
750 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
751 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
752 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
753 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
756 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
757 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
758 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
762 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
763 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
764 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
769 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
770 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
771 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
772 AC_SUBST(SHOUT2_CFLAGS)
773 AC_SUBST(SHOUT2_LIBS)
777 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
778 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
782 dnl *** smoothwave ***
783 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
784 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
785 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
790 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
791 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
792 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
793 AC_SUBST(LIBPNG_LIBS)
797 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
798 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
799 PKG_CHECK_MODULES(SWFDEC, swfdec, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
800 AC_SUBST(SWFDEC_CFLAGS)
801 AC_SUBST(SWFDEC_LIBS)
805 dnl for now the sources are included in the plug-in
806 dnl and should be moved to ext-libs/ perhaps
807 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
808 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
813 dnl AM_PATH_VORBIS only takes two options
814 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
815 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
816 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
817 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
821 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
822 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
823 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
826 fi dnl of EXT plugins
828 dnl Check for atomic.h
829 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
830 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
831 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
832 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
833 if test x$HAVE_ATOMIC_H = xyes; then
835 #include "asm/atomic.h"
836 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
839 if test x$HAVE_ATOMIC_H = xyes; then
840 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
846 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
851 dnl ######################################################################
852 dnl # Check command line parameters, and set shell variables accordingly #
853 dnl ######################################################################
857 AC_ARG_ENABLE(libmmx,
858 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
859 [case "${enableval}" in
860 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
862 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
864 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
866 AC_ARG_ENABLE(atomic,
867 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
868 [case "${enableval}" in
869 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
870 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
871 no) USE_ATOMIC_H=no;;
872 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
874 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
876 AC_ARG_ENABLE(profiling,
877 AC_HELP_STRING([--enable-profiling],
878 [-pg to compiler commandline, for profiling]),
879 [case "${enableval}" in
880 yes) USE_PROFILING=yes ;;
881 no) UES_PROFILING=no ;;
882 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
884 [USE_PROFILING=no]) dnl Default value
887 AC_HELP_STRING([--disable-tests],[disable building test apps]),
888 [case "${enableval}" in
889 yes) BUILD_TESTS=yes ;;
890 no) BUILD_TESTS=no ;;
891 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
893 [BUILD_TESTS=yes]) dnl Default value
895 AC_ARG_ENABLE(examples,
896 AC_HELP_STRING([--disable-examples],[disable building examples]),
897 [case "${enableval}" in
898 yes) BUILD_EXAMPLES=yes ;;
899 no) BUILD_EXAMPLES=no ;;
900 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
902 [BUILD_EXAMPLES=yes]) dnl Default value
904 dnl seeking needs freetype, so check for it here
905 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
906 dnl make the HAVE_FT2 variable available to automake and Makefile.am
907 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
911 dnl ################################################
912 dnl # Set defines according to variables set above #
913 dnl ################################################
916 if test "x$USE_LIBMMX" = xyes; then
917 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
920 if test "x$USE_ATOMIC_H" = xyes; then
921 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
924 if test "x$USE_DEBUG" = xyes; then
925 GST_CFLAGS="$GST_CFLAGS -g"
928 if test "x$USE_PROFILING" = xyes; then
929 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
930 FOMIT_FRAME_POINTER=""
932 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
936 dnl AC_SUBST(FOMIT_FRAME_POINTER)
939 dnl #############################
940 dnl # Set automake conditionals #
941 dnl #############################
943 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
944 dnl HAVE_ and it is likely to be easier to stick with the old name
945 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
946 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
947 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
948 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
949 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
950 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
952 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
954 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
955 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
957 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
958 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
959 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
960 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
961 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
962 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
963 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
964 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
965 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
966 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
968 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs $GST_ERROR"
972 dnl ###########################
973 dnl # Configure external libs #
974 dnl ###########################
975 if test "x$HAVE_FFMPEG" = xyes; then
976 AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg/ffmpeg)
979 dnl #########################
980 dnl # Make the output files #
981 dnl #########################
986 gstreamer-libs-uninstalled.pc
988 gstreamer-play-uninstalled.pc
991 gst/ac3parse/Makefile
993 gst/audioscale/Makefile
996 gst/cdxaparse/Makefile
999 gst/deinterlace/Makefile
1000 gst/effectv/Makefile
1001 gst/festival/Makefile
1005 gst/intfloat/Makefile
1009 gst/mixmatrix/Makefile
1010 gst/mpeg1enc/Makefile
1011 gst/mpeg1sys/Makefile
1012 gst/mpeg1videoparse/Makefile
1013 gst/mpeg2enc/Makefile
1014 gst/mpeg2sub/Makefile
1015 gst/mpegaudio/Makefile
1016 gst/mpegaudioparse/Makefile
1017 gst/mpegstream/Makefile
1018 gst/mpegtypes/Makefile
1019 gst/modplug/Makefile
1020 gst/modplug/libmodplug/Makefile
1021 gst/monoscope/Makefile
1023 gst/passthrough/Makefile
1024 gst/playondemand/Makefile
1025 gst/qtdemux/Makefile
1027 gst/silence/Makefile
1031 gst/spectrum/Makefile
1034 gst/stereomono/Makefile
1035 gst/synaesthesia/Makefile
1038 gst/videoscale/Makefile
1039 gst/videotestsrc/Makefile
1040 gst/videocrop/Makefile
1043 gst/vumeter/Makefile
1045 gst/wavparse/Makefile
1057 sys/videosink/Makefile
1064 ext/audiofile/Makefile
1065 ext/avifile/Makefile
1066 ext/cdparanoia/Makefile
1068 ext/dvdread/Makefile
1073 ext/gnomevfs/Makefile
1082 ext/libfame/Makefile
1086 ext/mjpegtools/Makefile
1087 ext/mpeg2dec/Makefile
1088 ext/openquicktime/Makefile
1089 ext/raw1394/Makefile
1094 ext/sidplay/Makefile
1095 ext/smoothwave/Makefile
1096 ext/snapshot/Makefile
1102 gst-libs/gst/Makefile
1103 gst-libs/gst/audio/Makefile
1104 gst-libs/gst/floatcast/Makefile
1105 gst-libs/gst/gconf/Makefile
1106 gst-libs/gst/idct/Makefile
1107 gst-libs/gst/media-info/Makefile
1108 gst-libs/gst/play/Makefile
1109 gst-libs/gst/resample/Makefile
1110 gst-libs/gst/riff/Makefile
1111 gst-libs/gst/video/Makefile
1112 gst-libs/ext/Makefile
1113 gst-libs/ext/ffmpeg/Makefile
1114 examples/dynparams/Makefile
1115 examples/capsfilter/Makefile
1116 examples/seeking/Makefile
1117 examples/indexing/Makefile
1119 testsuite/autoplug/Makefile
1120 testsuite/spider/Makefile
1127 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1129 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1131 if test "x$BUILD_EXTERNAL" = "xno"; then
1132 echo "configure: *** No external plug-ins will be built"