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, 6, 1, GST_CVS="no", GST_CVS="yes")
17 dnl add a suffix to apps
18 if test x$program_suffix = xNONE ; then
19 program_suffix=-$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
22 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
24 dnl our libraries and install dirs use major.minor as a version
25 GST_MAJORMINOR=$GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR
26 dnl we override it for the release candidate
28 AC_SUBST(GST_MAJORMINOR)
30 dnl CURRENT, REVISION, AGE
31 dnl - library source changed -> increment REVISION
32 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
33 dnl - interfaces added -> increment AGE
34 dnl - interfaces removed -> AGE = 0
35 AS_LIBTOOL(GST_PLUGINS, 0, 0, 0)
38 dnl FIXME take something else ?
39 AC_CONFIG_SRCDIR([gst/law/alaw.c])
40 AM_CONFIG_HEADER(config.h)
42 dnl Add parameters for aclocal
43 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
44 ACLOCAL_FLAGS="-I m4 -I common/m4"
45 AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
52 dnl the gettext stuff needed
53 AM_GNU_GETTEXT_VERSION(0.11.5)
54 AM_GNU_GETTEXT([external])
56 GETTEXT_PACKAGE=gst-plugins-$GST_MAJORMINOR
57 AC_SUBST(GETTEXT_PACKAGE)
58 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
59 [gettext package name])
61 dnl define LOCALEDIR in config.h
62 AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
63 AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
66 dnl decide on error flags
67 AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
69 if test "x$GST_WALL" = "xyes"; then
70 GST_ERROR="$GST_ERROR -Wall -Wno-sign-compare"
72 if test "x$GST_CVS" = "xyes"; then
73 AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
74 GST_ERROR="$GST_ERROR -DG_DISABLE_DEPRECATED"
78 dnl determine c++ compiler
80 dnl determine if c++ is available on this system
81 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
82 dnl determine c++ preprocessor
90 dnl Check for a way to display the function name in debug output
93 dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
94 dnl messages printed when running cvs builds
95 if test "x$GST_CVS" = "xyes"; then
96 AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
99 dnl ############################################
100 dnl # Super Duper options for plug-in building #
101 dnl ############################################
103 dnl ext plug-ins; plug-ins that have external dependencies
104 GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
105 [HAVE_EXTERNAL=yes],enabled,
107 AC_MSG_WARN(building external plug-ins)
110 AC_MSG_WARN(all plug-ins with external dependencies will not be built)
113 # make BUILD_EXTERNAL available to Makefile.am
114 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
116 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
117 dnl read 'builds, but might not work'UTO
118 GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
119 [HAVE_EXPERIMENTAL=yes],disabled,
121 AC_MSG_WARN(building experimental plug-ins)
125 AC_MSG_NOTICE(not building experimental plug-ins)
130 dnl broken plug-ins; stuff that doesn't seem to build at the moment
131 GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
132 HAVE_BROKEN=yes,disabled,
134 AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches :)])
136 AC_MSG_NOTICE([not building broken plug-ins])
139 dnl ##############################
140 dnl # Do automated configuration #
141 dnl ##############################
146 dnl allow for different autotools
147 AS_AUTOTOOLS_ALTERNATE()
149 dnl modify pkg-config path
150 AC_ARG_WITH(pkg-config-path,
151 AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
152 [export PKG_CONFIG_PATH=${withval}])
154 dnl check architecture
158 AC_PATH_PROG(NASM_PATH, nasm, no)
160 if test x$NASM_PATH = xno; then
161 AC_MSG_WARN(Couldn't find nasm)
164 AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
168 dnl check for gconftool-2
169 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
170 GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
171 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
172 if test x$GCONFTOOL = xno; then
173 AC_MSG_WARN(Not installing GConf schemas)
179 AC_SUBST(HAVE_GCONFTOOL)
182 dnl check for GConf libraries
183 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
184 GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
185 PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
186 AC_SUBST(GCONF_CFLAGS)
190 dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1)
191 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
192 HAVE_GST="yes", HAVE_GST="no")
194 if test "x$HAVE_GST" = "xno"; then
195 AC_MSG_ERROR(no GStreamer found)
198 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
199 if test -z $GST_TOOLS_DIR; then
200 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
202 AC_SUBST(GST_TOOLS_DIR)
204 dnl check for gstreamer-control; uninstalled is selected preferentially
205 PKG_CHECK_MODULES(GST_CONTROL, gstreamer-control-$GST_MAJORMINOR >= $GST_PLUGINS_VERSION_MAJOR.$GST_PLUGINS_VERSION_MINOR.$GST_PLUGINS_VERSION_MICRO,
206 HAVE_GST_CONTROL="yes", HAVE_GST_CONTROL="no")
208 if test "x$HAVE_GST_CONTROL" = "xno"; then
209 AC_MSG_ERROR(no GStreamer Control Libs found)
212 AC_SUBST(GST_CONTROL_LIBS)
214 dnl Determine endianness
217 dnl Check for fast float to int casting as defined in C99
221 dnl Check for essential libraries first:
222 dnl ====================================
226 dnl Check for additional libraries that we might use:
227 dnl =================================================
230 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
231 if test "x$HAVE_GTK_22" = "xyes"; then
233 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
234 AC_SUBST(GTK_VERSION)
235 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
236 GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
237 GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
238 AC_SUBST(GTK_BASE_DIR)
240 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
242 if test "x$HAVE_GTK_20" = "xyes"; then
245 GTK_CFLAGS=$GTK2_CFLAGS
251 # gdk_pixbuf gstreamer loader is considered experimental, so disable
253 if test "x$HAVE_GTK_22" = "xyes"; then
259 # we set the defaults always to make sure we have non-empty variables
262 # by default, stick to prefix
263 GDK_PIXBUF_LOADER_DIR=${libdir}/gtk-2.0/\${GTK_VERSION}/loaders
264 GDK_PIXBUF_CONF_DIR=${sysconfdir}/gtk-2.0
267 AC_ARG_ENABLE(gdk-pixbuf-loader,
268 AC_HELP_STRING([--enable-gdk-pixbuf-loader],
269 [whether to enable building of gdk_pixbuf loader]),
270 :, HAVE_GDK_LOADERS="no")
272 if test "x$HAVE_GDK_LOADERS" = "xyes"; then
273 AC_PATH_PROG(QUERYLOADERS, gdk-pixbuf-query-loaders, no)
274 # allow customization of pixbuf loader install location
275 # when nothing specified, adhere to prefix settings
276 # when called without any option with this argument, autodetect
277 # when called with a path, set to the given path
279 AC_ARG_WITH(gdk-pixbuf-loader-dir,
280 AC_HELP_STRING([--with-gdk-pixbuf-loader-dir],
281 [directory to install the gdk_pixbuf loader (none for pkg-config default)]),
283 if test "x${withval}" != xyes ; then
284 GDK_PIXBUF_LOADER_DIR="${withval}"
286 GDK_PIXBUF_LOADER_DIR="$GDK_PIXBUF_LIBDIR/gtk-2.0/\$GTK_VERSION/loaders"
290 AS_AC_EXPAND(GDK_PIXBUF_LOADER_DIR, $GDK_PIXBUF_LOADER_DIR)
291 AC_SUBST(GDK_PIXBUF_LOADER_DIR)
292 AC_MSG_NOTICE([Putting GTK+-2 pixbuf loaders in $GDK_PIXBUF_LOADER_DIR])
294 # allow customization of pixbuf loader configuration file
295 # when nothing specified, adhere to prefix settings
296 # when called without any option with this argument, autodetect
297 # when called with a path, set to the given path
299 AC_ARG_WITH(gdk-pixbuf-conf-dir,
300 AC_HELP_STRING([--with-gdk-pixbuf-conf-dir],
301 [directory to install the gdk_pixbuf config (none for pkg-config default)]),
303 if test "x${withval}" != xyes ; then
304 GDK_PIXBUF_CONF_DIR="${withval}"
306 GDK_PIXBUF_CONF_DIR="$GDK_PIXBUF_PREFIXDIR/etc/gtk-2.0/"
310 AS_AC_EXPAND(GDK_PIXBUF_CONF_DIR, $GDK_PIXBUF_CONF_DIR)
311 AC_SUBST(GDK_PIXBUF_CONF_DIR)
312 AC_MSG_NOTICE([Putting GTK+-2 pixbuf loader config in $GDK_PIXBUF_CONF_DIR])
314 AM_CONDITIONAL(HAVE_GDK_LOADERS, test "x$HAVE_GDK_LOADERS" = "xyes")
316 PKG_CHECK_MODULES(LIBOIL, liboil-0.1, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
317 AC_SUBST(LIBOIL_CFLAGS)
318 AC_SUBST(LIBOIL_LIBS)
319 if test "x${HAVE_LIBOIL}" = xyes ; then
320 #AC_DEFINE_UNQUOTED(HAVE_LIBOIL, 1, [Define if liboil is being used])
324 dnl ===========================================================================
325 dnl ============================= gst plug-ins ================================
326 dnl ===========================================================================
328 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
331 GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*{gst_,Gst,GST_}.*'
332 AC_SUBST(GST_PLUGIN_LDFLAGS)
334 dnl these are all the gst plug-ins, compilable without additional libs
400 dnl see if we can build C++ plug-ins
401 if test "x$HAVE_CXX" = "xyes"; then
402 GST_PLUGINS_ALL="$GST_PLUGINS_ALL \
405 AC_MSG_WARN([Not compiling plug-ins requiring C++ compiler])
408 AC_SUBST(GST_PLUGINS_ALL)
410 GST_PLUGINS_SELECTED=""
413 AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
414 [for i in `echo $withval | tr , ' '`; do
415 if echo $GST_PLUGINS_ALL | grep $i > /dev/null
417 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
419 echo "plug-in $i not recognized, ignoring..."
422 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
424 AC_SUBST(GST_PLUGINS_SELECTED)
426 dnl ==========================================================================
427 dnl ============================= sys plug-ins ================================
428 dnl ==========================================================================
430 dnl *** DXR3 card ***
431 translit(dnm, m, l) AM_CONDITIONAL(USE_DXR3, true)
432 GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder],
433 dxr3videosink dxr3audiosink dxr3spusink, [
435 AC_CHECK_HEADER(linux/em8300.h, ,
436 [ AC_MSG_WARN([DXR3/em8300 header file not found]) &&
438 AC_CHECK_HEADER(linux/soundcard.h, ,
439 [ AC_MSG_WARN([Generic sound header file not found]) &&
443 dnl *** OSS audio ***
444 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
445 GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
446 AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no")
450 translit(dnm, m, l) AM_CONDITIONAL(USE_QCAM, true)
451 GST_CHECK_FEATURE(QCAM, [QuickCam], qcamsrc, [
452 if test "x$HAVE_CPU_I386" != "xyes";
456 AC_CHECK_HEADER(sys/io.h, HAVE_QCAM="yes", HAVE_QCAM="no")
458 if test "x$HAVE_QCAM" != "xyes";
460 AC_MSG_WARN([QuickCam only works on i386-linux])
465 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
466 GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
467 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
470 dnl *** CDROM Audio ***
471 translit(dnm, m, l) AM_CONDITIONAL(USE_CDROM, true)
472 GST_CHECK_FEATURE(CDROM, [CDROM Audio], cdrom, [
473 AC_CHECK_HEADERS(linux/cdrom.h) dnl linux
474 AC_CHECK_HEADERS(sys/cdio.h) dnl almost everything else
475 dnl AC_CHECK_HEADERS(dmedia/cdaudio.h) dnl irix
477 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
479 *-sun-* | *-*-linux*)
480 AC_DEFINE(HAVE_CDROM_SOLARIS,, [Define if cdrom access is in Solaris style])
483 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
485 *-*-netbsd* | *-*-openbsd*)
486 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
487 AC_DEFINE(HAVE_CDROM_BSD_NETBSD,, [Define if cdrom access uses NetBSD variant])
490 AC_DEFINE(HAVE_CDROM_BSD,, [Define if cdrom access is in BSD style])
491 AC_DEFINE(HAVE_CDROM_BSD_DARWIN,, [Define if cdrom access uses Darwin variant])
494 dnl AC_DEFINE(HAVE_CDROM_IRIX,, [Define if cdrom access is in Irix DMedia style])
505 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
506 GST_CHECK_FEATURE(X, [X libraries and plugins],
509 dnl if test "x$X_CFLAGS" == "x" -o "$X_CFLAGS" == "-DX_DISPLAY_MISSING"
510 if test "x$X_DISPLAY_MISSING" = "x1"
512 AC_MSG_NOTICE([cannot find X11 development files])
515 dnl this is much more than we want
516 X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
517 dnl AC_PATH_XTRA only defines the path needed to find the X libs, not the libs
518 dnl therefore we add them here
519 X_LIBS="$X_LIBS -lX11"
528 dnl Look for the PIC library first, Debian requires it.
529 dnl Check debian-devel archives for gory details.
531 dnl At the moment XFree86 doesn't distribute shared libXv due
532 dnl to unstable API. On many platforms you CAN NOT link a shared
533 dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
534 dnl plug-in wants to do. So Debian distributes a PIC compiled
535 dnl version of the static lib for plug-ins to link to when it is
536 dnl inappropriate to link the main application to libXv directly.
537 dnl FIXME: add check if this platform can support linking to a
538 dnl non-PIC libXv, if not then don not use Xv.
539 dnl FIXME: perhaps warn user if they have a shared libXv since
540 dnl this is an error until XFree86 starts shipping one
542 dnl Check for Xv extension
543 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
544 GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
546 if test x$HAVE_X = xyes; then
547 AC_CHECK_LIB(Xv_pic, XvQueryExtension,
548 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
551 if test x$HAVE_XVIDEO = xyes; then
552 XVIDEO_LIBS="-lXv_pic -lXext"
553 AC_SUBST(XVIDEO_LIBS)
555 dnl try again using something else if we didn't find it first
556 if test x$HAVE_XVIDEO = xno; then
557 AC_CHECK_LIB(Xv, XvQueryExtension,
558 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
561 if test x$HAVE_XVIDEO = xyes; then
562 XVIDEO_LIBS="-lXv -lXext"
563 AC_SUBST(XVIDEO_LIBS)
571 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
572 GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], xshm, [
573 if test x$HAVE_X = xyes; then
574 AC_CHECK_LIB(Xext, XShmAttach,
575 HAVE_XSHM="yes", HAVE_XSHM="no",
577 if test "x$HAVE_XSHM" = "xyes"; then
580 dnl On AIX, it is in XextSam instead, but we still need -lXext
581 AC_CHECK_LIB(XextSam, XShmAttach,
582 HAVE_XSHM="yes", HAVE_XSHM="no",
584 if test "x$HAVE_XSHM" = "xyes"; then
585 XSHM_LIBS="-lXext -lXextSam"
594 dnl v4l/v4l2 checks have been moved down because they require X
596 dnl *** Video 4 Linux ***
597 dnl for information about the header/define, see sys/v4l/gstv4lelement.h
598 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
599 GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
602 if test "$HAVE_X" == "yes"
604 AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [
605 #include <sys/types.h>
606 #define _LINUX_TIME_H
607 #include <linux/videodev.h>
612 dnl *** Video 4 Linux 2 ***
613 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
614 translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
615 GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
617 if test "$HAVE_X" == "yes"
619 AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
621 #include <sys/types.h>
622 #include <linux/types.h>
623 #define _LINUX_TIME_H
624 #include <linux/videodev2.h>
625 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
626 #error too early v4l2 version or no v4l2 at all
630 ], [ HAVE_V4L2="yes" && AC_MSG_RESULT(yes)],
631 [ HAVE_V4L2="no" && AC_MSG_RESULT(no) &&
632 AC_CHECK_HEADER(linux/videodev2.h,
633 [ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
634 [ AC_MSG_WARN([video4linux2 was not found])])
639 dnl Next, check for the optional libraries:
640 dnl These are all libraries used in building plug-ins
641 dnl ================================================
642 dnl let's try and sort them alphabetically, shall we ?
644 if test "x$BUILD_EXTERNAL" = "xyes"; then
646 AC_MSG_NOTICE(Checking for plug-in dependency libraries)
649 translit(dnm, m, l) AM_CONDITIONAL(USE_A52DEC, true)
650 GST_CHECK_FEATURE(A52DEC, [a52dec], a52dec, [
651 AC_CHECK_A52DEC(HAVE_A52DEC=yes, HAVE_A52DEC=no)
655 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
656 GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
657 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
658 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
662 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
663 GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
664 PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
666 AC_SUBST(ALSA_CFLAGS)
669 AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
674 dnl if mcopidl can't be found there's no use in compiling it
675 AC_CHECK_PROG(MCOPIDL, mcopidl, yes, no)
676 if test "x$HAVE_MCOPIDL" = "xno";
681 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTS, true)
682 GST_CHECK_FEATURE(ARTS, [arts plug-ins], arts, [
683 AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
687 translit(dnm, m, l) AM_CONDITIONAL(USE_ARTSC, true)
688 GST_CHECK_FEATURE(ARTSC, [artsd plug-ins], artsdsink, [
692 dnl *** audiofile ***
693 dnl this check uses the GST_CHECK_CONFIGPROG macro
694 translit(dnm, m, l) AM_CONDITIONAL(USE_AUDIOFILE, true)
695 GST_CHECK_FEATURE(AUDIOFILE, [audiofile], afsink afsrc, [
696 translit(dnm, m, l) AC_SUBST(AUDIOFILE_LIBS)
697 translit(dnm, m, l) AC_SUBST(AUDIOFILE_CFLAGS)
698 dnl check with pkg-config first
699 PKG_CHECK_MODULES(AUDIOFILE, audiofile, HAVE_AUDIOFILE="yes", HAVE_AUDIOFILE="no")
700 if test "x$HAVE_AUDIOFILE" = "xno"; then
701 GST_CHECK_CONFIGPROG(AUDIOFILE, audiofile-config)
702 dnl we need this function
703 AC_CHECK_LIB(audiofile, afOpenVirtualFile, , HAVE_AUDIOFILE="no")
706 dnl *** CDParanoia ***
707 translit(dnm, m, l) AM_CONDITIONAL(USE_CDPARANOIA, true)
708 GST_CHECK_FEATURE(CDPARANOIA, [CDParanoia], cdparanoia, [
709 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
712 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
714 FOUND_CDPARANOIA="yes")
715 if test "x$FOUND_CDPARANOIA" != "xyes";
717 GST_CHECK_LIBHEADER(CDPARANOIA, cdda_interface,
719 cdda/cdda_interface.h,
720 CDPARANOIA_LIBS="-lcdda_interface -lcdda_paranoia"
722 FOUND_CDPARANOIA="yes")
724 if test "x$HEADER_DIR" = "xyes";
726 AC_DEFINE_UNQUOTED(CDPARANOIA_HEADERS_IN_DIR, ,
727 defined if cdda headers are in a cdda/ directory)
729 AC_SUBST(CDPARANOIA_LIBS)
731 dnl FIXME : add second check somehow if that is necessary
732 dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
733 dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
736 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
737 GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
739 AC_CHECK_HEADER(encore2.h, ,
740 [ AC_MSG_WARN([Divx4linux encore headers not found]) &&
742 if [ test x$HAVE_DIVX = xyes ]; then
743 AC_MSG_CHECKING([Checking for valid divx4linux encore version])
746 #if ENCORE_VERSION != 20021024
747 #error Wrong version of divx encore libraries
751 ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
752 [ HAVE_DIVX=no && AC_MSG_RESULT(no) &&
753 AC_MSG_WARN([Wrong version of divx4linux installed]) ])
755 if [ test x$HAVE_DIVX = xyes ]; then
756 AC_CHECK_HEADER(decore.h, ,
757 [ AC_MSG_WARN([Divx4linux decoder headers not found]) &&
760 if [ test x$HAVE_DIVX = xyes ]; then
761 AC_MSG_CHECKING([Checking for valid divx4linux decore version])
764 #if DECORE_VERSION != 20021112
765 #error Wrong version of divx decore libraries
769 ], [ HAVE_DIVX=yes && AC_MSG_RESULT(yes)],
770 [ HAVE_DIVX=no && AC_MSG_RESULT(no) &&
771 AC_MSG_WARN([Wrong version of divx4linux installed]) ])
774 if test x$HAVE_DIVX = xyes; then
775 AC_CHECK_LIB(divxencore, encore, ,
776 [ AC_MSG_WARN([Divx4linux encore libs not found]) &&
779 if test x$HAVE_DIVX = xyes; then
780 AC_CHECK_LIB(divxdecore, decore, ,
781 [ AC_MSG_WARN([Divx4linux decore libs not found]) &&
784 if test x$HAVE_DIVX = xyes; then
785 DIVXENC_LIBS="-ldivxencore -lm"
786 DIVXDEC_LIBS="-ldivxdecore -lm"
787 AC_SUBST(DIVXENC_LIBS)
788 AC_SUBST(DIVXDEC_LIBS)
793 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDREAD, true)
794 GST_CHECK_FEATURE(DVDREAD, [dvdread library], dvdreadsrc, [
795 GST_CHECK_LIBHEADER(DVDREAD, dvdread, DVDOpen, , dvdread/dvd_reader.h, DVDREAD_LIBS="-ldvdread")
796 AC_SUBST(DVDREAD_LIBS)
800 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
801 GST_CHECK_FEATURE(DVDNAV, [dvdnav library], dvdnavsrc, [
802 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
803 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
804 GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
805 if test x"$HAVE_DVDNAV" = x"yes"; then
807 DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
808 DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
809 DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
810 DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
811 if [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
812 [[ "$DVDNAV_MINOR" -lt "1" ]]; then
813 AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
815 elif [[ "$DVDNAV_MAJOR" -eq "0" ]] && \
816 [[ "$DVDNAV_MINOR" -eq "1" ]] && \
817 [[ "$DVDNAV_MICRO" -lt "7" ]]; then
818 AC_MSG_WARN([libdvdnav >= 0.1.7 is required, you have $DVDNAV_VERSION])
822 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
826 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
827 GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink esdmon, [
828 PKG_CHECK_MODULES(ESD, esound >= 0.2.12, [
833 AM_PATH_ESD(0.2.12, HAVE_ESD="yes", HAVE_ESD="no")
834 AS_SCRUB_INCLUDE(ESD_CFLAGS)
838 dnl **** Free AAC Encoder (FAAC) ****
839 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
840 GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
841 GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h, FAAC_LIBS="-lfaac -lm")
842 AS_SCRUB_INCLUDE(FAAC_CFLAGS)
846 dnl **** Free AAC Decoder (FAAD) ****
847 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
848 GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
849 GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h, FAAD_LIBS="-lfaad -lm")
850 AC_MSG_CHECKING([Checking for FAAD >= 2])
853 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
857 [ HAVE_FAAD="yes" && AC_MSG_RESULT(yes)],
858 [ HAVE_FAAD="no" && AC_MSG_RESULT(no)])
859 AS_SCRUB_INCLUDE(FAAD_CFLAGS)
863 dnl **** festival ****
864 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_FESTIVAL, true)
865 dnl GST_CHECK_FEATURE(FESTIVAL, [festival plug-ins], festivalsrc, [
866 dnl NOTE: just using local net connection now, add this lib check
867 dnl in the future if needed
868 dnl AC_LANG_PUSH(C++)
869 dnl dnl FIXME: took out func to check for
870 dnl dnl This check puts festival_tidy_up in extern "C".
871 dnl dnl But, at least on Debian as of 20020110, it is compiled with name
872 dnl dnl mangling C++ nonsense and symbols can't resolve
873 dnl dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, festival_tidy_up, , festival/festival.h, FESTIVAL_LIBS="-lFestival")
874 dnl GST_CHECK_LIBHEADER(FESTIVAL, Festival, , , festival/festival.h, FESTIVAL_LIBS="-lFestival")
876 dnl AC_SUBST(FESTIVAL_LIBS)
877 dnl HAVE_FESTIVAL=yes
881 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
882 GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
883 GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC")
887 dnl *** GDK pixbuf ***
888 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
889 GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbufsrc, [
890 if test $HAVE_GTK_22 = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
893 dnl *** Gnome VFS ***
894 translit(dnm, m, l) AM_CONDITIONAL(USE_GNOME_VFS, true)
895 GST_CHECK_FEATURE(GNOME_VFS, [Gnome VFS], gnomevfssrc, [
896 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0, HAVE_GNOME_VFS="yes", HAVE_GNOME_VFS="no")
897 AC_SUBST(GNOME_VFS_CFLAGS)
898 AC_SUBST(GNOME_VFS_LIBS)
902 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
903 GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
904 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
905 if test $HAVE_GSM != "yes"; then
906 GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
907 if test $HAVE_GSM = "yes"; then
908 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
915 translit(dnm, m, l) AM_CONDITIONAL(USE_HERMES, true)
916 GST_CHECK_FEATURE(HERMES, [Hermes library], colorspace, [
917 GST_CHECK_LIBHEADER(HERMES, Hermes, Hermes_ConverterInstance, , Hermes/Hermes.h, HERMES_LIBS="-lHermes")
918 ], AC_SUBST(HERMES_LIBS))
921 dnl translit(dnm, m, l) AM_CONDITIONAL(USE_HTTP, true)
922 dnl GST_CHECK_FEATURE(HTTP, [http plug-ins], gsthttpsrc, [
923 dnl dnl FIXME: need to check for header
925 dnl GST_HTTPSRC_GET_TYPE=
926 dnl if test x$USE_GLIB2 = xyes; then
927 dnl AC_MSG_WARN(ghttp disabled for glib2.0)
929 dnl AC_CHECK_LIB(ghttp, ghttp_request_new,
930 dnl [HTTP_LIBS="-lghttp"
931 dnl GST_HTTPSRC_GET_TYPE="gst_httpsrc_get_type"
935 dnl AC_SUBST(HTTP_LIBS)
936 dnl AC_SUBST(GST_HTTPSRC_GET_TYPE)
940 dnl AM_PATH_IVORBIS only takes two options
941 translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
942 GST_CHECK_FEATURE(IVORBIS, [integer vorbis plug-in], ivorbisdec, [
945 AC_CHECK_LIB(vorbisidec, vorbis_block_init,
946 [IVORBIS_LIBS=-lvorbisidec
949 AC_SUBST(IVORBIS_LIBS)
950 AC_SUBST(IVORBIS_CFLAGS)
954 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
955 GST_CHECK_FEATURE(JACK, Jack, jack, [
956 PKG_CHECK_MODULES(JACK, jack >= 0.29.0, HAVE_JACK="yes", HAVE_JACK="no")
957 AC_SUBST(JACK_CFLAGS)
962 dnl FIXME: we could use header checks here as well IMO
963 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
964 GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
965 AC_ARG_WITH(jpeg-mmx,
966 [ --with-jpeg-mmx, path to MMX'ified JPEG library])
968 if test x$with_jpeg_mmx != x; then
969 LIBS="$LIBS -L$with_jpeg_mmx"
971 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
972 JPEG_LIBS="$LIBS -ljpeg-mmx"
974 if test x$HAVE_JPEG != xyes; then
975 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
982 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
983 GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
984 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
988 translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
989 GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
990 GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, -lm, lame/lame.h, HAVE_LAME="yes" LAME_LIBS="-lmp3lame")
994 dnl *** libcolorspace ***
995 translit(dnm, m, l) AM_CONDITIONAL(USE_LCS, true)
996 GST_CHECK_FEATURE(LCS, Lcs, lcs, [
997 PKG_CHECK_MODULES(LCS, lcs, HAVE_LCS="yes", HAVE_LCS="no")
1003 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
1004 GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
1005 PKG_CHECK_MODULES(LIBDV, libdv >= 0.98, HAVE_LIBDV="yes", HAVE_LIBDV="no")
1006 AC_SUBST(LIBDV_CFLAGS)
1007 AC_SUBST(LIBDV_LIBS)
1011 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
1012 GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
1013 GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
1014 AC_SUBST(LIBCACA_CFLAGS)
1015 AC_SUBST(LIBCACA_LIBS)
1019 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBFAME, true)
1020 GST_CHECK_FEATURE(LIBFAME, [libfame MPEG1/4 encoder], libfame, [
1021 AM_PATH_LIBFAME(0.9.0, HAVE_LIBFAME="yes", HAVE_LIBFAME="no")
1022 AC_SUBST(LIBFAME_CFLAGS)
1023 AC_SUBST(LIBFAME_LIBS)
1027 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1028 GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
1029 PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
1030 AC_SUBST(LIBPNG_CFLAGS)
1031 AC_SUBST(LIBPNG_LIBS)
1035 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBRFB, true)
1036 GST_CHECK_FEATURE(LIBRFB, [librfb Remote Framebuffer], rfbsrc, [
1037 PKG_CHECK_MODULES(LIBRFB, librfb-0.1, HAVE_LIBRFB="yes", HAVE_LIBRFB="no")
1038 AC_SUBST(LIBRFB_CFLAGS)
1039 AC_SUBST(LIBRFB_LIBS)
1043 dnl FIXME: we could use header checks here as well IMO
1044 translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
1045 GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
1046 dnl check with pkg-config first
1047 PKG_CHECK_MODULES(MAD, mad >= 0.15 id3tag >= 0.15, HAVE_MAD="yes", HAVE_MAD="no")
1048 if test "x$HAVE_MAD" = "xno"; then
1049 dnl fall back to oldskool detection
1050 AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
1051 if test "x$HAVE_MAD" = "xyes"; then
1055 AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
1063 translit(dnm, m, l) AM_CONDITIONAL(USE_MIKMOD, true)
1064 GST_CHECK_FEATURE(MIKMOD, [mikmod plug-in], mikmod, [
1065 AM_PATH_LIBMIKMOD(, HAVE_MIKMOD=yes, HAVE_MIKMOD=no)
1066 AC_SUBST(MIKMOD_LIBS, "$LIBMIKMOD_LIBS")
1067 AC_SUBST(MIKMOD_CFLAGS, "$LIBMIKMODCFLAGS")
1070 dnl *** mpeg2dec ***
1071 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
1072 GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
1073 PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.3.1,
1074 HAVE_MPEG2DEC="yes", HAVE_MPEG2DEC="no")
1075 AC_SUBST(MPEG2DEC_CFLAGS)
1076 AC_SUBST(MPEG2DEC_LIBS)
1079 dnl *** mpeg2enc ***
1080 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1081 GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1083 dnl we require a c++ compiler for this one
1084 if [ test x$HAVE_CXX = xyes ]; then
1085 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1086 dnl since many distros include mjpegtools specifically without mplex
1087 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1088 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1089 dnl switch over to c++ to test things
1091 OLD_CPPFLAGS="$CPPFLAGS"
1092 CPPFLAGS="$CPPFLAGS $MPEG2ENC_CFLAGS"
1093 AC_CHECK_HEADER(mpeg2encoder.hh, [
1094 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1096 LIBS="$LIBS $MPEG2ENC_LIBS"
1097 AC_MSG_CHECKING([for valid mpeg2enc objects])
1099 #include <mpeg2encoder.hh>
1100 #include <mpeg2encoptions.hh>
1106 MPEG2EncOptions *options = new MPEG2EncOptions ();
1107 MPEG2Encoder encoder (*options);
1112 AC_SUBST(MPEG2ENC_CFLAGS)
1113 AC_SUBST(MPEG2ENC_LIBS)
1115 ], AC_MSG_RESULT(no))
1118 CPPFLAGS="$OLD_CPPFLAGS"
1126 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1127 GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1129 dnl we require a c++ compiler for this one
1130 if [ test x$HAVE_CXX = xyes ]; then
1131 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1132 dnl since many distros include mjpegtools specifically without mplex
1133 dnl and mpeg2enc, we check for mplex on its own, too.
1134 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.6.1.93, [
1135 dnl switch over to c++ to test things
1137 OLD_CPPFLAGS="$CPPFLAGS"
1138 CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1139 AC_CHECK_HEADER(interact.hpp, [
1140 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1142 LIBS="$LIBS $MPLEX_LIBS"
1143 AC_MSG_CHECKING([for valid mplex objects])
1145 #include <interact.hpp>
1146 #include <outputstrm.hpp>
1147 #include <multiplexor.hpp>
1153 class TestOutputStream : public OutputStream {
1155 TestOutputStream () : OutputStream () { }
1156 void Write (uint8_t *a, unsigned int b) { }
1157 void NextSegment () { }
1158 off_t SegmentSize () { }
1162 MultiplexJob *job = new MultiplexJob ();
1163 vector<IBitStream *> inputs;
1164 job->SetupInputStreams (inputs);
1165 TestOutputStream *out = new TestOutputStream ();
1166 Multiplexor mux (*job, *out);
1171 AC_SUBST(MPLEX_CFLAGS)
1172 AC_SUBST(MPLEX_LIBS)
1174 ], AC_MSG_RESULT(no))
1177 CPPFLAGS="$OLD_CPPFLAGS"
1183 dnl *** musicbrainz ***
1184 dnl libmusicbrainz <= 2.0.2 has symbol clashes with ffmpeg
1185 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1186 GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz], musicbrainz, [
1187 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz > 2.0.2,
1188 HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1189 AC_SUBST(MUSICBRAINZ_CFLAGS)
1190 AC_SUBST(MUSICBRAINZ_LIBS)
1194 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1195 GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1197 if test "x$HAVE_X" = "xyes"; then
1198 save_cppflags=$CFLAGS
1199 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1200 GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1201 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1202 CPPFLAGS="$save_cppflags"
1204 AC_SUBST(NAS_CFLAGS)
1209 translit(dnm, m, l) AM_CONDITIONAL(USE_PANGO, true)
1210 GST_CHECK_FEATURE(PANGO, [pango], pango, [
1211 PKG_CHECK_MODULES(PANGO, pango pangoft2,
1212 HAVE_PANGO="yes", HAVE_PANGO="no")
1213 AC_SUBST(PANGO_CFLAGS)
1214 AC_SUBST(PANGO_LIBS)
1218 translit(dnm, m, l) AM_CONDITIONAL(USE_RAW1394, true)
1219 GST_CHECK_FEATURE(RAW1394, [raw1394 library], dv1394src, [
1220 GST_CHECK_LIBHEADER(RAW1394, raw1394, raw1394_new_handle,, libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
1221 AC_SUBST(RAW1394_LIBS)
1225 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1226 GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink, [
1227 dnl sdlvideosink depends on the xoverlay interface, which depends on X
1228 if test x$HAVE_X = xyes; then
1229 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1234 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT, true)
1235 GST_CHECK_FEATURE(SHOUT, [shout plug-in], icecastsend, [
1236 GST_CHECK_LIBHEADER(SHOUT, shout, shout_init_connection,, shout/shout.h, SHOUT_LIBS="-lshout")
1237 AC_SUBST(SHOUT_LIBS)
1241 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
1242 GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
1243 PKG_CHECK_MODULES(SHOUT2, shout >= 2.0, [
1245 AC_SUBST(SHOUT2_CFLAGS)
1246 AC_SUBST(SHOUT2_LIBS)
1248 AM_PATH_SHOUT2(HAVE_SHOUT2="yes", HAVE_SHOUT2="no")
1249 AC_SUBST(SHOUT2_CFLAGS)
1250 AC_SUBST(SHOUT2_LIBS)
1255 translit(dnm, m, l) AM_CONDITIONAL(USE_SIDPLAY, true)
1256 GST_CHECK_FEATURE(SIDPLAY, [sidplay plug-in], sidplay, [
1260 dnl *** smoothwave ***
1261 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHWAVE, true)
1262 GST_CHECK_FEATURE(SMOOTHWAVE, [smoothwave plug-in], smoothwave, [
1263 if test $HAVE_GTK = "yes"; then HAVE_SMOOTHWAVE=yes; fi;
1267 dnl *** snapshot ***
1268 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
1269 GST_CHECK_FEATURE(LIBPNG, [snapshot plug-in], snapshot, [
1270 GST_CHECK_LIBHEADER(LIBPNG, png, png_read_info, -lz -lm, png.h, LIBPNG_LIBS="-lpng -lz -lm")
1271 AC_SUBST(LIBPNG_LIBS)
1275 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
1276 GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
1277 PKG_CHECK_MODULES(SPEEX, speex >= 1.0 speex < 1.1, [
1279 AC_SUBST(SPEEX_CFLAGS)
1280 AC_SUBST(SPEEX_LIBS)
1282 GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex.h, HAVE_SPEEX="yes" SPEEX_LIBS="-lspeex")
1283 AC_SUBST(SPEEX_CFLAGS)
1284 AC_SUBST(SPEEX_LIBS)
1289 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1290 GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1291 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.0, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1292 AC_SUBST(SNDFILE_CFLAGS)
1293 AC_SUBST(SNDFILE_LIBS)
1297 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1298 GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1299 PKG_CHECK_MODULES(SWFDEC, swfdec >= 0.1.3.1, HAVE_SWFDEC=yes, HAVE_SWFDEC=no)
1300 AC_SUBST(SWFDEC_CFLAGS)
1301 AC_SUBST(SWFDEC_LIBS)
1305 dnl for now the sources are included in the plug-in
1306 dnl and should be moved to ext-libs/ perhaps
1307 translit(dnm, m, l) AM_CONDITIONAL(USE_TARKIN, true)
1308 GST_CHECK_FEATURE(TARKIN, [tarkinenc tarkindec], tarkin, [
1313 translit(dnm, m, l) AM_CONDITIONAL(USE_OGG, true)
1314 GST_CHECK_FEATURE(OGG, [ogg de/encoder], oggdemux oggmux, [
1315 PKG_CHECK_MODULES(OGG, ogg >= 1.0, [
1317 AC_SUBST(OGG_CFLAGS)
1320 XIPH_PATH_OGG(HAVE_OGG="yes", HAVE_OGG="no")
1321 AS_SCRUB_INCLUDE(OGG_CFLAGS)
1326 dnl FIXME: theora doesn't have proper pc/m4 files yet, change this when this happens
1327 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORA, true)
1328 GST_CHECK_FEATURE(THEORA, [ogg theora codec], theoradec, [
1329 GST_CHECK_LIBHEADER(THEORA, theora, theora_version_string, , theora/theora.h, THEORA_LIBS="-ltheora")
1330 AC_SUBST(THEORA_LIBS)
1334 dnl AM_PATH_VORBIS only takes two options
1335 translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
1336 GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
1337 XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
1338 AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
1340 if test "x$HAVE_VORBIS" = "xyes"; then
1341 ac_cflags_save="$CFLAGS"
1342 CFLAGS="-Wall -Werror"
1345 #include <vorbis/codec.h>
1347 vorbis_dsp_state *v;
1349 vorbis_synthesis_restart (v);
1350 ]), HAVE_VSR=yes, HAVE_VSR=no)
1351 if test "x$HAVE_VSR" = "xyes"; then
1352 AC_DEFINE_UNQUOTED(HAVE_VORBIS_SYNTHESIS_RESTART, 1,
1353 [defined if vorbis_synthesis_restart is present])
1355 CFLAGS="$ac_cflags_save"
1359 translit(dnm, m, l) AM_CONDITIONAL(USE_XINE, true)
1360 GST_CHECK_FEATURE(XINE, [xine wrapper], xine, [
1361 PKG_CHECK_MODULES(XINE, libxine >= 1.0.0, HAVE_XINE=yes, HAVE_XINE=no)
1362 AC_SUBST(XINE_CFLAGS)
1367 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1368 GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1370 AC_CHECK_HEADER(xvid.h, [
1373 AC_CHECK_LIB(xvidcore, xvid_encore, [
1374 AC_CHECK_LIB(xvidcore, xvid_decore, [
1375 AC_CHECK_LIB(xvidcore, xvid_global, [
1376 AC_MSG_CHECKING([for uptodate XviD API version])
1379 #if XVID_API != XVID_MAKE_API(4,0)
1380 #error "Incompatible XviD API version"
1382 int main () { return 0; }
1383 ],[ AC_MSG_RESULT(yes)
1384 XVID_LIBS="-lxvidcore -lm"
1387 ], AC_MSG_RESULT(no) )
1396 fi dnl of EXT plugins
1398 dnl Check for atomic.h
1399 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
1400 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
1401 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
1402 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
1403 if test x$HAVE_ATOMIC_H = xyes; then
1405 #include "asm/atomic.h"
1406 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
1409 if test x$HAVE_ATOMIC_H = xyes; then
1410 AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
1416 AC_MSG_WARN(Can't check properly for atomic reference counting. Assuming OK.)
1421 dnl ######################################################################
1422 dnl # Check command line parameters, and set shell variables accordingly #
1423 dnl ######################################################################
1425 AC_ARG_ENABLE(libmmx,
1426 AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
1427 [case "${enableval}" in
1428 yes) USE_LIBMMX=$HAVE_LIBMMX ;;
1429 no) USE_LIBMMX=no ;;
1430 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
1432 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
1434 AC_ARG_ENABLE(atomic,
1435 AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
1436 [case "${enableval}" in
1437 yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1438 noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
1439 no) USE_ATOMIC_H=no;;
1440 *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
1442 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
1444 AC_ARG_ENABLE(profiling,
1445 AC_HELP_STRING([--enable-profiling],
1446 [-pg to compiler commandline, for profiling]),
1447 [case "${enableval}" in
1448 yes) USE_PROFILING=yes ;;
1449 no) UES_PROFILING=no ;;
1450 *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
1452 [USE_PROFILING=no]) dnl Default value
1454 AC_ARG_ENABLE(tests,
1455 AC_HELP_STRING([--disable-tests],[disable building test apps]),
1456 [case "${enableval}" in
1457 yes) BUILD_TESTS=yes ;;
1458 no) BUILD_TESTS=no ;;
1459 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
1461 [BUILD_TESTS=yes]) dnl Default value
1463 AC_ARG_ENABLE(examples,
1464 AC_HELP_STRING([--disable-examples],[disable building examples]),
1465 [case "${enableval}" in
1466 yes) BUILD_EXAMPLES=yes ;;
1467 no) BUILD_EXAMPLES=no ;;
1468 *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
1470 [BUILD_EXAMPLES=yes]) dnl Default value
1472 dnl seeking needs freetype, so check for it here
1473 PKG_CHECK_MODULES(FT2, freetype2 >= 2.0.9, HAVE_FT2="yes", [
1474 AC_CHECK_FT2(2.0.9, HAVE_FT2="yes", HAVE_FT2="no")
1476 dnl make the HAVE_FT2 variable available to automake and Makefile.am
1477 AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes")
1478 AC_SUBST(FT2_CFLAGS)
1481 dnl ################################################
1482 dnl # Set defines according to variables set above #
1483 dnl ################################################
1486 if test "x$USE_LIBMMX" = xyes; then
1487 AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
1490 if test "x$USE_ATOMIC_H" = xyes; then
1491 AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
1494 # do not use deprecated stuff
1495 GST_CFLAGS="$GST_CFLAGS -DGST_DISABLE_DEPRECATED"
1497 if test "x$USE_DEBUG" = xyes; then
1498 GST_CFLAGS="$GST_CFLAGS -g"
1501 dnl #############################
1502 dnl # Set automake conditionals #
1503 dnl #############################
1505 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
1506 dnl HAVE_ and it is likely to be easier to stick with the old name
1507 AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
1509 AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
1511 AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes")
1512 AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes")
1514 AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
1515 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
1516 AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
1517 AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
1518 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
1519 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
1520 AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
1521 AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG)
1522 AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF)
1523 AM_CONDITIONAL(HAVE_RAW1394, test "x$HAVE_RAW1394" = "xyes")
1525 dnl prefer internal headers to already installed ones
1526 GST_CFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GST_ERROR"
1529 AC_SUBST(GST_CFLAGS)
1531 dnl ###########################
1532 dnl # Configure external libs #
1533 dnl ###########################
1535 dnl ############################
1536 dnl # Set up some more defines #
1537 dnl ############################
1539 dnl set license and copyright notice
1540 AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
1541 dnl package name in plugins
1542 AC_ARG_WITH(package-name,
1543 AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
1544 [case "${withval}" in
1545 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1546 no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
1547 *) GST_PACKAGE="${withval}" ;;
1549 [GST_PACKAGE="GStreamer"]) dnl Default value
1550 AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
1551 AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
1552 dnl package origin URL
1553 AC_ARG_WITH(package-origin,
1554 AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
1555 [case "${withval}" in
1556 yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1557 no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
1558 *) GST_ORIGIN="${withval}" ;;
1560 [GST_ORIGIN="http://gstreamer.net"]) dnl Default value
1561 AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
1562 AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
1564 dnl #########################
1565 dnl # Make the output files #
1566 dnl #########################
1570 pkgconfig/gstreamer-libs.pc
1571 pkgconfig/gstreamer-libs-uninstalled.pc
1572 pkgconfig/gstreamer-play.pc
1573 pkgconfig/gstreamer-play-uninstalled.pc
1574 pkgconfig/gstreamer-interfaces.pc
1575 pkgconfig/gstreamer-interfaces-uninstalled.pc
1576 gst-libs/gst/gconf/gstreamer-gconf.pc
1577 gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc
1580 gst/ac3parse/Makefile
1582 gst/audioconvert/Makefile
1583 gst/audioscale/Makefile
1584 gst/auparse/Makefile
1586 gst/asfdemux/Makefile
1587 gst/cdxaparse/Makefile
1589 gst/colorspace/Makefile
1592 gst/deinterlace/Makefile
1593 gst/effectv/Makefile
1594 gst/festival/Makefile
1598 gst/interleave/Makefile
1601 gst/matroska/Makefile
1603 gst/mixmatrix/Makefile
1604 gst/mpeg1sys/Makefile
1605 gst/mpeg1videoparse/Makefile
1606 gst/mpeg2sub/Makefile
1607 gst/mpegaudio/Makefile
1608 gst/mpegaudioparse/Makefile
1609 gst/mpegstream/Makefile
1610 gst/modplug/Makefile
1611 gst/modplug/libmodplug/Makefile
1612 gst/monoscope/Makefile
1613 gst/overlay/Makefile
1614 gst/passthrough/Makefile
1615 gst/playondemand/Makefile
1616 gst/qtdemux/Makefile
1617 gst/realmedia/Makefile
1620 gst/silence/Makefile
1624 gst/spectrum/Makefile
1628 gst/synaesthesia/Makefile
1631 gst/typefind/Makefile
1634 gst/videocrop/Makefile
1635 gst/videodrop/Makefile
1636 gst/videofilter/Makefile
1637 gst/videoflip/Makefile
1638 gst/videoscale/Makefile
1639 gst/videotestsrc/Makefile
1643 gst/wavparse/Makefile
1655 sys/xvimage/Makefile
1662 ext/audiofile/Makefile
1663 ext/cdparanoia/Makefile
1666 ext/dvdread/Makefile
1672 ext/gdk_pixbuf/Makefile
1673 ext/gnomevfs/Makefile
1676 dnl ext/http/Makefile
1681 ext/ivorbis/Makefile
1683 ext/libcaca/Makefile
1684 ext/libfame/Makefile
1689 ext/mpeg2dec/Makefile
1690 ext/mpeg2enc/Makefile
1692 ext/musicbrainz/Makefile
1696 ext/raw1394/Makefile
1700 ext/sidplay/Makefile
1701 ext/smoothwave/Makefile
1702 ext/snapshot/Makefile
1704 ext/sndfile/Makefile
1712 gst-libs/gst/Makefile
1713 gst-libs/gst/audio/Makefile
1714 gst-libs/gst/colorbalance/Makefile
1715 gst-libs/gst/floatcast/Makefile
1716 gst-libs/gst/gconf/Makefile
1717 gst-libs/gst/idct/Makefile
1718 gst-libs/gst/media-info/Makefile
1719 gst-libs/gst/mixer/Makefile
1720 gst-libs/gst/navigation/Makefile
1721 gst-libs/gst/play/Makefile
1722 gst-libs/gst/propertyprobe/Makefile
1723 gst-libs/gst/resample/Makefile
1724 gst-libs/gst/riff/Makefile
1725 gst-libs/gst/tag/Makefile
1726 gst-libs/gst/tuner/Makefile
1727 gst-libs/gst/video/Makefile
1728 gst-libs/gst/xoverlay/Makefile
1729 gst-libs/gst/xwindowlistener/Makefile
1730 gst-libs/ext/Makefile
1731 examples/dynparams/Makefile
1732 examples/capsfilter/Makefile
1733 examples/seeking/Makefile
1734 examples/indexing/Makefile
1735 examples/gstplay/Makefile
1736 examples/switch/Makefile
1738 testsuite/spider/Makefile
1739 testsuite/alsa/Makefile
1743 gconf/gstreamer.schemas
1749 echo -n "configure: *** Plug-ins that will be built :"
1750 echo -e "$GST_PLUGINS_YES" | sort
1752 echo -n "configure: *** Plug-ins that will not be built :"
1753 echo -e "$GST_PLUGINS_NO" | sort
1755 if test "x$BUILD_EXTERNAL" = "xno"; then
1756 echo "configure: *** No external plug-ins will be built"