Update .gitignore
[platform/upstream/gstreamer.git] / configure.ac
1 AC_PREREQ(2.52)
2
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,
8     gst-plugins-bad)
9
10 AG_GST_INIT
11
12 dnl initialize automake
13 AM_INIT_AUTOMAKE([-Wno-portability])
14
15 dnl define PACKAGE_VERSION_* variables
16 AS_VERSION
17
18 dnl check if this is a release version
19 AS_NANO(GST_GIT="no", GST_GIT="yes")
20
21 dnl can autoconf find the source ?
22 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
23
24 dnl define the output header for config
25 AM_CONFIG_HEADER([config.h])
26
27 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
28 AM_MAINTAINER_MODE
29
30 dnl sets host_* variables
31 AC_CANONICAL_HOST
32
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)])
37
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
41 GST_MAJORMINOR=0.10
42 AC_SUBST(GST_MAJORMINOR)
43
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])
48
49 AC_LIBTOOL_WIN32_DLL
50 AM_PROG_LIBTOOL
51
52 dnl *** required versions of GStreamer stuff ***
53 GST_REQ=0.10.28.1
54 GSTPB_REQ=0.10.28.1
55
56 dnl *** autotools stuff ****
57
58 dnl allow for different autotools
59 AS_AUTOTOOLS_ALTERNATE
60
61 dnl Add parameters for aclocal
62 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
63
64 dnl set up gettext
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])
69
70 dnl *** check for arguments to configure ***
71
72 AG_GST_ARG_DEBUG
73 AG_GST_ARG_PROFILING
74 AG_GST_ARG_VALGRIND
75 AG_GST_ARG_GCOV
76
77 AG_GST_ARG_EXAMPLES
78
79 AG_GST_ARG_WITH_PKG_CONFIG_PATH
80 AG_GST_ARG_WITH_PACKAGE_NAME
81 AG_GST_ARG_WITH_PACKAGE_ORIGIN
82
83 AG_GST_ARG_WITH_PLUGINS
84
85 AG_GST_ARG_ENABLE_EXTERNAL
86
87 AG_GST_ARG_ENABLE_EXPERIMENTAL
88
89 dnl *** checks for platform ***
90 AG_GST_PLATFORM
91
92 dnl * hardware/architecture *
93
94 dnl common/m4/gst-arch.m4
95 dnl check CPU type
96 AG_GST_ARCH
97
98 dnl Determine endianness
99 AC_C_BIGENDIAN
100
101 dnl *** checks for programs ***
102
103 dnl find a compiler
104 AC_PROG_CC
105
106 dnl determine c++ compiler
107 AC_PROG_CXX
108 dnl determine if c++ is available on this system
109 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
110
111 AS_PROG_OBJC
112
113 dnl check if the compiler supports '-c' and '-o' options
114 AM_PROG_CC_C_O
115
116 dnl check if the compiler supports do while(0) macros
117 AG_GST_CHECK_DOWHILE_MACROS
118
119 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
120 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
121
122 dnl check for documentation tools
123 GTK_DOC_CHECK([1.3])
124 AS_PATH_PYTHON([2.1])
125 AG_GST_PLUGIN_DOCS([1.3],[2.1])
126
127 dnl *** checks for libraries ***
128
129 dnl check for libm, for sin() etc.
130 AC_CHECK_LIBM
131 AC_SUBST(LIBM)
132
133 AC_FUNC_MMAP
134
135 dnl *** checks for header files ***
136
137 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
138 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
139
140 if test "x$HAVE_UNISTD_H" != "xyes"; then
141   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
142 fi
143
144 dnl used by camerabin
145 AC_CHECK_HEADERS([sys/time.h])
146
147 dnl used by ext/dts
148 AX_CREATE_STDINT_H
149
150 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
151 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
152
153 if test "x$HAVE_PTHREAD_H" != "xyes"; then
154   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
155 fi
156
157 dnl *** checks for types/defines ***
158
159 dnl Check for FIONREAD ioctl declaration
160 dnl used in gst/dccp
161 GST_CHECK_FIONREAD
162
163 dnl *** checks for structures ***
164
165 dnl *** checks for compiler characteristics ***
166
167 dnl *** checks for library functions ***
168 AC_CHECK_FUNCS([gmtime_r])
169
170 dnl *** checks for headers ***
171 AC_CHECK_HEADERS([sys/utsname.h])
172
173 dnl *** checks for dependency libraries ***
174
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)])
178
179 dnl GLib is required
180 AG_GST_GLIB_CHECK([2.16])
181
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])
186 fi
187
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")
197
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)
201
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)
207 AC_SUBST(GST_PREFIX)
208 AC_SUBST(GSTPB_PREFIX)
209
210 dnl GTK is optional and used in examples
211 HAVE_GTK=NO
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")
214
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)
217
218 dnl x11 is optional for librfb
219 HAVE_X11=NO
220 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
221 AC_SUBST(X11_LIBS)
222 AC_SUBST(X11_CFLAGS)
223 AC_SUBST(HAVE_X11)
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])
227 fi
228
229 dnl set license and copyright notice
230 GST_LICENSE="LGPL"
231 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
232 AC_SUBST(GST_LICENSE)
233
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])
237
238 dnl set location of plugin directory
239 AG_GST_SET_PLUGINDIR
240
241 dnl define an ERROR_CFLAGS Makefile variable
242 AG_GST_SET_ERROR_CFLAGS($GST_GIT, [
243     -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls ])
244
245 dnl define an ERROR_CXXFLAGS Makefile variable
246 AG_GST_SET_ERROR_CXXFLAGS($GST_GIT, [
247     -Wmissing-declarations -Wredundant-decls ])
248
249 dnl define correct level for debugging messages
250 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
251
252 dnl used in examples
253 AG_GST_DEFAULT_ELEMENTS
254
255 dnl *** plug-ins to include ***
256
257 dnl these are all the gst plug-ins, compilable without additional libs
258 AG_GST_CHECK_PLUGIN(adpcmdec)
259 AG_GST_CHECK_PLUGIN(adpcmenc)
260 AG_GST_CHECK_PLUGIN(aiff)
261 AG_GST_CHECK_PLUGIN(asfmux)
262 AG_GST_CHECK_PLUGIN(audioparsers)
263 AG_GST_CHECK_PLUGIN(autoconvert)
264 AG_GST_CHECK_PLUGIN(camerabin)
265 AG_GST_CHECK_PLUGIN(legacyresample)
266 AG_GST_CHECK_PLUGIN(bayer)
267 AG_GST_CHECK_PLUGIN(cdxaparse)
268 AG_GST_CHECK_PLUGIN(dataurisrc)
269 AG_GST_CHECK_PLUGIN(dccp)
270 AG_GST_CHECK_PLUGIN(debugutils)
271 AG_GST_CHECK_PLUGIN(dtmf)
272 AG_GST_CHECK_PLUGIN(dvdspu)
273 AG_GST_CHECK_PLUGIN(festival)
274 AG_GST_CHECK_PLUGIN(freeze)
275 AG_GST_CHECK_PLUGIN(frei0r)
276 AG_GST_CHECK_PLUGIN(h264parse)
277 AG_GST_CHECK_PLUGIN(hdvparse)
278 AG_GST_CHECK_PLUGIN(id3tag)
279 AG_GST_CHECK_PLUGIN(invtelecine)
280 AG_GST_CHECK_PLUGIN(imagefreeze)
281 AG_GST_CHECK_PLUGIN(jpegformat)
282 AG_GST_CHECK_PLUGIN(librfb)
283 AG_GST_CHECK_PLUGIN(liveadder)
284 AG_GST_CHECK_PLUGIN(mpegdemux)
285 AG_GST_CHECK_PLUGIN(mpegtsmux)
286 AG_GST_CHECK_PLUGIN(mpegpsmux)
287 AG_GST_CHECK_PLUGIN(mpeg4videoparse)
288 AG_GST_CHECK_PLUGIN(mpegvideoparse)
289 AG_GST_CHECK_PLUGIN(mve)
290 AG_GST_CHECK_PLUGIN(mxf)
291 AG_GST_CHECK_PLUGIN(nsf)
292 AG_GST_CHECK_PLUGIN(nuvdemux)
293 AG_GST_CHECK_PLUGIN(pcapparse)
294 AG_GST_CHECK_PLUGIN(pnm)
295 AG_GST_CHECK_PLUGIN(qtmux)
296 AG_GST_CHECK_PLUGIN(rawparse)
297 AG_GST_CHECK_PLUGIN(real)
298 AG_GST_CHECK_PLUGIN(rtpmux)
299 AG_GST_CHECK_PLUGIN(scaletempo)
300 AG_GST_CHECK_PLUGIN(sdp)
301 AG_GST_CHECK_PLUGIN(segmentclip)
302 AG_GST_CHECK_PLUGIN(selector)
303 AG_GST_CHECK_PLUGIN(siren)
304 AG_GST_CHECK_PLUGIN(speed)
305 AG_GST_CHECK_PLUGIN(subenc)
306 AG_GST_CHECK_PLUGIN(stereo)
307 AG_GST_CHECK_PLUGIN(tta)
308 AG_GST_CHECK_PLUGIN(valve)
309 AG_GST_CHECK_PLUGIN(videomeasure)
310 AG_GST_CHECK_PLUGIN(videosignal)
311 AG_GST_CHECK_PLUGIN(vmnc)
312
313 dnl *** plug-ins to exclude ***
314
315 dnl real plugin only works on i386 and x86_64 for the time being.
316 if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
317   AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
318   AG_GST_DISABLE_PLUGIN(real)
319 fi
320
321 dnl disable experimental plug-ins
322 dnl if test "x$BUILD_EXPERIMENTAL" != "xyes"; then
323 dnl fi
324
325 # This will always succeed because we depend on GLib >= 2.16
326 PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.16, HAVE_GIO=yes, HAVE_GIO=no)
327 AC_SUBST(GIO_CFLAGS)
328 AC_SUBST(GIO_LIBS)
329
330 dnl disable gst plugins we might not be able to build on this
331 dnl platform: librfb (ugly but minimally invasive)
332 dnl FIXME: maybe move to sys, or make work with winsock2
333 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
334 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
335
336 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
337   WIN32_LIBS="-lws2_32"
338   AC_SUBST(WIN32_LIBS)
339 fi
340
341 dnl needed for festival
342 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
343
344 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
345   DCCP_LIBS="$DCCP_LIBS -lws2_32"
346   XDG_LIBS="$XDG_LIBS -lws2_32"
347   AC_SUBST(DCCP_LIBS)
348   AC_SUBST(XDG_LIBS)
349 fi
350
351 if test "x$HAVE_PTHREAD_H" = "xyes"; then
352   DCCP_LIBS="$DCCP_LIBS -lpthread"
353   AC_SUBST(DCCP_LIBS)
354 fi
355
356 if test "x$HAVE_PTHREAD_H" != "xyes"; then
357   AG_GST_DISABLE_PLUGIN(dccp)
358 fi
359
360 dnl *** sys plug-ins ***
361
362 dnl DirectSound
363 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
364 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
365   HAVE_DIRECTSOUND="no"
366   save_CFLAGS="$CFLAGS"
367   save_LDFLAGS="$LDFLAGS"
368   save_LIBS="$LIBS"
369   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
370   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
371   LIBS="$LIBS -ldsound -ldxerr9 -luser32"
372   AC_MSG_CHECKING(for DirectSound LDFLAGS)
373   AC_LINK_IFELSE([
374 #include <windows.h>
375 #include <dxerr9.h>
376 #include <dsound.h>
377
378 int main ()
379 {
380   DXGetErrorString9 (0);
381   DirectSoundCreate(NULL, NULL, NULL);
382
383   return 0;
384 }
385 ],
386     [HAVE_DIRECTSOUND="yes"],
387     [HAVE_DIRECTSOUND="no"])
388   AC_MSG_RESULT($HAVE_DIRECTSOUND)
389   CFLAGS=$save_CFLAGS
390   LDFLAGS=$save_LDFLAGS
391   LIBS=$save_LIBS
392
393   if test "x$HAVE_DIRECTSOUND" = "xyes";  then
394     dnl this is much more than we want
395     DIRECTSOUND_LIBS="-ldsound -ldxerr9 -luser32"
396     AC_SUBST(DIRECTX_CFLAGS)
397     AC_SUBST(DIRECTX_LDFLAGS)
398     AC_SUBST(DIRECTSOUND_LIBS)
399   fi
400   AC_SUBST(HAVE_DIRECTSOUND)
401 ])
402
403 dnl DirectDraw
404 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
405 AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
406   HAVE_DIRECTDRAW="no"
407   save_CFLAGS="$CFLAGS"
408   save_LDFLAGS="$LDFLAGS"
409   save_LIBS="$LIBS"
410   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
411   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
412   LIBS="$LIBS -lddraw -lgdi32"
413   AC_MSG_CHECKING(for DirectDraw LDFLAGS)
414   AC_LINK_IFELSE([
415 #include <windows.h>
416 #include <ddraw.h>
417
418 int main ()
419 {
420   GetStockObject(0);
421   DirectDrawCreate(NULL, NULL, NULL);
422
423   return 0;
424 }
425 ],
426     [HAVE_DIRECTDRAW="yes"],
427     [HAVE_DIRECTDRAW="no"])
428   AC_MSG_RESULT($HAVE_DIRECTDRAW)
429   CFLAGS=$save_CFLAGS
430   LDFLAGS=$save_LDFLAGS
431   LIBS=$save_LIBS
432
433   if test "x$HAVE_DIRECTDRAW" = "xyes";  then
434     dnl this is much more than we want
435     DIRECTDRAW_LIBS="-lddraw -ldxguid -lgdi32"
436     AC_SUBST(DIRECTX_CFLAGS)
437     AC_SUBST(DIRECTX_LDFLAGS)
438     AC_SUBST(DIRECTDRAW_LIBS)
439   fi
440   AC_SUBST(HAVE_DIRECTDRAW)
441 ])
442
443 dnl *** OS X videosrc ***
444 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
445 HAVE_OSX_VIDEO="no"
446 AG_GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosrc, [
447   AC_CHECK_TYPE([SeqGrabComponent], HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no",
448       [#include <Quicktime/Quicktime.h>])
449 ])
450 dnl in case header Quicktime/Quicktime.h is found on other platforms
451 case "$host" in
452   *-*darwin*)
453     ;;
454   *)
455     HAVE_OSX_VIDEO="no"
456     ;;
457 esac
458
459 dnl check for QuickTime
460 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
461 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
462   AC_CHECK_TYPE([SampleReferenceRecord], HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no",
463       [#include <Quicktime/Quicktime.h>])
464 ])
465
466 dnl check for Video CD
467 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
468 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
469   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
470 ])
471
472 dnl *** ext plug-ins ***
473 dnl keep this list sorted alphabetically !
474
475 if test "x$BUILD_EXTERNAL" = "xyes"; then
476
477 dnl *** alsa ***
478 translit(dnm, m, l) AM_CONDITIONAL(USE_ALSA, true)
479 AG_GST_CHECK_FEATURE(ALSA, [alsa plug-ins], gstalsa, [
480   PKG_CHECK_MODULES(ALSA, alsa >= 0.9.1, [
481     HAVE_ALSA="yes"
482     AC_SUBST(ALSA_CFLAGS)
483     AC_SUBST(ALSA_LIBS)
484   ], [
485     AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
486   ])
487 ])
488
489 dnl *** assrender ***
490 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
491 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
492   PKG_CHECK_MODULES(ASSRENDER, libass >= 0.9.4, [
493     HAVE_ASSRENDER="yes" ], [
494     HAVE_ASSRENDER="no"
495     AC_MSG_RESULT(no)
496   ])
497 ])
498 AC_SUBST(ASSRENDER_CFLAGS)
499 AC_SUBST(ASSRENDER_LIBS)
500
501 dnl *** amrwb ***
502 translit(dnm, m, l) AM_CONDITIONAL(USE_AMRWB, true)
503 AG_GST_CHECK_FEATURE(AMRWB, [amrwb library], amrwbenc, [
504   AG_GST_CHECK_LIBHEADER(AMRWB, amrwb,
505                         GP3E_IF_encode, ,
506                         amrwb/enc.h,
507                         AMRWB_LIBS="-lamrwb"
508                         AC_SUBST(AMRWB_LIBS))
509 ])
510
511 dnl *** apexsink ***
512 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
513 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
514   PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5  libcrypto ], [
515     HAVE_APEXSINK="yes"
516     saved_LIBS="$LIBS"
517     LIBS=""
518     AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
519     AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
520     APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
521     LIBS="$saved_LIBS"
522     AC_SUBST(APEXSINK_CFLAGS)
523     AC_SUBST(APEXSINK_LIBS)
524   ], [
525     APEXSINK="no"
526   ])
527 ])
528
529 dnl *** BZ2 ***
530 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
531 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
532   AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
533   AC_SUBST(BZ2_LIBS)
534 ])
535
536 #dnl *** cairo ***
537 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
538 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
539 #  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
540 #    HAVE_CAIRO=no
541 #    AC_MSG_RESULT(no)
542 #  ])
543 #  AC_SUBST(CAIRO_CFLAGS)
544 #  AC_SUBST(CAIRO_LIBS)
545 #])
546
547 dnl *** cdaudio ***
548 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
549 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
550   AG_GST_CHECK_CONFIGPROG(CDAUDIO, libcdaudio-config)
551   AC_SUBST(CDAUDIO_CFLAGS)
552   AC_SUBST(CDAUDIO_LIBS)
553 ])
554
555 dnl *** celt ***
556 translit(dnm, m, l) AM_CONDITIONAL(USE_CELT, true)
557 AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
558   PKG_CHECK_MODULES(CELT, celt >= 0.4.0, [
559           HAVE_CELT="yes"
560   ], [
561           AC_MSG_RESULT(no)
562           HAVE_CELT="no"
563   ])
564
565   PKG_CHECK_MODULES(CELT_0_5, celt >= 0.5.0, [
566           AC_DEFINE([HAVE_CELT_0_5], 1, [Define if libcelt 0.5 is installed])
567   ], [
568           AC_MSG_RESULT(no)
569   ])
570
571   PKG_CHECK_MODULES(CELT_0_7, celt >= 0.7.0, [
572           AC_DEFINE([HAVE_CELT_0_7], 1, [Define if libcelt 0.7 is installed])
573   ], [
574           AC_MSG_RESULT(no)
575   ])
576   AC_SUBST(CELT_CFLAGS)
577   AC_SUBST(CELT_LIBS)
578 ])
579
580 dnl *** Cog ***
581 translit(dnm, m, l) AM_CONDITIONAL(USE_COG, true)
582 AG_GST_CHECK_FEATURE(COG, [Cog plugin], cog, [
583   PKG_CHECK_MODULES(COG, libpng >= 1.2 orc-0.4 >= 0.4.3, HAVE_COG="yes", [
584     HAVE_COG="no"
585     AC_MSG_RESULT(no)
586   ])
587   AC_SUBST(COG_CFLAGS)
588   AC_SUBST(COG_LIBS)
589   ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
590   if test "x$ORCC" = x ; then
591     ORCC=orcc
592   fi
593   AC_SUBST(ORCC)
594 ])
595
596 dnl *** dc1394  ***
597 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
598 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
599    PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
600         if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
601                 HAVE_DC1394="yes"
602         else
603                 HAVE_DC1394="no"
604                 AC_MSG_RESULT(no)
605         fi
606    ], [
607         HAVE_DC1394="no"
608         AC_MSG_RESULT(no)
609    ])
610    AC_SUBST(LIBDC1394_CFLAGS)
611    AC_SUBST(LIBDC1394_LIBS)
612 ])
613
614
615 dnl **** DirectFB ****
616 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
617 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
618   PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
619     HAVE_DIRECTFB="no"
620     AC_MSG_RESULT(no)
621   ])
622 ])
623
624 dnl **** Dirac ****
625 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
626 AG_GST_CHECK_FEATURE(DIRAC, [dirac], dirac, [
627   PKG_CHECK_MODULES(DIRAC, dirac >= 0.10, HAVE_DIRAC="yes", [
628     HAVE_DIRAC="no"
629     AC_MSG_RESULT(no)
630   ])
631 ])
632
633 dnl *** DTS ***
634 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
635 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
636   HAVE_DTS="yes"
637   AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, -lm, dca.h,
638     DTS_LIBS="-ldca -lm", HAVE_DTS="no")
639   if test $HAVE_DTS = "no"; then
640     AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h,
641       [ DTS_LIBS="-ldts_pic -lm"
642         AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
643       ])
644   fi
645   AC_SUBST(DTS_LIBS)
646 ])
647
648 dnl *** DIVX ***
649 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
650 AG_GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
651   HAVE_DIVX=yes
652   AC_CHECK_HEADER(encore2.h, , [
653     AC_MSG_WARN([Divx4linux encore headers not found])
654     HAVE_DIVX=no
655   ])
656   if [ test x$HAVE_DIVX = xyes ]; then
657     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
658     AC_TRY_COMPILE([
659 #include <encore2.h>
660 #if ENCORE_VERSION != 20021024
661 #error Wrong version of divx encore libraries
662 #endif
663     ], [
664 return 0;
665     ], [
666       HAVE_DIVX=yes
667       AC_MSG_RESULT(yes)
668     ], [
669       HAVE_DIVX=no
670       AC_MSG_RESULT(no)
671       AC_MSG_WARN([Wrong version of divx4linux installed])
672     ])
673   fi
674   if [ test x$HAVE_DIVX = xyes ]; then
675     AC_CHECK_HEADER(decore.h, , [
676       AC_MSG_WARN([Divx4linux decoder headers not found])
677       HAVE_DIVX=no
678     ])
679   fi
680   if [ test x$HAVE_DIVX = xyes ]; then
681     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
682     AC_TRY_COMPILE([
683 #include <decore.h>
684 #if DECORE_VERSION != 20021112
685 #error Wrong version of divx decore libraries
686 #endif
687     ], [
688 return 0;
689     ], [
690       HAVE_DIVX=yes
691       AC_MSG_RESULT(yes)
692     ], [
693       HAVE_DIVX=no
694       AC_MSG_RESULT(no)
695       AC_MSG_WARN([Wrong version of divx4linux installed])
696     ])
697   fi
698   LIBS="-lm"
699   if test x$HAVE_DIVX = xyes; then
700     AC_CHECK_LIB(divxencore, encore, , [
701       AC_MSG_WARN([Divx4linux encore libs not found])
702       HAVE_DIVX=no
703     ])
704   fi
705   if test x$HAVE_DIVX = xyes; then
706     AC_CHECK_LIB(divxdecore, decore, , [
707       AC_MSG_WARN([Divx4linux decore libs not found])
708       HAVE_DIVX=no
709   ])
710   fi
711   if test x$HAVE_DIVX = xyes; then
712     DIVXENC_LIBS="-ldivxencore -lm"
713     DIVXDEC_LIBS="-ldivxdecore -lm"
714     AC_SUBST(DIVXENC_LIBS)
715     AC_SUBST(DIVXDEC_LIBS)
716   fi
717 ])
718
719 dnl *** dvdnav for resindvd ***
720 translit(dnm, m, l) AM_CONDITIONAL(USE_DVDNAV, true)
721 AG_GST_CHECK_FEATURE(DVDNAV, [dvdnav library], resindvd, [
722   translit(dnm, m, l) AC_SUBST(DVDNAV_LIBS)
723   translit(dnm, m, l) AC_SUBST(DVDNAV_CFLAGS)
724   AG_GST_CHECK_CONFIGPROG(DVDNAV, dvdnav-config)
725   if test x"$HAVE_DVDNAV" = x"yes"; then
726     dnl check version
727     DVDNAV_VERSION=`dvdnav-config --version|head -n 1|sed 's/^.*) //'|sed 's/ (.*)//'`
728     DVDNAV_MAJOR=`echo $DVDNAV_VERSION | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
729     DVDNAV_MINOR=`echo $DVDNAV_VERSION | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
730     DVDNAV_MICRO=`echo $DVDNAV_VERSION | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
731     if [[ "$DVDNAV_MAJOR" -lt "4" ]]; then
732       AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
733       HAVE_DVDNAV="no"
734     elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \
735          [[ "$DVDNAV_MINOR" -lt "1" ]]; then
736       AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
737       HAVE_DVDNAV="no"
738     elif [[ "$DVDNAV_MAJOR" -eq "4" ]] && \
739          [[ "$DVDNAV_MINOR" -eq "1" ]] && \
740          [[ "$DVDNAV_MICRO" -lt "2" ]]; then
741       AC_MSG_WARN([libdvdnav >= 4.1.2 is required, you have $DVDNAV_VERSION])
742       HAVE_DVDNAV="no"
743     fi
744   fi
745   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
746 ])
747
748 dnl *** METADATA ***
749 translit(dnm, m, l) AM_CONDITIONAL(USE_METADATA, true)
750 AG_GST_CHECK_FEATURE(METADATA, [METADATA muxer and demuxer], metadata, [
751   HAVE_METADATA="no"
752   PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", [
753     HAVE_EXIF="no"
754   ])
755   PKG_CHECK_MODULES(IPTC, libiptcdata >= 1.0.2, HAVE_IPTC="yes", [
756     HAVE_IPTC="no"
757   ])
758   PKG_CHECK_MODULES(XMP, exempi-2.0, HAVE_XMP="yes", [
759     HAVE_XMP="no"
760   ])
761   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))
762   if test x$HAVE_EXIF = xyes; then
763     METADATA_CFLAGS="-DHAVE_EXIF $EXIF_CFLAGS $METADATA_CFLAGS"
764     METADATA_LIBS="$EXIF_LIBS $METADATA_LIBS -lm"
765     HAVE_METADATA="yes"
766   fi
767   if test x$HAVE_IPTC = xyes; then
768     METADATA_CFLAGS="-DHAVE_IPTC $IPTC_CFLAGS $METADATA_CFLAGS"
769     METADATA_LIBS="$IPTC_LIBS $METADATA_LIBS"
770     HAVE_METADATA="yes"
771   fi
772   if test x$HAVE_XMP = xyes; then
773     METADATA_CFLAGS="-DHAVE_XMP $XMP_CFLAGS $METADATA_CFLAGS"
774     METADATA_LIBS="$XMP_LIBS $METADATA_LIBS"
775     HAVE_METADATA="yes"
776   fi
777   if test x$HAVE_METADATA = xno; then
778     AC_MSG_WARN(no of metadata libraries (exif, iptc or xmp) found)
779   else
780     HAVE_METADATA="yes"
781   fi
782   AC_SUBST(METADATA_CFLAGS)
783   AC_SUBST(METADATA_LIBS)
784 ])
785
786 dnl **** Free AAC Encoder (FAAC) ****
787 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
788 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
789   AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, -lm, faac.h,
790     FAAC_LIBS="-lfaac -lm")
791   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
792   AC_SUBST(FAAC_LIBS)
793 ])
794
795 dnl **** Free AAC Decoder (FAAD) ****
796 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
797 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
798   HAVE_FAAD="yes"
799   faad_hdr=""
800   AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, -lm, faad.h,
801     FAAD_LIBS="-lfaad -lm", HAVE_FAAD="no")
802   if test $HAVE_FAAD = "no"; then
803     AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, -lm, neaacdec.h,
804       [ FAAD_LIBS="-lfaad -lm"
805         AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
806         faad_hdr="neaacdec.h"
807       ], [
808         HAVE_FAAD="no"
809       ],)
810   else
811     faad_hdr="faad.h"
812   fi
813   if test $HAVE_FAAD = "yes"; then
814     AC_MSG_CHECKING([Checking for FAAD >= 2.0])
815     AC_TRY_COMPILE([#include <faad.h>], [
816         #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
817         #error Not faad2
818         #else
819         /* Release candidate of 2.0 is not good enough for us. This field
820          * was added only in 2.0 final and does not exist in 2.0-RC3 */
821         faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
822         #endif
823     ], [
824       HAVE_FAAD="yes"
825       AC_MSG_RESULT(yes)
826
827       AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
828       for minor in 10 9 8 7 6 5 0; do
829         if test x$faad2_minor_version = "x"; then
830           AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
831               #include <$faad_hdr>
832               GST_CHECK_FAAD_VERSION FAAD2_VERSION
833             ], [
834               faad2_minor_version=$minor
835             ])
836         fi
837       done
838       if test x$faad2_minor_version = "x"; then
839         AC_MSG_RESULT([no idea])
840       else
841         AC_MSG_RESULT([2.$faad2_minor_version])
842         AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
843       fi
844     ], [
845       HAVE_FAAD="no"
846       AC_MSG_RESULT(no)
847     ])
848   fi
849   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
850   AC_SUBST(FAAD_LIBS)
851   AC_SUBST(FAAD_IS_NEAAC)
852 ])
853
854 dnl *** fbdev ***
855 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
856 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
857   if test "x$HAVE_FBDEV" != "xyes"; then
858     AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
859   fi
860 ])
861
862 dnl *** flite ***
863 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
864 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
865   AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, -lm, flite/flite.h,
866     FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex -lm")
867
868   AC_SUBST(FLITE_CFLAGS)
869   AC_SUBST(FLITE_LIBS)
870 ])
871
872 dnl *** gsm ***
873 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
874 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
875   AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
876   if test $HAVE_GSM != "yes"; then
877     AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
878     if test $HAVE_GSM = "yes"; then
879       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
880     fi
881   fi
882   AC_SUBST(GSM_LIBS)
883 ])
884
885 dnl *** Jack ***
886 translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
887 AG_GST_CHECK_FEATURE(JACK, Jack, jack, [
888   PKG_CHECK_MODULES(JACK, jack >= 0.99.10, HAVE_JACK="yes", HAVE_JACK="no")
889   AC_SUBST(JACK_CFLAGS)
890   AC_SUBST(JACK_LIBS)
891 ])
892
893 dnl *** jp2k ***
894 translit(dnm, m, l) AM_CONDITIONAL(USE_JP2K, true)
895 AG_GST_CHECK_FEATURE(JP2K, [jp2k], jp2kdec jp2kenc, [
896   AG_GST_CHECK_LIBHEADER(JP2K, jasper, jas_stream_fopen, , jasper/jasper.h,
897     JP2K_LIBS="-ljasper")
898   AC_SUBST(JP2K_LIBS)
899 ])
900
901 dnl *** kate ***
902 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
903 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
904   PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
905     HAVE_KATE="no"
906     AC_MSG_RESULT(no)
907   ])
908   AC_SUBST(KATE_CFLAGS)
909   AC_SUBST(KATE_LIBS)
910   PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
911     [
912       HAVE_TIGER="yes"
913       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
914     ],
915     [
916       HAVE_TIGER="no"
917       AC_MSG_RESULT(no)
918     ]
919   )
920   AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
921   AC_SUBST(TIGER_CFLAGS)
922   AC_SUBST(TIGER_LIBS)
923 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
924
925 dnl *** ladspa ***
926 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
927 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
928   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
929   
930   PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
931   if test $HAVE_LRDF = "yes"; then
932     AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
933   fi
934   AC_SUBST(LRDF_LIBS)
935   AC_SUBST(LRDF_CFLAGS)
936 ])
937
938 dnl *** LV2 ***
939 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
940 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
941   PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
942   AC_SUBST(SLV2_CFLAGS)
943   AC_SUBST(SLV2_LIBS)
944 ])
945
946 dnl *** libmms ***
947 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
948 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
949   dnl check with pkg-config first
950   PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
951     HAVE_LIBMMS="no"
952     AC_MSG_RESULT(no)
953   ])
954 ])
955 AC_SUBST(LIBMMS_LIBS)
956
957 dnl *** modplug ***
958 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
959 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
960   if test "x$HAVE_CXX" != "xyes"; then
961     AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
962     HAVE_MODPLUG="no"
963   else
964     PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
965   fi
966   AC_SUBST(MODPLUG_CFLAGS)
967   AC_SUBST(MODPLUG_LIBS)
968 ])
969
970 dnl *** mimic ***
971 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
972 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
973   MIMDEC_REQUIRED=1.0
974   PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMDEC_REQUIRED,
975       HAVE_MIMIC=yes, HAVE_MIMIC=no)
976   AC_SUBST(MIMIC_CFLAGS)
977   AC_SUBST(MIMIC_LIBS)
978 ])
979
980 dnl *** mjpegtools version info ***
981 dnl some may prefer older version (given quirks above)
982 dnl hm, no version info seems available within mjpegtools headers
983 dnl and API really moves along
984 echo
985 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
986   mjpegtools_api=10601
987 ], [
988   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
989     mjpegtools_api=10800
990   ], [
991     PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0, [
992       dnl logging API changed in release candidates
993       OLD_CFLAGS="$CFLAGS"
994       OLD_LIBS="$LIBS"
995       CFLAGS="$MJPEG_CFLAGS"
996       LIBS="$LIBS $MJPEG_LIBS -lmjpegutils -lm -lpthread"
997       AC_CHECK_FUNC(mjpeg_loglev_t, [
998         mjpegtools_api=10903
999         ], [
1000         mjpegtools_api=10900
1001         ])
1002       CFLAGS="$OLD_CFLAGS"
1003       LIBS="$OLD_LIBS"
1004     ], [
1005       mjpegtools_api=0
1006     ])
1007   ])
1008 ])
1009 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1010   [mjpegtools API evolution])
1011
1012 dnl *** mpeg2enc ***
1013 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1014 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1015   HAVE_MPEG2ENC="no"
1016   dnl we require a c++ compiler for this one
1017   if [ test x$HAVE_CXX = xyes ]; then
1018     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1019     dnl since many distros include mjpegtools specifically without mplex
1020     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1021     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1022       dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1023       touch config.h
1024       dnl switch over to c++ to test things
1025       AC_LANG_CPLUSPLUS
1026       OLD_CPPFLAGS="$CPPFLAGS"
1027       dnl HACK as above
1028       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1029       CPPFLAGS="$CPPFLAGS_GOOD -I."
1030       dnl check headers
1031       mpeg2enc_headers_ok=no
1032       AC_CHECK_HEADER([mpeg2encoder.hh], [
1033         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1034         OLD_LIBS="$LIBS"
1035         LIBS="$LIBS $MPEG2ENC_LIBS"
1036         AC_MSG_CHECKING([for valid mpeg2enc objects])
1037         AC_TRY_RUN([
1038           #include <mpeg2encoder.hh>
1039           #include <mpeg2encoptions.hh>
1040
1041           int
1042           main (int   argc,
1043                 char *argv[])
1044           {
1045             MPEG2EncOptions *options = new MPEG2EncOptions ();
1046             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1047             return 0;
1048           }
1049         ],[
1050           AC_MSG_RESULT(yes)
1051           dnl so far so good, let's check more things:
1052           dnl mjpegtools-1.8.0 does not install the required
1053           dnl mpeg2syntaxcodes.h header by default, and a new release
1054           dnl is not in sight, so check for this oversight in case
1055           dnl distros or folks have fixed this themselves
1056           if test "$mjpegtools_api" -ge "10800"; then
1057             AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1058                 mpeg2enc_headers_ok=yes
1059               ], [
1060                 mpeg2enc_headers_ok=no
1061               ])
1062           else
1063             mpeg2enc_headers_ok=yes
1064           fi
1065           if test "x$mpeg2enc_headers_ok" = "xyes"; then
1066             HAVE_MPEG2ENC="yes"
1067           fi
1068           CPP_FLAGS="$CPPFLAGS_GOOD"
1069           AC_SUBST(MPEG2ENC_CFLAGS)
1070           AC_SUBST(MPEG2ENC_LIBS)
1071         ], [
1072           AC_MSG_RESULT(no)
1073         ])
1074         LIBS="$OLD_LIBS"
1075       ])
1076
1077       CPPFLAGS="$OLD_CPPFLAGS"
1078       AC_LANG_C
1079     ], [
1080       HAVE_MPEG2ENC="no"
1081     ])
1082   fi
1083 ])
1084
1085 dnl *** mplex ***
1086 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1087 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1088   HAVE_MPLEX="no"
1089   dnl we require a c++ compiler for this one
1090   if [ test x$HAVE_CXX = xyes ]; then
1091     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1092     dnl since many distros include mjpegtools specifically without mplex
1093     dnl and mpeg2enc, we check for mplex on its own, too.
1094     dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1095     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1096       dnl switch over to c++ to test things
1097       AC_LANG_CPLUSPLUS
1098       OLD_CPPFLAGS="$CPPFLAGS"
1099       CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1100       AC_CHECK_HEADER(interact.hpp, [
1101         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1102         OLD_LIBS="$LIBS"
1103         LIBS="$LIBS $MPLEX_LIBS"
1104         dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1105         dnl don't want this here
1106         AC_MSG_CHECKING([for valid mplex objects])
1107         AC_TRY_RUN([
1108
1109 #include <interact.hpp>
1110 #include <outputstrm.hpp>
1111 #include <multiplexor.hpp>
1112 int
1113 main (int   argc,
1114       char *argv[])
1115 {
1116   class TestOutputStream : public OutputStream {
1117   public:
1118     TestOutputStream () : OutputStream () { }
1119     void Write (uint8_t *a, unsigned int b) { }
1120     void NextSegment () { }
1121     uint64_t SegmentSize () { }
1122     void Close () { }
1123     int Open () { }
1124 };
1125   MultiplexJob *job = new MultiplexJob ();
1126   vector<IBitStream *> inputs;
1127   job->SetupInputStreams (inputs);
1128   TestOutputStream *out = new TestOutputStream ();
1129   Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1130   return 0;
1131 }
1132         ],[
1133           HAVE_MPLEX="yes"
1134           AC_SUBST(MPLEX_CFLAGS)
1135           AC_SUBST(MPLEX_LIBS)
1136           AC_MSG_RESULT(yes)
1137         ], AC_MSG_RESULT(no))
1138         LIBS="$OLD_LIBS"
1139       ])
1140       CPPFLAGS="$OLD_CPPFLAGS"
1141       AC_LANG_C
1142     ], HAVE_MPLEX="no")
1143   fi
1144 ])
1145
1146 dnl *** musepack ***
1147 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1148 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1149   AC_CHECK_HEADER([mpc/mpcdec.h], [
1150     HAVE_MUSEPACK="yes"
1151     MUSEPACK_LIBS="-lmpcdec"
1152     AC_SUBST(MUSEPACK_LIBS)
1153     ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1154       HAVE_MUSEPACK="yes"
1155       MUSEPACK_LIBS="-lmpcdec"
1156       AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1157       AC_SUBST(MUSEPACK_LIBS)
1158     ], [HAVE_MUSEPACK="no"])])
1159 ])
1160
1161 dnl *** musicbrainz ***
1162 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1163 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
1164   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1165   AC_SUBST(MUSICBRAINZ_CFLAGS)
1166   AC_SUBST(MUSICBRAINZ_LIBS)
1167 ])
1168
1169 dnl *** MythTV ***
1170 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
1171 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
1172   PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
1173     HAVE_MYTHTV="no"
1174     AC_MSG_RESULT(no)
1175   ])
1176   AC_SUBST(GMYTH_CFLAGS)
1177   AC_SUBST(GMYTH_LIBS)
1178 ])
1179
1180 dnl *** nas ***
1181 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1182 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1183   HAVE_NAS="no"
1184   AG_GST_CHECK_X
1185   if test "x$HAVE_X" = "xyes"; then
1186     save_cppflags=$CFLAGS
1187     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1188     AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1189       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1190     CPPFLAGS="$save_cppflags"
1191   fi
1192   AC_SUBST(NAS_CFLAGS)
1193   AC_SUBST(NAS_LIBS)
1194 ])
1195
1196 dnl *** neon ***
1197 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1198 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1199   PKG_CHECK_MODULES(NEON, neon >= 0.26.0  neon <= 0.29.99, HAVE_NEON="yes", [
1200     HAVE_NEON="no"
1201     AC_MSG_RESULT(no)
1202   ])
1203   AC_SUBST(NEON_CFLAGS)
1204   AC_SUBST(NEON_LIBS)
1205 ])
1206
1207 dnl *** ofa ***
1208 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1209 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1210   PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1211     HAVE_OFA="no"
1212     AC_MSG_RESULT(no)
1213   ])
1214   AC_SUBST(OFA_CFLAGS)
1215   AC_SUBST(OFA_LIBS)
1216 ])
1217
1218 dnl *** rsvg ***
1219 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1220 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1221   PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.14 cairo, HAVE_RSVG="yes", [
1222     HAVE_RSVG="no"
1223     AC_MSG_RESULT(no)
1224   ])
1225   AC_SUBST(RSVG_CFLAGS)
1226   AC_SUBST(RSVG_LIBS)
1227 ])
1228
1229 dnl *** timidity ***
1230 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1231 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1232   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1233     HAVE_TIMIDITY="yes",
1234         AC_MSG_CHECKING([for timidity.cfg])
1235         timidity_cfg=""
1236         if test -r /etc/timidity.cfg; then
1237           timidity_cfg=/etc/timidity.cfg
1238         elif test -r /etc/timidity/timidity.cfg; then
1239           timidity_cfg=/etc/timidity/timidity.cfg
1240         elif test -r /usr/share/timidity/timidity.cfg; then
1241           timidity_cfg=/usr/share/timidity/timidity.cfg
1242         elif test -r /usr/local/share/timidity/timidity.cfg; then
1243           timidity_cfg=/usr/local/share/timidity/timidity.cfg
1244         fi
1245         if test "x$timidity_cfg" != "x"; then
1246           AC_MSG_RESULT($timidity_cfg)
1247       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1248         else
1249           AC_MSG_RESULT([not found])
1250         fi
1251   ], [
1252     HAVE_TIMIDITY="no"
1253     AC_MSG_RESULT(no)
1254   ])
1255   AC_SUBST(TIMIDITY_CFLAGS)
1256   AC_SUBST(TIMIDITY_LIBS)
1257 ])
1258
1259 dnl *** wildmidi ***
1260 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1261 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1262   AC_CHECK_HEADER([wildmidi_lib.h],HAVE_WILDMIDI=yes, HAVE_WILDMIDI=no)
1263   if test "x$HAVE_WILDMIDI" = "xyes"; then
1264          WILDMIDI_CFLAGS=
1265          WILDMIDI_LIBS=-lWildMidi
1266          AC_MSG_NOTICE(compiling gstWildMidi)
1267   else
1268          WILDMIDI_CFLAGS=
1269          WILDMIDI_LIBS=
1270          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1271   fi
1272   AC_SUBST(WILDMIDI_CFLAGS)
1273   AC_SUBST(WILDMIDI_LIBS)
1274 ])
1275
1276 dnl *** SDL ***
1277 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1278 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1279     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1280 ])
1281
1282 dnl *** sndfile ***
1283 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1284 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1285   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1286   AC_SUBST(SNDFILE_CFLAGS)
1287   AC_SUBST(SNDFILE_LIBS)
1288 ])
1289
1290 dnl *** soundtouch ***
1291 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1292 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1293   dnl We only need -lBPM on soundtouch < 1.4
1294   dnl We check for libSoundTouch since Debian used it before upstream
1295   dnl added a pkgconfig file.
1296   HAVE_SOUNDTOUCH_1_4=yes
1297   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1298     [HAVE_SOUNDTOUCH=yes],
1299     [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1300       [HAVE_SOUNDTOUCH=yes
1301         HAVE_SOUNDTOUCH_1_4=no
1302         SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"], 
1303       [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1304         [HAVE_SOUNDTOUCH=yes],
1305         [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1306           [HAVE_SOUNDTOUCH=yes
1307             HAVE_SOUNDTOUCH_1_4=no
1308             SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1309           HAVE_SOUNDTOUCH=no)])])])
1310   AC_SUBST(SOUNDTOUCH_CFLAGS)
1311   AC_SUBST(SOUNDTOUCH_LIBS)
1312   if test "x$HAVE_CXX" != "xyes"; then
1313     USE_SOUNDTOUCH=false
1314     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1315   fi
1316   if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1317      AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1318          [Defined if the available libSoundTouch is >= 1.4])
1319   fi
1320 ])
1321
1322 dnl *** spc ***
1323 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1324 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1325   AC_CHECK_HEADER(openspc.h, [
1326     AC_CHECK_LIB(openspc, OSPC_Init, [
1327       SPC_LIBS="-lopenspc"
1328       AC_SUBST(SPC_LIBS)
1329       HAVE_SPC=yes
1330     ], [
1331       HAVE_SPC=no
1332     ])
1333   ], [
1334     HAVE_SPC=no
1335   ])
1336 ])
1337
1338 dnl *** gme ***
1339 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1340 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
1341   AC_CHECK_HEADER(gme/gme.h, [
1342     AC_CHECK_LIB(gme, gme_new_emu, [
1343       GME_LIBS="-lgme"
1344       AC_SUBST(GME_LIBS)
1345       HAVE_GME=yes
1346     ], [
1347       HAVE_GME=no
1348     ])
1349   ], [
1350     HAVE_GME=no
1351   ])
1352
1353   if test "x$HAVE_GME" = "xyes"; then
1354     AC_CHECK_LIB(gme, gme_enable_accuracy, [
1355       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
1356       ])
1357   fi
1358 ])
1359
1360 dnl *** swfdec ***
1361 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1362 AG_GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1363   PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.6, HAVE_SWFDEC=yes, [
1364     HAVE_SWFDEC=no
1365     AC_MSG_RESULT(no)
1366   ])
1367   AC_SUBST(SWFDEC_CFLAGS)
1368   AC_SUBST(SWFDEC_LIBS)
1369 ])
1370
1371 dnl *** theora ***
1372 translit(dnm, m, l) AM_CONDITIONAL(USE_THEORADEC, true)
1373 AG_GST_CHECK_FEATURE(THEORADEC, [ogg theora codec], theoraexpdec, [
1374   PKG_CHECK_MODULES(THEORADEC, theoradec, HAVE_THEORADEC="yes", [
1375     HAVE_THEORADEC="no"
1376     AC_MSG_RESULT(no)
1377   ])
1378   AC_SUBST(THEORADEC_LIBS)
1379   AC_SUBST(THEORADEC_CFLAGS)
1380 ])
1381
1382 dnl *** XVID ***
1383 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1384 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1385   HAVE_XVID=no
1386   AC_CHECK_HEADER(xvid.h, [
1387     OLD_LIBS="$LIBS"
1388     LIBS="-lm"
1389     AC_CHECK_LIB(xvidcore, xvid_encore, [
1390       AC_CHECK_LIB(xvidcore, xvid_decore, [
1391         AC_CHECK_LIB(xvidcore, xvid_global, [
1392           AC_MSG_CHECKING([for uptodate XviD API version])
1393           AC_TRY_COMPILE([#include <xvid.h>], [
1394               #if XVID_API_MAJOR(XVID_API) != 4
1395               #error "Incompatible XviD API version"
1396               #endif
1397           ],[ AC_MSG_RESULT(yes)
1398             XVID_LIBS="-lxvidcore -lm"
1399             AC_SUBST(XVID_LIBS)
1400             HAVE_XVID=yes
1401           ], AC_MSG_RESULT(no) )
1402         ], )
1403       ], )
1404     ], )
1405     LIBS="$OLD_LIBS"
1406   ], )
1407 ])
1408
1409 dnl *** dvb ***
1410 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
1411 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
1412   AC_MSG_CHECKING([Checking for up to date dvb installation])
1413   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
1414 ])
1415
1416 dnl *** oss4 ***
1417 translit(dnm, m, l) AM_CONDITIONAL(USE_OSS4, true)
1418 AG_GST_CHECK_FEATURE(OSS4, [Open Sound System 4], oss4, [
1419   AC_MSG_CHECKING([Checking if we can build the OSS4 elements])
1420   AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/stat.h sys/types.h],
1421       [test -z "$OSS4_MISSING_HEADER" && HAVE_OSS4="yes"],
1422       [OSS4_MISSING_HEADER="yes";HAVE_OSS4="no"])
1423 ])
1424
1425 dnl *** wininet ***
1426 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
1427 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
1428   AC_MSG_CHECKING([Checking for windows internet support])
1429   AC_CHECK_HEADERS([windows.h wininet.h],
1430       [HAVE_WININET="yes"], [HAVE_WININET="no"])
1431 ])
1432
1433 dnl *** acm ***
1434 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
1435 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
1436   AC_MSG_CHECKING([Checking for ACM support])
1437   AC_CHECK_HEADERS([windows.h msacm.h],
1438       [HAVE_ACM="yes"
1439        AC_SUBST(ACMENC_CFLAGS)
1440        AC_SUBST(ACMMP3DEC_CFLAGS)
1441       ], [HAVE_ACM="no"],
1442       [AC_INCLUDES_DEFAULT
1443 #include <windows.h>])
1444 ])
1445
1446 dnl *** vdpau ***
1447 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
1448 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
1449   VDPAU_CFLAGS=
1450   VDPAU_LIBS=-lvdpau
1451   HAVE_VDPAU=no
1452
1453   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
1454   [
1455     if test "$HAVE_VDPAU" = "no"; then
1456       saved_CPPFLAGS="$CPPFLAGS"
1457       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1458       
1459       if test -z "$HAVE_VDPAU_H"; then
1460         dnl Didn't find VDPAU header straight away.
1461         dnl Try /usr/include/nvidia. Need to clear caching vars first
1462         AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
1463         unset ac_cv_header_vdpau_vdpau_h
1464         unset ac_cv_header_vdpau_vdpau_x11_h
1465         VDPAU_CFLAGS="-I/usr/include/nvidia"
1466         VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
1467         CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
1468         AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1469       fi
1470       
1471       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
1472   
1473       if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
1474         dnl Found the headers - look for the lib
1475         AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
1476         saved_LIBS="$LIBS"
1477         LIBS="$VDPAU_LIBS $saved_LIBS"
1478         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
1479         LIBS="$saved_LIBS"
1480       fi
1481     fi
1482   ])
1483
1484   if test "$HAVE_VDPAU" = "yes"; then
1485     AC_MSG_NOTICE([Found up to date VDPAU installation])
1486     AC_SUBST(VDPAU_CFLAGS)
1487     AC_SUBST(VDPAU_LIBS)
1488   fi
1489 ])
1490
1491 dnl *** schroedinger ***
1492 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
1493 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
1494   AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.7)
1495 ])
1496
1497 dnl *** zbar ***
1498 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
1499 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
1500   AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
1501 ])
1502
1503 else
1504
1505 dnl not building plugins with external dependencies,
1506 dnl but we still need to set the conditionals
1507
1508 AM_CONDITIONAL(USE_ALSA, false)
1509 AM_CONDITIONAL(USE_ASSRENDER, false)
1510 AM_CONDITIONAL(USE_AMRWB, false)
1511 AM_CONDITIONAL(USE_APEXSINK, false)
1512 AM_CONDITIONAL(USE_BZ2, false)
1513 AM_CONDITIONAL(USE_CDAUDIO, false)
1514 AM_CONDITIONAL(USE_CELT, false)
1515 AM_CONDITIONAL(USE_COG, false)
1516 AM_CONDITIONAL(USE_DC1394, false)
1517 AM_CONDITIONAL(USE_DIRECTFB, false)
1518 AM_CONDITIONAL(USE_DIRAC, false)
1519 AM_CONDITIONAL(USE_DTS, false)
1520 AM_CONDITIONAL(USE_DIVX, false)
1521 AM_CONDITIONAL(USE_DVDNAV, false)
1522 AM_CONDITIONAL(USE_METADATA, false)
1523 AM_CONDITIONAL(USE_FAAC, false)
1524 AM_CONDITIONAL(USE_FAAD, false)
1525 AM_CONDITIONAL(USE_FBDEV, false)
1526 AM_CONDITIONAL(USE_GSM, false)
1527 AM_CONDITIONAL(USE_JACK, false)
1528 AM_CONDITIONAL(USE_JP2K, false)
1529 AM_CONDITIONAL(USE_KATE, false)
1530 AM_CONDITIONAL(USE_TIGER, false)
1531 AM_CONDITIONAL(USE_LADSPA, false)
1532 AM_CONDITIONAL(USE_LV2, false)
1533 AM_CONDITIONAL(USE_LIBMMS, false)
1534 AM_CONDITIONAL(USE_MODPLUG, false)
1535 AM_CONDITIONAL(USE_MIMIC, false)
1536 AM_CONDITIONAL(USE_MPEG2ENC, false)
1537 AM_CONDITIONAL(USE_MPLEX, false)
1538 AM_CONDITIONAL(USE_MUSEPACK, false)
1539 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
1540 AM_CONDITIONAL(USE_MYTHTV, false)
1541 AM_CONDITIONAL(USE_NAS, false)
1542 AM_CONDITIONAL(USE_NEON, false)
1543 AM_CONDITIONAL(USE_OFA, false)
1544 AM_CONDITIONAL(USE_RSVG, false)
1545 AM_CONDITIONAL(USE_TIMIDITY, false)
1546 AM_CONDITIONAL(USE_WILDMIDI, false)
1547 AM_CONDITIONAL(USE_SDL, false)
1548 AM_CONDITIONAL(USE_SNDFILE, false)
1549 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
1550 AM_CONDITIONAL(USE_SPC, false)
1551 AM_CONDITIONAL(USE_GME, false)
1552 AM_CONDITIONAL(USE_SWFDEC, false)
1553 AM_CONDITIONAL(USE_THEORADEC, false)
1554 AM_CONDITIONAL(USE_XVID, false)
1555 AM_CONDITIONAL(USE_DVB, false)
1556 AM_CONDITIONAL(USE_OSS4, false)
1557 AM_CONDITIONAL(USE_WININET, false)
1558 AM_CONDITIONAL(USE_ACM, false)
1559 AM_CONDITIONAL(USE_VDPAU, false)
1560 AM_CONDITIONAL(USE_SCHRO, false)
1561 AM_CONDITIONAL(USE_ZBAR, false)
1562
1563 fi dnl of EXT plugins
1564
1565 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1566
1567 dnl Overview:
1568 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
1569 dnl GST_*:              flags shared by built objects to link against GStreamer
1570 dnl GST_ALL_LDFLAGS:    linker flags shared by all
1571 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
1572 dnl GST_LT_LDFLAGS:     library versioning of our libraries
1573 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
1574
1575 dnl GST_OPTION_CFLAGS
1576 if test "x$USE_DEBUG" = xyes; then
1577    PROFILE_CFLAGS="-g"
1578 fi
1579 AC_SUBST(PROFILE_CFLAGS)
1580
1581 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
1582   dnl Define _only_ during CVS (not pre-releases or releases)
1583   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
1584 else
1585   DEPRECATED_CFLAGS=""
1586 fi
1587 AC_SUBST(DEPRECATED_CFLAGS)
1588
1589 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
1590 dnl at make time with e.g. make ERROR_CFLAGS=""
1591 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1592 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1593 AC_SUBST(GST_OPTION_CFLAGS)
1594 AC_SUBST(GST_OPTION_CXXFLAGS)
1595
1596 dnl FIXME: do we want to rename to GST_ALL_* ?
1597 dnl prefer internal headers to already installed ones
1598 dnl also add builddir include for enumtypes and marshal
1599 dnl add GST_OPTION_CFLAGS, but overridable
1600 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CXXFLAGS)"
1601 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
1602 AC_SUBST(GST_CFLAGS)
1603 AC_SUBST(GST_CXXFLAGS)
1604 AC_SUBST(GST_LIBS)
1605
1606 dnl LDFLAGS really should only contain flags, not libs - they get added before
1607 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1608 GST_ALL_LDFLAGS="-no-undefined"
1609 AC_SUBST(GST_ALL_LDFLAGS)
1610
1611 dnl this really should only contain flags, not libs - they get added before
1612 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1613 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
1614 AC_SUBST(GST_PLUGIN_LDFLAGS)
1615
1616 dnl *** output files ***
1617
1618 dnl po/Makefile.in
1619
1620 AC_CONFIG_FILES(
1621 Makefile
1622 common/Makefile
1623 common/m4/Makefile
1624 gst-plugins-bad.spec
1625 gst/Makefile
1626 gst/adpcmdec/Makefile
1627 gst/adpcmenc/Makefile
1628 gst/aiff/Makefile
1629 gst/asfmux/Makefile
1630 gst/audioparsers/Makefile
1631 gst/autoconvert/Makefile
1632 gst/bayer/Makefile
1633 gst/camerabin/Makefile
1634 gst/cdxaparse/Makefile
1635 gst/dataurisrc/Makefile
1636 gst/dccp/Makefile
1637 gst/debugutils/Makefile
1638 gst/dtmf/Makefile
1639 gst/dvdspu/Makefile
1640 gst/festival/Makefile
1641 gst/freeze/Makefile
1642 gst/frei0r/Makefile
1643 gst/h264parse/Makefile
1644 gst/hdvparse/Makefile
1645 gst/id3tag/Makefile
1646 gst/invtelecine/Makefile
1647 gst/imagefreeze/Makefile
1648 gst/jpegformat/Makefile
1649 gst/legacyresample/Makefile
1650 gst/librfb/Makefile
1651 gst/liveadder/Makefile
1652 gst/mpegdemux/Makefile
1653 gst/mpegtsmux/Makefile
1654 gst/mpegtsmux/tsmux/Makefile
1655 gst/mpegpsmux/Makefile
1656 gst/mpeg4videoparse/Makefile
1657 gst/mpegvideoparse/Makefile
1658 gst/mve/Makefile
1659 gst/mxf/Makefile
1660 gst/nsf/Makefile
1661 gst/nuvdemux/Makefile
1662 gst/pcapparse/Makefile
1663 gst/pnm/Makefile
1664 gst/qtmux/Makefile
1665 gst/rawparse/Makefile
1666 gst/real/Makefile
1667 gst/rtpmux/Makefile
1668 gst/scaletempo/Makefile
1669 gst/sdp/Makefile
1670 gst/segmentclip/Makefile
1671 gst/selector/Makefile
1672 gst/siren/Makefile
1673 gst/speed/Makefile
1674 gst/subenc/Makefile
1675 gst/stereo/Makefile
1676 gst/tta/Makefile
1677 gst/valve/Makefile
1678 gst/videomeasure/Makefile
1679 gst/videosignal/Makefile
1680 gst/vmnc/Makefile
1681 gst-libs/Makefile
1682 gst-libs/gst/Makefile
1683 gst-libs/gst/interfaces/Makefile
1684 gst-libs/gst/signalprocessor/Makefile
1685 gst-libs/gst/video/Makefile
1686 sys/Makefile
1687 sys/dshowdecwrapper/Makefile
1688 sys/acmenc/Makefile
1689 sys/acmmp3dec/Makefile
1690 sys/directdraw/Makefile
1691 sys/directsound/Makefile
1692 sys/dshowsrcwrapper/Makefile
1693 sys/dshowvideosink/Makefile
1694 sys/dvb/Makefile
1695 sys/fbdev/Makefile
1696 sys/oss4/Makefile
1697 sys/osxvideo/Makefile
1698 sys/qtwrapper/Makefile
1699 sys/vcd/Makefile
1700 sys/vdpau/Makefile
1701 sys/wasapi/Makefile
1702 sys/wininet/Makefile
1703 sys/winks/Makefile
1704 sys/winscreencap/Makefile
1705 tests/Makefile
1706 tests/check/Makefile
1707 tests/examples/Makefile
1708 tests/examples/camerabin/Makefile
1709 tests/examples/directfb/Makefile
1710 tests/examples/mxf/Makefile
1711 tests/examples/scaletempo/Makefile
1712 tests/examples/switch/Makefile
1713 tests/icles/Makefile
1714 ext/alsaspdif/Makefile
1715 ext/amrwbenc/Makefile
1716 ext/assrender/Makefile
1717 ext/apexsink/Makefile
1718 ext/bz2/Makefile
1719 ext/cdaudio/Makefile
1720 ext/celt/Makefile
1721 ext/cog/Makefile
1722 ext/dc1394/Makefile
1723 ext/dirac/Makefile
1724 ext/directfb/Makefile
1725 ext/divx/Makefile
1726 ext/dts/Makefile
1727 ext/faac/Makefile
1728 ext/faad/Makefile
1729 ext/flite/Makefile
1730 ext/gsm/Makefile
1731 ext/jack/Makefile
1732 ext/jp2k/Makefile
1733 ext/kate/Makefile
1734 ext/ladspa/Makefile
1735 ext/lv2/Makefile
1736 ext/libmms/Makefile
1737 ext/Makefile
1738 ext/metadata/Makefile
1739 ext/modplug/Makefile
1740 ext/mpeg2enc/Makefile
1741 ext/mimic/Makefile
1742 ext/mplex/Makefile
1743 ext/musepack/Makefile
1744 ext/musicbrainz/Makefile
1745 ext/mythtv/Makefile
1746 ext/nas/Makefile
1747 ext/neon/Makefile
1748 ext/ofa/Makefile
1749 ext/rsvg/Makefile
1750 ext/resindvd/Makefile
1751 ext/schroedinger/Makefile
1752 ext/sdl/Makefile
1753 ext/sndfile/Makefile
1754 ext/soundtouch/Makefile
1755 ext/gme/Makefile
1756 ext/spc/Makefile
1757 ext/swfdec/Makefile
1758 ext/theora/Makefile
1759 ext/timidity/Makefile
1760 ext/xvid/Makefile
1761 ext/zbar/Makefile
1762 po/Makefile.in
1763 docs/Makefile
1764 docs/plugins/Makefile
1765 docs/plugins/figures/Makefile
1766 docs/version.entities
1767 pkgconfig/Makefile
1768 pkgconfig/gstreamer-plugins-bad.pc
1769 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
1770 m4/Makefile
1771 win32/common/config.h
1772 )
1773 AC_OUTPUT
1774
1775 AG_GST_OUTPUT_PLUGINS