3 dnl initialize autoconf
4 dnl when going to/from release please set the nano (fourth number) right !
5 dnl releases only do Wall, cvs and prerelease does Werror too
6 AC_INIT(GStreamer Bad Plug-ins, 0.10.18.1,
7 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
12 dnl initialize automake
13 AM_INIT_AUTOMAKE([-Wno-portability])
15 dnl define PACKAGE_VERSION_* variables
18 dnl check if this is a release version
19 AS_NANO(GST_GIT="no", GST_GIT="yes")
21 dnl can autoconf find the source ?
22 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
24 dnl define the output header for config
25 AM_CONFIG_HEADER([config.h])
27 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
30 dnl sets host_* variables
33 dnl use pretty build output with automake >= 1.11
34 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
35 [AM_DEFAULT_VERBOSITY=1
36 AC_SUBST(AM_DEFAULT_VERBOSITY)])
38 dnl our libraries and install dirs use major.minor as a version
39 GST_MAJORMINOR=$GST_PLUGINS_BAD_VERSION_MAJOR.$GST_PLUGINS_BAD_VERSION_MINOR
40 dnl we override it here if we need to for the release candidate of new series
42 AC_SUBST(GST_MAJORMINOR)
44 dnl FIXME: this macro doesn't actually work;
45 dnl the generated libtool script has no support for the listed tags.
46 dnl So this needs to be fixed first if we want to use this
47 dnl AS_LIBTOOL_TAGS([CXX])
52 dnl *** required versions of GStreamer stuff ***
56 dnl *** autotools stuff ****
58 dnl allow for different autotools
59 AS_AUTOTOOLS_ALTERNATE
61 dnl Add parameters for aclocal
62 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
65 dnl the version check needs to stay here because autopoint greps for it
66 AM_GNU_GETTEXT_VERSION([0.17])
67 AM_GNU_GETTEXT([external])
68 AG_GST_GETTEXT([gst-plugins-bad-$GST_MAJORMINOR])
70 dnl *** check for arguments to configure ***
79 AG_GST_ARG_WITH_PKG_CONFIG_PATH
80 AG_GST_ARG_WITH_PACKAGE_NAME
81 AG_GST_ARG_WITH_PACKAGE_ORIGIN
83 AG_GST_ARG_WITH_PLUGINS
85 AG_GST_ARG_ENABLE_EXTERNAL
87 AG_GST_ARG_ENABLE_EXPERIMENTAL
89 dnl *** checks for platform ***
92 dnl * hardware/architecture *
94 dnl common/m4/gst-arch.m4
98 dnl Determine endianness
101 dnl *** checks for programs ***
106 dnl determine c++ compiler
108 dnl determine if c++ is available on this system
109 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
113 dnl check if the compiler supports '-c' and '-o' options
116 dnl check if the compiler supports do while(0) macros
117 AG_GST_CHECK_DOWHILE_MACROS
119 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
120 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
122 dnl check for documentation tools
124 AS_PATH_PYTHON([2.1])
125 AG_GST_PLUGIN_DOCS([1.3],[2.1])
127 dnl *** checks for libraries ***
129 dnl check for libm, for sin() etc.
135 dnl *** checks for header files ***
137 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
138 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
140 if test "x$HAVE_UNISTD_H" != "xyes"; then
141 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
144 dnl used by camerabin
145 AC_CHECK_HEADERS([sys/time.h])
150 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
151 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
153 if test "x$HAVE_PTHREAD_H" != "xyes"; then
154 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
157 dnl *** checks for types/defines ***
159 dnl Check for FIONREAD ioctl declaration
163 dnl *** checks for structures ***
165 dnl *** checks for compiler characteristics ***
167 dnl *** checks for library functions ***
168 AC_CHECK_FUNCS([gmtime_r])
170 dnl *** checks for headers ***
171 AC_CHECK_HEADERS([sys/utsname.h])
173 dnl *** checks for dependency libraries ***
175 dnl *** checks for socket and nsl libraries ***
176 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
177 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
180 AG_GST_GLIB_CHECK([2.16])
182 dnl liboil is required
183 PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.8, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
184 if test "x$HAVE_LIBOIL" != "xyes"; then
185 AC_ERROR([liboil-0.3.8 or later is required])
188 dnl checks for gstreamer
189 dnl uninstalled is selected preferentially -- see pkg-config(1)
190 AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ], yes)
191 AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ], yes)
192 AG_GST_CHECK_GST_GDP($GST_MAJORMINOR, [$GST_REQ], yes)
193 AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
194 AG_GST_CHECK_GST_CONTROLLER($GST_MAJORMINOR, [$GST_REQ], yes)
195 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ], yes)
196 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
198 GSTPB_PLUGINS_DIR=`$PKG_CONFIG gstreamer-plugins-base-$GST_MAJORMINOR --variable pluginsdir`
199 AC_SUBST(GSTPB_PLUGINS_DIR)
200 AC_MSG_NOTICE(Using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR)
202 dnl Check for documentation xrefs
203 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
204 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_MAJORMINOR`"
205 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_MAJORMINOR`"
206 AC_SUBST(GLIB_PREFIX)
208 AC_SUBST(GSTPB_PREFIX)
210 dnl GTK is optional and used in examples
212 PKG_CHECK_MODULES(GTK, gtk+-x11-2.0 >= 2.12.0, HAVE_GTK=yes, HAVE_GTK=no)
213 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
215 dnl Needed for GtkBuilder to autoconnect signals
216 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
218 dnl x11 is optional for librfb
220 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
224 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
225 if test "x$HAVE_X11" = "xyes"; then
226 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
229 dnl set license and copyright notice
231 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
232 AC_SUBST(GST_LICENSE)
234 dnl define LIBDIR so we can inform people where we live
235 AS_AC_EXPAND(LIBDIR, $libdir)
236 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
238 dnl set location of plugin directory
241 dnl define an ERROR_CFLAGS Makefile variable
242 AG_GST_SET_ERROR_CFLAGS($GST_GIT, [
243 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
246 dnl define an ERROR_CXXFLAGS Makefile variable
247 AG_GST_SET_ERROR_CXXFLAGS($GST_GIT, [
248 -Wmissing-declarations -Wredundant-decls -Wundef
251 dnl define correct level for debugging messages
252 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
255 AG_GST_DEFAULT_ELEMENTS
257 dnl *** plug-ins to include ***
259 dnl these are all the gst plug-ins, compilable without additional libs
260 AG_GST_CHECK_PLUGIN(adpcmdec)
261 AG_GST_CHECK_PLUGIN(adpcmenc)
262 AG_GST_CHECK_PLUGIN(aiff)
263 AG_GST_CHECK_PLUGIN(asfmux)
264 AG_GST_CHECK_PLUGIN(audioparsers)
265 AG_GST_CHECK_PLUGIN(autoconvert)
266 AG_GST_CHECK_PLUGIN(camerabin)
267 AG_GST_CHECK_PLUGIN(legacyresample)
268 AG_GST_CHECK_PLUGIN(bayer)
269 AG_GST_CHECK_PLUGIN(cdxaparse)
270 AG_GST_CHECK_PLUGIN(dataurisrc)
271 AG_GST_CHECK_PLUGIN(dccp)
272 AG_GST_CHECK_PLUGIN(debugutils)
273 AG_GST_CHECK_PLUGIN(dtmf)
274 AG_GST_CHECK_PLUGIN(dvdspu)
275 AG_GST_CHECK_PLUGIN(festival)
276 AG_GST_CHECK_PLUGIN(freeze)
277 AG_GST_CHECK_PLUGIN(frei0r)
278 AG_GST_CHECK_PLUGIN(h264parse)
279 AG_GST_CHECK_PLUGIN(hdvparse)
280 AG_GST_CHECK_PLUGIN(id3tag)
281 AG_GST_CHECK_PLUGIN(invtelecine)
282 AG_GST_CHECK_PLUGIN(imagefreeze)
283 AG_GST_CHECK_PLUGIN(jpegformat)
284 AG_GST_CHECK_PLUGIN(librfb)
285 AG_GST_CHECK_PLUGIN(liveadder)
286 AG_GST_CHECK_PLUGIN(mpegdemux)
287 AG_GST_CHECK_PLUGIN(mpegtsmux)
288 AG_GST_CHECK_PLUGIN(mpegpsmux)
289 AG_GST_CHECK_PLUGIN(mpeg4videoparse)
290 AG_GST_CHECK_PLUGIN(mpegvideoparse)
291 AG_GST_CHECK_PLUGIN(mve)
292 AG_GST_CHECK_PLUGIN(mxf)
293 AG_GST_CHECK_PLUGIN(nsf)
294 AG_GST_CHECK_PLUGIN(nuvdemux)
295 AG_GST_CHECK_PLUGIN(pcapparse)
296 AG_GST_CHECK_PLUGIN(pnm)
297 AG_GST_CHECK_PLUGIN(qtmux)
298 AG_GST_CHECK_PLUGIN(rawparse)
299 AG_GST_CHECK_PLUGIN(real)
300 AG_GST_CHECK_PLUGIN(rtpmux)
301 AG_GST_CHECK_PLUGIN(scaletempo)
302 AG_GST_CHECK_PLUGIN(sdp)
303 AG_GST_CHECK_PLUGIN(segmentclip)
304 AG_GST_CHECK_PLUGIN(selector)
305 AG_GST_CHECK_PLUGIN(siren)
306 AG_GST_CHECK_PLUGIN(speed)
307 AG_GST_CHECK_PLUGIN(subenc)
308 AG_GST_CHECK_PLUGIN(stereo)
309 AG_GST_CHECK_PLUGIN(tta)
310 AG_GST_CHECK_PLUGIN(valve)
311 AG_GST_CHECK_PLUGIN(videomeasure)
312 AG_GST_CHECK_PLUGIN(videosignal)
313 AG_GST_CHECK_PLUGIN(vmnc)
315 dnl *** plug-ins to exclude ***
317 dnl real plugin only works on i386 and x86_64 for the time being.
318 if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
319 AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
320 AG_GST_DISABLE_PLUGIN(real)
323 dnl disable experimental plug-ins
324 dnl if test "x$BUILD_EXPERIMENTAL" != "xyes"; then
327 # This will always succeed because we depend on GLib >= 2.16
328 PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.16, HAVE_GIO=yes, HAVE_GIO=no)
332 dnl disable gst plugins we might not be able to build on this
333 dnl platform: librfb (ugly but minimally invasive)
334 dnl FIXME: maybe move to sys, or make work with winsock2
335 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
336 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
338 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
339 WIN32_LIBS="-lws2_32"
343 dnl needed for festival
344 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
346 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
347 DCCP_LIBS="$DCCP_LIBS -lws2_32"
348 XDG_LIBS="$XDG_LIBS -lws2_32"
353 if test "x$HAVE_PTHREAD_H" = "xyes"; then
354 DCCP_LIBS="$DCCP_LIBS -lpthread"
358 if test "x$HAVE_PTHREAD_H" != "xyes"; then
359 AG_GST_DISABLE_PLUGIN(dccp)
362 dnl *** sys plug-ins ***
365 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
366 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
367 HAVE_DIRECTSOUND="no"
368 save_CFLAGS="$CFLAGS"
369 save_LDFLAGS="$LDFLAGS"
371 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
372 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
373 LIBS="$LIBS -ldsound -ldxerr9 -luser32"
374 AC_MSG_CHECKING(for DirectSound LDFLAGS)
382 DXGetErrorString9 (0);
383 DirectSoundCreate(NULL, NULL, NULL);
388 [HAVE_DIRECTSOUND="yes"],
389 [HAVE_DIRECTSOUND="no"])
390 AC_MSG_RESULT($HAVE_DIRECTSOUND)
392 LDFLAGS=$save_LDFLAGS
395 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
396 dnl this is much more than we want
397 DIRECTSOUND_LIBS="-ldsound -ldxerr9 -luser32"
398 AC_SUBST(DIRECTX_CFLAGS)
399 AC_SUBST(DIRECTX_LDFLAGS)
400 AC_SUBST(DIRECTSOUND_LIBS)
402 AC_SUBST(HAVE_DIRECTSOUND)
406 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
407 AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
409 save_CFLAGS="$CFLAGS"
410 save_LDFLAGS="$LDFLAGS"
412 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
413 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
414 LIBS="$LIBS -lddraw -lgdi32"
415 AC_MSG_CHECKING(for DirectDraw LDFLAGS)
423 DirectDrawCreate(NULL, NULL, NULL);
428 [HAVE_DIRECTDRAW="yes"],
429 [HAVE_DIRECTDRAW="no"])
430 AC_MSG_RESULT($HAVE_DIRECTDRAW)
432 LDFLAGS=$save_LDFLAGS
435 if test "x$HAVE_DIRECTDRAW" = "xyes"; then
436 dnl this is much more than we want
437 DIRECTDRAW_LIBS="-lddraw -ldxguid -lgdi32"
438 AC_SUBST(DIRECTX_CFLAGS)
439 AC_SUBST(DIRECTX_LDFLAGS)
440 AC_SUBST(DIRECTDRAW_LIBS)
442 AC_SUBST(HAVE_DIRECTDRAW)
445 dnl *** OS X videosrc ***
446 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
448 AG_GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosrc, [
449 AC_CHECK_TYPE([SeqGrabComponent], HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no",
450 [#include <Quicktime/Quicktime.h>])
452 dnl in case header Quicktime/Quicktime.h is found on other platforms
461 dnl check for QuickTime
462 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
463 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
464 AC_CHECK_TYPE([SampleReferenceRecord], HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no",
465 [#include <Quicktime/Quicktime.h>])
468 dnl check for Video CD
469 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
470 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
471 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
474 dnl *** ext plug-ins ***
475 dnl keep this list sorted alphabetically !
477 if test "x$BUILD_EXTERNAL" = "xyes"; then
480 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
481 AG_GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
482 PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
484 AC_SUBST(ALSA_CFLAGS)
487 AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
491 dnl *** assrender ***
492 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
493 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
494 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.9.4, [
495 HAVE_ASSRENDER="yes" ], [
500 AC_SUBST(ASSRENDER_CFLAGS)
501 AC_SUBST(ASSRENDER_LIBS)
504 translit(dnm, m, l) AM_CONDITIONAL(USE_AMRWB, true)
505 AG_GST_CHECK_FEATURE(AMRWB, [amrwb library], amrwbenc, [
506 AG_GST_CHECK_LIBHEADER(AMRWB, amrwb,
510 AC_SUBST(AMRWB_LIBS))
514 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
515 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
516 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
520 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
521 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
522 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
524 AC_SUBST(APEXSINK_CFLAGS)
525 AC_SUBST(APEXSINK_LIBS)
532 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
533 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
534 AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
539 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
540 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
541 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
545 # AC_SUBST(CAIRO_CFLAGS)
546 # AC_SUBST(CAIRO_LIBS)
550 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
551 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
552 AG_GST_CHECK_CONFIGPROG(CDAUDIO, libcdaudio-config)
553 AC_SUBST(CDAUDIO_CFLAGS)
554 AC_SUBST(CDAUDIO_LIBS)
558 translit(dnm, m, l) AM_CONDITIONAL(USE_CELT, true)
559 AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
560 PKG_CHECK_MODULES(CELT, celt >= 0.4.0, [
567 PKG_CHECK_MODULES(CELT_0_5, celt >= 0.5.0, [
568 AC_DEFINE([HAVE_CELT_0_5], 1, [Define if libcelt 0.5 is installed])
573 PKG_CHECK_MODULES(CELT_0_7, celt >= 0.7.0, [
574 AC_DEFINE([HAVE_CELT_0_7], 1, [Define if libcelt 0.7 is installed])
578 AC_SUBST(CELT_CFLAGS)
583 translit(dnm, m, l) AM_CONDITIONAL(USE_COG, true)
584 AG_GST_CHECK_FEATURE(COG, [Cog plugin], cog, [
585 PKG_CHECK_MODULES(COG, libpng >= 1.2 orc-0.4 >= 0.4.3, HAVE_COG="yes", [
591 ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
592 if test "x$ORCC" = x ; then
599 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
600 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
601 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
602 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
612 AC_SUBST(LIBDC1394_CFLAGS)
613 AC_SUBST(LIBDC1394_LIBS)
617 dnl **** DirectFB ****
618 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
619 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
620 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
627 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
628 AG_GST_CHECK_FEATURE(DIRAC, [dirac], dirac, [
629 PKG_CHECK_MODULES(DIRAC, dirac >= 0.10, HAVE_DIRAC="yes", [
636 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
637 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
639 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, -lm, dca.h,
640 DTS_LIBS="-ldca -lm", HAVE_DTS="no")
641 if test $HAVE_DTS = "no"; then
642 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h,
643 [ DTS_LIBS="-ldts_pic -lm"
644 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
651 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
652 AG_GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
654 AC_CHECK_HEADER(encore2.h, , [
655 AC_MSG_WARN([Divx4linux encore headers not found])
658 if [ test x$HAVE_DIVX = xyes ]; then
659 AC_MSG_CHECKING([Checking for valid divx4linux encore version])
662 #if ENCORE_VERSION != 20021024
663 #error Wrong version of divx encore libraries
673 AC_MSG_WARN([Wrong version of divx4linux installed])
676 if [ test x$HAVE_DIVX = xyes ]; then
677 AC_CHECK_HEADER(decore.h, , [
678 AC_MSG_WARN([Divx4linux decoder headers not found])
682 if [ test x$HAVE_DIVX = xyes ]; then
683 AC_MSG_CHECKING([Checking for valid divx4linux decore version])
686 #if DECORE_VERSION != 20021112
687 #error Wrong version of divx decore libraries
697 AC_MSG_WARN([Wrong version of divx4linux installed])
701 if test x$HAVE_DIVX = xyes; then
702 AC_CHECK_LIB(divxencore, encore, , [
703 AC_MSG_WARN([Divx4linux encore libs not found])
707 if test x$HAVE_DIVX = xyes; then
708 AC_CHECK_LIB(divxdecore, decore, , [
709 AC_MSG_WARN([Divx4linux decore libs not found])
713 if test x$HAVE_DIVX = xyes; then
714 DIVXENC_LIBS="-ldivxencore -lm"
715 DIVXDEC_LIBS="-ldivxdecore -lm"
716 AC_SUBST(DIVXENC_LIBS)
717 AC_SUBST(DIVXDEC_LIBS)
721 dnl *** dvdnav for resindvd ***
722 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
723 AG_GST_CHECK_FEATURE(DVDNAV, [dvdnav library], resindvd, [
724 translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
725 translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
726 AG_GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
727 if test x"$HAVE_DVDNAV" = x"yes"; then
729 DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
730 DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
731 DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
732 DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
733 if [[ "$DVDNAV_MAJOR" -lt "4" ]]; then
734 AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
736 elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \
737 [[ "$DVDNAV_MINOR" -lt "1" ]]; then
738 AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
740 elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \
741 [[ "$DVDNAV_MINOR" -eq "1" ]] && \
742 [[ "$DVDNAV_MICRO" -lt "2" ]]; then
743 AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
747 AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
751 translit(dnm, m, l) AM_CONDITIONAL(USE_METADATA, true)
752 AG_GST_CHECK_FEATURE(METADATA, [METADATA muxer and demuxer], metadata, [
754 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", [
757 PKG_CHECK_MODULES(IPTC, libiptcdata >= 1.0.2, HAVE_IPTC="yes", [
760 PKG_CHECK_MODULES(XMP, exempi-2.0, HAVE_XMP="yes", [
763 PKG_CHECK_MODULES(XMP_1_99_5, exempi-2.0 >= 1.99.5, XMP_CFLAGS="-DXMP_1_99_5 $XMP_CFLAGS", AC_MSG_RESULT(no))
764 if test x$HAVE_EXIF = xyes; then
765 METADATA_CFLAGS="-DHAVE_EXIF $EXIF_CFLAGS $METADATA_CFLAGS"
766 METADATA_LIBS="$EXIF_LIBS $METADATA_LIBS -lm"
769 if test x$HAVE_IPTC = xyes; then
770 METADATA_CFLAGS="-DHAVE_IPTC $IPTC_CFLAGS $METADATA_CFLAGS"
771 METADATA_LIBS="$IPTC_LIBS $METADATA_LIBS"
774 if test x$HAVE_XMP = xyes; then
775 METADATA_CFLAGS="-DHAVE_XMP $XMP_CFLAGS $METADATA_CFLAGS"
776 METADATA_LIBS="$XMP_LIBS $METADATA_LIBS"
779 if test x$HAVE_METADATA = xno; then
780 AC_MSG_WARN(no of metadata libraries (exif, iptc or xmp) found)
784 AC_SUBST(METADATA_CFLAGS)
785 AC_SUBST(METADATA_LIBS)
788 dnl **** Free AAC Encoder (FAAC) ****
789 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
790 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
791 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h,
792 FAAC_LIBS="-lfaac -lm")
793 AS_SCRUB_INCLUDE(FAAC_CFLAGS)
797 dnl **** Free AAC Decoder (FAAD) ****
798 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
799 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
802 AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h,
803 FAAD_LIBS="-lfaad -lm", HAVE_FAAD="no")
804 if test $HAVE_FAAD = "no"; then
805 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, -lm, neaacdec.h,
806 [ FAAD_LIBS="-lfaad -lm"
807 AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
808 faad_hdr="neaacdec.h"
815 if test $HAVE_FAAD = "yes"; then
816 AC_MSG_CHECKING([Checking for FAAD >= 2.0])
817 AC_TRY_COMPILE([#include <faad.h>], [
818 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
821 /* Release candidate of 2.0 is not good enough for us. This field
822 * was added only in 2.0 final and does not exist in 2.0-RC3 */
823 faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
829 AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
830 for minor in 10 9 8 7 6 5 0; do
831 if test x$faad2_minor_version = "x"; then
832 AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
834 GST_CHECK_FAAD_VERSION FAAD2_VERSION
836 faad2_minor_version=$minor
840 if test x$faad2_minor_version = "x"; then
841 AC_MSG_RESULT([no idea])
843 AC_MSG_RESULT([2.$faad2_minor_version])
844 AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
851 AS_SCRUB_INCLUDE(FAAD_CFLAGS)
853 AC_SUBST(FAAD_IS_NEAAC)
857 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
858 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
859 if test "x$HAVE_FBDEV" != "xyes"; then
860 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
865 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
866 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
867 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, -lm, flite/flite.h,
868 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex -lm")
870 AC_SUBST(FLITE_CFLAGS)
875 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
876 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
877 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
878 if test $HAVE_GSM != "yes"; then
879 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
880 if test $HAVE_GSM = "yes"; then
881 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
888 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
889 AG_GST_CHECK_FEATURE(JACK, Jack, jack, [
890 PKG_CHECK_MODULES(JACK, jack >= 0.99.10, HAVE_JACK="yes", HAVE_JACK="no")
891 AC_SUBST(JACK_CFLAGS)
896 translit(dnm, m, l) AM_CONDITIONAL(USE_JP2K, true)
897 AG_GST_CHECK_FEATURE(JP2K, [jp2k], jp2kdec jp2kenc, [
898 AG_GST_CHECK_LIBHEADER(JP2K, jasper, jas_stream_fopen, , jasper/jasper.h,
899 JP2K_LIBS="-ljasper")
904 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
905 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
906 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
910 AC_SUBST(KATE_CFLAGS)
912 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
915 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
922 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
923 AC_SUBST(TIGER_CFLAGS)
925 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
928 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
929 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
930 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
932 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
933 if test $HAVE_LRDF = "yes"; then
934 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
937 AC_SUBST(LRDF_CFLAGS)
941 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
942 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
943 PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
944 AC_SUBST(SLV2_CFLAGS)
949 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
950 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
951 dnl check with pkg-config first
952 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
957 AC_SUBST(LIBMMS_LIBS)
960 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
961 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
962 if test "x$HAVE_CXX" != "xyes"; then
963 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
966 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
968 AC_SUBST(MODPLUG_CFLAGS)
969 AC_SUBST(MODPLUG_LIBS)
973 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
974 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
976 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMDEC_REQUIRED,
977 HAVE_MIMIC=yes, HAVE_MIMIC=no)
978 AC_SUBST(MIMIC_CFLAGS)
982 dnl *** mjpegtools version info ***
983 dnl some may prefer older version (given quirks above)
984 dnl hm, no version info seems available within mjpegtools headers
985 dnl and API really moves along
987 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
990 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
993 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0, [
994 dnl logging API changed in release candidates
997 CFLAGS="$MJPEG_CFLAGS"
998 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils -lm -lpthread"
999 AC_CHECK_FUNC(mjpeg_loglev_t, [
1000 mjpegtools_api=10903
1002 mjpegtools_api=10900
1004 CFLAGS="$OLD_CFLAGS"
1011 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1012 [mjpegtools API evolution])
1014 dnl *** mpeg2enc ***
1015 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1016 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1018 dnl we require a c++ compiler for this one
1019 if [ test x$HAVE_CXX = xyes ]; then
1020 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1021 dnl since many distros include mjpegtools specifically without mplex
1022 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1023 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1024 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1026 dnl switch over to c++ to test things
1028 OLD_CPPFLAGS="$CPPFLAGS"
1030 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1031 CPPFLAGS="$CPPFLAGS_GOOD -I."
1033 mpeg2enc_headers_ok=no
1034 AC_CHECK_HEADER([mpeg2encoder.hh], [
1035 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1037 LIBS="$LIBS $MPEG2ENC_LIBS"
1038 AC_MSG_CHECKING([for valid mpeg2enc objects])
1040 #include <mpeg2encoder.hh>
1041 #include <mpeg2encoptions.hh>
1047 MPEG2EncOptions *options = new MPEG2EncOptions ();
1048 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1053 dnl so far so good, let's check more things:
1054 dnl mjpegtools-1.8.0 does not install the required
1055 dnl mpeg2syntaxcodes.h header by default, and a new release
1056 dnl is not in sight, so check for this oversight in case
1057 dnl distros or folks have fixed this themselves
1058 if test "$mjpegtools_api" -ge "10800"; then
1059 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1060 mpeg2enc_headers_ok=yes
1062 mpeg2enc_headers_ok=no
1065 mpeg2enc_headers_ok=yes
1067 if test "x$mpeg2enc_headers_ok" = "xyes"; then
1070 CPP_FLAGS="$CPPFLAGS_GOOD"
1071 AC_SUBST(MPEG2ENC_CFLAGS)
1072 AC_SUBST(MPEG2ENC_LIBS)
1079 CPPFLAGS="$OLD_CPPFLAGS"
1088 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1089 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1091 dnl we require a c++ compiler for this one
1092 if [ test x$HAVE_CXX = xyes ]; then
1093 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1094 dnl since many distros include mjpegtools specifically without mplex
1095 dnl and mpeg2enc, we check for mplex on its own, too.
1096 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1097 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1098 dnl switch over to c++ to test things
1100 OLD_CPPFLAGS="$CPPFLAGS"
1101 CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1102 AC_CHECK_HEADER(interact.hpp, [
1103 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1105 LIBS="$LIBS $MPLEX_LIBS"
1106 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1107 dnl don't want this here
1108 AC_MSG_CHECKING([for valid mplex objects])
1111 #include <interact.hpp>
1112 #include <outputstrm.hpp>
1113 #include <multiplexor.hpp>
1118 class TestOutputStream : public OutputStream {
1120 TestOutputStream () : OutputStream () { }
1121 void Write (uint8_t *a, unsigned int b) { }
1122 void NextSegment () { }
1123 uint64_t SegmentSize () { }
1127 MultiplexJob *job = new MultiplexJob ();
1128 vector<IBitStream *> inputs;
1129 job->SetupInputStreams (inputs);
1130 TestOutputStream *out = new TestOutputStream ();
1131 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1136 AC_SUBST(MPLEX_CFLAGS)
1137 AC_SUBST(MPLEX_LIBS)
1139 ], AC_MSG_RESULT(no))
1142 CPPFLAGS="$OLD_CPPFLAGS"
1148 dnl *** musepack ***
1149 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1150 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1151 AC_CHECK_HEADER([mpc/mpcdec.h], [
1153 MUSEPACK_LIBS="-lmpcdec"
1154 AC_SUBST(MUSEPACK_LIBS)
1155 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1157 MUSEPACK_LIBS="-lmpcdec"
1158 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1159 AC_SUBST(MUSEPACK_LIBS)
1160 ], [HAVE_MUSEPACK="no"])])
1163 dnl *** musicbrainz ***
1164 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1165 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
1166 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1167 AC_SUBST(MUSICBRAINZ_CFLAGS)
1168 AC_SUBST(MUSICBRAINZ_LIBS)
1172 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
1173 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
1174 PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
1178 AC_SUBST(GMYTH_CFLAGS)
1179 AC_SUBST(GMYTH_LIBS)
1183 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1184 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1187 if test "x$HAVE_X" = "xyes"; then
1188 save_cppflags=$CFLAGS
1189 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1190 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1191 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1192 CPPFLAGS="$save_cppflags"
1194 AC_SUBST(NAS_CFLAGS)
1199 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1200 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1201 PKG_CHECK_MODULES(NEON, neon >= 0.26.0 neon <= 0.29.99, HAVE_NEON="yes", [
1205 AC_SUBST(NEON_CFLAGS)
1210 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1211 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1212 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1216 AC_SUBST(OFA_CFLAGS)
1221 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1222 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1223 PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.14 cairo, HAVE_RSVG="yes", [
1227 AC_SUBST(RSVG_CFLAGS)
1231 dnl *** timidity ***
1232 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1233 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1234 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1235 HAVE_TIMIDITY="yes",
1236 AC_MSG_CHECKING([for timidity.cfg])
1238 if test -r /etc/timidity.cfg; then
1239 timidity_cfg=/etc/timidity.cfg
1240 elif test -r /etc/timidity/timidity.cfg; then
1241 timidity_cfg=/etc/timidity/timidity.cfg
1242 elif test -r /usr/share/timidity/timidity.cfg; then
1243 timidity_cfg=/usr/share/timidity/timidity.cfg
1244 elif test -r /usr/local/share/timidity/timidity.cfg; then
1245 timidity_cfg=/usr/local/share/timidity/timidity.cfg
1247 if test "x$timidity_cfg" != "x"; then
1248 AC_MSG_RESULT($timidity_cfg)
1249 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1251 AC_MSG_RESULT([not found])
1257 AC_SUBST(TIMIDITY_CFLAGS)
1258 AC_SUBST(TIMIDITY_LIBS)
1261 dnl *** wildmidi ***
1262 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1263 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1264 AC_CHECK_HEADER([wildmidi_lib.h],HAVE_WILDMIDI=yes, HAVE_WILDMIDI=no)
1265 if test "x$HAVE_WILDMIDI" = "xyes"; then
1267 WILDMIDI_LIBS=-lWildMidi
1268 AC_MSG_NOTICE(compiling gstWildMidi)
1272 AC_MSG_WARN(no WildMidi library found (libWildMidi))
1274 AC_SUBST(WILDMIDI_CFLAGS)
1275 AC_SUBST(WILDMIDI_LIBS)
1279 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1280 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1281 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1285 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1286 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1287 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1288 AC_SUBST(SNDFILE_CFLAGS)
1289 AC_SUBST(SNDFILE_LIBS)
1292 dnl *** soundtouch ***
1293 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1294 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1295 dnl We only need -lBPM on soundtouch < 1.4
1296 dnl We check for libSoundTouch since Debian used it before upstream
1297 dnl added a pkgconfig file.
1298 HAVE_SOUNDTOUCH_1_4=yes
1299 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1300 [HAVE_SOUNDTOUCH=yes],
1301 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1302 [HAVE_SOUNDTOUCH=yes
1303 HAVE_SOUNDTOUCH_1_4=no
1304 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1305 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1306 [HAVE_SOUNDTOUCH=yes],
1307 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1308 [HAVE_SOUNDTOUCH=yes
1309 HAVE_SOUNDTOUCH_1_4=no
1310 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1311 HAVE_SOUNDTOUCH=no)])])])
1312 AC_SUBST(SOUNDTOUCH_CFLAGS)
1313 AC_SUBST(SOUNDTOUCH_LIBS)
1314 if test "x$HAVE_CXX" != "xyes"; then
1315 USE_SOUNDTOUCH=false
1316 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1318 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1319 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1320 [Defined if the available libSoundTouch is >= 1.4])
1325 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1326 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1327 AC_CHECK_HEADER(openspc.h, [
1328 AC_CHECK_LIB(openspc, OSPC_Init, [
1329 SPC_LIBS="-lopenspc"
1341 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1342 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
1343 AC_CHECK_HEADER(gme/gme.h, [
1344 AC_CHECK_LIB(gme, gme_new_emu, [
1355 if test "x$HAVE_GME" = "xyes"; then
1356 AC_CHECK_LIB(gme, gme_enable_accuracy, [
1357 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
1363 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1364 AG_GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1365 PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.6, HAVE_SWFDEC=yes, [
1369 AC_SUBST(SWFDEC_CFLAGS)
1370 AC_SUBST(SWFDEC_LIBS)
1374 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORADEC, true)
1375 AG_GST_CHECK_FEATURE(THEORADEC, [ogg theora codec], theoraexpdec, [
1376 PKG_CHECK_MODULES(THEORADEC, theoradec, HAVE_THEORADEC="yes", [
1380 AC_SUBST(THEORADEC_LIBS)
1381 AC_SUBST(THEORADEC_CFLAGS)
1385 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1386 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1388 AC_CHECK_HEADER(xvid.h, [
1391 AC_CHECK_LIB(xvidcore, xvid_encore, [
1392 AC_CHECK_LIB(xvidcore, xvid_decore, [
1393 AC_CHECK_LIB(xvidcore, xvid_global, [
1394 AC_MSG_CHECKING([for uptodate XviD API version])
1395 AC_TRY_COMPILE([#include <xvid.h>], [
1396 #if XVID_API_MAJOR(XVID_API) != 4
1397 #error "Incompatible XviD API version"
1399 ],[ AC_MSG_RESULT(yes)
1400 XVID_LIBS="-lxvidcore -lm"
1403 ], AC_MSG_RESULT(no) )
1412 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
1413 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
1414 AC_MSG_CHECKING([Checking for up to date dvb installation])
1415 AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
1419 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS4, true)
1420 AG_GST_CHECK_FEATURE(OSS4, [Open Sound System 4], oss4, [
1421 AC_MSG_CHECKING([Checking if we can build the OSS4 elements])
1422 AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/stat.h sys/types.h],
1423 [test -z "$OSS4_MISSING_HEADER" && HAVE_OSS4="yes"],
1424 [OSS4_MISSING_HEADER="yes";HAVE_OSS4="no"])
1428 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
1429 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
1430 AC_MSG_CHECKING([Checking for windows internet support])
1431 AC_CHECK_HEADERS([windows.h wininet.h],
1432 [HAVE_WININET="yes"], [HAVE_WININET="no"])
1436 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
1437 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
1438 AC_MSG_CHECKING([Checking for ACM support])
1439 AC_CHECK_HEADERS([windows.h msacm.h],
1441 AC_SUBST(ACMENC_CFLAGS)
1442 AC_SUBST(ACMMP3DEC_CFLAGS)
1444 [AC_INCLUDES_DEFAULT
1445 #include <windows.h>])
1449 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
1450 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
1455 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
1457 if test "$HAVE_VDPAU" = "no"; then
1458 saved_CPPFLAGS="$CPPFLAGS"
1459 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1461 if test -z "$HAVE_VDPAU_H"; then
1462 dnl Didn't find VDPAU header straight away.
1463 dnl Try /usr/include/nvidia. Need to clear caching vars first
1464 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
1465 unset ac_cv_header_vdpau_vdpau_h
1466 unset ac_cv_header_vdpau_vdpau_x11_h
1467 VDPAU_CFLAGS="-I/usr/include/nvidia"
1468 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
1469 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
1470 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1473 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
1475 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
1476 dnl Found the headers - look for the lib
1477 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
1479 LIBS="$VDPAU_LIBS $saved_LIBS"
1480 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
1486 if test "$HAVE_VDPAU" = "yes"; then
1487 AC_MSG_NOTICE([Found up to date VDPAU installation])
1488 AC_SUBST(VDPAU_CFLAGS)
1489 AC_SUBST(VDPAU_LIBS)
1493 dnl *** schroedinger ***
1494 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
1495 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
1496 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.7)
1500 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
1501 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
1502 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
1507 dnl not building plugins with external dependencies,
1508 dnl but we still need to set the conditionals
1510 AM_CONDITIONAL(USE_ALSA, false)
1511 AM_CONDITIONAL(USE_ASSRENDER, false)
1512 AM_CONDITIONAL(USE_AMRWB, false)
1513 AM_CONDITIONAL(USE_APEXSINK, false)
1514 AM_CONDITIONAL(USE_BZ2, false)
1515 AM_CONDITIONAL(USE_CDAUDIO, false)
1516 AM_CONDITIONAL(USE_CELT, false)
1517 AM_CONDITIONAL(USE_COG, false)
1518 AM_CONDITIONAL(USE_DC1394, false)
1519 AM_CONDITIONAL(USE_DIRECTFB, false)
1520 AM_CONDITIONAL(USE_DIRAC, false)
1521 AM_CONDITIONAL(USE_DTS, false)
1522 AM_CONDITIONAL(USE_DIVX, false)
1523 AM_CONDITIONAL(USE_DVDNAV, false)
1524 AM_CONDITIONAL(USE_METADATA, false)
1525 AM_CONDITIONAL(USE_FAAC, false)
1526 AM_CONDITIONAL(USE_FAAD, false)
1527 AM_CONDITIONAL(USE_FBDEV, false)
1528 AM_CONDITIONAL(USE_GSM, false)
1529 AM_CONDITIONAL(USE_JACK, false)
1530 AM_CONDITIONAL(USE_JP2K, false)
1531 AM_CONDITIONAL(USE_KATE, false)
1532 AM_CONDITIONAL(USE_TIGER, false)
1533 AM_CONDITIONAL(USE_LADSPA, false)
1534 AM_CONDITIONAL(USE_LV2, false)
1535 AM_CONDITIONAL(USE_LIBMMS, false)
1536 AM_CONDITIONAL(USE_MODPLUG, false)
1537 AM_CONDITIONAL(USE_MIMIC, false)
1538 AM_CONDITIONAL(USE_MPEG2ENC, false)
1539 AM_CONDITIONAL(USE_MPLEX, false)
1540 AM_CONDITIONAL(USE_MUSEPACK, false)
1541 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
1542 AM_CONDITIONAL(USE_MYTHTV, false)
1543 AM_CONDITIONAL(USE_NAS, false)
1544 AM_CONDITIONAL(USE_NEON, false)
1545 AM_CONDITIONAL(USE_OFA, false)
1546 AM_CONDITIONAL(USE_RSVG, false)
1547 AM_CONDITIONAL(USE_TIMIDITY, false)
1548 AM_CONDITIONAL(USE_WILDMIDI, false)
1549 AM_CONDITIONAL(USE_SDL, false)
1550 AM_CONDITIONAL(USE_SNDFILE, false)
1551 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
1552 AM_CONDITIONAL(USE_SPC, false)
1553 AM_CONDITIONAL(USE_GME, false)
1554 AM_CONDITIONAL(USE_SWFDEC, false)
1555 AM_CONDITIONAL(USE_THEORADEC, false)
1556 AM_CONDITIONAL(USE_XVID, false)
1557 AM_CONDITIONAL(USE_DVB, false)
1558 AM_CONDITIONAL(USE_OSS4, false)
1559 AM_CONDITIONAL(USE_WININET, false)
1560 AM_CONDITIONAL(USE_ACM, false)
1561 AM_CONDITIONAL(USE_VDPAU, false)
1562 AM_CONDITIONAL(USE_SCHRO, false)
1563 AM_CONDITIONAL(USE_ZBAR, false)
1565 fi dnl of EXT plugins
1567 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1570 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
1571 dnl GST_*: flags shared by built objects to link against GStreamer
1572 dnl GST_ALL_LDFLAGS: linker flags shared by all
1573 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
1574 dnl GST_LT_LDFLAGS: library versioning of our libraries
1575 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
1577 dnl GST_OPTION_CFLAGS
1578 if test "x$USE_DEBUG" = xyes; then
1581 AC_SUBST(PROFILE_CFLAGS)
1583 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
1584 dnl Define _only_ during CVS (not pre-releases or releases)
1585 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
1587 DEPRECATED_CFLAGS=""
1589 AC_SUBST(DEPRECATED_CFLAGS)
1591 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
1592 dnl at make time with e.g. make ERROR_CFLAGS=""
1593 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1594 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1595 AC_SUBST(GST_OPTION_CFLAGS)
1596 AC_SUBST(GST_OPTION_CXXFLAGS)
1598 dnl FIXME: do we want to rename to GST_ALL_* ?
1599 dnl prefer internal headers to already installed ones
1600 dnl also add builddir include for enumtypes and marshal
1601 dnl add GST_OPTION_CFLAGS, but overridable
1602 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CXXFLAGS)"
1603 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
1604 AC_SUBST(GST_CFLAGS)
1605 AC_SUBST(GST_CXXFLAGS)
1608 dnl LDFLAGS really should only contain flags, not libs - they get added before
1609 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1610 GST_ALL_LDFLAGS="-no-undefined"
1611 AC_SUBST(GST_ALL_LDFLAGS)
1613 dnl this really should only contain flags, not libs - they get added before
1614 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1615 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
1616 AC_SUBST(GST_PLUGIN_LDFLAGS)
1618 dnl *** output files ***
1626 gst-plugins-bad.spec
1628 gst/adpcmdec/Makefile
1629 gst/adpcmenc/Makefile
1632 gst/audioparsers/Makefile
1633 gst/autoconvert/Makefile
1635 gst/camerabin/Makefile
1636 gst/cdxaparse/Makefile
1637 gst/dataurisrc/Makefile
1639 gst/debugutils/Makefile
1642 gst/festival/Makefile
1645 gst/h264parse/Makefile
1646 gst/hdvparse/Makefile
1648 gst/invtelecine/Makefile
1649 gst/imagefreeze/Makefile
1650 gst/jpegformat/Makefile
1651 gst/legacyresample/Makefile
1653 gst/liveadder/Makefile
1654 gst/mpegdemux/Makefile
1655 gst/mpegtsmux/Makefile
1656 gst/mpegtsmux/tsmux/Makefile
1657 gst/mpegpsmux/Makefile
1658 gst/mpeg4videoparse/Makefile
1659 gst/mpegvideoparse/Makefile
1663 gst/nuvdemux/Makefile
1664 gst/pcapparse/Makefile
1667 gst/rawparse/Makefile
1670 gst/scaletempo/Makefile
1672 gst/segmentclip/Makefile
1673 gst/selector/Makefile
1680 gst/videomeasure/Makefile
1681 gst/videosignal/Makefile
1684 gst-libs/gst/Makefile
1685 gst-libs/gst/interfaces/Makefile
1686 gst-libs/gst/signalprocessor/Makefile
1687 gst-libs/gst/video/Makefile
1689 sys/dshowdecwrapper/Makefile
1691 sys/acmmp3dec/Makefile
1692 sys/directdraw/Makefile
1693 sys/directsound/Makefile
1694 sys/dshowsrcwrapper/Makefile
1695 sys/dshowvideosink/Makefile
1699 sys/osxvideo/Makefile
1700 sys/qtwrapper/Makefile
1704 sys/wininet/Makefile
1706 sys/winscreencap/Makefile
1708 tests/check/Makefile
1709 tests/examples/Makefile
1710 tests/examples/camerabin/Makefile
1711 tests/examples/directfb/Makefile
1712 tests/examples/mxf/Makefile
1713 tests/examples/scaletempo/Makefile
1714 tests/examples/switch/Makefile
1715 tests/icles/Makefile
1716 ext/alsaspdif/Makefile
1717 ext/amrwbenc/Makefile
1718 ext/assrender/Makefile
1719 ext/apexsink/Makefile
1721 ext/cdaudio/Makefile
1726 ext/directfb/Makefile
1740 ext/metadata/Makefile
1741 ext/modplug/Makefile
1742 ext/mpeg2enc/Makefile
1745 ext/musepack/Makefile
1746 ext/musicbrainz/Makefile
1752 ext/resindvd/Makefile
1753 ext/schroedinger/Makefile
1755 ext/sndfile/Makefile
1756 ext/soundtouch/Makefile
1761 ext/timidity/Makefile
1766 docs/plugins/Makefile
1767 docs/plugins/figures/Makefile
1768 docs/version.entities
1770 pkgconfig/gstreamer-plugins-bad.pc
1771 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
1773 win32/common/config.h
1777 AG_GST_OUTPUT_PLUGINS