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)
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)
368 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
369 dnl use X_CFLAGS for check
373 dnl check for PIC static lib
374 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")
375 if test x$HAVE_XVIDEO = xno; then
376 dnl PIC lib not found, check for regular lib
377 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
379 AC_SUBST(XVIDEO_LIBS)
385 dnl Next, check for the optional libraries:
386 dnl These are all libraries used in building plug-ins
387 dnl ================================================
388 dnl let's try and sort them alphabetically, shall we ?
390 if test "x$BUILD_EXTERNAL" = "xyes"; then
392 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
395 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
396 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
397 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
401 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
402 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
403 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
404 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
408 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
409 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
410 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
414 dnl if mcopidl can't be found there's no use in compiling it
415 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
416 if test "xHAVE_MCOPIDL" = "xno";
421 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
422 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
423 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
427 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
428 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
432 dnl *** audiofile ***
433 dnl this check uses the GST_CHECK_CONFIGPROG macro
434 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
435 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
436 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
437 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
438 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
439 dnl we need this function
440 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
444 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
445 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
446 if test "x$no_x" = "xyes"; then
447 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
449 if test "x$HAVE_CXX" != "xyes"; then
450 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
455 dnl *** CDParanoia ***
456 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
457 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
458 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
461 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
463 FOUND_CDPARANOIA="yes")
464 if test "x$FOUND_CDPARANOIA" != "xyes";
466 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
468 cdda/cdda_interface.h,
469 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
471 FOUND_CDPARANOIA="yes")
473 if test "x$HEADER_DIR" = "xyes";
475 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
476 defined if cdda headers are in a cdda/ directory)
478 AC_SUBST(CDPARANOIA_LIBS)
480 dnl FIXME : add second check somehow if that is necessary
481 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
482 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
485 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
486 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
487 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
488 AC_SUBST(DVDREAD_LIBS)
492 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
493 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
494 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
495 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
496 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
497 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
501 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
502 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
503 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
504 AS_SCRUB_INCLUDE(ESD_CFLAGS)
507 dnl **** festival ****
508 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
509 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
510 dnl NOTE: just using local net connection now, add this lib check
511 dnl in the future if needed
512 dnl AC_LANG_PUSH(C++)
513 dnl dnl FIXME: took out func to check for
514 dnl dnl This check puts festival_tidy_up in extern "C".
515 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
516 dnl dnl mangling C++ nonsense and symbols can't resolve
517 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
518 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
520 dnl AC_SUBST(FESTIVAL_LIBS)
521 dnl HAVE_FESTIVAL=yes
525 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
526 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
527 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
532 translit(dnm, m, l) AM_CONDITIONAL(USE_FFMPEG, true)
533 GST_CHECK_FEATURE(FFMPEG, [ffmpeg plug-ins], ffmpeg, [
534 # only slurp in the case where we are in CVS mode;
535 # prerelease and release should get it disted
536 if test "x$GST_PLUGINS_VERSION_NANO" = x1; then
537 AC_MSG_NOTICE(slurping FFmpeg CVS source)
538 AS_SLURP_FFMPEG(gst-libs/ext/ffmpeg, 2002-12-14 12:00 GMT,
539 HAVE_FFMPEG=yes, HAVE_FFMPEG=no)
541 AC_MSG_NOTICE(FFmpeg CVS code should be included already)
544 # we only bother with uninstalled (included) ffmpeg for now
545 AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED, 1,
546 [defined if we use uninstalled ffmpeg])
549 dnl *** Gnome VFS ***
550 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
551 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
552 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
553 AC_SUBST(GNOME_VFS_CFLAGS)
554 AC_SUBST(GNOME_VFS_LIBS)
558 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
559 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
560 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
561 if test $HAVE_GSM != "yes"; then
562 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
563 if test $HAVE_GSM = "yes"; then
564 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
571 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
572 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
573 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
574 ], AC_SUBST(HERMES_LIBS))
577 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
578 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
579 dnl FIXME: need to check for header
581 GST_HTTPSRC_GET_TYPE=
582 if test x$USE_GLIB2 = xyes; then
583 AC_MSG_WARN(ghttp disabled for glib2.0)
585 AC_CHECK_LIB(ghttp, ghttp_request_new,
587 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
592 AC_SUBST(GST_HTTPSRC_GET_TYPE)
596 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
597 GST_CHECK_FEATURE(JACK, Jack, jack, [
598 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
599 AC_SUBST(JACK_CFLAGS)
604 dnl FIXME: we could use header checks here as well IMO
605 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
606 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
607 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
613 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
614 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
615 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
619 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
620 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
621 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
625 dnl *** libcolorspace ***
626 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
627 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
628 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
634 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
635 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
636 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
637 AC_SUBST(LIBDV_CFLAGS)
642 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
643 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
644 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
645 AC_SUBST(LIBFAME_CFLAGS)
646 AC_SUBST(LIBFAME_LIBS)
650 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
651 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
652 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
653 AC_SUBST(LIBPNG_CFLAGS)
654 AC_SUBST(LIBPNG_LIBS)
659 dnl FIXME: we could use header checks here as well IMO
660 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
661 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
662 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
663 if test "x$HAVE_MAD" = "xyes"; then
664 # installed with mad >= 0.14
668 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
675 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
676 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
677 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
678 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
679 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
682 dnl *** mjpegtools ***
683 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
684 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
685 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
687 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
688 dnl some headers we might want to need
689 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
690 if [ test x$HAVE_STDINT_H = x"no" ]; then
691 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
692 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
693 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
696 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
698 dnl sizeof PRId64 etc...
700 AC_CHECK_SIZEOF(long)
701 AC_CHECK_SIZEOF(long long)
704 PRID64_STRING_FORMAT="d"
707 PRID64_STRING_FORMAT="ld"
709 $ac_cv_sizeof_long_long)
710 PRID64_STRING_FORMAT="lld"
713 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
718 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
719 [ A printf type definition for 64 bit integers ])
720 AC_SUBST(MJPEGTOOLS_LIBS)
721 AC_SUBST(MJPEGTOOLS_CFLAGS)
726 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
727 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
728 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
729 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
730 AC_SUBST(MPEG2DEC_CFLAGS)
731 AC_SUBST(MPEG2DEC_LIBS)
734 dnl *** openquicktime ***
735 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
736 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
737 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
738 AC_SUBST(OPENQUICKTIME_LIBS)
742 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
743 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
744 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
745 AC_SUBST(RAW1394_LIBS)
749 dnl FIXME : adapt and make it work
750 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
751 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
752 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
757 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
758 dnl can use GST_* which should have GLIB_* info
759 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
760 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
761 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
762 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
765 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
766 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
767 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
771 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
772 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
773 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
778 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
779 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
780 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
781 AC_SUBST(SHOUT2_CFLAGS)
782 AC_SUBST(SHOUT2_LIBS)
786 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
787 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
791 dnl *** smoothwave ***
792 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
793 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
794 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
799 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
800 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
801 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
802 AC_SUBST(LIBPNG_LIBS)
806 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
807 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
808 PKG_CHECK_MODULES(SWFDEC, swfdec >= 0.1.3.1, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
809 AC_SUBST(SWFDEC_CFLAGS)
810 AC_SUBST(SWFDEC_LIBS)
814 dnl for now the sources are included in the plug-in
815 dnl and should be moved to ext-libs/ perhaps
816 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
817 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
822 dnl AM_PATH_VORBIS only takes two options
823 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
824 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
825 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
826 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
830 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
831 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
832 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
835 fi dnl of EXT plugins
837 dnl Check for atomic.h
838 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
839 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
840 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
841 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
842 if test x$HAVE_ATOMIC_H = xyes; then
844 #include "asm/atomic.h"
845 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
848 if test x$HAVE_ATOMIC_H = xyes; then
849 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
855 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
860 dnl ######################################################################
861 dnl # Check command line parameters, and set shell variables accordingly #
862 dnl ######################################################################
866 AC_ARG_ENABLE(libmmx,
867 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
868 [case "${enableval}" in
869 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
871 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
873 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
875 AC_ARG_ENABLE(atomic,
876 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
877 [case "${enableval}" in
878 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
879 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
880 no) USE_ATOMIC_H=no;;
881 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
883 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
885 AC_ARG_ENABLE(profiling,
886 AC_HELP_STRING([--enable-profiling],
887 [-pg to compiler commandline, for profiling]),
888 [case "${enableval}" in
889 yes) USE_PROFILING=yes ;;
890 no) UES_PROFILING=no ;;
891 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
893 [USE_PROFILING=no]) dnl Default value
896 AC_HELP_STRING([--disable-tests],[disable building test apps]),
897 [case "${enableval}" in
898 yes) BUILD_TESTS=yes ;;
899 no) BUILD_TESTS=no ;;
900 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
902 [BUILD_TESTS=yes]) dnl Default value
904 AC_ARG_ENABLE(examples,
905 AC_HELP_STRING([--disable-examples],[disable building examples]),
906 [case "${enableval}" in
907 yes) BUILD_EXAMPLES=yes ;;
908 no) BUILD_EXAMPLES=no ;;
909 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
911 [BUILD_EXAMPLES=yes]) dnl Default value
913 dnl seeking needs freetype, so check for it here
914 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
915 dnl make the HAVE_FT2 variable available to automake and Makefile.am
916 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
920 dnl ################################################
921 dnl # Set defines according to variables set above #
922 dnl ################################################
925 if test "x$USE_LIBMMX" = xyes; then
926 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
929 if test "x$USE_ATOMIC_H" = xyes; then
930 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
933 # do not use deprecated stuff
934 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
936 if test "x$USE_DEBUG" = xyes; then
937 GST_CFLAGS="$GST_CFLAGS -g"
940 if test "x$USE_PROFILING" = xyes; then
941 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
942 FOMIT_FRAME_POINTER=""
944 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
948 dnl AC_SUBST(FOMIT_FRAME_POINTER)
951 dnl #############################
952 dnl # Set automake conditionals #
953 dnl #############################
955 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
956 dnl HAVE_ and it is likely to be easier to stick with the old name
957 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
958 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
959 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
960 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
961 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
962 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
964 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
966 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
967 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
969 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
970 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
971 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
972 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
973 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
974 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
975 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
976 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
977 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
978 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
980 dnl prefer internal headers to already installed ones
981 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
986 dnl ###########################
987 dnl # Configure external libs #
988 dnl ###########################
989 if test "x$HAVE_FFMPEG" = xyes; then
990 AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg/ffmpeg)
993 dnl #########################
994 dnl # Make the output files #
995 dnl #########################
1000 gstreamer-libs-uninstalled.pc
1002 gstreamer-play-uninstalled.pc
1005 gst/ac3parse/Makefile
1007 gst/audioscale/Makefile
1008 gst/auparse/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
1041 gst/silence/Makefile
1045 gst/spectrum/Makefile
1048 gst/stereomono/Makefile
1049 gst/synaesthesia/Makefile
1052 gst/videoscale/Makefile
1053 gst/videotestsrc/Makefile
1054 gst/videocrop/Makefile
1057 gst/vumeter/Makefile
1059 gst/wavparse/Makefile
1071 sys/videosink/Makefile
1078 ext/audiofile/Makefile
1079 ext/avifile/Makefile
1080 ext/cdparanoia/Makefile
1082 ext/dvdread/Makefile
1087 ext/gnomevfs/Makefile
1096 ext/libfame/Makefile
1100 ext/mjpegtools/Makefile
1101 ext/mpeg2dec/Makefile
1102 ext/openquicktime/Makefile
1103 ext/raw1394/Makefile
1108 ext/sidplay/Makefile
1109 ext/smoothwave/Makefile
1110 ext/snapshot/Makefile
1116 gst-libs/gst/Makefile
1117 gst-libs/gst/audio/Makefile
1118 gst-libs/gst/floatcast/Makefile
1119 gst-libs/gst/gconf/Makefile
1120 gst-libs/gst/idct/Makefile
1121 gst-libs/gst/media-info/Makefile
1122 gst-libs/gst/play/Makefile
1123 gst-libs/gst/resample/Makefile
1124 gst-libs/gst/riff/Makefile
1125 gst-libs/gst/video/Makefile
1126 gst-libs/ext/Makefile
1127 gst-libs/ext/ffmpeg/Makefile
1128 examples/dynparams/Makefile
1129 examples/capsfilter/Makefile
1130 examples/seeking/Makefile
1131 examples/indexing/Makefile
1133 testsuite/autoplug/Makefile
1134 testsuite/spider/Makefile
1141 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1143 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1145 if test "x$BUILD_EXTERNAL" = "xno"; then
1146 echo "configure: *** No external plug-ins will be built"