3 dnl please read gstreamer/docs/random/autotools before changing this file
5 dnl initialize autoconf
6 dnl releases only do -Wall, cvs and prerelease does -Werror too
7 dnl use a three digit version number for releases, and four for cvs/pre
8 AC_INIT(GStreamer Good Plug-ins, 0.10.5.1,
9 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
14 dnl initialize automake
17 dnl define PACKAGE_VERSION_* variables
20 dnl check if this is a release version
21 AS_NANO(GST_CVS="no", GST_CVS="yes")
23 dnl can autoconf find the source ?
24 AC_CONFIG_SRCDIR([gst/law/alaw.c])
26 dnl define the output header for config
27 AM_CONFIG_HEADER([config.h])
29 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
32 dnl sets host_* variables
35 dnl our libraries and install dirs use major.minor as a version
36 GST_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
37 dnl we override it here if we need to for the release candidate of new series
39 AC_SUBST(GST_MAJORMINOR)
41 dnl FIXME: this macro doesn't actually work;
42 dnl the generated libtool script has no support for the listed tags.
43 dnl So this needs to be fixed first if we want to use this
48 dnl *** required versions of GStreamer stuff ***
52 dnl *** autotools stuff ****
54 dnl allow for different autotools
55 AS_AUTOTOOLS_ALTERNATE
57 dnl Add parameters for aclocal
58 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
61 dnl the version check needs to stay here because autopoint greps for it
62 AM_GNU_GETTEXT_VERSION([0.11.5])
63 AM_GNU_GETTEXT([external])
64 AG_GST_GETTEXT([gst-plugins-good-$GST_MAJORMINOR])
66 dnl *** check for arguments to configure ***
75 AG_GST_ARG_WITH_PKG_CONFIG_PATH
76 AG_GST_ARG_WITH_PACKAGE_NAME
77 AG_GST_ARG_WITH_PACKAGE_ORIGIN
79 dnl these are all the gst plug-ins, compilable without additional libs
80 dnl videofilter is at the top because others depend on it
110 AC_SUBST(GST_PLUGINS_ALL)
112 GST_PLUGINS_SELECTED=""
115 AC_HELP_STRING([--with-plugins],
116 [comma-separated list of plug-ins to compile]),
117 [for i in `echo $withval | tr , ' '`; do
118 if echo $GST_PLUGINS_ALL | grep $i > /dev/null
120 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
122 echo "plug-in $i not recognized, ignoring..."
125 [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
127 dnl disable gst plugins we might not be able to build on this
128 dnl platform: udp and rtsp (ugly but minimally invasive)
129 dnl FIXME: maybe move to sys
130 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
131 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
133 if test "x$HAVE_SYS_SOCKET_H" != "xyes" -a "x$HAVE_WINSOCK2_H" != "xyes"; then
134 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/udp//`
135 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/rtsp//`
138 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
139 WIN32_LIBS="-lws2_32"
143 dnl ext plug-ins; plug-ins that have external dependencies
144 AG_GST_CHECK_FEATURE(EXTERNAL, [building of plug-ins with external deps],,
145 [HAVE_EXTERNAL=yes], enabled,
147 AC_MSG_NOTICE(building external plug-ins)
150 AC_MSG_NOTICE(all plug-ins with external dependencies will not be built)
153 AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
155 dnl experimental plug-ins; stuff that hasn't had the dust settle yet
156 AG_GST_CHECK_FEATURE(EXPERIMENTAL, [enable building of experimental plug-ins],,
157 [HAVE_EXPERIMENTAL=yes],disabled,
159 AC_MSG_WARN(building experimental plug-ins)
162 AC_MSG_NOTICE(not building experimental plug-ins)
164 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/monoscope//`
167 AC_SUBST(GST_PLUGINS_SELECTED)
169 dnl *** checks for platform ***
171 dnl * hardware/architecture *
173 dnl common/m4/gst-arch.m4
177 dnl Determine endianness
180 dnl *** checks for programs ***
185 dnl determine c++ compiler
187 dnl determine if c++ is available on this system
188 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
190 dnl determine c++ preprocessor
191 dnl FIXME: do we need this ?
196 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
197 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
199 dnl check for gconftool-2
200 dnl this macro defines an am conditional, so it needs to be run always
203 dnl check for documentation tools
205 AS_PATH_PYTHON([2.1])
206 AG_GST_PLUGIN_DOCS([1.3],[2.1])
208 dnl *** checks for libraries ***
210 dnl check for libm, for sin()
214 dnl *** checks for header files ***
216 dnl check if we have ANSI C header files
219 dnl used in gst/rtp/gstasteriskh263.c
220 AC_CHECK_HEADERS([netinet/in.h])
221 AC_CHECK_HEADERS([winsock2.h])
222 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
224 dnl *** checks for types/defines ***
226 dnl Check for FIONREAD ioctl declaration. This check is needed
227 dnl for the UDP plugin to build on Solaris
230 dnl *** checks for structures ***
232 dnl *** checks for compiler characteristics ***
234 dnl FIXME: check if this is used; was used for floatcast.h in base
235 dnl Check for fast float to int casting as defined in C99
239 dnl *** checks for library functions ***
241 dnl Check for mmap (needed by electricfence plugin)
243 AM_CONDITIONAL(GST_HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" == "xyes")
245 dnl *** checks for dependency libraries ***
248 AG_GST_GLIB_CHECK([2.6])
250 dnl liboil is required
251 PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.2, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
252 if test "x${HAVE_LIBOIL}" != xyes ; then
253 AC_ERROR([liboil-0.3 is required])
256 dnl checks for gstreamer
257 dnl uninstalled is selected preferentially -- see pkg-config(1)
258 AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
259 AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
260 AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ])
261 AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ])
262 AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
263 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ])
265 GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
266 if test -z $GST_TOOLS_DIR; then
267 AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
269 AC_SUBST(GST_TOOLS_DIR)
271 AC_MSG_NOTICE(Using GStreamer Core Plugins in $GST_PLUGINS_DIR)
272 AC_MSG_NOTICE(Using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR)
274 dnl FIXME: get rid of this by making sure gstreamer-check brings it in
275 dnl check for "check", unit testing library/header
276 AM_PATH_CHECK(0.9.2, HAVE_CHECK=yes, HAVE_CHECK=no)
277 AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
279 dnl Check for documentation xrefs
280 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
281 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
282 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_MAJORMINOR`"
283 AC_SUBST(GLIB_PREFIX)
285 AC_SUBST(GSTPB_PREFIX)
287 dnl GTK is optional and used in examples
289 PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0, HAVE_GTK_22=yes, HAVE_GTK_22=no)
290 if test "x$HAVE_GTK_22" = "xyes"; then
292 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
293 AC_SUBST(GTK_VERSION)
294 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
295 AC_SUBST(GTK_BASE_DIR)
296 GDK_PIXBUF_LIBDIR=`$PKG_CONFIG --variable=libdir gdk-pixbuf-2.0`
297 GDK_PIXBUF_PREFIXDIR=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
298 AC_SUBST(GTK_BASE_DIR)
300 PKG_CHECK_MODULES(GTK2, gtk+-2.0, HAVE_GTK_20=yes, HAVE_GTK_20=no)
302 if test "x$HAVE_GTK_20" = "xyes"; then
305 GTK_CFLAGS=$GTK2_CFLAGS
310 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
312 dnl should we install schemas ?
313 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
314 AG_GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
315 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
316 if test x$GCONFTOOL = xno; then
317 AC_MSG_WARN(Not installing GConf schemas)
322 AC_SUBST(HAVE_GCONFTOOL)
325 dnl *** set variables based on configure arguments ***
327 dnl set license and copyright notice
329 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
330 AC_SUBST(GST_LICENSE)
332 dnl set location of plugin directory
335 dnl define an ERROR_CFLAGS Makefile variable
336 AG_GST_SET_ERROR_CFLAGS($GST_CVS)
338 dnl define correct level for debugging messages
339 AG_GST_SET_LEVEL_DEFAULT($GST_CVS)
342 AG_GST_DEFAULT_ELEMENTS
344 dnl *** sys plug-ins ***
347 AC_MSG_NOTICE([Checking libraries for plugins in sys/])
350 dnl *** OSS audio *** (Linux, *BSD)
351 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
352 AG_GST_CHECK_FEATURE(OSS, [OSS audio], ossaudio, [
354 dnl Linux and newer BSD versions :
355 AC_CHECK_HEADER(sys/soundcard.h, [
356 AC_DEFINE(HAVE_OSS_INCLUDE_IN_SYS,, [Define if OSS includes are in /sys/])
358 dnl Some old BSD versions and also newer OpenBSD versions :
359 AC_CHECK_HEADER(soundcard.h, [
360 AC_DEFINE(HAVE_OSS_INCLUDE_IN_ROOT,, [Define if OSS includes are in /])
362 dnl Some old BSD versions :
363 AC_CHECK_HEADER(machine/soundcard.h, [
364 AC_DEFINE(HAVE_OSS_INCLUDE_IN_MACHINE,,
365 [Define if OSS includes are in /machine/])
373 dnl *** Sun Audio ***
374 translit(dnm, m, l) AM_CONDITIONAL(USE_SUNAUDIO, true)
375 AG_GST_CHECK_FEATURE(SUNAUDIO, [Sun Audio], sunaudio, [
376 AC_CHECK_HEADER(sys/audioio.h, HAVE_SUNAUDIO="yes", HAVE_SUNAUDIO="no")
379 dnl *** OSX Audio ***
380 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_AUDIO, true)
381 AG_GST_CHECK_FEATURE(OSX_AUDIO, [OSX audio], osxaudio, [
382 AC_CHECK_HEADER(CoreAudio/CoreAudio.h, HAVE_OSX_AUDIO="yes", HAVE_OSX_AUDIO="no")
386 dnl *** Video 4 Linux 2 ***
387 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
388 dnl renamed to GST_V4L2 because of some conflict with kernel headers
389 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L2, true)
390 AG_GST_CHECK_FEATURE(GST_V4L2, [Video 4 Linux 2], v4l2src, [
391 AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
393 #include <sys/types.h>
394 #include <linux/types.h>
395 #define _LINUX_TIME_H
397 #include <linux/videodev2.h>
398 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
399 #error too early v4l2 version or no v4l2 at all
409 AC_CHECK_HEADER(linux/videodev2.h,
411 AC_MSG_WARN([video4linux2 headers were found, but they're old.])
412 AC_MSG_WARN([Please update v4l2 to compile the v4l2 plugins])
414 AC_MSG_WARN([video4linux2 was not found])
418 if [ test x$HAVE_GST_V4L2 = xyes ]; then
419 dnl check for missing v4l2_buffer declaration (see #135919)
421 AC_MSG_CHECKING(struct v4l2_buffer declaration)
423 #include <sys/types.h>
424 #include <linux/types.h>
425 #define _LINUX_TIME_H
427 #include <linux/videodev2.h>
429 struct v4l2_buffer buf;
432 ], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
433 if [ test x$MISSING_DECL = x1 ]; then
434 AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
437 dnl check for XOverlay libraries
443 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
444 AG_GST_CHECK_FEATURE(X, [X libraries and plugins],
448 dnl now try to find the HEADER
449 ac_cflags_save="$CFLAGS"
450 ac_cppflags_save="$CPPFLAGS"
451 CFLAGS="$CFLAGS $X_CFLAGS"
452 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
453 AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
455 if test "x$HAVE_X" = "xno"
457 AC_MSG_NOTICE([cannot find X11 development files])
459 dnl this is much more than we want
460 X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
461 dnl AC_PATH_XTRA only defines the path needed to find the X libs,
462 dnl it does not add the libs; therefore we add them here
463 X_LIBS="$X_LIBS -lX11"
468 PKG_CHECK_MODULES(XFIXES, xfixes, HAVE_XFIXES="yes", HAVE_XFIXES="no")
469 if test "x$HAVE_XFIXES" = "xyes"
471 XFIXES_CFLAGS="-DHAVE_XFIXES $XFIXES_CFLAGS"
473 AC_SUBST(XFIXES_LIBS)
474 AC_SUBST(XFIXES_CFLAGS)
476 dnl check for Xdamage
477 PKG_CHECK_MODULES(XDAMAGE, xdamage, HAVE_XDAMAGE="yes", HAVE_XDAMAGE="no")
478 if test "x$HAVE_XDAMAGE" = "xyes"
480 XDAMAGE_CFLAGS="-DHAVE_XDAMAGE $XDAMAGE_CFLAGS"
482 AC_SUBST(XDAMAGE_LIBS)
483 AC_SUBST(XDAMAGE_CFLAGS)
486 CFLAGS="$ac_cflags_save"
487 CPPFLAGS="$ac_cppflags_save"
490 dnl FIXME: this should be rolled into the test above, it's just an additional
491 dnl feature of the ximagesrc plug-in
492 dnl This is the same as in gst-plugins-base
494 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
495 AG_GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], , [
496 if test x$HAVE_X = xyes; then
497 AC_CHECK_LIB(Xext, XShmAttach,
498 HAVE_XSHM="yes", HAVE_XSHM="no",
500 if test "x$HAVE_XSHM" = "xyes"; then
503 dnl On AIX, it is in XextSam instead, but we still need -lXext
504 AC_CHECK_LIB(XextSam, XShmAttach,
505 HAVE_XSHM="yes", HAVE_XSHM="no",
507 if test "x$HAVE_XSHM" = "xyes"; then
508 XSHM_LIBS="-lXext -lXextSam"
517 dnl for V4L2, we also need to know if we have XVIDEO
518 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
519 AG_GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
524 dnl *** ext plug-ins ***
525 dnl keep this list sorted alphabetically !
527 if test "x$BUILD_EXTERNAL" = "xyes"; then
530 AC_MSG_NOTICE([Checking libraries for plugins in ext/])
534 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
535 AG_GST_CHECK_FEATURE(AALIB, [aalib ASCII Art library], aasink, [
536 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
537 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
541 translit(dnm, m, l) AM_CONDITIONAL(USE_ANNODEX, true)
542 AG_GST_CHECK_FEATURE(ANNODEX, [XML library], annodex, [
543 AG_GST_PKG_CHECK_MODULES(ANNODEX, libxml-2.0 >= 2.4.9)
547 translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
548 AG_GST_CHECK_FEATURE(CAIRO, [Cairo graphics rendering], cairo, [
549 AG_GST_PKG_CHECK_MODULES(CAIRO, cairo >= 1.0.0)
553 translit(dnm, m, l) AM_CONDITIONAL(USE_CDIO, true)
554 AG_GST_CHECK_FEATURE(CDIO, [cdio library], cdio, [
555 AG_GST_PKG_CHECK_MODULES(CDIO, libcdio >= 0.71)
559 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
560 AG_GST_CHECK_FEATURE(ESD, [ESounD sound daemon], esdsink, [
561 AG_GST_PKG_CHECK_MODULES(ESD, esound >= 0.2.12)
562 if test $HAVE_ESD = no
564 AM_PATH_ESD(0.2.12, HAVE_ESD="yes")
565 AS_SCRUB_INCLUDE(ESD_CFLAGS)
570 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
571 AG_GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [
572 AG_GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm")
573 dnl API change in FLAC 1.1.1, so require that...
574 dnl (this check will also fail with FLAC 1.1.3 which changed API again
575 dnl and with which our plugin does not compile or work yet)
576 if test x$HAVE_FLAC = xyes; then
577 AC_CHECK_DECL(FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR,
578 HAVE_FLAC="yes", HAVE_FLAC="no", [
579 #include <FLAC/seekable_stream_encoder.h>
586 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
587 AG_GST_CHECK_FEATURE(GCONF, [GConf libraries], gconfelements, [
588 AG_GST_PKG_CHECK_MODULES(GCONF, gconf-2.0)
591 dnl *** GDK pixbuf ***
592 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
593 AG_GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbuf, [
594 if test $HAVE_GTK_22 = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
598 translit(dnm, m, l) AM_CONDITIONAL(USE_HAL, true)
599 AG_GST_CHECK_FEATURE(HAL, [HAL libraries], halelements, [
600 AG_GST_PKG_CHECK_MODULES(HAL, [hal >= 0.5.6, dbus-1 >= 0.32])
604 dnl FIXME: we could use header checks here as well IMO
605 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
606 AG_GST_CHECK_FEATURE(JPEG, [jpeg library], jpeg, [
607 AC_ARG_WITH(jpeg-mmx,
608 [ --with-jpeg-mmx, path to MMX'ified JPEG library])
610 if test x$with_jpeg_mmx != x; then
611 LIBS="$LIBS -L$with_jpeg_mmx"
613 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
614 JPEG_LIBS="$LIBS -ljpeg-mmx"
616 if test x$HAVE_JPEG != xyes; then
617 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
624 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
625 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
626 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
630 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
631 AG_GST_CHECK_FEATURE(LIBCACA, [libcaca coloured ASCII art], cacasink, [
632 AG_GST_PKG_CHECK_MODULES(LIBCACA, caca)
633 dnl only newer versions of libcaca ship caca.pc, so try caca-config as well
634 if test "x$HAVE_LIBCACA" != "xyes"; then
635 AG_GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
636 dnl see if it compilation works too, might not if we are cross-compiling
637 if test "x$HAVE_LIBCACA" = "xyes"; then
638 AC_CHECK_LIB([caca], [caca_init], [HAVE_LIBCACA=yes],
639 [HAVE_LIBCACA=no], [$LIBCACA_LIBS])
645 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
646 AG_GST_CHECK_FEATURE(LIBDV, [libdv DV demuxer/decoder], dv, [
647 AG_GST_PKG_CHECK_MODULES(LIBDV, libdv >= 0.100)
651 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
652 AG_GST_CHECK_FEATURE(LIBPNG, [Portable Network Graphics library], png, [
653 AG_GST_PKG_CHECK_MODULES(LIBPNG, libpng12)
657 translit(dnm, m, l) AM_CONDITIONAL(USE_DV1394, true)
658 AG_GST_CHECK_FEATURE(DV1394, [raw1394 and avc1394 library], 1394, [
659 dnl first test for libraw1394 >= 1.2.1
660 AG_GST_PKG_CHECK_MODULES(RAW1394, libraw1394 >= 1.2.1)
661 AG_GST_PKG_CHECK_MODULES(LIBIEC61883, libiec61883 >= 1.0.0)
662 dnl now see how far we got
663 if test x$HAVE_RAW1394 = xyes && \
664 test x$HAVE_LIBIEC61883 = xyes; then
665 AG_GST_CHECK_LIBHEADER(AVC1394,
666 avc1394, avc1394_send_command, $RAW1394_LIBS,
667 libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
668 AG_GST_CHECK_LIBHEADER(ROM1394,
669 rom1394, rom1394_free_directory, $RAW1394_LIBS,
670 libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")
671 if test x$HAVE_AVC1394 = xyes && \
672 test x$HAVE_AVC1394 = xyes && \
673 test x$HAVE_ROM1394 = xyes; then
675 DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS $LIBIEC61883_LIBS"
676 DV1394_CFLAGS="$RAW1394_CFLAGS $LIBIEC61883_CFLAGS -DHAVE_LIBIEC61883"
677 AC_SUBST(DV1394_CFLAGS)
678 AC_SUBST(DV1394_LIBS)
681 if test x$HAVE_RAW1394 = xno; then
682 AG_GST_PKG_CHECK_MODULES(RAW1394, libraw1394 >= 1.1.0)
683 AG_GST_CHECK_LIBHEADER(AVC1394,
684 avc1394, avc1394_send_command, $RAW1394_LIBS,
685 libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
686 AG_GST_CHECK_LIBHEADER(ROM1394,
687 rom1394, rom1394_free_directory, $RAW1394_LIBS,
688 libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")
689 if test x$HAVE_RAW1394 = xyes && \
690 test x$HAVE_AVC1394 = xyes && \
691 test x$HAVE_ROM1394 = xyes; then
693 DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS"
694 DV1394_CFLAGS="$RAW1394_CFLAGS"
695 if test x$HAVE_LIBIEC61883 = xyes; then
696 DV1394_CFLAGS="$RAW1394_CFLAGS $LIBIEC61883_CFLAGS -DHAVE_LIBIEC61883"
697 DV1394_LIBS="$DV1394_LIBS $LIBIEC61883_LIBS"
699 AC_SUBST(DV1394_CFLAGS)
700 AC_SUBST(DV1394_LIBS)
707 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
708 AG_GST_CHECK_FEATURE(SHOUT2, [Shoutcast/Icecast client library], shout2, [
709 AG_GST_PKG_CHECK_MODULES(SHOUT2, shout >= 2.0)
710 if test $HAVE_SHOUT2 = no
712 AM_PATH_SHOUT2(HAVE_SHOUT2="yes")
713 AC_SUBST(SHOUT2_CFLAGS)
714 AC_SUBST(SHOUT2_LIBS)
718 dnl *** speex >= 1.0.4 or >= 1.1.5 ***
719 dnl 1.1.4 and earlier were not API/ABI compatible with 1.0
720 dnl 1.1.6 is the first to use a .pc/pkg-config file ***
721 dnl speex_jitter.h is 1.1.x only
722 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
723 AG_GST_CHECK_FEATURE(SPEEX, [speex speech codec], speex, [
724 AG_GST_PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6)
725 if test $HAVE_SPEEX = no
727 AG_GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex/speex.h, [
728 AC_CHECK_HEADER(speex/speex_jitter.h, [
730 AG_GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
731 dnl speex 1.1.5 or + :
734 AC_SUBST(SPEEX_CFLAGS)
741 AC_CHECK_DECL(SPEEX_GET_LOOKAHEAD, [
745 AC_SUBST(SPEEX_CFLAGS)
748 AC_DEFINE_UNQUOTED(SPEEX_1_0, 1,
749 [defined if speex 1.0.x API detected])
752 AC_MSG_NOTICE(You need at least 1.0.4 to compile the speex plugin)
754 #include <speex/speex.h>
762 translit(dnm, m, l) AM_CONDITIONAL(USE_TAGLIB, true)
763 AG_GST_CHECK_FEATURE(TAGLIB, [taglib tagging library], taglib, [
764 AG_GST_PKG_CHECK_MODULES(TAGLIB, taglib >= 1.4)
765 if test "x$HAVE_CXX" != "xyes"; then
767 AC_MSG_NOTICE([Not building taglib plugin: no C++ compiler found])
771 dnl *** id3demux prefers to have zlib ***
772 translit(dnm, m, l) AM_CONDITIONAL(USE_ZLIB, true)
773 AG_GST_CHECK_FEATURE(ZLIB, [zlib support for id3demux],, [
774 AG_GST_CHECK_LIBHEADER(ZLIB,
775 z, uncompress,, zlib.h, [
784 dnl not building plugins with external dependencies,
785 dnl but we still need to set the conditionals
786 AM_CONDITIONAL(USE_GCONFTOOL, false)
787 AM_CONDITIONAL(USE_OSS, false)
788 AM_CONDITIONAL(USE_SUNAUDIO, false)
789 AM_CONDITIONAL(USE_OSX_AUDIO, false)
790 AM_CONDITIONAL(USE_X, false)
791 AM_CONDITIONAL(USE_XSHM, false)
792 AM_CONDITIONAL(USE_AALIB, false)
793 AM_CONDITIONAL(USE_ANNODEX, false)
794 AM_CONDITIONAL(USE_CAIRO, false)
795 AM_CONDITIONAL(USE_CDIO, false)
796 AM_CONDITIONAL(USE_ESD, false)
797 AM_CONDITIONAL(USE_FLAC, false)
798 AM_CONDITIONAL(USE_GCONF, false)
799 AM_CONDITIONAL(USE_GDK_PIXBUF, false)
800 AM_CONDITIONAL(USE_HAL, false)
801 AM_CONDITIONAL(USE_JPEG, false)
802 AM_CONDITIONAL(USE_LADSPA, false)
803 AM_CONDITIONAL(USE_LIBCACA, false)
804 AM_CONDITIONAL(USE_LIBDV, false)
805 AM_CONDITIONAL(USE_LIBPNG, false)
806 AM_CONDITIONAL(USE_DV1394, false)
807 AM_CONDITIONAL(USE_SHOUT2, false)
808 AM_CONDITIONAL(USE_SPEEX, false)
809 AM_CONDITIONAL(USE_TAGLIB, false)
810 AM_CONDITIONAL(USE_ZLIB, false)
812 fi dnl of EXT plugins
814 dnl *** finalize CFLAGS, LDFLAGS, LIBS
817 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
818 dnl GST_*: flags shared by all built objects
819 dnl GST_ALL_LDFLAGS: linker flags shared by all
820 dnl GST_LIB_LDFLAGS: not needed, we don't install libraries
821 dnl GST_LT_LDFLAGS: library versioning of our libraries
822 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
824 dnl GST_OPTION_CFLAGS
825 if test "x$USE_DEBUG" = xyes; then
828 AC_SUBST(PROFILE_CFLAGS)
830 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
831 AC_SUBST(DEPRECATED_CFLAGS)
833 dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
834 GST_OPTION_CFLAGS="\$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
835 AC_SUBST(GST_OPTION_CFLAGS)
837 dnl our libraries need to be versioned correctly
838 AC_SUBST(GST_LT_LDFLAGS)
840 dnl FIXME: do we want to rename to GST_ALL_* ?
841 dnl prefer internal headers to already installed ones
842 dnl also add builddir include for enumtypes and marshal
843 dnl add ERROR_CFLAGS, but overridable
844 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
848 dnl LDFLAGS really should only contain flags, not libs - they get added before
849 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
850 GST_ALL_LDFLAGS="-no-undefined"
851 AC_SUBST(GST_ALL_LDFLAGS)
853 dnl this really should only contain flags, not libs - they get added before
854 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
855 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
856 AC_SUBST(GST_PLUGIN_LDFLAGS)
858 dnl *** output files ***
860 dnl keep this alphabetic per directory, please
868 gst/autodetect/Makefile
873 gst/id3demux/Makefile
874 gst/icydemux/Makefile
878 gst/matroska/Makefile
879 gst/monoscope/Makefile
880 gst/multipart/Makefile
885 gst/videobox/Makefile
886 gst/videofilter/Makefile
887 gst/videomixer/Makefile
889 gst/wavparse/Makefile
901 ext/gdk_pixbuf/Makefile
912 sys/sunaudio/Makefile
913 sys/osxaudio/Makefile
919 tests/examples/Makefile
920 tests/examples/level/Makefile
924 gconf/gstreamer.schemas
929 docs/plugins/Makefile
930 docs/version.entities
931 win32/common/config.h
933 pkgconfig/gstreamer-plugins-good-uninstalled.pc
934 gst-plugins-good.spec
938 AG_GST_OUTPUT_PLUGINS