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, 7, 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)
78 AC_MSG_NOTICE(not building experimental plug-ins)
83 dnl broken plug-ins; stuff that doesn't seem to build at the moment
84 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
85 HAVE_BROKEN=yes,disabled,
87 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
95 AC_MSG_NOTICE([not building broken plug-ins])
98 dnl ##############################
99 dnl # Do automated configuration #
100 dnl ##############################
105 dnl allow for different autotools
106 AS_AUTOTOOLS_ALTERNATE()
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 gconftool-2
125 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
126 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
127 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
128 if test x$GCONFTOOL = xno; then
129 AC_MSG_WARN(Not installing GConf schemas)
135 AC_SUBST(HAVE_GCONFTOOL)
138 dnl check for GConf libraries
139 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
140 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
141 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
142 AC_SUBST(GCONF_CFLAGS)
146 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
147 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
148 HAVE_GST="yes", HAVE_GST="no")
150 if test "x$HAVE_GST" = "xno"; then
151 AC_MSG_ERROR(no GStreamer found)
154 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
155 if test -z $GST_TOOLS_DIR; then
156 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
158 AC_SUBST(GST_TOOLS_DIR)
160 dnl additional gstcontrol libs
161 GST_CONTROL_LIBS=`pkg-config --variable=gstcontrol_libs gstreamer-$GST_MAJORMINOR`
162 AC_SUBST(GST_CONTROL_LIBS)
164 dnl Set up conditionals for (target) architecture:
165 dnl ==============================================
168 case "x${target_cpu}" in
169 xi?86 | k?) HAVE_CPU_I386=yes
170 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
171 dnl FIXME could use some better detection
173 case "x${target_cpu}" in
175 *) AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
177 xpowerpc) HAVE_CPU_PPC=yes
178 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
179 xalpha) HAVE_CPU_ALPHA=yes
180 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
181 xarm*) HAVE_CPU_ARM=yes
182 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
183 xsparc*) HAVE_CPU_SPARC=yes
184 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
185 xmips*) HAVE_CPU_MIPS=yes
186 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
187 xhppa*) HAVE_CPU_HPPA=yes
188 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
191 dnl Determine endianness
194 dnl Check for fast float to int casting as defined in C99
198 dnl Check for essential libraries first:
199 dnl ====================================
202 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
203 GTK_CFLAGS=$GTK2_CFLAGS
209 dnl Check for X11 extensions
211 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
212 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
216 AC_SUBST(X_EXTRA_LIBS)
219 dnl ===========================================================================
220 dnl ============================= gst plug-ins ================================
221 dnl ===========================================================================
223 GST_PLUGIN_LDFLAGS='-module -avoid-version'
224 AC_SUBST(GST_PLUGIN_LDFLAGS)
226 dnl these are all the gst plug-ins, compilable without additional libs
228 ac3parse adder audioscale auparse avi asfdemux cdxaparse chart\
229 cutter deinterlace effectv festival filter flx goom\
231 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
232 mpegaudio mpegaudioparse mpegstream mpegtypes\
233 monoscope oneton passthrough playondemand qtdemux rtjpeg silence sine\
234 smooth smpte spectrum speed stereo stereomono synaesthesia\
235 udp vbidec videocrop videoscale videotestsrc volenv volume\
236 vumeter wavenc wavparse y4m"
238 dnl see if we can build C++ plug-ins
239 if test "x$HAVE_CXX" = "xyes"; then
240 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
243 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
246 AC_SUBST(GST_PLUGINS_ALL)
248 GST_PLUGINS_SELECTED=""
251 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
252 [for i in `echo $withval | tr , ' '`; do
253 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
254 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
256 echo "plug-in $i not recognized, ignoring..."
259 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
261 AC_SUBST(GST_PLUGINS_SELECTED)
263 dnl ==========================================================================
264 dnl ============================= sys plug-ins ================================
265 dnl ==========================================================================
267 dnl *** DXR3 card ***
268 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
269 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
270 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
273 dnl *** OSS audio ***
274 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
275 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
276 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
280 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
281 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
282 dnl this one is for hadess, no qcam when no nasm found
283 if test "x$HAVE_NASM" = "xno";
286 AC_MSG_WARN([QuickCam needs nasm])
292 dnl *** Video 4 Linux ***
293 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
294 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
295 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
298 dnl *** Video 4 Linux 2***
299 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
300 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
301 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
305 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
306 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
307 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
311 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
312 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
313 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
316 dnl *** CDROM Audio ***
317 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
318 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
319 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
320 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
321 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
323 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
325 *-sun-* | *-*-linux*)
326 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
329 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
331 *-*-netbsd* | *-*-openbsd*)
332 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
333 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
336 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
337 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
340 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
351 dnl Look for the PIC library first, Debian requires it.
352 dnl Check debian-devel archives for gory details.
354 dnl At the moment XFree86 doesn't distribute shared libXv due
355 dnl to unstable API. On many platforms you CAN NOT link a shared
356 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
357 dnl plug-in wants to do. So Debian distributes a PIC compiled
358 dnl version of the static lib for plug-ins to link to when it is
359 dnl inappropriate to link the main application to libXv directly.
360 dnl FIXME: add check if this platform can support linking to a
361 dnl non-PIC libXv, if not then don not use Xv.
362 dnl FIXME: perhaps warn user if they have a shared libXv since
363 dnl this is an error until XFree86 starts shipping one
364 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
366 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink, [
367 dnl use X_CFLAGS for check
371 dnl check for PIC static lib
372 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")
373 if test x$HAVE_XVIDEO = xno; then
374 dnl PIC lib not found, check for regular lib
375 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
377 AC_SUBST(XVIDEO_LIBS)
383 dnl Next, check for the optional libraries:
384 dnl These are all libraries used in building plug-ins
385 dnl ================================================
386 dnl let's try and sort them alphabetically, shall we ?
388 if test "x$BUILD_EXTERNAL" = "xyes"; then
390 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
393 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
394 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
395 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
399 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
400 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
401 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
402 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
406 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
407 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
408 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
412 dnl if mcopidl can't be found there's no use in compiling it
413 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
414 if test "xHAVE_MCOPIDL" = "xno";
419 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
420 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
421 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
425 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
426 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
430 dnl *** audiofile ***
431 dnl this check uses the GST_CHECK_CONFIGPROG macro
432 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
433 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
434 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
435 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
436 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
437 dnl we need this function
438 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
442 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
443 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
444 if test "x$no_x" = "xyes"; then
445 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
447 if test "x$HAVE_CXX" != "xyes"; then
448 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
453 dnl *** CDParanoia ***
454 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
455 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
456 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
459 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
461 FOUND_CDPARANOIA="yes")
462 if test "x$FOUND_CDPARANOIA" != "xyes";
464 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
466 cdda/cdda_interface.h,
467 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
469 FOUND_CDPARANOIA="yes")
471 if test "x$HEADER_DIR" = "xyes";
473 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
474 defined if cdda headers are in a cdda/ directory)
476 AC_SUBST(CDPARANOIA_LIBS)
478 dnl FIXME : add second check somehow if that is necessary
479 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
480 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
483 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
484 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
485 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
486 AC_SUBST(DVDREAD_LIBS)
490 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
491 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
492 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
493 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
494 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
495 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
499 translit(dnm, m, l) AM_CONDITIONAL(USE_MAS, true)
500 GST_CHECK_FEATURE(MAS, [mas library], massink, [
501 translit(dnm, m, l) AC_SUBST(MAS_LIBS)
502 translit(dnm, m, l) AC_SUBST(MAS_CFLAGS)
503 GST_CHECK_CONFIGPROG(MAS, mas-config)
504 AS_SCRUB_INCLUDE(MAS_CFLAGS)
508 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
509 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
510 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
511 AS_SCRUB_INCLUDE(ESD_CFLAGS)
514 dnl **** festival ****
515 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
516 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
517 dnl NOTE: just using local net connection now, add this lib check
518 dnl in the future if needed
519 dnl AC_LANG_PUSH(C++)
520 dnl dnl FIXME: took out func to check for
521 dnl dnl This check puts festival_tidy_up in extern "C".
522 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
523 dnl dnl mangling C++ nonsense and symbols can't resolve
524 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
525 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
527 dnl AC_SUBST(FESTIVAL_LIBS)
528 dnl HAVE_FESTIVAL=yes
532 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
533 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
534 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
539 translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
540 GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
541 # only slurp in the case where we are in CVS mode;
542 # prerelease and release should get it disted
543 if test "x$GST_PLUGINS_VERSION_NANO" = x1; then
544 AC_MSG_NOTICE(slurping FFmpeg CVS source)
545 AS_SLURP_FFMPEG(gst-libs/ext/ffmpeg, 2002-12-14 12:00 GMT,
546 HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
548 AC_MSG_NOTICE(FFmpeg CVS code should be included already)
551 # we only bother with uninstalled (included) ffmpeg for now
552 AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED, 1,
553 [defined if we use uninstalled ffmpeg])
556 dnl *** Gnome VFS ***
557 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
558 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
559 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
560 AC_SUBST(GNOME_VFS_CFLAGS)
561 AC_SUBST(GNOME_VFS_LIBS)
565 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
566 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
567 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
568 if test $HAVE_GSM != "yes"; then
569 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
570 if test $HAVE_GSM = "yes"; then
571 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
578 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
579 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
580 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
581 ], AC_SUBST(HERMES_LIBS))
584 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
585 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
586 dnl FIXME: need to check for header
588 GST_HTTPSRC_GET_TYPE=
589 if test x$USE_GLIB2 = xyes; then
590 AC_MSG_WARN(ghttp disabled for glib2.0)
592 AC_CHECK_LIB(ghttp, ghttp_request_new,
594 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
599 AC_SUBST(GST_HTTPSRC_GET_TYPE)
603 dnl AM_PATH_IVORBIS only takes two options
604 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
605 GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
606 XIPH_PATH_IVORBIS(HAVE_IVORBIS=yes, HAVE_IVORBIS=no)
607 AS_SCRUB_INCLUDE(IVORBIS_CFLAGS)
611 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
612 GST_CHECK_FEATURE(JACK, Jack, jack, [
613 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
614 AC_SUBST(JACK_CFLAGS)
619 dnl FIXME: we could use header checks here as well IMO
620 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
621 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
622 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
628 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
629 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
630 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
634 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
635 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
636 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
640 dnl *** libcolorspace ***
641 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
642 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
643 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
649 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
650 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
651 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
652 AC_SUBST(LIBDV_CFLAGS)
657 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
658 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
659 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
660 AC_SUBST(LIBFAME_CFLAGS)
661 AC_SUBST(LIBFAME_LIBS)
665 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
666 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
667 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
668 AC_SUBST(LIBPNG_CFLAGS)
669 AC_SUBST(LIBPNG_LIBS)
674 dnl FIXME: we could use header checks here as well IMO
675 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
676 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
677 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
678 if test "x$HAVE_MAD" = "xyes"; then
679 # installed with mad >= 0.14
683 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
690 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
691 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
692 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
693 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
694 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
697 dnl *** mjpegtools ***
698 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
699 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
700 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
702 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
703 dnl some headers we might want to need
704 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
705 if [ test x$HAVE_STDINT_H = x"no" ]; then
706 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
707 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
708 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
711 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
713 dnl sizeof PRId64 etc...
715 AC_CHECK_SIZEOF(long)
716 AC_CHECK_SIZEOF(long long)
719 PRID64_STRING_FORMAT="d"
722 PRID64_STRING_FORMAT="ld"
724 $ac_cv_sizeof_long_long)
725 PRID64_STRING_FORMAT="lld"
728 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
733 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
734 [ A printf type definition for 64 bit integers ])
735 AC_SUBST(MJPEGTOOLS_LIBS)
736 AC_SUBST(MJPEGTOOLS_CFLAGS)
741 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
742 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
743 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
744 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
745 AC_SUBST(MPEG2DEC_CFLAGS)
746 AC_SUBST(MPEG2DEC_LIBS)
749 dnl *** openquicktime ***
750 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
751 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
752 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
753 AC_SUBST(OPENQUICKTIME_LIBS)
757 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
758 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
759 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
760 AC_SUBST(RAW1394_LIBS)
764 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
765 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
766 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
770 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
771 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
772 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
777 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
778 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
779 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
780 AC_SUBST(SHOUT2_CFLAGS)
781 AC_SUBST(SHOUT2_LIBS)
785 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
786 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
790 dnl *** smoothwave ***
791 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
792 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
793 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
798 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
799 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
800 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
801 AC_SUBST(LIBPNG_LIBS)
805 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
806 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
807 PKG_CHECK_MODULES(SWFDEC, swfdec >= 0.1.3.1, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
808 AC_SUBST(SWFDEC_CFLAGS)
809 AC_SUBST(SWFDEC_LIBS)
813 dnl for now the sources are included in the plug-in
814 dnl and should be moved to ext-libs/ perhaps
815 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
816 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
821 dnl AM_PATH_VORBIS only takes two options
822 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
823 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
824 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
825 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
829 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
830 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
831 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
834 fi dnl of EXT plugins
836 dnl Check for atomic.h
837 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
838 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
839 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
840 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
841 if test x$HAVE_ATOMIC_H = xyes; then
843 #include "asm/atomic.h"
844 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
847 if test x$HAVE_ATOMIC_H = xyes; then
848 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
854 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
859 dnl ######################################################################
860 dnl # Check command line parameters, and set shell variables accordingly #
861 dnl ######################################################################
865 AC_ARG_ENABLE(libmmx,
866 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
867 [case "${enableval}" in
868 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
870 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
872 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
874 AC_ARG_ENABLE(atomic,
875 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
876 [case "${enableval}" in
877 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
878 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
879 no) USE_ATOMIC_H=no;;
880 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
882 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
884 AC_ARG_ENABLE(profiling,
885 AC_HELP_STRING([--enable-profiling],
886 [-pg to compiler commandline, for profiling]),
887 [case "${enableval}" in
888 yes) USE_PROFILING=yes ;;
889 no) UES_PROFILING=no ;;
890 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
892 [USE_PROFILING=no]) dnl Default value
895 AC_HELP_STRING([--disable-tests],[disable building test apps]),
896 [case "${enableval}" in
897 yes) BUILD_TESTS=yes ;;
898 no) BUILD_TESTS=no ;;
899 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
901 [BUILD_TESTS=yes]) dnl Default value
903 AC_ARG_ENABLE(examples,
904 AC_HELP_STRING([--disable-examples],[disable building examples]),
905 [case "${enableval}" in
906 yes) BUILD_EXAMPLES=yes ;;
907 no) BUILD_EXAMPLES=no ;;
908 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
910 [BUILD_EXAMPLES=yes]) dnl Default value
912 dnl seeking needs freetype, so check for it here
913 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
914 dnl make the HAVE_FT2 variable available to automake and Makefile.am
915 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
919 dnl ################################################
920 dnl # Set defines according to variables set above #
921 dnl ################################################
924 if test "x$USE_LIBMMX" = xyes; then
925 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
928 if test "x$USE_ATOMIC_H" = xyes; then
929 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
932 # do not use deprecated stuff
933 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
935 if test "x$USE_DEBUG" = xyes; then
936 GST_CFLAGS="$GST_CFLAGS -g"
939 if test "x$USE_PROFILING" = xyes; then
940 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
941 FOMIT_FRAME_POINTER=""
943 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
947 dnl AC_SUBST(FOMIT_FRAME_POINTER)
950 dnl #############################
951 dnl # Set automake conditionals #
952 dnl #############################
954 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
955 dnl HAVE_ and it is likely to be easier to stick with the old name
956 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
957 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
958 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
959 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
960 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
961 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
963 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
965 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
966 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
968 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
969 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
970 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
971 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
972 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
973 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
974 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
975 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
976 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
977 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
979 dnl prefer internal headers to already installed ones
980 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
985 dnl ###########################
986 dnl # Configure external libs #
987 dnl ###########################
988 if test "x$HAVE_FFMPEG" = xyes; then
989 AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg/ffmpeg)
992 dnl #########################
993 dnl # Make the output files #
994 dnl #########################
999 gstreamer-libs-uninstalled.pc
1001 gstreamer-play-uninstalled.pc
1004 gst/ac3parse/Makefile
1006 gst/audioscale/Makefile
1007 gst/auparse/Makefile
1009 gst/asfdemux/Makefile
1010 gst/cdxaparse/Makefile
1013 gst/deinterlace/Makefile
1014 gst/effectv/Makefile
1015 gst/festival/Makefile
1019 gst/intfloat/Makefile
1023 gst/mixmatrix/Makefile
1024 gst/mpeg1enc/Makefile
1025 gst/mpeg1sys/Makefile
1026 gst/mpeg1videoparse/Makefile
1027 gst/mpeg2enc/Makefile
1028 gst/mpeg2sub/Makefile
1029 gst/mpegaudio/Makefile
1030 gst/mpegaudioparse/Makefile
1031 gst/mpegstream/Makefile
1032 gst/mpegtypes/Makefile
1033 gst/modplug/Makefile
1034 gst/modplug/libmodplug/Makefile
1035 gst/monoscope/Makefile
1037 gst/passthrough/Makefile
1038 gst/playondemand/Makefile
1039 gst/qtdemux/Makefile
1042 gst/silence/Makefile
1046 gst/spectrum/Makefile
1049 gst/stereomono/Makefile
1050 gst/synaesthesia/Makefile
1053 gst/videoscale/Makefile
1054 gst/videotestsrc/Makefile
1055 gst/videocrop/Makefile
1058 gst/vumeter/Makefile
1060 gst/wavparse/Makefile
1078 ext/audiofile/Makefile
1079 ext/avifile/Makefile
1080 ext/cdparanoia/Makefile
1082 ext/dvdread/Makefile
1087 ext/gnomevfs/Makefile
1095 ext/ivorbis/Makefile
1097 ext/libfame/Makefile
1102 ext/mjpegtools/Makefile
1103 ext/mpeg2dec/Makefile
1104 ext/openquicktime/Makefile
1105 ext/raw1394/Makefile
1109 ext/sidplay/Makefile
1110 ext/smoothwave/Makefile
1111 ext/snapshot/Makefile
1117 gst-libs/gst/Makefile
1118 gst-libs/gst/audio/Makefile
1119 gst-libs/gst/floatcast/Makefile
1120 gst-libs/gst/gconf/Makefile
1121 gst-libs/gst/idct/Makefile
1122 gst-libs/gst/media-info/Makefile
1123 gst-libs/gst/play/Makefile
1124 gst-libs/gst/resample/Makefile
1125 gst-libs/gst/riff/Makefile
1126 gst-libs/gst/video/Makefile
1127 gst-libs/ext/Makefile
1128 gst-libs/ext/ffmpeg/Makefile
1129 examples/dynparams/Makefile
1130 examples/capsfilter/Makefile
1131 examples/seeking/Makefile
1132 examples/indexing/Makefile
1134 testsuite/autoplug/Makefile
1135 testsuite/spider/Makefile
1142 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1144 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1146 if test "x$BUILD_EXTERNAL" = "xno"; then
1147 echo "configure: *** No external plug-ins will be built"