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, 4, 2, 1, GST_ERROR="-Wall", GST_ERROR="-Wall -Werror")
16 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
17 AS_LIBTOOL(GST_PLUGINS, 0, 0, 0, yes)
19 dnl FIXME take something else ?
20 AC_CONFIG_SRCDIR([gst/law/alaw.c])
21 AM_CONFIG_HEADER(config.h)
23 dnl Add parameters for aclocal
24 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
25 ACLOCAL_FLAGS="-I m4 -I common/m4"
26 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
32 dnl determine c++ compiler
34 dnl determine if c++ is available on this system
35 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
36 dnl determine c++ preprocessor
42 dnl ############################################
43 dnl # Super Duper options for plug-in building #
44 dnl ############################################
46 dnl ext plug-ins; plug-ins that have external dependencies
47 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
48 [HAVE_EXTERNAL=yes],enabled,
50 AC_MSG_WARN(building external plug-ins)
53 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
56 # make BUILD_EXTERNAL available to Makefile.am
57 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
59 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
60 dnl read 'builds, but might not work'UTO
61 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
62 [HAVE_EXPERIMENTAL=yes],disabled,
64 AC_MSG_WARN(building experimental plug-ins)
69 AC_MSG_NOTICE(not building experimental plug-ins)
75 dnl broken plug-ins; stuff that doesn't seem to build at the moment
76 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
77 HAVE_BROKEN=yes,disabled,
79 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
87 AC_MSG_NOTICE([not building broken plug-ins])
90 dnl ##############################
91 dnl # Do automated configuration #
92 dnl ##############################
97 dnl allow for different autotools
98 AS_AUTOTOOLS_ALTERNATE()
100 dnl modify pkg-config path
101 AC_ARG_WITH(pkg-config-path,
102 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
103 [export PKG_CONFIG_PATH=${withval}])
106 AC_PATH_PROG(NASM_PATH, nasm, no)
108 if test x$NASM_PATH = xno; then
109 AC_MSG_WARN(Couldn't find nasm)
112 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
116 dnl check for gconftool-2
117 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
118 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
119 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
120 if test x$GCONFTOOL = xno; then
121 AC_MSG_WARN(Not installing GConf schemas)
127 AC_SUBST(HAVE_GCONFTOOL)
130 dnl check for GConf libraries
131 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
132 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
133 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
134 AC_SUBST(GCONF_CFLAGS)
138 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
139 PKG_CHECK_MODULES(GST, gstreamer >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
140 HAVE_GST="yes", HAVE_GST="no")
142 if test "x$HAVE_GST" = "xno"; then
143 AC_MSG_ERROR(no GStreamer found)
146 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer`
147 if test -z $GST_TOOLS_DIR; then
148 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
150 AC_SUBST(GST_TOOLS_DIR)
152 dnl Set up conditionals for (target) architecture:
153 dnl ==============================================
156 case "x${target_cpu}" in
157 xi?86 | k?) HAVE_CPU_I386=yes
158 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
159 dnl FIXME could use some better detection
161 case "x${target_cpu}" in
163 *) AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
165 xpowerpc) HAVE_CPU_PPC=yes
166 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
167 xalpha) HAVE_CPU_ALPHA=yes
168 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
169 xarm*) HAVE_CPU_ARM=yes
170 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
171 xsparc*) HAVE_CPU_SPARC=yes
172 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
173 xmips*) HAVE_CPU_MIPS=yes
174 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
175 xhppa*) HAVE_CPU_HPPA=yes
176 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
179 dnl Determine endianness
182 dnl Check for fast float to int casting as defined in C99
186 dnl Check for essential libraries first:
187 dnl ====================================
190 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK=yes, HAVE_GTK=no)
191 GTK_CFLAGS=$GTK2_CFLAGS
196 dnl Check for X11 extensions
198 if test "-DX_DISPLAY_MISSING" = "$X_CFLAGS"; then
199 AC_MSG_NOTICE([cannot find X11, the build system needs fixage])
203 AC_SUBST(X_EXTRA_LIBS)
206 dnl ===========================================================================
207 dnl ============================= gst plug-ins ================================
208 dnl ===========================================================================
210 GST_PLUGIN_LDFLAGS='-module -avoid-version'
211 AC_SUBST(GST_PLUGIN_LDFLAGS)
213 dnl these are all the gst plug-ins, compilable without additional libs
215 ac3parse adder audioscale auparse avi cdxaparse chart\
216 cutter deinterlace effectv festival filter flx goom\
218 median mixmatrix mpeg1enc mpeg1sys mpeg1videoparse mpeg2enc mpeg2sub\
219 mpegaudio mpegaudioparse mpegstream mpegtypes\
220 monoscope passthrough playondemand qtdemux rtjpeg silence sine\
221 smooth smpte spectrum speed stereo stereomono synaesthesia\
222 udp videocrop videoscale videotestsrc volenv volume\
223 vumeter wavenc wavparse y4m"
225 dnl see if we can build C++ plug-ins
226 if test "x$HAVE_CXX" = "xyes"; then
227 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
230 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
233 AC_SUBST(GST_PLUGINS_ALL)
235 GST_PLUGINS_SELECTED=""
238 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
239 [for i in `echo $withval | tr , ' '`; do
240 if test -n `echo $i | grep $GST_PLUGINS_ALL`; then
241 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
243 echo "plug-in $i not recognized, ignoring..."
246 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
248 AC_SUBST(GST_PLUGINS_SELECTED)
250 dnl ==========================================================================
251 dnl ============================= sys plug-ins ================================
252 dnl ==========================================================================
254 dnl *** DXR3 card ***
255 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
256 GST_CHECK_FEATURE(DXR3, [DXR3 hardware mpeg video decoder], dxr3videosink, [
257 AC_CHECK_HEADER(linux/em8300.h, HAVE_DXR3="yes", HAVE_DXR3="no")
260 dnl *** OSS audio ***
261 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
262 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
263 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
267 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
268 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
269 dnl this one is for hadess, no qcam when no nasm found
270 if test "x$HAVE_NASM" = "xno";
273 AC_MSG_WARN([QuickCam needs nasm])
279 dnl *** Video 4 Linux ***
280 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
281 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
282 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
285 dnl *** Video 4 Linux 2***
286 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
287 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
288 AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
292 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
293 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
294 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
298 translit(dnm, m, l) AM_CONDITIONAL(USE_VGA, true)
299 GST_CHECK_FEATURE(VGA, [VGA], vgavideosink, [
300 AC_CHECK_HEADER(asm/vga.h, HAVE_VGA="yes", HAVE_VGA="no")
303 dnl *** CDROM Audio ***
304 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
305 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
306 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
307 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
308 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
310 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
312 *-sun-* | *-*-linux*)
313 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
316 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
318 *-*-netbsd* | *-*-openbsd*)
319 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
320 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
323 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
324 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
327 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
338 dnl Look for the PIC library first, Debian requires it.
339 dnl Check debian-devel archives for gory details.
341 dnl At the moment XFree86 doesn't distribute shared libXv due
342 dnl to unstable API. On many platforms you CAN NOT link a shared
343 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
344 dnl plug-in wants to do. So Debian distributes a PIC compiled
345 dnl version of the static lib for plug-ins to link to when it is
346 dnl inappropriate to link the main application to libXv directly.
347 dnl FIXME: add check if this platform can support linking to a
348 dnl non-PIC libXv, if not then don not use Xv.
349 dnl FIXME: perhaps warn user if they have a shared libXv since
350 dnl this is an error until XFree86 starts shipping one
351 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
352 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions], xvideosink videosink, [
353 dnl check for PIC static lib
354 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")
355 if test x$HAVE_XVIDEO = xno; then
356 dnl PIC lib not found, check for regular lib
357 GST_CHECK_LIBHEADER(XVIDEO, Xv, XvQueryExtension, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS, X11/extensions/Xvlib.h, XVIDEO_LIBS="-lXv -lXext")
359 AC_SUBST(XVIDEO_LIBS)
362 dnl Next, check for the optional libraries:
363 dnl These are all libraries used in building plug-ins
364 dnl ================================================
365 dnl let's try and sort them alphabetically, shall we ?
367 if test "x$BUILD_EXTERNAL" = "xyes"; then
369 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
372 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
373 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
374 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
378 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
379 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
380 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
381 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
385 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
386 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
387 AM_PATH_ALSA(0.9.0, HAVE_ALSA=yes, HAVE_ALSA=no)
391 dnl if mcopidl can't be found there's no use in compiling it
392 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
393 if test "xHAVE_MCOPIDL" = "xno";
398 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
399 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
400 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
404 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
405 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
409 dnl *** audiofile ***
410 dnl this check uses the GST_CHECK_CONFIGPROG macro
411 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
412 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
413 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
414 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
415 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
416 dnl we need this function
417 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
421 translit(dnm, m, l) AM_CONDITIONAL(USE_AVIFILE, true)
422 GST_CHECK_FEATURE(AVIFILE, [avifile], winenc windec, [
423 if test "x$no_x" = "xyes"; then
424 AC_MSG_WARN([No X libraries found, avifile test might fail compilation])
426 if test "x$HAVE_CXX" != "xyes"; then
427 AC_MSG_WARN([No C++ compiler found, avifile test will fail compilation])
432 dnl *** CDParanoia ***
433 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
434 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
435 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
438 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
440 FOUND_CDPARANOIA="yes")
441 if test "x$FOUND_CDPARANOIA" != "xyes";
443 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
445 cdda/cdda_interface.h,
446 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
448 FOUND_CDPARANOIA="yes")
450 if test "x$HEADER_DIR" = "xyes";
452 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
453 defined if cdda headers are in a cdda/ directory)
455 AC_SUBST(CDPARANOIA_LIBS)
457 dnl FIXME : add second check somehow if that is necessary
458 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
459 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
462 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
463 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
464 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
465 AC_SUBST(LIBDV_CFLAGS)
470 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
471 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
472 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
473 AC_SUBST(DVDREAD_LIBS)
477 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
478 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
479 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
480 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
481 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
482 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
486 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
487 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
488 AM_PATH_ESD(0.2.12, HAVE_ESD=yes, HAVE_ESD=no)
491 dnl **** festival ****
492 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
493 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
494 dnl NOTE: just using local net connection now, add this lib check
495 dnl in the future if needed
496 dnl AC_LANG_PUSH(C++)
497 dnl dnl FIXME: took out func to check for
498 dnl dnl This check puts festival_tidy_up in extern "C".
499 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
500 dnl dnl mangling C++ nonsense and symbols can't resolve
501 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
502 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
504 dnl AC_SUBST(FESTIVAL_LIBS)
505 dnl HAVE_FESTIVAL=yes
509 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
510 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
511 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_decoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
515 dnl *** Gnome VFS ***
516 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
517 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
518 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
519 AC_SUBST(GNOME_VFS_CFLAGS)
520 AC_SUBST(GNOME_VFS_LIBS)
524 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
525 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
526 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
527 if test $HAVE_GSM != "yes"; then
528 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
529 if test $HAVE_GSM = "yes"; then
530 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
537 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
538 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
539 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
540 ], AC_SUBST(HERMES_LIBS))
543 translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
544 GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
545 dnl FIXME: need to check for header
547 GST_HTTPSRC_GET_TYPE=
548 if test x$USE_GLIB2 = xyes; then
549 AC_MSG_WARN(ghttp disabled for glib2.0)
551 AC_CHECK_LIB(ghttp, ghttp_request_new,
553 GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
558 AC_SUBST(GST_HTTPSRC_GET_TYPE)
562 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
563 GST_CHECK_FEATURE(JACK, Jack, jack, [
564 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
565 AC_SUBST(JACK_CFLAGS)
570 dnl FIXME: we could use header checks here as well IMO
571 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
572 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
573 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
579 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
580 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
581 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
585 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
586 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
587 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
591 dnl *** libcolorspace ***
592 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
593 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
594 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
600 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
601 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
602 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
603 AC_SUBST(LIBFAME_CFLAGS)
604 AC_SUBST(LIBFAME_LIBS)
608 dnl FIXME: we could use header checks here as well IMO
609 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
610 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
611 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
612 if test "x$HAVE_MAD" = "xyes"; then
613 # installed with mad >= 0.14
617 AC_CHECK_LIB(id3tag, id3_tag_query, HAVE_MAD="yes" MAD_LIBS="$MAD_LIBS -lid3tag")
624 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
625 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
626 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
627 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
628 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
631 dnl *** mjpegtools ***
632 translit(dnm, m, l) AM_CONDITIONAL(USE_MJPEGTOOLS, true)
633 GST_CHECK_FEATURE(MJPEGTOOLS, [mjpegtools], jpegmmxenc jpegmmxdec, [
634 PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools, HAVE_MJPEGTOOLS="yes", HAVE_MJPEGTOOLS="no")
636 if [ test x$HAVE_MJPEGTOOLS = x"yes" ]; then
637 dnl some headers we might want to need
638 AC_CHECK_HEADERS(stdint.h, HAVE_STDINT_H="yes", HAVE_STDINT_H="no")
639 if [ test x$HAVE_STDINT_H = x"no" ]; then
640 AC_CHECK_HEADERS(inttypes.h sys/types.h, HAVE_INTTYPES_H="yes", [
641 AC_MSG_WARN(No valid header files found, mjpegtools plugins disabled)
642 HAVE_INTTYPES_H="no" HAVE_MJPEGTOOLS="no"
645 AC_CHECK_HEADERS(stdbool.h, HAVE_STDBOOL_H="yes", HAVE_STDBOOL_H="no")
647 dnl sizeof PRId64 etc...
649 AC_CHECK_SIZEOF(long)
650 AC_CHECK_SIZEOF(long long)
653 PRID64_STRING_FORMAT="d"
656 PRID64_STRING_FORMAT="ld"
658 $ac_cv_sizeof_long_long)
659 PRID64_STRING_FORMAT="lld"
662 AC_MSG_WARN(No suitable variant for 64bits integers found, mjpegtools plugins disabled)
667 AC_DEFINE_UNQUOTED(PRID64_STRING_FORMAT, "$PRID64_STRING_FORMAT",
668 [ A printf type definition for 64 bit integers ])
669 AC_SUBST(MJPEGTOOLS_LIBS)
670 AC_SUBST(MJPEGTOOLS_CFLAGS)
675 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
676 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
677 AC_CHECK_MPEG2DEC(HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no)
680 dnl *** openquicktime ***
681 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENQUICKTIME, true)
682 GST_CHECK_FEATURE(OPENQUICKTIME, [Open Quicktime], quicktime_parser quicktime_decoder quicktime_demux,[
683 GST_CHECK_LIBHEADER(OPENQUICKTIME, openquicktime, quicktime_init,, openquicktime/openquicktime.h, OPENQUICKTIME_LIBS="-lopenquicktime")
684 AC_SUBST(OPENQUICKTIME_LIBS)
688 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
689 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
690 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_get_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-raw1394")
691 AC_SUBST(RAW1394_LIBS)
695 dnl FIXME : adapt and make it work
696 translit(dnm, m, l) AM_CONDITIONAL(USE_RTP, true)
697 GST_CHECK_FEATURE(RTP, [RTP library], rtpenc rtpdec,[
698 AC_CHECK_LIB(ortp, ortp_init, HAVE_RTP=yes, HAVE_RTP=no, $GST_CFLAGS $GST_LIBS)
703 dnl FIXME header check needs to use GLIB_CFLAGS in order to succeed for rtp
704 dnl can use GST_* which should have GLIB_* info
705 dnl AC_CHECK_HEADERS(rtp/rtp.h, HAVE_LIBRTP=yes, HAVE_LIBRTP=no)
706 dnl AC_CHECK_HEADERS(rtp/rtp-packet.h, :, HAVE_LIBRTP=no)
707 dnl AC_CHECK_HEADERS(rtp/rtcp-packet.h, :, HAVE_LIBRTP=no)
708 dnl AC_CHECK_HEADERS(rtp/rtp-audio.h, :, HAVE_LIBRTP=no)
711 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
712 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
713 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
717 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
718 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
719 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
724 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
725 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
726 AM_PATH_SHOUT2(HAVE_SHOUT2=yes, HAVE_SHOUT2=no)
727 AC_SUBST(SHOUT2_CFLAGS)
728 AC_SUBST(SHOUT2_LIBS)
732 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
733 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
737 dnl *** smoothwave ***
738 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
739 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
740 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
745 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
746 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
747 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
748 AC_SUBST(LIBPNG_LIBS)
752 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
753 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
754 PKG_CHECK_MODULES(SWFDEC, swfdec, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
755 AC_SUBST(SWFDEC_CFLAGS)
756 AC_SUBST(SWFDEC_LIBS)
760 dnl for now the sources are included in the plug-in
761 dnl and should be moved to ext-libs/ perhaps
762 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
763 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
768 dnl AM_PATH_VORBIS only takes two options
769 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
770 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
771 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
772 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
776 translit(dnm, m, l) AM_CONDITIONAL(USE_XMMS, true)
777 GST_CHECK_FEATURE(XMMS, [xmms plug-in], xmms, [
778 AM_PATH_XMMS(0.1.0, HAVE_XMMS=yes, HAVE_XMMS=no)
781 fi dnl of EXT plugins
783 dnl Check for atomic.h
784 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
785 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
786 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
787 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
788 if test x$HAVE_ATOMIC_H = xyes; then
790 #include "asm/atomic.h"
791 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
794 if test x$HAVE_ATOMIC_H = xyes; then
795 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
801 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
806 dnl ######################################################################
807 dnl # Check command line parameters, and set shell variables accordingly #
808 dnl ######################################################################
812 AC_ARG_ENABLE(libmmx,
813 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
814 [case "${enableval}" in
815 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
817 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
819 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
821 AC_ARG_ENABLE(atomic,
822 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
823 [case "${enableval}" in
824 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
825 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
826 no) USE_ATOMIC_H=no;;
827 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
829 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
831 AC_ARG_ENABLE(profiling,
832 AC_HELP_STRING([--enable-profiling],
833 [-pg to compiler commandline, for profiling]),
834 [case "${enableval}" in
835 yes) USE_PROFILING=yes ;;
836 no) UES_PROFILING=no ;;
837 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
839 [USE_PROFILING=no]) dnl Default value
842 AC_HELP_STRING([--disable-tests],[disable building test apps]),
843 [case "${enableval}" in
844 yes) BUILD_TESTS=yes ;;
845 no) BUILD_TESTS=no ;;
846 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
848 [BUILD_TESTS=yes]) dnl Default value
850 AC_ARG_ENABLE(examples,
851 AC_HELP_STRING([--disable-examples],[disable building examples]),
852 [case "${enableval}" in
853 yes) BUILD_EXAMPLES=yes ;;
854 no) BUILD_EXAMPLES=no ;;
855 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
857 [BUILD_EXAMPLES=yes]) dnl Default value
859 dnl seeking needs freetype, so check for it here
860 AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no)
861 dnl make the HAVE_FT2 variable available to automake and Makefile.am
862 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
866 dnl ################################################
867 dnl # Set defines according to variables set above #
868 dnl ################################################
871 if test "x$USE_LIBMMX" = xyes; then
872 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
875 if test "x$USE_ATOMIC_H" = xyes; then
876 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
879 if test "x$USE_DEBUG" = xyes; then
880 GST_CFLAGS="$GST_CFLAGS -g"
883 if test "x$USE_PROFILING" = xyes; then
884 dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
885 FOMIT_FRAME_POINTER=""
887 FOMIT_FRAME_POINTER="-fomit-frame-pointer"
891 dnl AC_SUBST(FOMIT_FRAME_POINTER)
894 dnl #############################
895 dnl # Set automake conditionals #
896 dnl #############################
898 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
899 dnl HAVE_ and it is likely to be easier to stick with the old name
900 AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
901 AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
902 AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
903 AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
904 AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
905 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
907 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
909 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
910 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
912 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
913 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
914 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
915 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
916 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
917 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
918 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
919 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
920 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
921 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
923 GST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir)/gst-libs $GST_ERROR"
927 dnl #########################
928 dnl # Make the output files #
929 dnl #########################
934 gstreamer-libs-uninstalled.pc
936 gstreamer-play-uninstalled.pc
939 gst/ac3parse/Makefile
941 gst/audioscale/Makefile
944 gst/cdxaparse/Makefile
947 gst/deinterlace/Makefile
949 gst/festival/Makefile
953 gst/intfloat/Makefile
957 gst/mixmatrix/Makefile
958 gst/mpeg1enc/Makefile
959 gst/mpeg1sys/Makefile
960 gst/mpeg1videoparse/Makefile
961 gst/mpeg2enc/Makefile
962 gst/mpeg2sub/Makefile
963 gst/mpegaudio/Makefile
964 gst/mpegaudioparse/Makefile
965 gst/mpegstream/Makefile
966 gst/mpegtypes/Makefile
968 gst/modplug/libmodplug/Makefile
969 gst/monoscope/Makefile
970 gst/passthrough/Makefile
971 gst/playondemand/Makefile
978 gst/spectrum/Makefile
981 gst/stereomono/Makefile
982 gst/synaesthesia/Makefile
984 gst/videoscale/Makefile
985 gst/videotestsrc/Makefile
986 gst/videocrop/Makefile
991 gst/wavparse/Makefile
1003 sys/videosink/Makefile
1010 ext/audiofile/Makefile
1011 ext/avifile/Makefile
1012 ext/cdparanoia/Makefile
1014 ext/dvdread/Makefile
1019 ext/gnomevfs/Makefile
1028 ext/libfame/Makefile
1031 ext/mjpegtools/Makefile
1032 ext/mpeg2dec/Makefile
1033 ext/openquicktime/Makefile
1034 ext/raw1394/Makefile
1039 ext/sidplay/Makefile
1040 ext/smoothwave/Makefile
1041 ext/snapshot/Makefile
1047 gst-libs/gst/Makefile
1048 gst-libs/gst/audio/Makefile
1049 gst-libs/gst/floatcast/Makefile
1050 gst-libs/gst/gconf/Makefile
1051 gst-libs/gst/idct/Makefile
1052 gst-libs/gst/media-info/Makefile
1053 gst-libs/gst/play/Makefile
1054 gst-libs/gst/resample/Makefile
1055 gst-libs/gst/riff/Makefile
1056 gst-libs/gst/video/Makefile
1057 examples/dynparams/Makefile
1058 examples/capsfilter/Makefile
1059 examples/seeking/Makefile
1061 testsuite/autoplug/Makefile
1062 testsuite/spider/Makefile
1070 echo -e "configure: *** Plug-ins that will be built : $GST_PLUGINS_YES"
1072 echo -e "configure: *** Plug-ins that will not be built : $GST_PLUGINS_NO"
1074 if test "x$BUILD_EXTERNAL" = "xno"; then
1075 echo "configure: *** No external plug-ins will be built"