oss4: Avoid g_quark_to_string (g_quark_from_string ()) madness
[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 -Wundef
244     -Wwrite-strings ])
245
246 dnl define an ERROR_CXXFLAGS Makefile variable
247 AG_GST_SET_ERROR_CXXFLAGS($GST_GIT, [
248     -Wmissing-declarations -Wredundant-decls -Wundef
249     -Wwrite-strings ])
250
251 dnl define correct level for debugging messages
252 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
253
254 dnl used in examples
255 AG_GST_DEFAULT_ELEMENTS
256
257 dnl *** plug-ins to include ***
258
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)
314
315 dnl *** plug-ins to exclude ***
316
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)
321 fi
322
323 dnl disable experimental plug-ins
324 dnl if test "x$BUILD_EXPERIMENTAL" != "xyes"; then
325 dnl fi
326
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)
329 AC_SUBST(GIO_CFLAGS)
330 AC_SUBST(GIO_LIBS)
331
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)
337
338 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
339   WIN32_LIBS="-lws2_32"
340   AC_SUBST(WIN32_LIBS)
341 fi
342
343 dnl needed for festival
344 AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
345
346 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
347   DCCP_LIBS="$DCCP_LIBS -lws2_32"
348   XDG_LIBS="$XDG_LIBS -lws2_32"
349   AC_SUBST(DCCP_LIBS)
350   AC_SUBST(XDG_LIBS)
351 fi
352
353 if test "x$HAVE_PTHREAD_H" = "xyes"; then
354   DCCP_LIBS="$DCCP_LIBS -lpthread"
355   AC_SUBST(DCCP_LIBS)
356 fi
357
358 if test "x$HAVE_PTHREAD_H" != "xyes"; then
359   AG_GST_DISABLE_PLUGIN(dccp)
360 fi
361
362 dnl *** sys plug-ins ***
363
364 dnl DirectSound
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"
370   save_LIBS="$LIBS"
371   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
372   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
373   LIBS="$LIBS -ldsound -ldxerr9 -luser32"
374   AC_MSG_CHECKING(for DirectSound LDFLAGS)
375   AC_LINK_IFELSE([
376 #include <windows.h>
377 #include <dxerr9.h>
378 #include <dsound.h>
379
380 int main ()
381 {
382   DXGetErrorString9 (0);
383   DirectSoundCreate(NULL, NULL, NULL);
384
385   return 0;
386 }
387 ],
388     [HAVE_DIRECTSOUND="yes"],
389     [HAVE_DIRECTSOUND="no"])
390   AC_MSG_RESULT($HAVE_DIRECTSOUND)
391   CFLAGS=$save_CFLAGS
392   LDFLAGS=$save_LDFLAGS
393   LIBS=$save_LIBS
394
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)
401   fi
402   AC_SUBST(HAVE_DIRECTSOUND)
403 ])
404
405 dnl DirectDraw
406 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
407 AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
408   HAVE_DIRECTDRAW="no"
409   save_CFLAGS="$CFLAGS"
410   save_LDFLAGS="$LDFLAGS"
411   save_LIBS="$LIBS"
412   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
413   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
414   LIBS="$LIBS -lddraw -lgdi32"
415   AC_MSG_CHECKING(for DirectDraw LDFLAGS)
416   AC_LINK_IFELSE([
417 #include <windows.h>
418 #include <ddraw.h>
419
420 int main ()
421 {
422   GetStockObject(0);
423   DirectDrawCreate(NULL, NULL, NULL);
424
425   return 0;
426 }
427 ],
428     [HAVE_DIRECTDRAW="yes"],
429     [HAVE_DIRECTDRAW="no"])
430   AC_MSG_RESULT($HAVE_DIRECTDRAW)
431   CFLAGS=$save_CFLAGS
432   LDFLAGS=$save_LDFLAGS
433   LIBS=$save_LIBS
434
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)
441   fi
442   AC_SUBST(HAVE_DIRECTDRAW)
443 ])
444
445 dnl *** OS X videosrc ***
446 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
447 HAVE_OSX_VIDEO="no"
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>])
451 ])
452 dnl in case header Quicktime/Quicktime.h is found on other platforms
453 case "$host" in
454   *-*darwin*)
455     ;;
456   *)
457     HAVE_OSX_VIDEO="no"
458     ;;
459 esac
460
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>])
466 ])
467
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")
472 ])
473
474 dnl *** ext plug-ins ***
475 dnl keep this list sorted alphabetically !
476
477 if test "x$BUILD_EXTERNAL" = "xyes"; then
478
479 dnl *** alsa ***
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, [
483     HAVE_ALSA="yes"
484     AC_SUBST(ALSA_CFLAGS)
485     AC_SUBST(ALSA_LIBS)
486   ], [
487     AM_PATH_ALSA(0.9.1, HAVE_ALSA="yes", HAVE_ALSA="no")
488   ])
489 ])
490
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" ], [
496     HAVE_ASSRENDER="no"
497     AC_MSG_RESULT(no)
498   ])
499 ])
500 AC_SUBST(ASSRENDER_CFLAGS)
501 AC_SUBST(ASSRENDER_LIBS)
502
503 dnl *** amrwb ***
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,
507                         GP3E_IF_encode, ,
508                         amrwb/enc.h,
509                         AMRWB_LIBS="-lamrwb"
510                         AC_SUBST(AMRWB_LIBS))
511 ])
512
513 dnl *** apexsink ***
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 ], [
517     HAVE_APEXSINK="yes"
518     saved_LIBS="$LIBS"
519     LIBS=""
520     AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
521     AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
522     APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
523     LIBS="$saved_LIBS"
524     AC_SUBST(APEXSINK_CFLAGS)
525     AC_SUBST(APEXSINK_LIBS)
526   ], [
527     APEXSINK="no"
528   ])
529 ])
530
531 dnl *** BZ2 ***
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")
535   AC_SUBST(BZ2_LIBS)
536 ])
537
538 #dnl *** cairo ***
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, [
542 #    HAVE_CAIRO=no
543 #    AC_MSG_RESULT(no)
544 #  ])
545 #  AC_SUBST(CAIRO_CFLAGS)
546 #  AC_SUBST(CAIRO_LIBS)
547 #])
548
549 dnl *** cdaudio ***
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)
555 ])
556
557 dnl *** celt ***
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, [
561           HAVE_CELT="yes"
562   ], [
563           AC_MSG_RESULT(no)
564           HAVE_CELT="no"
565   ])
566
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])
569   ], [
570           AC_MSG_RESULT(no)
571   ])
572
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])
575   ], [
576           AC_MSG_RESULT(no)
577   ])
578   AC_SUBST(CELT_CFLAGS)
579   AC_SUBST(CELT_LIBS)
580 ])
581
582 dnl *** Cog ***
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", [
586     HAVE_COG="no"
587     AC_MSG_RESULT(no)
588   ])
589   AC_SUBST(COG_CFLAGS)
590   AC_SUBST(COG_LIBS)
591   ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
592   if test "x$ORCC" = x ; then
593     ORCC=orcc
594   fi
595   AC_SUBST(ORCC)
596 ])
597
598 dnl *** dc1394  ***
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
603                 HAVE_DC1394="yes"
604         else
605                 HAVE_DC1394="no"
606                 AC_MSG_RESULT(no)
607         fi
608    ], [
609         HAVE_DC1394="no"
610         AC_MSG_RESULT(no)
611    ])
612    AC_SUBST(LIBDC1394_CFLAGS)
613    AC_SUBST(LIBDC1394_LIBS)
614 ])
615
616
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", [
621     HAVE_DIRECTFB="no"
622     AC_MSG_RESULT(no)
623   ])
624 ])
625
626 dnl **** Dirac ****
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", [
630     HAVE_DIRAC="no"
631     AC_MSG_RESULT(no)
632   ])
633 ])
634
635 dnl *** DTS ***
636 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
637 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
638   HAVE_DTS="yes"
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])
645       ])
646   fi
647   AC_SUBST(DTS_LIBS)
648 ])
649
650 dnl *** DIVX ***
651 translit(dnm, m, l) AM_CONDITIONAL(USE_DIVX, true)
652 AG_GST_CHECK_FEATURE(DIVX, [divx plugins], divx, [
653   HAVE_DIVX=yes
654   AC_CHECK_HEADER(encore2.h, , [
655     AC_MSG_WARN([Divx4linux encore headers not found])
656     HAVE_DIVX=no
657   ])
658   if [ test x$HAVE_DIVX = xyes ]; then
659     AC_MSG_CHECKING([Checking for valid divx4linux encore version])
660     AC_TRY_COMPILE([
661 #include <encore2.h>
662 #if ENCORE_VERSION != 20021024
663 #error Wrong version of divx encore libraries
664 #endif
665     ], [
666 return 0;
667     ], [
668       HAVE_DIVX=yes
669       AC_MSG_RESULT(yes)
670     ], [
671       HAVE_DIVX=no
672       AC_MSG_RESULT(no)
673       AC_MSG_WARN([Wrong version of divx4linux installed])
674     ])
675   fi
676   if [ test x$HAVE_DIVX = xyes ]; then
677     AC_CHECK_HEADER(decore.h, , [
678       AC_MSG_WARN([Divx4linux decoder headers not found])
679       HAVE_DIVX=no
680     ])
681   fi
682   if [ test x$HAVE_DIVX = xyes ]; then
683     AC_MSG_CHECKING([Checking for valid divx4linux decore version])
684     AC_TRY_COMPILE([
685 #include <decore.h>
686 #if DECORE_VERSION != 20021112
687 #error Wrong version of divx decore libraries
688 #endif
689     ], [
690 return 0;
691     ], [
692       HAVE_DIVX=yes
693       AC_MSG_RESULT(yes)
694     ], [
695       HAVE_DIVX=no
696       AC_MSG_RESULT(no)
697       AC_MSG_WARN([Wrong version of divx4linux installed])
698     ])
699   fi
700   LIBS="-lm"
701   if test x$HAVE_DIVX = xyes; then
702     AC_CHECK_LIB(divxencore, encore, , [
703       AC_MSG_WARN([Divx4linux encore libs not found])
704       HAVE_DIVX=no
705     ])
706   fi
707   if test x$HAVE_DIVX = xyes; then
708     AC_CHECK_LIB(divxdecore, decore, , [
709       AC_MSG_WARN([Divx4linux decore libs not found])
710       HAVE_DIVX=no
711   ])
712   fi
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)
718   fi
719 ])
720
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
728     dnl check version
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])
735       HAVE_DVDNAV="no"
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])
739       HAVE_DVDNAV="no"
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])
744       HAVE_DVDNAV="no"
745     fi
746   fi
747   AS_SCRUB_INCLUDE(DVDNAV_CFLAGS)
748 ])
749
750 dnl *** METADATA ***
751 translit(dnm, m, l) AM_CONDITIONAL(USE_METADATA, true)
752 AG_GST_CHECK_FEATURE(METADATA, [METADATA muxer and demuxer], metadata, [
753   HAVE_METADATA="no"
754   PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", [
755     HAVE_EXIF="no"
756   ])
757   PKG_CHECK_MODULES(IPTC, libiptcdata >= 1.0.2, HAVE_IPTC="yes", [
758     HAVE_IPTC="no"
759   ])
760   PKG_CHECK_MODULES(XMP, exempi-2.0, HAVE_XMP="yes", [
761     HAVE_XMP="no"
762   ])
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"
767     HAVE_METADATA="yes"
768   fi
769   if test x$HAVE_IPTC = xyes; then
770     METADATA_CFLAGS="-DHAVE_IPTC $IPTC_CFLAGS $METADATA_CFLAGS"
771     METADATA_LIBS="$IPTC_LIBS $METADATA_LIBS"
772     HAVE_METADATA="yes"
773   fi
774   if test x$HAVE_XMP = xyes; then
775     METADATA_CFLAGS="-DHAVE_XMP $XMP_CFLAGS $METADATA_CFLAGS"
776     METADATA_LIBS="$XMP_LIBS $METADATA_LIBS"
777     HAVE_METADATA="yes"
778   fi
779   if test x$HAVE_METADATA = xno; then
780     AC_MSG_WARN(no of metadata libraries (exif, iptc or xmp) found)
781   else
782     HAVE_METADATA="yes"
783   fi
784   AC_SUBST(METADATA_CFLAGS)
785   AC_SUBST(METADATA_LIBS)
786 ])
787
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)
794   AC_SUBST(FAAC_LIBS)
795 ])
796
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, [
800   HAVE_FAAD="yes"
801   faad_hdr=""
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"
809       ], [
810         HAVE_FAAD="no"
811       ],)
812   else
813     faad_hdr="faad.h"
814   fi
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)
819         #error Not faad2
820         #else
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;
824         #endif
825     ], [
826       HAVE_FAAD="yes"
827       AC_MSG_RESULT(yes)
828
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\"], [
833               #include <$faad_hdr>
834               GST_CHECK_FAAD_VERSION FAAD2_VERSION
835             ], [
836               faad2_minor_version=$minor
837             ])
838         fi
839       done
840       if test x$faad2_minor_version = "x"; then
841         AC_MSG_RESULT([no idea])
842       else
843         AC_MSG_RESULT([2.$faad2_minor_version])
844         AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
845       fi
846     ], [
847       HAVE_FAAD="no"
848       AC_MSG_RESULT(no)
849     ])
850   fi
851   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
852   AC_SUBST(FAAD_LIBS)
853   AC_SUBST(FAAD_IS_NEAAC)
854 ])
855
856 dnl *** fbdev ***
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)
861   fi
862 ])
863
864 dnl *** flite ***
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")
869
870   AC_SUBST(FLITE_CFLAGS)
871   AC_SUBST(FLITE_LIBS)
872 ])
873
874 dnl *** gsm ***
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])
882     fi
883   fi
884   AC_SUBST(GSM_LIBS)
885 ])
886
887 dnl *** Jack ***
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)
892   AC_SUBST(JACK_LIBS)
893 ])
894
895 dnl *** jp2k ***
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")
900   AC_SUBST(JP2K_LIBS)
901 ])
902
903 dnl *** kate ***
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", [
907     HAVE_KATE="no"
908     AC_MSG_RESULT(no)
909   ])
910   AC_SUBST(KATE_CFLAGS)
911   AC_SUBST(KATE_LIBS)
912   PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
913     [
914       HAVE_TIGER="yes"
915       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
916     ],
917     [
918       HAVE_TIGER="no"
919       AC_MSG_RESULT(no)
920     ]
921   )
922   AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
923   AC_SUBST(TIGER_CFLAGS)
924   AC_SUBST(TIGER_LIBS)
925 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
926
927 dnl *** ladspa ***
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")
931   
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])
935   fi
936   AC_SUBST(LRDF_LIBS)
937   AC_SUBST(LRDF_CFLAGS)
938 ])
939
940 dnl *** LV2 ***
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)
945   AC_SUBST(SLV2_LIBS)
946 ])
947
948 dnl *** libmms ***
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", [
953     HAVE_LIBMMS="no"
954     AC_MSG_RESULT(no)
955   ])
956 ])
957 AC_SUBST(LIBMMS_LIBS)
958
959 dnl *** modplug ***
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])
964     HAVE_MODPLUG="no"
965   else
966     PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
967   fi
968   AC_SUBST(MODPLUG_CFLAGS)
969   AC_SUBST(MODPLUG_LIBS)
970 ])
971
972 dnl *** mimic ***
973 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
974 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
975   MIMDEC_REQUIRED=1.0
976   PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMDEC_REQUIRED,
977       HAVE_MIMIC=yes, HAVE_MIMIC=no)
978   AC_SUBST(MIMIC_CFLAGS)
979   AC_SUBST(MIMIC_LIBS)
980 ])
981
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
986 echo
987 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
988   mjpegtools_api=10601
989 ], [
990   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
991     mjpegtools_api=10800
992   ], [
993     PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0, [
994       dnl logging API changed in release candidates
995       OLD_CFLAGS="$CFLAGS"
996       OLD_LIBS="$LIBS"
997       CFLAGS="$MJPEG_CFLAGS"
998       LIBS="$LIBS $MJPEG_LIBS -lmjpegutils -lm -lpthread"
999       AC_CHECK_FUNC(mjpeg_loglev_t, [
1000         mjpegtools_api=10903
1001         ], [
1002         mjpegtools_api=10900
1003         ])
1004       CFLAGS="$OLD_CFLAGS"
1005       LIBS="$OLD_LIBS"
1006     ], [
1007       mjpegtools_api=0
1008     ])
1009   ])
1010 ])
1011 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1012   [mjpegtools API evolution])
1013
1014 dnl *** mpeg2enc ***
1015 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1016 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1017   HAVE_MPEG2ENC="no"
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'
1025       touch config.h
1026       dnl switch over to c++ to test things
1027       AC_LANG_CPLUSPLUS
1028       OLD_CPPFLAGS="$CPPFLAGS"
1029       dnl HACK as above
1030       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1031       CPPFLAGS="$CPPFLAGS_GOOD -I."
1032       dnl check headers
1033       mpeg2enc_headers_ok=no
1034       AC_CHECK_HEADER([mpeg2encoder.hh], [
1035         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp -lm -lpthread"
1036         OLD_LIBS="$LIBS"
1037         LIBS="$LIBS $MPEG2ENC_LIBS"
1038         AC_MSG_CHECKING([for valid mpeg2enc objects])
1039         AC_TRY_RUN([
1040           #include <mpeg2encoder.hh>
1041           #include <mpeg2encoptions.hh>
1042
1043           int
1044           main (int   argc,
1045                 char *argv[])
1046           {
1047             MPEG2EncOptions *options = new MPEG2EncOptions ();
1048             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1049             return 0;
1050           }
1051         ],[
1052           AC_MSG_RESULT(yes)
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
1061               ], [
1062                 mpeg2enc_headers_ok=no
1063               ])
1064           else
1065             mpeg2enc_headers_ok=yes
1066           fi
1067           if test "x$mpeg2enc_headers_ok" = "xyes"; then
1068             HAVE_MPEG2ENC="yes"
1069           fi
1070           CPP_FLAGS="$CPPFLAGS_GOOD"
1071           AC_SUBST(MPEG2ENC_CFLAGS)
1072           AC_SUBST(MPEG2ENC_LIBS)
1073         ], [
1074           AC_MSG_RESULT(no)
1075         ])
1076         LIBS="$OLD_LIBS"
1077       ])
1078
1079       CPPFLAGS="$OLD_CPPFLAGS"
1080       AC_LANG_C
1081     ], [
1082       HAVE_MPEG2ENC="no"
1083     ])
1084   fi
1085 ])
1086
1087 dnl *** mplex ***
1088 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1089 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1090   HAVE_MPLEX="no"
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
1099       AC_LANG_CPLUSPLUS
1100       OLD_CPPFLAGS="$CPPFLAGS"
1101       CPPFLAGS="$CPPFLAGS $MPLEX_CFLAGS"
1102       AC_CHECK_HEADER(interact.hpp, [
1103         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 -lm"
1104         OLD_LIBS="$LIBS"
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])
1109         AC_TRY_RUN([
1110
1111 #include <interact.hpp>
1112 #include <outputstrm.hpp>
1113 #include <multiplexor.hpp>
1114 int
1115 main (int   argc,
1116       char *argv[])
1117 {
1118   class TestOutputStream : public OutputStream {
1119   public:
1120     TestOutputStream () : OutputStream () { }
1121     void Write (uint8_t *a, unsigned int b) { }
1122     void NextSegment () { }
1123     uint64_t SegmentSize () { }
1124     void Close () { }
1125     int Open () { }
1126 };
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);
1132   return 0;
1133 }
1134         ],[
1135           HAVE_MPLEX="yes"
1136           AC_SUBST(MPLEX_CFLAGS)
1137           AC_SUBST(MPLEX_LIBS)
1138           AC_MSG_RESULT(yes)
1139         ], AC_MSG_RESULT(no))
1140         LIBS="$OLD_LIBS"
1141       ])
1142       CPPFLAGS="$OLD_CPPFLAGS"
1143       AC_LANG_C
1144     ], HAVE_MPLEX="no")
1145   fi
1146 ])
1147
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], [
1152     HAVE_MUSEPACK="yes"
1153     MUSEPACK_LIBS="-lmpcdec"
1154     AC_SUBST(MUSEPACK_LIBS)
1155     ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1156       HAVE_MUSEPACK="yes"
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"])])
1161 ])
1162
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)
1169 ])
1170
1171 dnl *** MythTV ***
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", [
1175     HAVE_MYTHTV="no"
1176     AC_MSG_RESULT(no)
1177   ])
1178   AC_SUBST(GMYTH_CFLAGS)
1179   AC_SUBST(GMYTH_LIBS)
1180 ])
1181
1182 dnl *** nas ***
1183 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1184 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1185   HAVE_NAS="no"
1186   AG_GST_CHECK_X
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"
1193   fi
1194   AC_SUBST(NAS_CFLAGS)
1195   AC_SUBST(NAS_LIBS)
1196 ])
1197
1198 dnl *** neon ***
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", [
1202     HAVE_NEON="no"
1203     AC_MSG_RESULT(no)
1204   ])
1205   AC_SUBST(NEON_CFLAGS)
1206   AC_SUBST(NEON_LIBS)
1207 ])
1208
1209 dnl *** ofa ***
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", [
1213     HAVE_OFA="no"
1214     AC_MSG_RESULT(no)
1215   ])
1216   AC_SUBST(OFA_CFLAGS)
1217   AC_SUBST(OFA_LIBS)
1218 ])
1219
1220 dnl *** rsvg ***
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", [
1224     HAVE_RSVG="no"
1225     AC_MSG_RESULT(no)
1226   ])
1227   AC_SUBST(RSVG_CFLAGS)
1228   AC_SUBST(RSVG_LIBS)
1229 ])
1230
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])
1237         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
1246         fi
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])
1250         else
1251           AC_MSG_RESULT([not found])
1252         fi
1253   ], [
1254     HAVE_TIMIDITY="no"
1255     AC_MSG_RESULT(no)
1256   ])
1257   AC_SUBST(TIMIDITY_CFLAGS)
1258   AC_SUBST(TIMIDITY_LIBS)
1259 ])
1260
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
1266          WILDMIDI_CFLAGS=
1267          WILDMIDI_LIBS=-lWildMidi
1268          AC_MSG_NOTICE(compiling gstWildMidi)
1269   else
1270          WILDMIDI_CFLAGS=
1271          WILDMIDI_LIBS=
1272          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1273   fi
1274   AC_SUBST(WILDMIDI_CFLAGS)
1275   AC_SUBST(WILDMIDI_LIBS)
1276 ])
1277
1278 dnl *** SDL ***
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)
1282 ])
1283
1284 dnl *** sndfile ***
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)
1290 ])
1291
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])
1317   fi
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])
1321   fi
1322 ])
1323
1324 dnl *** spc ***
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"
1330       AC_SUBST(SPC_LIBS)
1331       HAVE_SPC=yes
1332     ], [
1333       HAVE_SPC=no
1334     ])
1335   ], [
1336     HAVE_SPC=no
1337   ])
1338 ])
1339
1340 dnl *** gme ***
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, [
1345       GME_LIBS="-lgme"
1346       AC_SUBST(GME_LIBS)
1347       HAVE_GME=yes
1348     ], [
1349       HAVE_GME=no
1350     ])
1351   ], [
1352     HAVE_GME=no
1353   ])
1354
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])
1358       ])
1359   fi
1360 ])
1361
1362 dnl *** swfdec ***
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, [
1366     HAVE_SWFDEC=no
1367     AC_MSG_RESULT(no)
1368   ])
1369   AC_SUBST(SWFDEC_CFLAGS)
1370   AC_SUBST(SWFDEC_LIBS)
1371 ])
1372
1373 dnl *** theora ***
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", [
1377     HAVE_THEORADEC="no"
1378     AC_MSG_RESULT(no)
1379   ])
1380   AC_SUBST(THEORADEC_LIBS)
1381   AC_SUBST(THEORADEC_CFLAGS)
1382 ])
1383
1384 dnl *** XVID ***
1385 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1386 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1387   HAVE_XVID=no
1388   AC_CHECK_HEADER(xvid.h, [
1389     OLD_LIBS="$LIBS"
1390     LIBS="-lm"
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"
1398               #endif
1399           ],[ AC_MSG_RESULT(yes)
1400             XVID_LIBS="-lxvidcore -lm"
1401             AC_SUBST(XVID_LIBS)
1402             HAVE_XVID=yes
1403           ], AC_MSG_RESULT(no) )
1404         ], )
1405       ], )
1406     ], )
1407     LIBS="$OLD_LIBS"
1408   ], )
1409 ])
1410
1411 dnl *** dvb ***
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"])
1416 ])
1417
1418 dnl *** oss4 ***
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"])
1425 ])
1426
1427 dnl *** wininet ***
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"])
1433 ])
1434
1435 dnl *** acm ***
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],
1440       [HAVE_ACM="yes"
1441        AC_SUBST(ACMENC_CFLAGS)
1442        AC_SUBST(ACMMP3DEC_CFLAGS)
1443       ], [HAVE_ACM="no"],
1444       [AC_INCLUDES_DEFAULT
1445 #include <windows.h>])
1446 ])
1447
1448 dnl *** vdpau ***
1449 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
1450 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
1451   VDPAU_CFLAGS=
1452   VDPAU_LIBS=-lvdpau
1453   HAVE_VDPAU=no
1454
1455   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
1456   [
1457     if test "$HAVE_VDPAU" = "no"; then
1458       saved_CPPFLAGS="$CPPFLAGS"
1459       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1460       
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])
1471       fi
1472       
1473       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
1474   
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])
1478         saved_LIBS="$LIBS"
1479         LIBS="$VDPAU_LIBS $saved_LIBS"
1480         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
1481         LIBS="$saved_LIBS"
1482       fi
1483     fi
1484   ])
1485
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)
1490   fi
1491 ])
1492
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)
1497 ])
1498
1499 dnl *** zbar ***
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)
1503 ])
1504
1505 else
1506
1507 dnl not building plugins with external dependencies,
1508 dnl but we still need to set the conditionals
1509
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)
1564
1565 fi dnl of EXT plugins
1566
1567 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1568
1569 dnl Overview:
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
1576
1577 dnl GST_OPTION_CFLAGS
1578 if test "x$USE_DEBUG" = xyes; then
1579    PROFILE_CFLAGS="-g"
1580 fi
1581 AC_SUBST(PROFILE_CFLAGS)
1582
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"
1586 else
1587   DEPRECATED_CFLAGS=""
1588 fi
1589 AC_SUBST(DEPRECATED_CFLAGS)
1590
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)
1597
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)
1606 AC_SUBST(GST_LIBS)
1607
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)
1612
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)
1617
1618 dnl *** output files ***
1619
1620 dnl po/Makefile.in
1621
1622 AC_CONFIG_FILES(
1623 Makefile
1624 common/Makefile
1625 common/m4/Makefile
1626 gst-plugins-bad.spec
1627 gst/Makefile
1628 gst/adpcmdec/Makefile
1629 gst/adpcmenc/Makefile
1630 gst/aiff/Makefile
1631 gst/asfmux/Makefile
1632 gst/audioparsers/Makefile
1633 gst/autoconvert/Makefile
1634 gst/bayer/Makefile
1635 gst/camerabin/Makefile
1636 gst/cdxaparse/Makefile
1637 gst/dataurisrc/Makefile
1638 gst/dccp/Makefile
1639 gst/debugutils/Makefile
1640 gst/dtmf/Makefile
1641 gst/dvdspu/Makefile
1642 gst/festival/Makefile
1643 gst/freeze/Makefile
1644 gst/frei0r/Makefile
1645 gst/h264parse/Makefile
1646 gst/hdvparse/Makefile
1647 gst/id3tag/Makefile
1648 gst/invtelecine/Makefile
1649 gst/imagefreeze/Makefile
1650 gst/jpegformat/Makefile
1651 gst/legacyresample/Makefile
1652 gst/librfb/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
1660 gst/mve/Makefile
1661 gst/mxf/Makefile
1662 gst/nsf/Makefile
1663 gst/nuvdemux/Makefile
1664 gst/pcapparse/Makefile
1665 gst/pnm/Makefile
1666 gst/qtmux/Makefile
1667 gst/rawparse/Makefile
1668 gst/real/Makefile
1669 gst/rtpmux/Makefile
1670 gst/scaletempo/Makefile
1671 gst/sdp/Makefile
1672 gst/segmentclip/Makefile
1673 gst/selector/Makefile
1674 gst/siren/Makefile
1675 gst/speed/Makefile
1676 gst/subenc/Makefile
1677 gst/stereo/Makefile
1678 gst/tta/Makefile
1679 gst/valve/Makefile
1680 gst/videomeasure/Makefile
1681 gst/videosignal/Makefile
1682 gst/vmnc/Makefile
1683 gst-libs/Makefile
1684 gst-libs/gst/Makefile
1685 gst-libs/gst/interfaces/Makefile
1686 gst-libs/gst/signalprocessor/Makefile
1687 gst-libs/gst/video/Makefile
1688 sys/Makefile
1689 sys/dshowdecwrapper/Makefile
1690 sys/acmenc/Makefile
1691 sys/acmmp3dec/Makefile
1692 sys/directdraw/Makefile
1693 sys/directsound/Makefile
1694 sys/dshowsrcwrapper/Makefile
1695 sys/dshowvideosink/Makefile
1696 sys/dvb/Makefile
1697 sys/fbdev/Makefile
1698 sys/oss4/Makefile
1699 sys/osxvideo/Makefile
1700 sys/qtwrapper/Makefile
1701 sys/vcd/Makefile
1702 sys/vdpau/Makefile
1703 sys/wasapi/Makefile
1704 sys/wininet/Makefile
1705 sys/winks/Makefile
1706 sys/winscreencap/Makefile
1707 tests/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
1720 ext/bz2/Makefile
1721 ext/cdaudio/Makefile
1722 ext/celt/Makefile
1723 ext/cog/Makefile
1724 ext/dc1394/Makefile
1725 ext/dirac/Makefile
1726 ext/directfb/Makefile
1727 ext/divx/Makefile
1728 ext/dts/Makefile
1729 ext/faac/Makefile
1730 ext/faad/Makefile
1731 ext/flite/Makefile
1732 ext/gsm/Makefile
1733 ext/jack/Makefile
1734 ext/jp2k/Makefile
1735 ext/kate/Makefile
1736 ext/ladspa/Makefile
1737 ext/lv2/Makefile
1738 ext/libmms/Makefile
1739 ext/Makefile
1740 ext/metadata/Makefile
1741 ext/modplug/Makefile
1742 ext/mpeg2enc/Makefile
1743 ext/mimic/Makefile
1744 ext/mplex/Makefile
1745 ext/musepack/Makefile
1746 ext/musicbrainz/Makefile
1747 ext/mythtv/Makefile
1748 ext/nas/Makefile
1749 ext/neon/Makefile
1750 ext/ofa/Makefile
1751 ext/rsvg/Makefile
1752 ext/resindvd/Makefile
1753 ext/schroedinger/Makefile
1754 ext/sdl/Makefile
1755 ext/sndfile/Makefile
1756 ext/soundtouch/Makefile
1757 ext/gme/Makefile
1758 ext/spc/Makefile
1759 ext/swfdec/Makefile
1760 ext/theora/Makefile
1761 ext/timidity/Makefile
1762 ext/xvid/Makefile
1763 ext/zbar/Makefile
1764 po/Makefile.in
1765 docs/Makefile
1766 docs/plugins/Makefile
1767 docs/plugins/figures/Makefile
1768 docs/version.entities
1769 pkgconfig/Makefile
1770 pkgconfig/gstreamer-plugins-bad.pc
1771 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
1772 m4/Makefile
1773 win32/common/config.h
1774 )
1775 AC_OUTPUT
1776
1777 AG_GST_OUTPUT_PLUGINS