1 dnl autoconf configuration file for gst-plugins
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, 8, 7, 1, GST_CVS="no", GST_CVS="yes")
17 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
19 dnl our libraries and install dirs use major.minor as a version
20 GST_MAJORMINOR=$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
21 dnl we override it here if we need to for the release candidate
23 AC_SUBST(GST_MAJORMINOR)
25 dnl CURRENT, REVISION, AGE
26 dnl - library source changed -> increment REVISION
27 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
28 dnl - interfaces added -> increment AGE
29 dnl - interfaces removed -> AGE = 0
30 dnl for 0.8.3 release, gst_play_get_all_by_interface was added, so update
31 AS_LIBTOOL(GST_PLUGINS, 1, 0, 1)
34 dnl FIXME take something else ?
35 AC_CONFIG_SRCDIR([gst/law/alaw.c])
36 AM_CONFIG_HEADER(config.h)
38 dnl Add parameters for aclocal
39 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
40 ACLOCAL_FLAGS="-I m4 -I common/m4"
41 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
49 dnl the gettext stuff needed
50 AM_GNU_GETTEXT_VERSION(0.11.5)
51 AM_GNU_GETTEXT([external])
53 GETTEXT_PACKAGE=gst-plugins-$GST_MAJORMINOR
54 AC_SUBST(GETTEXT_PACKAGE)
55 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
56 [gettext package name])
58 dnl define LOCALEDIR in config.h
59 AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
60 AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
63 dnl decide on error flags
64 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
66 if test "x$GST_WALL" = "xyes"; then
67 GST_ERROR="$GST_ERROR -Wall"
69 if test "x$GST_CVS" = "xyes"; then
70 AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
74 dnl determine c++ compiler
76 dnl determine if c++ is available on this system
77 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
78 dnl determine c++ preprocessor
86 dnl Check for malloc.h
87 AC_CHECK_HEADER(malloc.h,[
88 AC_DEFINE(HAVE_MALLOC_H, 1, [whether malloc.h available])
91 dnl Check for a way to display the function name in debug output
94 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
95 dnl messages printed when running cvs builds
96 if test "x$GST_CVS" = "xyes"; then
97 AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
100 dnl Check for FIONREAD ioctl declaration :
103 DEFAULT_AUDIOSINK="osssink"
104 DEFAULT_VIDEOSINK="xvimagesink"
105 DEFAULT_AUDIOSRC="osssrc"
106 DEFAULT_VIDEOSRC="v4lsrc"
107 DEFAULT_VISUALIZER="goom"
109 *-sun-* | *pc-solaris* )
110 DEFAULT_AUDIOSINK="sunaudiosink"
111 DEFAULT_VIDEOSINK="ximagesink"
112 DEFAULT_AUDIOSRC="sunaudiosrc"
115 DEFAULT_AUDIOSINK="osxaudiosink"
116 DEFAULT_AUDIOSRC="osxaudiosrc"
117 DEFAULT_VIDEOSINK="osxvideosink"
121 AC_SUBST(DEFAULT_AUDIOSINK)
122 AC_SUBST(DEFAULT_AUDIOSRC)
123 AC_SUBST(DEFAULT_VIDEOSINK)
124 AC_SUBST(DEFAULT_VIDEOSRC)
125 AC_SUBST(DEFAULT_VISUALIZER)
127 dnl ############################################
128 dnl # Super Duper options for plug-in building #
129 dnl ############################################
131 dnl ext plug-ins; plug-ins that have external dependencies
132 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
133 [HAVE_EXTERNAL=yes],enabled,
135 AC_MSG_WARN(building external plug-ins)
138 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
141 # make BUILD_EXTERNAL available to Makefile.am
142 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
144 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
145 dnl read 'builds, but might not work'UTO
146 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
147 [HAVE_EXPERIMENTAL=yes],disabled,
149 AC_MSG_WARN(building experimental plug-ins)
152 AC_MSG_NOTICE(not building experimental plug-ins)
156 dnl broken plug-ins; stuff that doesn't seem to build at the moment
157 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
158 HAVE_BROKEN=yes,disabled,
160 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
162 AC_MSG_NOTICE([not building broken plug-ins])
165 dnl ##############################
166 dnl # Do automated configuration #
167 dnl ##############################
172 dnl allow for different autotools
173 AS_AUTOTOOLS_ALTERNATE()
175 dnl modify pkg-config path
176 AC_ARG_WITH(pkg-config-path,
177 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
178 [export PKG_CONFIG_PATH=${withval}])
181 dnl check architecture
184 dnl check for gconftool-2
186 dnl this macro defines an am conditional, so it needs to be run always
189 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
190 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
191 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
192 if test x$GCONFTOOL = xno; then
193 AC_MSG_WARN(Not installing GConf schemas)
198 AC_SUBST(HAVE_GCONFTOOL)
201 dnl check for GConf libraries
202 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
203 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
204 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
205 AC_SUBST(GCONF_CFLAGS)
209 dnl check for gstreamer
210 dnl uninstalled is selected preferentially -- see pkg-config(1)
212 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
213 HAVE_GST="yes", HAVE_GST="no")
215 if test "x$HAVE_GST" = "xno"; then
216 AC_MSG_ERROR(no GStreamer found)
219 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
220 if test -z $GST_TOOLS_DIR; then
221 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
223 AC_SUBST(GST_TOOLS_DIR)
225 dnl check for gstreamer-control; uninstalled is selected preferentially
226 PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_REQ,
227 HAVE_GST_CONTROL="yes", HAVE_GST_CONTROL="no")
229 if test "x$HAVE_GST_CONTROL" = "xno"; then
230 AC_MSG_ERROR(no GStreamer Control Libs found)
233 AC_SUBST(GST_CONTROL_LIBS)
235 dnl Determine endianness
238 dnl Check for fast float to int casting as defined in C99
242 dnl Check for essential libraries first:
243 dnl ====================================
247 dnl Check for additional libraries that we might use:
248 dnl =================================================
251 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
252 if test "x$HAVE_GTK_22" = "xyes"; then
254 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
255 AC_SUBST(GTK_VERSION)
256 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
257 GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
258 GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
259 AC_SUBST(GTK_BASE_DIR)
261 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
263 if test "x$HAVE_GTK_20" = "xyes"; then
266 GTK_CFLAGS=$GTK2_CFLAGS
272 # gdk_pixbuf gstreamer loader is considered experimental, so disable
274 if test "x$HAVE_GTK_22" = "xyes"; then
280 # we set the defaults always to make sure we have non-empty variables
283 # by default, stick to prefix
284 GDK_PIXBUF_LOADER_DIR=${libdir}/gtk-2.0/\${GTK_VERSION}/loaders
285 GDK_PIXBUF_CONF_DIR=${sysconfdir}/gtk-2.0
288 AC_ARG_ENABLE(gdk-pixbuf-loader,
289 AC_HELP_STRING([--enable-gdk-pixbuf-loader],
290 [whether to enable building of gdk_pixbuf loader]),
291 :, HAVE_GDK_LOADERS="no")
293 if test "x$HAVE_GDK_LOADERS" = "xyes"; then
294 AC_PATH_PROG(QUERYLOADERS, gdk-pixbuf-query-loaders, no)
295 # allow customization of pixbuf loader install location
296 # when nothing specified, adhere to prefix settings
297 # when called without any option with this argument, autodetect
298 # when called with a path, set to the given path
300 AC_ARG_WITH(gdk-pixbuf-loader-dir,
301 AC_HELP_STRING([--with-gdk-pixbuf-loader-dir],
302 [directory to install the gdk_pixbuf loader (none for pkg-config default)]),
304 if test "x${withval}" != xyes ; then
305 GDK_PIXBUF_LOADER_DIR="${withval}"
307 GDK_PIXBUF_LOADER_DIR="$GDK_PIXBUF_LIBDIR/gtk-2.0/\$GTK_VERSION/loaders"
311 AS_AC_EXPAND(GDK_PIXBUF_LOADER_DIR, $GDK_PIXBUF_LOADER_DIR)
312 AC_SUBST(GDK_PIXBUF_LOADER_DIR)
313 AC_MSG_NOTICE([Putting GTK+-2 pixbuf loaders in $GDK_PIXBUF_LOADER_DIR])
315 # allow customization of pixbuf loader configuration file
316 # when nothing specified, adhere to prefix settings
317 # when called without any option with this argument, autodetect
318 # when called with a path, set to the given path
320 AC_ARG_WITH(gdk-pixbuf-conf-dir,
321 AC_HELP_STRING([--with-gdk-pixbuf-conf-dir],
322 [directory to install the gdk_pixbuf config (none for pkg-config default)]),
324 if test "x${withval}" != xyes ; then
325 GDK_PIXBUF_CONF_DIR="${withval}"
327 GDK_PIXBUF_CONF_DIR="$GDK_PIXBUF_PREFIXDIR/etc/gtk-2.0/"
331 AS_AC_EXPAND(GDK_PIXBUF_CONF_DIR, $GDK_PIXBUF_CONF_DIR)
332 AC_SUBST(GDK_PIXBUF_CONF_DIR)
333 AC_MSG_NOTICE([Putting GTK+-2 pixbuf loader config in $GDK_PIXBUF_CONF_DIR])
335 AM_CONDITIONAL(HAVE_GDK_LOADERS, test "x$HAVE_GDK_LOADERS" = "xyes")
337 PKG_CHECK_MODULES(LIBOIL, liboil-0.2, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
338 AC_SUBST(LIBOIL_CFLAGS)
339 AC_SUBST(LIBOIL_LIBS)
340 if test "x${HAVE_LIBOIL}" = xyes ; then
341 #AC_DEFINE_UNQUOTED(HAVE_LIBOIL, 1, [Define if liboil is being used])
345 dnl ===========================================================================
346 dnl ============================= gst plug-ins ================================
347 dnl ===========================================================================
349 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
352 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '[_]*(gst_|Gst|GST_).*' $GST_LIBS"
353 AC_SUBST(GST_PLUGIN_LDFLAGS)
355 dnl these are all the gst plug-ins, compilable without additional libs
433 dnl see if we can build C++ plug-ins
434 if test "x$HAVE_CXX" = "xyes"; then
435 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
438 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
441 AC_SUBST(GST_PLUGINS_ALL)
443 GST_PLUGINS_SELECTED=""
446 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
447 [for i in `echo $withval | tr , ' '`; do
448 if echo $GST_PLUGINS_ALL | grep $i > /dev/null
450 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
452 echo "plug-in $i not recognized, ignoring..."
455 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
457 AC_SUBST(GST_PLUGINS_SELECTED)
459 dnl ==========================================================================
460 dnl ============================= sys plug-ins ================================
461 dnl ==========================================================================
463 dnl *** DXR3 card ***
464 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
465 GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder],
466 dxr3videosink dxr3audiosink dxr3spusink, [
468 AC_CHECK_HEADER(linux/em8300.h, ,
469 [ AC_MSG_WARN([DXR3/em8300 header file not found]) &&
471 AC_CHECK_HEADER(linux/soundcard.h, ,
472 [ AC_MSG_WARN([Generic sound header file not found]) &&
476 dnl *** OSS audio *** (Linux, *BSD)
477 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
478 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
480 dnl Linux and newer BSD versions :
481 AC_CHECK_HEADER(sys/soundcard.h, [
482 AC_DEFINE(HAVE_OSS_INCLUDE_IN_SYS,, [Define if OSS includes are in /sys/])
484 dnl Some old BSD versions :
485 AC_CHECK_HEADER(soundcard.h, [
486 AC_DEFINE(HAVE_OSS_INCLUDE_IN_ROOT,, [Define if OSS includes are in /])
488 dnl Some old BSD versions :
489 AC_CHECK_HEADER(machine/soundcard.h, [
490 AC_DEFINE(HAVE_OSS_INCLUDE_IN_MACHINE,, [Define if OSS includes are in /machine/])
498 dnl *** OS X audio ***
499 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_AUDIO, true)
500 GST_CHECK_FEATURE(OSX_AUDIO, [OSX audio], osxaudiosrc osxaudiosink, [
501 AC_CHECK_HEADER(CoreAudio/CoreAudio.h, HAVE_OSX_AUDIO="yes", HAVE_OSX_AUDIO="no")
504 dnl *** OS X video ***
505 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
507 GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosink, [
508 AC_CHECK_HEADER(OpenGL/gl.h, HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no")
510 dnl in case header OpenGL/gl.h is found on other platforms
521 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
522 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
523 if test "x$HAVE_CPU_I386" != "xyes";
527 AC_CHECK_HEADER(sys/io.h, HAVE_QCAM="yes", HAVE_QCAM="no")
529 if test "x$HAVE_QCAM" != "xyes";
531 AC_MSG_WARN([QuickCam only works on i386-linux])
535 dnl *** Sun Audio ***
536 translit(dnm, m, l) AM_CONDITIONAL(USE_SUNAUDIO, true)
537 GST_CHECK_FEATURE(SUNAUDIO, [Sun Audio], sunaudiosink, [
538 AC_CHECK_HEADER(sys/audioio.h, HAVE_SUNAUDIO="yes", HAVE_SUNAUDIO="no")
542 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
543 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
544 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
548 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENGL, true)
549 GST_CHECK_FEATURE(OPENGL, [Open GL], glsink, [
550 AC_CHECK_HEADER(GL/gl.h, HAVE_OPENGL="yes", HAVE_OPENGL="no")
553 dnl *** CDROM Audio ***
554 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
555 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
556 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
557 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
558 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
560 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
562 *-sun-* | *-*-linux*)
563 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
566 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
568 *-*-netbsd* | *-*-openbsd*)
569 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
570 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
573 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
574 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
577 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
588 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
589 GST_CHECK_FEATURE(X, [X libraries and plugins],
592 dnl now try to find the HEADER
593 AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
595 if test "x$HAVE_X" = "xno"
597 AC_MSG_NOTICE([cannot find X11 development files])
599 dnl this is much more than we want
600 X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
601 dnl AC_PATH_XTRA only defines the path needed to find the X libs,
602 dnl it does not add the libs; therefore we add them here
603 X_LIBS="$X_LIBS -lX11"
611 dnl Look for the PIC library first, Debian requires it.
612 dnl Check debian-devel archives for gory details.
614 dnl At the moment XFree86 doesn't distribute shared libXv due
615 dnl to unstable API. On many platforms you CAN NOT link a shared
616 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
617 dnl plug-in wants to do. So Debian distributes a PIC compiled
618 dnl version of the static lib for plug-ins to link to when it is
619 dnl inappropriate to link the main application to libXv directly.
620 dnl FIXME: add check if this platform can support linking to a
621 dnl non-PIC libXv, if not then don not use Xv.
622 dnl FIXME: perhaps warn user if they have a shared libXv since
623 dnl this is an error until XFree86 starts shipping one
625 dnl Check for Xv extension
626 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
627 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
629 if test x$HAVE_X = xyes; then
630 AC_CHECK_LIB(Xv_pic, XvQueryExtension,
631 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
634 if test x$HAVE_XVIDEO = xyes; then
635 XVIDEO_LIBS="-lXv_pic -lXext"
636 AC_SUBST(XVIDEO_LIBS)
638 dnl try again using something else if we didn't find it first
639 if test x$HAVE_XVIDEO = xno; then
640 AC_CHECK_LIB(Xv, XvQueryExtension,
641 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
644 if test x$HAVE_XVIDEO = xyes; then
645 XVIDEO_LIBS="-lXv -lXext"
646 AC_SUBST(XVIDEO_LIBS)
654 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
655 GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], xshm, [
656 if test x$HAVE_X = xyes; then
657 AC_CHECK_LIB(Xext, XShmAttach,
658 HAVE_XSHM="yes", HAVE_XSHM="no",
660 if test "x$HAVE_XSHM" = "xyes"; then
663 dnl On AIX, it is in XextSam instead, but we still need -lXext
664 AC_CHECK_LIB(XextSam, XShmAttach,
665 HAVE_XSHM="yes", HAVE_XSHM="no",
667 if test "x$HAVE_XSHM" = "xyes"; then
668 XSHM_LIBS="-lXext -lXextSam"
677 dnl v4l/v4l2 checks have been moved down because they require X
679 dnl *** Video 4 Linux ***
680 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
681 dnl renamed to GST_V4L in accordance with V4L2 below
682 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L, true)
683 GST_CHECK_FEATURE(GST_V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
686 if test "$HAVE_X" = "yes"
688 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_GST_V4L="yes", HAVE_GST_V4L="no", [
689 #include <sys/types.h>
690 #define _LINUX_TIME_H
692 #include <linux/videodev.h>
697 dnl *** Video 4 Linux 2 ***
698 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
699 dnl renamed to GST_V4L2 because of some conflict with kernel headers
700 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L2, true)
701 GST_CHECK_FEATURE(GST_V4L2, [Video 4 Linux 2], v4l2src, [
703 if test "$HAVE_X" = "yes"
705 AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
707 #include <sys/types.h>
708 #include <linux/types.h>
709 #define _LINUX_TIME_H
711 #include <linux/videodev2.h>
712 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
713 #error too early v4l2 version or no v4l2 at all
717 ], [ HAVE_GST_V4L2="yes" && AC_MSG_RESULT(yes)],
718 [ HAVE_GST_V4L2="no" && AC_MSG_RESULT(no) &&
719 AC_CHECK_HEADER(linux/videodev2.h,
720 [ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
721 [ AC_MSG_WARN([video4linux2 was not found])])
724 dnl check for missing v4l2_buffer declaration (see #135919)
725 if [ test x$HAVE_GST_V4L2 = xyes ]; then
727 AC_MSG_CHECKING(struct v4l2_buffer declaration)
729 #include <sys/types.h>
730 #include <linux/types.h>
731 #define _LINUX_TIME_H
733 #include <linux/videodev2.h>
735 struct v4l2_buffer buf;
738 ], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
739 if [ test x$MISSING_DECL = x1 ]; then
740 AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
745 dnl Next, check for the optional libraries:
746 dnl These are all libraries used in building plug-ins
747 dnl ================================================
748 dnl let's try and sort them alphabetically, shall we ?
750 if test "x$BUILD_EXTERNAL" = "xyes"; then
752 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
755 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
756 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
757 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
761 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
762 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
763 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
764 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
768 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
769 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
770 PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
772 AC_SUBST(ALSA_CFLAGS)
775 AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
780 dnl if mcopidl can't be found there's no use in compiling it
781 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
782 if test "x$HAVE_MCOPIDL" = "xno";
787 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
788 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
789 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
793 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
794 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
798 dnl *** audiofile ***
799 dnl this check uses the GST_CHECK_CONFIGPROG macro
800 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
801 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
802 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
803 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
804 dnl check with pkg-config first
805 PKG_CHECK_MODULES(AUDIOFILE, audiofile, HAVE_AUDIOFILE="yes", HAVE_AUDIOFILE="no")
806 if test "x$HAVE_AUDIOFILE" = "xno"; then
807 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
808 dnl we need this function
809 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
810 AC_CHECK_LIB(audiofile, af_virtual_file_new, , HAVE_AUDIOFILE="no")
813 dnl *** audioresample ***
814 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIORESAMPLE, true)
815 GST_CHECK_FEATURE(AUDIORESAMPLE, [audioresample plug-in], audioresample, [
816 PKG_CHECK_MODULES(AUDIORESAMPLE, audioresample-0.1, HAVE_AUDIORESAMPLE=yes, HAVE_AUDIORESAMPLE=no)
817 AC_SUBST(AUDIORESAMPLE_CFLAGS)
818 AC_SUBST(AUDIORESAMPLE_LIBS)
822 translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
823 GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
824 PKG_CHECK_MODULES(CAIRO, cairo, HAVE_CAIRO=yes, HAVE_CAIRO=no)
825 AC_SUBST(CAIRO_CFLAGS)
830 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
831 GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
832 GST_CHECK_CONFIGPROG(CDAUDIO, libcdaudio-config)
833 AC_SUBST(CDAUDIO_CFLAGS)
834 AC_SUBST(CDAUDIO_LIBS)
838 dnl *** CDParanoia ***
839 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
840 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
841 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
844 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
846 FOUND_CDPARANOIA="yes")
847 if test "x$FOUND_CDPARANOIA" != "xyes";
849 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
851 cdda/cdda_interface.h,
852 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
854 FOUND_CDPARANOIA="yes")
856 if test "x$HEADER_DIR" = "xyes";
858 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
859 defined if cdda headers are in a cdda/ directory)
861 AC_SUBST(CDPARANOIA_LIBS)
863 dnl FIXME : add second check somehow if that is necessary
864 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
865 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
868 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
869 GST_CHECK_FEATURE(DIRAC, [dirac plug-ins], dirac, [
870 PKG_CHECK_MODULES(DIRAC, dirac-pic >= 0.4, HAVE_DIRAC="yes", HAVE_DIRAC="no")
871 if test x$HAVE_DIRAC = xno ; then
872 PKG_CHECK_MODULES(DIRAC, dirac >= 0.4, HAVE_DIRAC="yes", HAVE_DIRAC="no")
874 AC_SUBST(DIRAC_CFLAGS)
879 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
880 GST_CHECK_FEATURE(DIRECTFB, [directfb], directfbvideosink , [
881 translit(dnm, m, l) AC_SUBST(DIRECTFB_LIBS)
882 translit(dnm, m, l) AC_SUBST(DIRECTFB_CFLAGS)
883 dnl check with pkg-config
884 PKG_CHECK_MODULES(DIRECTFB, directfb,
885 HAVE_DIRECTFB="yes", HAVE_DIRECTFB="no")
889 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
890 GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
892 AC_CHECK_HEADER(encore2.h, ,
893 [ AC_MSG_WARN([Divx4linux encore headers not found]) &&
895 if [ test x$HAVE_DIVX = xyes ]; then
896 AC_MSG_CHECKING([Checking for valid divx4linux encore version])
899 #if ENCORE_VERSION != 20021024
900 #error Wrong version of divx encore libraries
904 ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
905 [ HAVE_DIVX=no && AC_MSG_RESULT(no) &&
906 AC_MSG_WARN([Wrong version of divx4linux installed]) ])
908 if [ test x$HAVE_DIVX = xyes ]; then
909 AC_CHECK_HEADER(decore.h, ,
910 [ AC_MSG_WARN([Divx4linux decoder headers not found]) &&
913 if [ test x$HAVE_DIVX = xyes ]; then
914 AC_MSG_CHECKING([Checking for valid divx4linux decore version])
917 #if DECORE_VERSION != 20021112
918 #error Wrong version of divx decore libraries
922 ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
923 [ HAVE_DIVX=no && AC_MSG_RESULT(no) &&
924 AC_MSG_WARN([Wrong version of divx4linux installed]) ])
927 if test x$HAVE_DIVX = xyes; then
928 AC_CHECK_LIB(divxencore, encore, ,
929 [ AC_MSG_WARN([Divx4linux encore libs not found]) &&
932 if test x$HAVE_DIVX = xyes; then
933 AC_CHECK_LIB(divxdecore, decore, ,
934 [ AC_MSG_WARN([Divx4linux decore libs not found]) &&
937 if test x$HAVE_DIVX = xyes; then
938 DIVXENC_LIBS="-ldivxencore -lm"
939 DIVXDEC_LIBS="-ldivxdecore -lm"
940 AC_SUBST(DIVXENC_LIBS)
941 AC_SUBST(DIVXDEC_LIBS)
946 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
947 GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
948 GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h, DTS_LIBS="-ldts_pic -lm")
953 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
954 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
955 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
956 AC_SUBST(DVDREAD_LIBS)
960 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
961 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
962 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
963 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
964 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
965 if test x"$HAVE_DVDNAV" = x"yes"; then
967 DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
968 DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
969 DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
970 DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
971 if [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
972 [[ "$DVDNAV_MINOR" -lt "1" ]]; then
973 AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
975 elif [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
976 [[ "$DVDNAV_MINOR" -eq "1" ]] && \
977 [[ "$DVDNAV_MICRO" -lt "7" ]]; then
978 AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
982 dnl now check for dvdread/nav_print.h - see #133002
983 AC_CHECK_HEADER(dvdread/nav_print.h, , [
984 AC_MSG_WARN([header dvdread/nav_print.h from dvdread missing])
987 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
991 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
992 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
993 PKG_CHECK_MODULES(ESD, esound >= 0.2.12, [
998 AM_PATH_ESD(0.2.12, HAVE_ESD="yes", HAVE_ESD="no")
999 AS_SCRUB_INCLUDE(ESD_CFLAGS)
1003 dnl **** Free AAC Encoder (FAAC) ****
1004 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
1005 GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
1006 GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h, FAAC_LIBS="-lfaac -lm")
1007 AS_SCRUB_INCLUDE(FAAC_CFLAGS)
1011 dnl **** Free AAC Decoder (FAAD) ****
1012 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
1013 GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
1015 GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h, FAAD_LIBS="-lfaad -lm", HAVE_FAAD="no")
1016 if test $HAVE_FAAD = "yes"; then
1017 AC_MSG_CHECKING([Checking for FAAD >= 2])
1020 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
1024 [ HAVE_FAAD="yes" && AC_MSG_RESULT(yes)],
1025 [ HAVE_FAAD="no" && AC_MSG_RESULT(no)])
1027 AS_SCRUB_INCLUDE(FAAD_CFLAGS)
1031 dnl **** festival ****
1032 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
1033 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
1034 dnl NOTE: just using local net connection now, add this lib check
1035 dnl in the future if needed
1036 dnl AC_LANG_PUSH(C++)
1037 dnl dnl FIXME: took out func to check for
1038 dnl dnl This check puts festival_tidy_up in extern "C".
1039 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
1040 dnl dnl mangling C++ nonsense and symbols can't resolve
1041 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
1042 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
1043 dnl AC_LANG_POP(C++)
1044 dnl AC_SUBST(FESTIVAL_LIBS)
1045 dnl HAVE_FESTIVAL=yes
1049 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
1050 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
1051 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
1055 dnl *** GDK pixbuf ***
1056 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
1057 GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbufsrc, [
1058 if test $HAVE_GTK_22 = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
1061 dnl *** Gnome VFS ***
1062 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
1063 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
1064 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
1065 AC_SUBST(GNOME_VFS_CFLAGS)
1066 AC_SUBST(GNOME_VFS_LIBS)
1070 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
1071 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
1072 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
1073 if test $HAVE_GSM != "yes"; then
1074 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
1075 if test $HAVE_GSM = "yes"; then
1076 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
1083 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
1084 GST_CHECK_FEATURE(HERMES, [Hermes library], hermescolorspace, [
1085 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
1086 ], AC_SUBST(HERMES_LIBS))
1089 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
1090 dnl GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
1091 dnl dnl FIXME: need to check for header
1093 dnl GST_HTTPSRC_GET_TYPE=
1094 dnl if test x$USE_GLIB2 = xyes; then
1095 dnl AC_MSG_WARN(ghttp disabled for glib2.0)
1097 dnl AC_CHECK_LIB(ghttp, ghttp_request_new,
1098 dnl [HTTP_LIBS="-lghttp"
1099 dnl GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
1103 dnl AC_SUBST(HTTP_LIBS)
1104 dnl AC_SUBST(GST_HTTPSRC_GET_TYPE)
1108 dnl AM_PATH_IVORBIS only takes two options
1109 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
1110 GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
1113 AC_CHECK_LIB(vorbisidec, vorbis_block_init,
1114 [IVORBIS_LIBS=-lvorbisidec
1117 AC_SUBST(IVORBIS_LIBS)
1118 AC_SUBST(IVORBIS_CFLAGS)
1122 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
1123 GST_CHECK_FEATURE(JACK, Jack, jack, [
1124 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
1125 AC_SUBST(JACK_CFLAGS)
1130 dnl FIXME: we could use header checks here as well IMO
1131 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
1132 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
1133 AC_ARG_WITH(jpeg-mmx,
1134 [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1136 if test x$with_jpeg_mmx != x; then
1137 LIBS="$LIBS -L$with_jpeg_mmx"
1139 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1140 JPEG_LIBS="$LIBS -ljpeg-mmx"
1142 if test x$HAVE_JPEG != xyes; then
1143 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1149 dnl *** KDE / Qt ***
1153 qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/local/qt"
1155 dnl Build include path search path from the list of Qt dirs
1158 for dir in $qt_dirs; do
1159 qt_include_dirs="$qt_include_dirs $dir/include $dir"
1162 qt_include_dirs="$qt_include_dirs /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/include/qt3"
1164 for dir in $qt_include_dirs; do
1165 if test -r "$dir/qglobal.h"; then
1171 for dir in $qt_dirs; do
1172 qt_lib_dirs="$qt_lib_dirs $dir/lib $dir"
1175 qt_lib_dirs="$qt_lib_dirs /usr/X11R6/lib /usr/lib"
1177 for dir in $qt_lib_dirs; do
1178 try="ls -1 $dir/libqt-mt.*"
1179 if test -n "`$try 2> /dev/null`"; then
1186 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
1187 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
1188 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
1192 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
1193 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
1194 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h,
1197 LAME_LIBS="-lmp3lame -lm"
1198 dnl is lame presets available
1201 #include <lame/lame.h>
1202 int main (int argc, char *argv[])
1204 printf("%d\n", MEDIUM);
1208 [LAME_CFLAGS="-DGSTLAME_PRESET"],
1211 AC_SUBST(LAME_CFLAGS)
1216 dnl *** MAS (TODO) ***
1217 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_MAS, true)
1218 dnl GST_CHECK_FEATURE(MAS, [mas], mas, [
1219 dnl GST_CHECK_CONFIGPROG(MAS, mas-config)
1220 dnl AC_SUBST(MAS_CFLAGS)
1221 dnl AC_SUBST(MAS_LIBS)
1225 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
1226 GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
1227 GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
1228 AC_SUBST(LIBCACA_CFLAGS)
1229 AC_SUBST(LIBCACA_LIBS)
1232 dnl *** libcolorspace ***
1233 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
1234 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
1235 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
1236 AC_SUBST(LCS_CFLAGS)
1241 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
1242 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
1243 PKG_CHECK_MODULES(LIBDV, libdv >= 0.100, HAVE_LIBDV="yes", HAVE_LIBDV="no")
1244 AC_SUBST(LIBDV_CFLAGS)
1245 AC_SUBST(LIBDV_LIBS)
1249 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
1250 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
1251 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
1252 AC_SUBST(LIBFAME_CFLAGS)
1253 AC_SUBST(LIBFAME_LIBS)
1257 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1258 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
1259 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
1260 AC_SUBST(LIBPNG_CFLAGS)
1261 AC_SUBST(LIBPNG_LIBS)
1265 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
1266 GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
1267 dnl check with pkg-config first
1268 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.1, HAVE_LIBMMS="yes", HAVE_LIBMMS="no")
1270 AC_SUBST(LIBMMS_LIBS)
1273 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMNG, true)
1274 GST_CHECK_FEATURE(LIBMNG, [libmng library], mngdec, [
1275 GST_CHECK_LIBHEADER(LIBMNG, mng, mng_initialize,, libmng.h, LIBMNG_LIBS="-lmng")
1276 AC_SUBST(LIBMNG_LIBS)
1280 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRFB, true)
1281 GST_CHECK_FEATURE(LIBRFB, [librfb Remote Framebuffer], rfbsrc, [
1282 PKG_CHECK_MODULES(LIBRFB, librfb-0.1, HAVE_LIBRFB="yes", HAVE_LIBRFB="no")
1283 AC_SUBST(LIBRFB_CFLAGS)
1284 AC_SUBST(LIBRFB_LIBS)
1287 dnl *** libvisual ***
1288 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
1289 GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization plugins], libvisual, [
1290 PKG_CHECK_MODULES(LIBVISUAL, libvisual = 0.1.7, HAVE_LIBVISUAL="yes", HAVE_LIBVISUAL="no")
1291 AC_SUBST(LIBVISUAL_CFLAGS)
1292 AC_SUBST(LIBVISUAL_LIBS)
1296 dnl FIXME: we could use header checks here as well IMO
1297 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
1298 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
1299 dnl check with pkg-config first
1300 PKG_CHECK_MODULES(MAD, mad >= 0.15 id3tag >= 0.15, HAVE_MAD="yes", HAVE_MAD="no")
1301 if test "x$HAVE_MAD" = "xno"; then
1302 dnl fall back to oldskool detection
1303 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
1304 if test "x$HAVE_MAD" = "xyes"; then
1308 AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
1316 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
1317 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
1318 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
1319 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
1320 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMOD_CFLAGS")
1323 dnl *** mpeg2dec ***
1324 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
1325 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
1326 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.4.0,
1327 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
1328 AC_SUBST(MPEG2DEC_CFLAGS)
1329 AC_SUBST(MPEG2DEC_LIBS)
1332 dnl *** mpeg2enc ***
1333 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1334 GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1336 dnl we require a c++ compiler for this one
1337 if [ test x$HAVE_CXX = xyes ]; then
1338 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1339 dnl since many distros include mjpegtools specifically without mplex
1340 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1341 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1342 dnl switch over to c++ to test things
1344 OLD_CPPFLAGS="$CPPFLAGS"
1345 CPPFLAGS="$CPPFLAGS $MPEG2ENC_CFLAGS"
1346 AC_CHECK_HEADER(mpeg2encoder.hh, [
1347 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1349 LIBS="$LIBS $MPEG2ENC_LIBS"
1350 AC_MSG_CHECKING([for valid mpeg2enc objects])
1352 #include <mpeg2encoder.hh>
1353 #include <mpeg2encoptions.hh>
1359 MPEG2EncOptions *options = new MPEG2EncOptions ();
1360 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1365 AC_SUBST(MPEG2ENC_CFLAGS)
1366 AC_SUBST(MPEG2ENC_LIBS)
1368 ], AC_MSG_RESULT(no))
1371 CPPFLAGS="$OLD_CPPFLAGS"
1379 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1380 GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1382 dnl we require a c++ compiler for this one
1383 if [ test x$HAVE_CXX = xyes ]; then
1384 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1385 dnl since many distros include mjpegtools specifically without mplex
1386 dnl and mpeg2enc, we check for mplex on its own, too.
1387 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.6.1.93, [
1388 dnl switch over to c++ to test things
1390 OLD_CPPFLAGS="$CPPFLAGS"
1391 CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1392 AC_CHECK_HEADER(interact.hpp, [
1393 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1395 LIBS="$LIBS $MPLEX_LIBS"
1396 AC_MSG_CHECKING([for valid mplex objects])
1398 #include <interact.hpp>
1399 #include <outputstrm.hpp>
1400 #include <multiplexor.hpp>
1406 class TestOutputStream : public OutputStream {
1408 TestOutputStream () : OutputStream () { }
1409 void Write (uint8_t *a, unsigned int b) { }
1410 void NextSegment () { }
1411 off_t SegmentSize () { }
1415 MultiplexJob *job = new MultiplexJob ();
1416 vector<IBitStream *> inputs;
1417 job->SetupInputStreams (inputs);
1418 TestOutputStream *out = new TestOutputStream ();
1419 Multiplexor *mux = new Multiplexor(*job, *out);
1424 AC_SUBST(MPLEX_CFLAGS)
1425 AC_SUBST(MPLEX_LIBS)
1427 ], AC_MSG_RESULT(no))
1430 CPPFLAGS="$OLD_CPPFLAGS"
1436 dnl *** musepack ***
1437 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1438 GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1440 AC_CHECK_HEADER([musepack/mpc_dec.h], [
1442 MUSEPACK_LIBS="-lmusepack"
1443 AC_SUBST(MUSEPACK_LIBS)
1444 ], [HAVE_MUSEPACK="no"])
1448 dnl *** musicbrainz ***
1449 dnl libmusicbrainz <= 2.0.2 has symbol clashes with ffmpeg
1450 dnl however, our ffmpeg patch was accepted upstream
1451 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1452 GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz], musicbrainz, [
1453 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.0.2,
1454 HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1455 AC_SUBST(MUSICBRAINZ_CFLAGS)
1456 AC_SUBST(MUSICBRAINZ_LIBS)
1460 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1461 GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1463 if test "x$HAVE_X" = "xyes"; then
1464 save_cppflags=$CFLAGS
1465 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1466 GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1467 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1468 CPPFLAGS="$save_cppflags"
1470 AC_SUBST(NAS_CFLAGS)
1475 translit(dnm, m, l) AM_CONDITIONAL(USE_PANGO, true)
1476 GST_CHECK_FEATURE(PANGO, [pango], pango, [
1477 PKG_CHECK_MODULES(PANGO, pango pangoft2,
1478 HAVE_PANGO="yes", HAVE_PANGO="no")
1479 AC_SUBST(PANGO_CFLAGS)
1480 AC_SUBST(PANGO_LIBS)
1483 dnl *** polypaudio ***
1484 translit(dnm, m, l) AM_CONDITIONAL(USE_POLYP, true)
1485 GST_CHECK_FEATURE(POLYP, [polyp], polyp, [
1486 PKG_CHECK_MODULES(POLYP, polyplib >= 0.7,
1487 HAVE_POLYP="yes", HAVE_POLYP="no")
1488 AC_SUBST(POLYP_CFLAGS)
1489 AC_SUBST(POLYP_CFLAGS)
1493 translit(dnm, m, l) AM_CONDITIONAL(USE_DV1394, true)
1494 GST_CHECK_FEATURE(DV1394, [raw1394 and avc1394 library], dv1394src, [
1495 dnl we need to test three headers and three libs
1496 GST_CHECK_LIBHEADER(RAW1394,
1497 raw1394, raw1394_new_handle,,
1498 libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
1499 GST_CHECK_LIBHEADER(AVC1394,
1500 avc1394, avc1394_send_command, $RAW1394_LIBS,
1501 libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
1502 GST_CHECK_LIBHEADER(ROM1394,
1503 rom1394, rom1394_free_directory, $RAW1394_LIBS,
1504 libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")
1506 dnl now see how far we got
1507 if test x$HAVE_RAW1394 = xyes && \
1508 test x$HAVE_AVC1394 = xyes && \
1509 test x$HAVE_ROM1394 = xyes; then
1511 DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS"
1512 AC_SUBST(DV1394_LIBS)
1519 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1520 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
1521 dnl sdlvideosink depends on the xoverlay interface, which depends on X
1522 if test x$HAVE_X = xyes; then
1523 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1528 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
1529 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
1530 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
1531 AC_SUBST(SHOUT_LIBS)
1535 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
1536 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
1537 PKG_CHECK_MODULES(SHOUT2, shout >= 2.0, [
1539 AC_SUBST(SHOUT2_CFLAGS)
1540 AC_SUBST(SHOUT2_LIBS)
1542 AM_PATH_SHOUT2(HAVE_SHOUT2="yes", HAVE_SHOUT2="no")
1543 AC_SUBST(SHOUT2_CFLAGS)
1544 AC_SUBST(SHOUT2_LIBS)
1548 dnl *** sidplay : works with libsidplay 1.36.x (not 2.x.x) ***
1549 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
1550 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
1554 dnl *** smoothwave ***
1555 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
1556 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
1557 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
1561 dnl *** snapshot ***
1562 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1563 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
1564 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
1565 AC_SUBST(LIBPNG_LIBS)
1568 dnl *** speex >= 1.0.4 or >= 1.1.5 ***
1569 dnl 1.1.4 and earlier were not API/ABI compatible with 1.0
1570 dnl 1.1.6 is the first to use a .pc/pkg-config file ***
1571 dnl speex_jitter.h is 1.1.x only
1572 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
1573 GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
1574 PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6, [
1576 AC_SUBST(SPEEX_CFLAGS)
1577 AC_SUBST(SPEEX_LIBS)
1579 GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex/speex.h, [
1580 AC_CHECK_HEADER(speex/speex_jitter.h, [
1582 GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
1583 dnl speex 1.1.5 or + :
1585 SPEEX_LIBS="-lspeex"
1586 AC_SUBST(SPEEX_CFLAGS)
1587 AC_SUBST(SPEEX_LIBS)
1593 AC_CHECK_DECL(SPEEX_GET_LOOKAHEAD, [
1596 SPEEX_LIBS="-lspeex"
1597 AC_SUBST(SPEEX_CFLAGS)
1598 AC_SUBST(SPEEX_LIBS)
1600 AC_DEFINE_UNQUOTED(SPEEX_1_0, 1,
1601 [defined if speex 1.0.x API detected])
1604 AC_MSG_NOTICE(You need at least 1.0.4 to compile the speex plugin)
1606 #include <speex/speex.h>
1614 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1615 GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1616 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.0, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1617 AC_SUBST(SNDFILE_CFLAGS)
1618 AC_SUBST(SNDFILE_LIBS)
1622 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1623 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1624 PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.0, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
1625 AC_SUBST(SWFDEC_CFLAGS)
1626 AC_SUBST(SWFDEC_LIBS)
1630 dnl for now the sources are included in the plug-in
1631 dnl and should be moved to ext-libs/ perhaps
1632 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
1633 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
1638 translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
1639 GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
1640 PKG_CHECK_MODULES(OGG, ogg >= 1.0, [
1642 AC_SUBST(OGG_CFLAGS)
1645 XIPH_PATH_OGG(HAVE_OGG="yes", HAVE_OGG="no")
1646 AS_SCRUB_INCLUDE(OGG_CFLAGS)
1651 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
1652 GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec theoraenc, [
1653 PKG_CHECK_MODULES(THEORA, theora, [
1655 AC_SUBST(THEORA_LIBS)
1656 AC_SUBST(THEORA_CFLAGS)
1658 GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, "-logg", theora/theora.h, THEORA_LIBS="-ltheora -logg")
1659 AC_SUBST(THEORA_LIBS)
1664 dnl AM_PATH_VORBIS only takes two options
1665 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
1666 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
1667 PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0, [
1670 XIPH_PATH_VORBIS(HAVE_VORBIS="yes", HAVE_VORBIS="no")
1671 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
1674 if test "x$HAVE_VORBIS" = "xyes"; then
1675 ac_cflags_save="$CFLAGS"
1676 dnl FIXME: does this work on non-gcc? -- Company
1677 CFLAGS="-Wall -Werror"
1680 #include <vorbis/codec.h>
1682 vorbis_dsp_state *v;
1684 vorbis_synthesis_restart (v);
1685 ]), HAVE_VSR=yes, HAVE_VSR=no)
1686 if test "x$HAVE_VSR" = "xyes"; then
1687 AC_DEFINE_UNQUOTED(HAVE_VORBIS_SYNTHESIS_RESTART, 1,
1688 [defined if vorbis_synthesis_restart is present])
1690 CFLAGS="$ac_cflags_save"
1694 translit(dnm, m, l) AM_CONDITIONAL(USE_XINE, true)
1695 GST_CHECK_FEATURE(XINE, [xine wrapper], xine, [
1696 PKG_CHECK_MODULES(XINE, libxine >= 1.0.0, HAVE_XINE=yes, HAVE_XINE=no)
1697 AC_SUBST(XINE_CFLAGS)
1702 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1703 GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1705 AC_CHECK_HEADER(xvid.h, [
1708 AC_CHECK_LIB(xvidcore, xvid_encore, [
1709 AC_CHECK_LIB(xvidcore, xvid_decore, [
1710 AC_CHECK_LIB(xvidcore, xvid_global, [
1711 AC_MSG_CHECKING([for uptodate XviD API version])
1714 #if XVID_API != XVID_MAKE_API(4,0)
1715 #error "Incompatible XviD API version"
1717 int main () { return 0; }
1718 ],[ AC_MSG_RESULT(yes)
1719 XVID_LIBS="-lxvidcore -lm"
1722 ], AC_MSG_RESULT(no) )
1731 fi dnl of EXT plugins
1733 dnl Check for atomic.h
1734 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
1735 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
1736 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
1737 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
1738 if test x$HAVE_ATOMIC_H = xyes; then
1740 #include "asm/atomic.h"
1741 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
1744 if test x$HAVE_ATOMIC_H = xyes; then
1745 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
1751 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
1756 dnl ######################################################################
1757 dnl # Check command line parameters, and set shell variables accordingly #
1758 dnl ######################################################################
1760 AC_ARG_ENABLE(atomic,
1761 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
1762 [case "${enableval}" in
1763 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1764 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1765 no) USE_ATOMIC_H=no;;
1766 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
1768 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
1770 AC_ARG_ENABLE(profiling,
1771 AC_HELP_STRING([--enable-profiling],
1772 [-pg to compiler commandline, for profiling]),
1773 [case "${enableval}" in
1774 yes) USE_PROFILING=yes ;;
1775 no) UES_PROFILING=no ;;
1776 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
1778 [USE_PROFILING=no]) dnl Default value
1780 AC_ARG_ENABLE(tests,
1781 AC_HELP_STRING([--disable-tests],[disable building test apps]),
1782 [case "${enableval}" in
1783 yes) BUILD_TESTS=yes ;;
1784 no) BUILD_TESTS=no ;;
1785 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
1787 [BUILD_TESTS=yes]) dnl Default value
1789 AC_ARG_ENABLE(examples,
1790 AC_HELP_STRING([--disable-examples],[disable building examples]),
1791 [case "${enableval}" in
1792 yes) BUILD_EXAMPLES=yes ;;
1793 no) BUILD_EXAMPLES=no ;;
1794 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
1796 [BUILD_EXAMPLES=yes]) dnl Default value
1798 dnl seeking needs freetype, so check for it here
1799 PKG_CHECK_MODULES(FT2, freetype2 >= 2.0.9, HAVE_FT2="yes", [
1800 AC_CHECK_FT2(2.0.9, HAVE_FT2="yes", HAVE_FT2="no")
1802 dnl make the HAVE_FT2 variable available to automake and Makefile.am
1803 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
1804 AC_SUBST(FT2_CFLAGS)
1807 dnl ################################################
1808 dnl # Set defines according to variables set above #
1809 dnl ################################################
1812 if test "x$USE_ATOMIC_H" = xyes; then
1813 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
1816 # do not use deprecated stuff
1817 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
1819 if test "x$USE_DEBUG" = xyes; then
1820 GST_CFLAGS="$GST_CFLAGS -g"
1823 dnl #############################
1824 dnl # Set automake conditionals #
1825 dnl #############################
1827 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1828 dnl HAVE_ and it is likely to be easier to stick with the old name
1829 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
1831 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
1832 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
1834 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
1835 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
1836 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
1837 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
1838 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
1839 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
1840 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
1841 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
1842 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
1843 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
1845 dnl prefer internal headers to already installed ones
1846 dnl also add builddir include for enumtypes and marshal
1847 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_ERROR"
1850 AC_SUBST(GST_CFLAGS)
1852 dnl ###########################
1853 dnl # Configure external libs #
1854 dnl ###########################
1856 dnl ############################
1857 dnl # Set up some more defines #
1858 dnl ############################
1860 dnl set license and copyright notice
1861 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
1863 dnl package name in plugins
1864 AC_ARG_WITH(package-name,
1865 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
1866 [case "${withval}" in
1867 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1868 no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1869 *) GST_PACKAGE="${withval}" ;;
1873 if test "x$GST_CVS" = "xyes"
1876 GST_PACKAGE="GStreamer CVS/prerelease"
1878 GST_PACKAGE="GStreamer source release"
1882 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
1883 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
1885 dnl package origin URL
1886 AC_ARG_WITH(package-origin,
1887 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
1888 [case "${withval}" in
1889 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1890 no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1891 *) GST_ORIGIN="${withval}" ;;
1893 [GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
1894 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
1895 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
1897 dnl #########################
1898 dnl # Make the output files #
1899 dnl #########################
1905 gst/ac3parse/Makefile
1909 gst/asfdemux/Makefile
1910 gst/audioconvert/Makefile
1911 gst/audioscale/Makefile
1912 gst/audiorate/Makefile
1913 gst/auparse/Makefile
1915 gst/cdxaparse/Makefile
1917 gst/colorspace/Makefile
1920 gst/deinterlace/Makefile
1921 gst/effectv/Makefile
1922 gst/equalizer/Makefile
1923 gst/festival/Makefile
1924 gst/ffmpegcolorspace/Makefile
1928 gst/interleave/Makefile
1931 gst/matroska/Makefile
1933 gst/mixmatrix/Makefile
1934 gst/mpeg1sys/Makefile
1935 gst/mpeg1videoparse/Makefile
1936 gst/mpeg2sub/Makefile
1937 gst/mpegaudio/Makefile
1938 gst/mpegaudioparse/Makefile
1939 gst/mpegstream/Makefile
1940 gst/modplug/Makefile
1941 gst/modplug/libmodplug/Makefile
1942 gst/monoscope/Makefile
1943 gst/multifilesink/Makefile
1944 gst/multipart/Makefile
1945 gst/overlay/Makefile
1946 gst/passthrough/Makefile
1947 gst/playback/Makefile
1948 gst/playondemand/Makefile
1949 gst/qtdemux/Makefile
1950 gst/realmedia/Makefile
1953 gst/silence/Makefile
1957 gst/spectrum/Makefile
1961 gst/synaesthesia/Makefile
1965 gst/typefind/Makefile
1968 gst/videobox/Makefile
1969 gst/videocrop/Makefile
1970 gst/videodrop/Makefile
1971 gst/videofilter/Makefile
1972 gst/videoflip/Makefile
1973 gst/videomixer/Makefile
1974 gst/videorate/Makefile
1975 gst/videoscale/Makefile
1976 gst/videotestsrc/Makefile
1980 gst/wavparse/Makefile
1987 sys/osxaudio/Makefile
1988 sys/osxvideo/Makefile
1990 sys/sunaudio/Makefile
1995 sys/xvimage/Makefile
2002 ext/audiofile/Makefile
2003 ext/audioresample/Makefile
2005 ext/cdaudio/Makefile
2006 ext/cdparanoia/Makefile
2008 ext/directfb/Makefile
2013 ext/dvdread/Makefile
2019 ext/gdk_pixbuf/Makefile
2020 ext/gnomevfs/Makefile
2023 dnl ext/http/Makefile
2028 ext/ivorbis/Makefile
2030 ext/libcaca/Makefile
2031 ext/libfame/Makefile
2035 ext/libvisual/Makefile
2037 dnl ext/mas/Makefile
2039 ext/mpeg2dec/Makefile
2040 ext/mpeg2enc/Makefile
2042 ext/musepack/Makefile
2043 ext/musicbrainz/Makefile
2048 ext/raw1394/Makefile
2052 ext/sidplay/Makefile
2053 ext/smoothwave/Makefile
2054 ext/snapshot/Makefile
2056 ext/sndfile/Makefile
2064 gst-libs/gst/Makefile
2065 gst-libs/gst/audio/Makefile
2066 gst-libs/gst/colorbalance/Makefile
2067 gst-libs/gst/floatcast/Makefile
2068 gst-libs/gst/gconf/Makefile
2069 gst-libs/gst/idct/Makefile
2070 gst-libs/gst/media-info/Makefile
2071 gst-libs/gst/mixer/Makefile
2072 gst-libs/gst/navigation/Makefile
2073 gst-libs/gst/play/Makefile
2074 gst-libs/gst/propertyprobe/Makefile
2075 gst-libs/gst/resample/Makefile
2076 gst-libs/gst/riff/Makefile
2077 gst-libs/gst/tag/Makefile
2078 gst-libs/gst/tuner/Makefile
2079 gst-libs/gst/video/Makefile
2080 gst-libs/gst/xoverlay/Makefile
2081 gst-libs/gst/xwindowlistener/Makefile
2082 gst-libs/ext/Makefile
2083 examples/dynparams/Makefile
2084 examples/capsfilter/Makefile
2085 examples/seeking/Makefile
2086 examples/indexing/Makefile
2087 examples/gstplay/Makefile
2088 examples/switch/Makefile
2090 testsuite/spider/Makefile
2091 testsuite/alsa/Makefile
2092 testsuite/multifilesink/Makefile
2096 gconf/gstreamer.schemas
2098 pkgconfig/gstreamer-gconf.pc
2099 pkgconfig/gstreamer-gconf-uninstalled.pc
2100 pkgconfig/gstreamer-interfaces.pc
2101 pkgconfig/gstreamer-interfaces-uninstalled.pc
2102 pkgconfig/gstreamer-libs.pc
2103 pkgconfig/gstreamer-libs-uninstalled.pc
2104 pkgconfig/gstreamer-media-info.pc
2105 pkgconfig/gstreamer-media-info-uninstalled.pc
2106 pkgconfig/gstreamer-play.pc
2107 pkgconfig/gstreamer-play-uninstalled.pc
2108 pkgconfig/gstreamer-plugins.pc
2109 pkgconfig/gstreamer-plugins-uninstalled.pc
2115 dnl disabled until it actually passes make distcheck
2117 dnl docs/libs/Makefile
2118 dnl docs/version.entities
2121 echo -n "configure: *** Plug-ins that will be built :"
2122 echo -e "$GST_PLUGINS_YES" | sort
2124 echo -n "configure: *** Plug-ins that will not be built :"
2125 echo -e "$GST_PLUGINS_NO" | sort
2127 if test "x$BUILD_EXTERNAL" = "xno"; then
2128 echo "configure: *** No external plug-ins will be built"