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
210 dnl Check for X11 extensions
212 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
213 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
217 AC_SUBST(X_EXTRA_LIBS)
220 dnl ===========================================================================
221 dnl ============================= gst plug-ins ================================
222 dnl ===========================================================================
224 GST_PLUGIN_LDFLAGS='-module -avoid-version'
225 AC_SUBST(GST_PLUGIN_LDFLAGS)
227 dnl these are all the gst plug-ins, compilable without additional libs
229 ac3parse adder audioscale auparse avi cdxaparse chart\
230 cutter deinterlace effectv festival filter flx goom\
232 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
233 mpegaudio mpegaudioparse mpegstream mpegtypes\
234 monoscope passthrough playondemand qtdemux rtjpeg silence sine\
235 smooth smpte spectrum speed stereo stereomono synaesthesia\
236 udp videocrop videoscale videotestsrc volenv volume\
237 vumeter wavenc wavparse y4m"
239 dnl see if we can build C++ plug-ins
240 if test "x$HAVE_CXX" = "xyes"; then
241 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
244 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
247 AC_SUBST(GST_PLUGINS_ALL)
249 GST_PLUGINS_SELECTED=""
252 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
253 [for i in `echo $withval | tr , ' '`; do
254 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
255 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
257 echo "plug-in $i not recognized, ignoring..."
260 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
262 AC_SUBST(GST_PLUGINS_SELECTED)
264 dnl ==========================================================================
265 dnl ============================= sys plug-ins ================================
266 dnl ==========================================================================
268 dnl *** DXR3 card ***
269 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
270 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
271 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
274 dnl *** OSS audio ***
275 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
276 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
277 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
281 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
282 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
283 dnl this one is for hadess, no qcam when no nasm found
284 if test "x$HAVE_NASM" = "xno";
287 AC_MSG_WARN([QuickCam needs nasm])
293 dnl *** Video 4 Linux ***
294 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
295 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
296 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
299 dnl *** Video 4 Linux 2***
300 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
301 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
302 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
306 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
307 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
308 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
312 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
313 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
314 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
317 dnl *** CDROM Audio ***
318 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
319 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
320 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
321 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
322 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
324 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
326 *-sun-* | *-*-linux*)
327 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
330 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
332 *-*-netbsd* | *-*-openbsd*)
333 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
334 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
337 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
338 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
341 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
352 dnl Look for the PIC library first, Debian requires it.
353 dnl Check debian-devel archives for gory details.
355 dnl At the moment XFree86 doesn't distribute shared libXv due
356 dnl to unstable API. On many platforms you CAN NOT link a shared
357 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
358 dnl plug-in wants to do. So Debian distributes a PIC compiled
359 dnl version of the static lib for plug-ins to link to when it is
360 dnl inappropriate to link the main application to libXv directly.
361 dnl FIXME: add check if this platform can support linking to a
362 dnl non-PIC libXv, if not then don not use Xv.
363 dnl FIXME: perhaps warn user if they have a shared libXv since
364 dnl this is an error until XFree86 starts shipping one
365 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
366 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
367 dnl check for PIC static lib
368 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")
369 if test x$HAVE_XVIDEO = xno; then
370 dnl PIC lib not found, check for regular lib
371 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
373 AC_SUBST(XVIDEO_LIBS)
376 dnl Next, check for the optional libraries:
377 dnl These are all libraries used in building plug-ins
378 dnl ================================================
379 dnl let's try and sort them alphabetically, shall we ?
381 if test "x$BUILD_EXTERNAL" = "xyes"; then
383 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
386 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
387 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
388 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
392 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
393 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
394 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
395 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
399 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
400 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
401 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
405 dnl if mcopidl can't be found there's no use in compiling it
406 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
407 if test "xHAVE_MCOPIDL" = "xno";
412 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
413 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
414 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
418 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
419 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
423 dnl *** audiofile ***
424 dnl this check uses the GST_CHECK_CONFIGPROG macro
425 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
426 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
427 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
428 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
429 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
430 dnl we need this function
431 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
435 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
436 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
437 if test "x$no_x" = "xyes"; then
438 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
440 if test "x$HAVE_CXX" != "xyes"; then
441 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
446 dnl *** CDParanoia ***
447 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
448 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
449 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
452 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
454 FOUND_CDPARANOIA="yes")
455 if test "x$FOUND_CDPARANOIA" != "xyes";
457 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
459 cdda/cdda_interface.h,
460 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
462 FOUND_CDPARANOIA="yes")
464 if test "x$HEADER_DIR" = "xyes";
466 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
467 defined if cdda headers are in a cdda/ directory)
469 AC_SUBST(CDPARANOIA_LIBS)
471 dnl FIXME : add second check somehow if that is necessary
472 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
473 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
476 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
477 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
478 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
479 AC_SUBST(DVDREAD_LIBS)
483 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
484 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
485 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
486 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
487 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
488 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
492 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
493 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
494 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
495 AS_SCRUB_INCLUDE(ESD_CFLAGS)
498 dnl **** festival ****
499 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
500 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
501 dnl NOTE: just using local net connection now, add this lib check
502 dnl in the future if needed
503 dnl AC_LANG_PUSH(C++)
504 dnl dnl FIXME: took out func to check for
505 dnl dnl This check puts festival_tidy_up in extern "C".
506 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
507 dnl dnl mangling C++ nonsense and symbols can't resolve
508 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
509 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
511 dnl AC_SUBST(FESTIVAL_LIBS)
512 dnl HAVE_FESTIVAL=yes
516 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
517 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
518 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
523 translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
524 GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
525 AM_PATH_FFMPEG(0.4.6, HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
528 dnl *** Gnome VFS ***
529 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
530 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
531 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
532 AC_SUBST(GNOME_VFS_CFLAGS)
533 AC_SUBST(GNOME_VFS_LIBS)
537 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
538 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
539 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
540 if test $HAVE_GSM != "yes"; then
541 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
542 if test $HAVE_GSM = "yes"; then
543 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
550 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
551 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
552 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
553 ], AC_SUBST(HERMES_LIBS))
556 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
557 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
558 dnl FIXME: need to check for header
560 GST_HTTPSRC_GET_TYPE=
561 if test x$USE_GLIB2 = xyes; then
562 AC_MSG_WARN(ghttp disabled for glib2.0)
564 AC_CHECK_LIB(ghttp, ghttp_request_new,
566 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
571 AC_SUBST(GST_HTTPSRC_GET_TYPE)
575 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
576 GST_CHECK_FEATURE(JACK, Jack, jack, [
577 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
578 AC_SUBST(JACK_CFLAGS)
583 dnl FIXME: we could use header checks here as well IMO
584 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
585 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
586 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
592 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
593 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
594 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
598 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
599 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
600 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
604 dnl *** libcolorspace ***
605 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
606 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
607 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
613 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
614 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
615 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
616 AC_SUBST(LIBDV_CFLAGS)
621 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
622 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
623 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
624 AC_SUBST(LIBFAME_CFLAGS)
625 AC_SUBST(LIBFAME_LIBS)
629 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
630 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
631 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
632 AC_SUBST(LIBPNG_CFLAGS)
633 AC_SUBST(LIBPNG_LIBS)
638 dnl FIXME: we could use header checks here as well IMO
639 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
640 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
641 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
642 if test "x$HAVE_MAD" = "xyes"; then
643 # installed with mad >= 0.14
647 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
654 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
655 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
656 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
657 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
658 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
661 dnl *** mjpegtools ***
662 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
663 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
664 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
666 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
667 dnl some headers we might want to need
668 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
669 if [ test x$HAVE_STDINT_H = x"no" ]; then
670 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
671 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
672 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
675 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
677 dnl sizeof PRId64 etc...
679 AC_CHECK_SIZEOF(long)
680 AC_CHECK_SIZEOF(long long)
683 PRID64_STRING_FORMAT="d"
686 PRID64_STRING_FORMAT="ld"
688 $ac_cv_sizeof_long_long)
689 PRID64_STRING_FORMAT="lld"
692 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
697 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
698 [ A printf type definition for 64 bit integers ])
699 AC_SUBST(MJPEGTOOLS_LIBS)
700 AC_SUBST(MJPEGTOOLS_CFLAGS)
705 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
706 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
707 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.0,
708 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
709 AC_SUBST(MPEG2DEC_CFLAGS)
710 AC_SUBST(MPEG2DEC_LIBS)
713 dnl *** openquicktime ***
714 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
715 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
716 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
717 AC_SUBST(OPENQUICKTIME_LIBS)
721 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
722 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
723 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
724 AC_SUBST(RAW1394_LIBS)
728 dnl FIXME : adapt and make it work
729 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
730 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
731 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
736 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
737 dnl can use GST_* which should have GLIB_* info
738 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
739 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
740 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
741 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
744 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
745 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
746 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
750 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
751 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
752 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
757 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
758 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
759 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
760 AC_SUBST(SHOUT2_CFLAGS)
761 AC_SUBST(SHOUT2_LIBS)
765 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
766 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
770 dnl *** smoothwave ***
771 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
772 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
773 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
778 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
779 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
780 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
781 AC_SUBST(LIBPNG_LIBS)
785 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
786 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
787 PKG_CHECK_MODULES(SWFDEC, swfdec, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
788 AC_SUBST(SWFDEC_CFLAGS)
789 AC_SUBST(SWFDEC_LIBS)
793 dnl for now the sources are included in the plug-in
794 dnl and should be moved to ext-libs/ perhaps
795 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
796 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
801 dnl AM_PATH_VORBIS only takes two options
802 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
803 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
804 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
805 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
809 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
810 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
811 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
814 fi dnl of EXT plugins
816 dnl Check for atomic.h
817 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
818 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
819 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
820 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
821 if test x$HAVE_ATOMIC_H = xyes; then
823 #include "asm/atomic.h"
824 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
827 if test x$HAVE_ATOMIC_H = xyes; then
828 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
834 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
839 dnl ######################################################################
840 dnl # Check command line parameters, and set shell variables accordingly #
841 dnl ######################################################################
845 AC_ARG_ENABLE(libmmx,
846 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
847 [case "${enableval}" in
848 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
850 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
852 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
854 AC_ARG_ENABLE(atomic,
855 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
856 [case "${enableval}" in
857 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
858 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
859 no) USE_ATOMIC_H=no;;
860 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
862 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
864 AC_ARG_ENABLE(profiling,
865 AC_HELP_STRING([--enable-profiling],
866 [-pg to compiler commandline, for profiling]),
867 [case "${enableval}" in
868 yes) USE_PROFILING=yes ;;
869 no) UES_PROFILING=no ;;
870 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
872 [USE_PROFILING=no]) dnl Default value
875 AC_HELP_STRING([--disable-tests],[disable building test apps]),
876 [case "${enableval}" in
877 yes) BUILD_TESTS=yes ;;
878 no) BUILD_TESTS=no ;;
879 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
881 [BUILD_TESTS=yes]) dnl Default value
883 AC_ARG_ENABLE(examples,
884 AC_HELP_STRING([--disable-examples],[disable building examples]),
885 [case "${enableval}" in
886 yes) BUILD_EXAMPLES=yes ;;
887 no) BUILD_EXAMPLES=no ;;
888 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
890 [BUILD_EXAMPLES=yes]) dnl Default value
892 dnl seeking needs freetype, so check for it here
893 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
894 dnl make the HAVE_FT2 variable available to automake and Makefile.am
895 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
899 dnl ################################################
900 dnl # Set defines according to variables set above #
901 dnl ################################################
904 if test "x$USE_LIBMMX" = xyes; then
905 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
908 if test "x$USE_ATOMIC_H" = xyes; then
909 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
912 if test "x$USE_DEBUG" = xyes; then
913 GST_CFLAGS="$GST_CFLAGS -g"
916 if test "x$USE_PROFILING" = xyes; then
917 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
918 FOMIT_FRAME_POINTER=""
920 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
924 dnl AC_SUBST(FOMIT_FRAME_POINTER)
927 dnl #############################
928 dnl # Set automake conditionals #
929 dnl #############################
931 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
932 dnl HAVE_ and it is likely to be easier to stick with the old name
933 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
934 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
935 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
936 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
937 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
938 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
940 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
942 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
943 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
945 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
946 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
947 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
948 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
949 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
950 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
951 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
952 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
953 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
954 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
956 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs $GST_ERROR"
960 dnl #########################
961 dnl # Make the output files #
962 dnl #########################
967 gstreamer-libs-uninstalled.pc
969 gstreamer-play-uninstalled.pc
972 gst/ac3parse/Makefile
974 gst/audioscale/Makefile
977 gst/cdxaparse/Makefile
980 gst/deinterlace/Makefile
982 gst/festival/Makefile
986 gst/intfloat/Makefile
990 gst/mixmatrix/Makefile
991 gst/mpeg1enc/Makefile
992 gst/mpeg1sys/Makefile
993 gst/mpeg1videoparse/Makefile
994 gst/mpeg2enc/Makefile
995 gst/mpeg2sub/Makefile
996 gst/mpegaudio/Makefile
997 gst/mpegaudioparse/Makefile
998 gst/mpegstream/Makefile
999 gst/mpegtypes/Makefile
1000 gst/modplug/Makefile
1001 gst/modplug/libmodplug/Makefile
1002 gst/monoscope/Makefile
1003 gst/passthrough/Makefile
1004 gst/playondemand/Makefile
1005 gst/qtdemux/Makefile
1007 gst/silence/Makefile
1011 gst/spectrum/Makefile
1014 gst/stereomono/Makefile
1015 gst/synaesthesia/Makefile
1017 gst/videoscale/Makefile
1018 gst/videotestsrc/Makefile
1019 gst/videocrop/Makefile
1022 gst/vumeter/Makefile
1024 gst/wavparse/Makefile
1036 sys/videosink/Makefile
1043 ext/audiofile/Makefile
1044 ext/avifile/Makefile
1045 ext/cdparanoia/Makefile
1047 ext/dvdread/Makefile
1052 ext/gnomevfs/Makefile
1061 ext/libfame/Makefile
1065 ext/mjpegtools/Makefile
1066 ext/mpeg2dec/Makefile
1067 ext/openquicktime/Makefile
1068 ext/raw1394/Makefile
1073 ext/sidplay/Makefile
1074 ext/smoothwave/Makefile
1075 ext/snapshot/Makefile
1081 gst-libs/gst/Makefile
1082 gst-libs/gst/audio/Makefile
1083 gst-libs/gst/floatcast/Makefile
1084 gst-libs/gst/gconf/Makefile
1085 gst-libs/gst/idct/Makefile
1086 gst-libs/gst/media-info/Makefile
1087 gst-libs/gst/play/Makefile
1088 gst-libs/gst/resample/Makefile
1089 gst-libs/gst/riff/Makefile
1090 gst-libs/gst/video/Makefile
1091 examples/dynparams/Makefile
1092 examples/capsfilter/Makefile
1093 examples/seeking/Makefile
1094 examples/indexing/Makefile
1096 testsuite/autoplug/Makefile
1097 testsuite/spider/Makefile
1105 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1107 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1109 if test "x$BUILD_EXTERNAL" = "xno"; then
1110 echo "configure: *** No external plug-ins will be built"