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 *** Video 4 Linux 2 ***
380 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
381 dnl renamed to GST_V4L2 because of some conflict with kernel headers
382 translit(dnm, m, l) AM_CONDITIONAL(USE_GST_V4L2, true)
383 AG_GST_CHECK_FEATURE(GST_V4L2, [Video 4 Linux 2], v4l2src, [
384 AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
386 #include <sys/types.h>
387 #include <linux/types.h>
388 #define _LINUX_TIME_H
390 #include <linux/videodev2.h>
391 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
392 #error too early v4l2 version or no v4l2 at all
402 AC_CHECK_HEADER(linux/videodev2.h,
404 AC_MSG_WARN([video4linux2 headers were found, but they're old.])
405 AC_MSG_WARN([Please update v4l2 to compile the v4l2 plugins])
407 AC_MSG_WARN([video4linux2 was not found])
411 if [ test x$HAVE_GST_V4L2 = xyes ]; then
412 dnl check for missing v4l2_buffer declaration (see #135919)
414 AC_MSG_CHECKING(struct v4l2_buffer declaration)
416 #include <sys/types.h>
417 #include <linux/types.h>
418 #define _LINUX_TIME_H
420 #include <linux/videodev2.h>
422 struct v4l2_buffer buf;
425 ], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
426 if [ test x$MISSING_DECL = x1 ]; then
427 AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
430 dnl check for XOverlay libraries
436 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true)
437 AG_GST_CHECK_FEATURE(X, [X libraries and plugins],
441 dnl now try to find the HEADER
442 ac_cflags_save="$CFLAGS"
443 ac_cppflags_save="$CPPFLAGS"
444 CFLAGS="$CFLAGS $X_CFLAGS"
445 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
446 AC_CHECK_HEADER(X11/Xlib.h, HAVE_X="yes", HAVE_X="no")
448 if test "x$HAVE_X" = "xno"
450 AC_MSG_NOTICE([cannot find X11 development files])
452 dnl this is much more than we want
453 X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
454 dnl AC_PATH_XTRA only defines the path needed to find the X libs,
455 dnl it does not add the libs; therefore we add them here
456 X_LIBS="$X_LIBS -lX11"
461 PKG_CHECK_MODULES(XFIXES, xfixes, HAVE_XFIXES="yes", HAVE_XFIXES="no")
462 if test "x$HAVE_XFIXES" = "xyes"
464 XFIXES_CFLAGS="-DHAVE_XFIXES $XFIXES_CFLAGS"
466 AC_SUBST(XFIXES_LIBS)
467 AC_SUBST(XFIXES_CFLAGS)
469 dnl check for Xdamage
470 PKG_CHECK_MODULES(XDAMAGE, xdamage, HAVE_XDAMAGE="yes", HAVE_XDAMAGE="no")
471 if test "x$HAVE_XDAMAGE" = "xyes"
473 XDAMAGE_CFLAGS="-DHAVE_XDAMAGE $XDAMAGE_CFLAGS"
475 AC_SUBST(XDAMAGE_LIBS)
476 AC_SUBST(XDAMAGE_CFLAGS)
479 CFLAGS="$ac_cflags_save"
480 CPPFLAGS="$ac_cppflags_save"
483 dnl FIXME: this should be rolled into the test above, it's just an additional
484 dnl feature of the ximagesrc plug-in
485 dnl This is the same as in gst-plugins-base
487 translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true)
488 AG_GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], , [
489 if test x$HAVE_X = xyes; then
490 AC_CHECK_LIB(Xext, XShmAttach,
491 HAVE_XSHM="yes", HAVE_XSHM="no",
493 if test "x$HAVE_XSHM" = "xyes"; then
496 dnl On AIX, it is in XextSam instead, but we still need -lXext
497 AC_CHECK_LIB(XextSam, XShmAttach,
498 HAVE_XSHM="yes", HAVE_XSHM="no",
500 if test "x$HAVE_XSHM" = "xyes"; then
501 XSHM_LIBS="-lXext -lXextSam"
510 dnl for V4L2, we also need to know if we have XVIDEO
511 translit(dnm, m, l) AM_CONDITIONAL(USE_XVIDEO, true)
512 AG_GST_CHECK_FEATURE(XVIDEO, [X11 XVideo extensions],
517 dnl *** ext plug-ins ***
518 dnl keep this list sorted alphabetically !
520 if test "x$BUILD_EXTERNAL" = "xyes"; then
523 AC_MSG_NOTICE([Checking libraries for plugins in ext/])
527 translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
528 AG_GST_CHECK_FEATURE(AALIB, [aalib ASCII Art library], aasink, [
529 AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
530 AS_SCRUB_INCLUDE(AALIB_CFLAGS)
534 translit(dnm, m, l) AM_CONDITIONAL(USE_ANNODEX, true)
535 AG_GST_CHECK_FEATURE(ANNODEX, [XML library], annodex, [
536 AG_GST_PKG_CHECK_MODULES(ANNODEX, libxml-2.0 >= 2.4.9)
540 translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
541 AG_GST_CHECK_FEATURE(CAIRO, [Cairo graphics rendering], cairo, [
542 AG_GST_PKG_CHECK_MODULES(CAIRO, cairo >= 1.0.0)
546 translit(dnm, m, l) AM_CONDITIONAL(USE_CDIO, true)
547 AG_GST_CHECK_FEATURE(CDIO, [cdio library], cdio, [
548 AG_GST_PKG_CHECK_MODULES(CDIO, libcdio >= 0.71)
552 translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
553 AG_GST_CHECK_FEATURE(ESD, [ESounD sound daemon], esdsink, [
554 AG_GST_PKG_CHECK_MODULES(ESD, esound >= 0.2.12)
555 if test $HAVE_ESD = no
557 AM_PATH_ESD(0.2.12, HAVE_ESD="yes")
558 AS_SCRUB_INCLUDE(ESD_CFLAGS)
563 translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
564 AG_GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [
565 AG_GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm")
566 dnl API change in FLAC 1.1.1, so require that...
567 dnl (this check will also fail with FLAC 1.1.3 which changed API again
568 dnl and with which our plugin does not compile or work yet)
569 if test x$HAVE_FLAC = xyes; then
570 AC_CHECK_DECL(FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR,
571 HAVE_FLAC="yes", HAVE_FLAC="no", [
572 #include <FLAC/seekable_stream_encoder.h>
579 translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
580 AG_GST_CHECK_FEATURE(GCONF, [GConf libraries], gconfelements, [
581 AG_GST_PKG_CHECK_MODULES(GCONF, gconf-2.0)
584 dnl *** GDK pixbuf ***
585 translit(dnm, m, l) AM_CONDITIONAL(USE_GDK_PIXBUF, true)
586 AG_GST_CHECK_FEATURE(GDK_PIXBUF, [GDK pixbuf], gdkpixbuf, [
587 if test $HAVE_GTK_22 = "yes"; then HAVE_GDK_PIXBUF=yes; fi;
591 translit(dnm, m, l) AM_CONDITIONAL(USE_HAL, true)
592 AG_GST_CHECK_FEATURE(HAL, [HAL libraries], halelements, [
593 AG_GST_PKG_CHECK_MODULES(HAL, [hal >= 0.5.6, dbus-1 >= 0.32])
597 dnl FIXME: we could use header checks here as well IMO
598 translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
599 AG_GST_CHECK_FEATURE(JPEG, [jpeg library], jpeg, [
600 AC_ARG_WITH(jpeg-mmx,
601 [ --with-jpeg-mmx, path to MMX'ified JPEG library])
603 if test x$with_jpeg_mmx != x; then
604 LIBS="$LIBS -L$with_jpeg_mmx"
606 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
607 JPEG_LIBS="$LIBS -ljpeg-mmx"
609 if test x$HAVE_JPEG != xyes; then
610 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
617 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
618 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
619 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
623 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
624 AG_GST_CHECK_FEATURE(LIBCACA, [libcaca coloured ASCII art], cacasink, [
625 AG_GST_PKG_CHECK_MODULES(LIBCACA, caca)
626 dnl only newer versions of libcaca ship caca.pc, so try caca-config as well
627 if test "x$HAVE_LIBCACA" != "xyes"; then
628 AG_GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
629 dnl see if it compilation works too, might not if we are cross-compiling
630 if test "x$HAVE_LIBCACA" = "xyes"; then
631 AC_CHECK_LIB([caca], [caca_init], [HAVE_LIBCACA=yes],
632 [HAVE_LIBCACA=no], [$LIBCACA_LIBS])
638 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
639 AG_GST_CHECK_FEATURE(LIBDV, [libdv DV demuxer/decoder], dv, [
640 AG_GST_PKG_CHECK_MODULES(LIBDV, libdv >= 0.100)
644 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
645 AG_GST_CHECK_FEATURE(LIBPNG, [Portable Network Graphics library], png, [
646 AG_GST_PKG_CHECK_MODULES(LIBPNG, libpng12)
650 translit(dnm, m, l) AM_CONDITIONAL(USE_DV1394, true)
651 AG_GST_CHECK_FEATURE(DV1394, [raw1394 and avc1394 library], 1394, [
652 dnl first test for libraw1394 >= 1.2.1
653 AG_GST_PKG_CHECK_MODULES(RAW1394, libraw1394 >= 1.2.1)
654 AG_GST_PKG_CHECK_MODULES(LIBIEC61883, libiec61883 >= 1.0.0)
655 dnl now see how far we got
656 if test x$HAVE_RAW1394 = xyes && \
657 test x$HAVE_LIBIEC61883 = xyes; then
658 AG_GST_CHECK_LIBHEADER(AVC1394,
659 avc1394, avc1394_send_command, $RAW1394_LIBS,
660 libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
661 AG_GST_CHECK_LIBHEADER(ROM1394,
662 rom1394, rom1394_free_directory, $RAW1394_LIBS,
663 libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")
664 if test x$HAVE_AVC1394 = xyes && \
665 test x$HAVE_AVC1394 = xyes && \
666 test x$HAVE_ROM1394 = xyes; then
668 DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS $LIBIEC61883_LIBS"
669 DV1394_CFLAGS="$RAW1394_CFLAGS $LIBIEC61883_CFLAGS -DHAVE_LIBIEC61883"
670 AC_SUBST(DV1394_CFLAGS)
671 AC_SUBST(DV1394_LIBS)
674 if test x$HAVE_RAW1394 = xno; then
675 AG_GST_PKG_CHECK_MODULES(RAW1394, libraw1394 >= 1.1.0)
676 AG_GST_CHECK_LIBHEADER(AVC1394,
677 avc1394, avc1394_send_command, $RAW1394_LIBS,
678 libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
679 AG_GST_CHECK_LIBHEADER(ROM1394,
680 rom1394, rom1394_free_directory, $RAW1394_LIBS,
681 libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")
682 if test x$HAVE_RAW1394 = xyes && \
683 test x$HAVE_AVC1394 = xyes && \
684 test x$HAVE_ROM1394 = xyes; then
686 DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS"
687 DV1394_CFLAGS="$RAW1394_CFLAGS"
688 if test x$HAVE_LIBIEC61883 = xyes; then
689 DV1394_CFLAGS="$RAW1394_CFLAGS $LIBIEC61883_CFLAGS -DHAVE_LIBIEC61883"
690 DV1394_LIBS="$DV1394_LIBS $LIBIEC61883_LIBS"
692 AC_SUBST(DV1394_CFLAGS)
693 AC_SUBST(DV1394_LIBS)
700 translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
701 AG_GST_CHECK_FEATURE(SHOUT2, [Shoutcast/Icecast client library], shout2, [
702 AG_GST_PKG_CHECK_MODULES(SHOUT2, shout >= 2.0)
703 if test $HAVE_SHOUT2 = no
705 AM_PATH_SHOUT2(HAVE_SHOUT2="yes")
706 AC_SUBST(SHOUT2_CFLAGS)
707 AC_SUBST(SHOUT2_LIBS)
711 dnl *** speex >= 1.0.4 or >= 1.1.5 ***
712 dnl 1.1.4 and earlier were not API/ABI compatible with 1.0
713 dnl 1.1.6 is the first to use a .pc/pkg-config file ***
714 dnl speex_jitter.h is 1.1.x only
715 translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
716 AG_GST_CHECK_FEATURE(SPEEX, [speex speech codec], speex, [
717 AG_GST_PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6)
718 if test $HAVE_SPEEX = no
720 AG_GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex/speex.h, [
721 AC_CHECK_HEADER(speex/speex_jitter.h, [
723 AG_GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
724 dnl speex 1.1.5 or + :
727 AC_SUBST(SPEEX_CFLAGS)
734 AC_CHECK_DECL(SPEEX_GET_LOOKAHEAD, [
738 AC_SUBST(SPEEX_CFLAGS)
741 AC_DEFINE_UNQUOTED(SPEEX_1_0, 1,
742 [defined if speex 1.0.x API detected])
745 AC_MSG_NOTICE(You need at least 1.0.4 to compile the speex plugin)
747 #include <speex/speex.h>
755 translit(dnm, m, l) AM_CONDITIONAL(USE_TAGLIB, true)
756 AG_GST_CHECK_FEATURE(TAGLIB, [taglib tagging library], taglib, [
757 AG_GST_PKG_CHECK_MODULES(TAGLIB, taglib >= 1.4)
758 if test "x$HAVE_CXX" != "xyes"; then
760 AC_MSG_NOTICE([Not building taglib plugin: no C++ compiler found])
764 dnl *** id3demux prefers to have zlib ***
765 translit(dnm, m, l) AM_CONDITIONAL(USE_ZLIB, true)
766 AG_GST_CHECK_FEATURE(ZLIB, [zlib support for id3demux],, [
767 AG_GST_CHECK_LIBHEADER(ZLIB,
768 z, uncompress,, zlib.h, [
777 dnl not building plugins with external dependencies,
778 dnl but we still need to set the conditionals
779 AM_CONDITIONAL(USE_GCONFTOOL, false)
780 AM_CONDITIONAL(USE_OSS, false)
781 AM_CONDITIONAL(USE_SUNAUDIO, false)
782 AM_CONDITIONAL(USE_X, false)
783 AM_CONDITIONAL(USE_XSHM, false)
784 AM_CONDITIONAL(USE_AALIB, false)
785 AM_CONDITIONAL(USE_ANNODEX, false)
786 AM_CONDITIONAL(USE_CAIRO, false)
787 AM_CONDITIONAL(USE_CDIO, false)
788 AM_CONDITIONAL(USE_ESD, false)
789 AM_CONDITIONAL(USE_FLAC, false)
790 AM_CONDITIONAL(USE_GCONF, false)
791 AM_CONDITIONAL(USE_GDK_PIXBUF, false)
792 AM_CONDITIONAL(USE_HAL, false)
793 AM_CONDITIONAL(USE_JPEG, false)
794 AM_CONDITIONAL(USE_LADSPA, false)
795 AM_CONDITIONAL(USE_LIBCACA, false)
796 AM_CONDITIONAL(USE_LIBDV, false)
797 AM_CONDITIONAL(USE_LIBPNG, false)
798 AM_CONDITIONAL(USE_DV1394, false)
799 AM_CONDITIONAL(USE_SHOUT2, false)
800 AM_CONDITIONAL(USE_SPEEX, false)
801 AM_CONDITIONAL(USE_TAGLIB, false)
802 AM_CONDITIONAL(USE_ZLIB, false)
804 fi dnl of EXT plugins
806 dnl *** finalize CFLAGS, LDFLAGS, LIBS
809 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
810 dnl GST_*: flags shared by all built objects
811 dnl GST_ALL_LDFLAGS: linker flags shared by all
812 dnl GST_LIB_LDFLAGS: not needed, we don't install libraries
813 dnl GST_LT_LDFLAGS: library versioning of our libraries
814 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
816 dnl GST_OPTION_CFLAGS
817 if test "x$USE_DEBUG" = xyes; then
820 AC_SUBST(PROFILE_CFLAGS)
822 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
823 AC_SUBST(DEPRECATED_CFLAGS)
825 dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
826 GST_OPTION_CFLAGS="\$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
827 AC_SUBST(GST_OPTION_CFLAGS)
829 dnl our libraries need to be versioned correctly
830 AC_SUBST(GST_LT_LDFLAGS)
832 dnl FIXME: do we want to rename to GST_ALL_* ?
833 dnl prefer internal headers to already installed ones
834 dnl also add builddir include for enumtypes and marshal
835 dnl add ERROR_CFLAGS, but overridable
836 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
840 dnl LDFLAGS really should only contain flags, not libs - they get added before
841 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
842 GST_ALL_LDFLAGS="-no-undefined"
843 AC_SUBST(GST_ALL_LDFLAGS)
845 dnl this really should only contain flags, not libs - they get added before
846 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
847 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
848 AC_SUBST(GST_PLUGIN_LDFLAGS)
850 dnl *** output files ***
852 dnl keep this alphabetic per directory, please
860 gst/autodetect/Makefile
865 gst/id3demux/Makefile
866 gst/icydemux/Makefile
870 gst/matroska/Makefile
871 gst/monoscope/Makefile
872 gst/multipart/Makefile
877 gst/videobox/Makefile
878 gst/videofilter/Makefile
879 gst/videomixer/Makefile
881 gst/wavparse/Makefile
893 ext/gdk_pixbuf/Makefile
904 sys/sunaudio/Makefile
910 tests/examples/Makefile
911 tests/examples/level/Makefile
915 gconf/gstreamer.schemas
920 docs/plugins/Makefile
921 docs/version.entities
922 win32/common/config.h
924 pkgconfig/gstreamer-plugins-good-uninstalled.pc
925 gst-plugins-good.spec
929 AG_GST_OUTPUT_PLUGINS