mpegtspacketizer: Use gst_structure_*_take_value where applicable
[platform/upstream/gstreamer.git] / configure.ac
1 AC_PREREQ(2.62)
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.11.93.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 1.11 no-dist-gzip dist-xz tar-ustar])
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([enable])
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 GST_API_VERSION in the filename
39 dnl to allow side-by-side installation of different API versions
40 GST_API_VERSION=1.0
41 AC_SUBST(GST_API_VERSION)
42 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
43   [GStreamer API Version])
44
45 AG_GST_LIBTOOL_PREPARE
46
47 dnl CURRENT, REVISION, AGE
48 dnl - library source changed -> increment REVISION
49 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
50 dnl - interfaces added -> increment AGE
51 dnl - interfaces removed -> AGE = 0
52 dnl sets GST_LT_LDFLAGS
53 AS_LIBTOOL(GST, 0, 0, 0)
54
55 dnl *** required versions of GStreamer stuff ***
56 GST_REQ=0.11.93
57 GSTPB_REQ=0.11.93
58
59 dnl *** autotools stuff ****
60
61 dnl allow for different autotools
62 AS_AUTOTOOLS_ALTERNATE
63
64 dnl Add parameters for aclocal
65 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
66
67 dnl set up gettext
68 dnl the version check needs to stay here because autopoint greps for it
69 AM_GNU_GETTEXT_VERSION([0.17])
70 AM_GNU_GETTEXT([external])
71 AG_GST_GETTEXT([gst-plugins-bad-$GST_API_VERSION])
72
73 dnl *** check for arguments to configure ***
74
75 AG_GST_ARG_DISABLE_FATAL_WARNINGS
76
77 AG_GST_ARG_DEBUG
78 AG_GST_ARG_PROFILING
79 AG_GST_ARG_VALGRIND
80 AG_GST_ARG_GCOV
81
82 AG_GST_ARG_EXAMPLES
83
84 AG_GST_ARG_WITH_PKG_CONFIG_PATH
85 AG_GST_ARG_WITH_PACKAGE_NAME
86 AG_GST_ARG_WITH_PACKAGE_ORIGIN
87
88 AG_GST_ARG_WITH_PLUGINS
89
90 AG_GST_ARG_ENABLE_EXTERNAL
91
92 AG_GST_ARG_ENABLE_EXPERIMENTAL
93
94 dnl *** checks for platform ***
95 AG_GST_PLATFORM
96
97 dnl * hardware/architecture *
98
99 dnl common/m4/gst-arch.m4
100 dnl check CPU type
101 AG_GST_ARCH
102
103 dnl Determine endianness
104 AC_C_BIGENDIAN
105
106 dnl *** checks for programs ***
107
108 dnl find a compiler
109 AC_PROG_CC
110 AC_PROG_CC_STDC
111
112 dnl determine c++ compiler
113 AC_PROG_CXX
114 dnl determine if c++ is available on this system
115 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
116
117 AC_PROG_OBJC
118
119 dnl check if the compiler supports '-c' and '-o' options
120 AM_PROG_CC_C_O
121
122 dnl check if the compiler supports do while(0) macros
123 AG_GST_CHECK_DOWHILE_MACROS
124
125 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
126 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
127
128 dnl check for documentation tools
129 GTK_DOC_CHECK([1.3])
130 AS_PATH_PYTHON([2.1])
131 AG_GST_PLUGIN_DOCS([1.3],[2.1])
132
133 dnl *** checks for libraries ***
134
135 dnl check for libm, for sin() etc.
136 LT_LIB_M
137 AC_SUBST(LIBM)
138
139 AC_FUNC_MMAP
140
141 dnl *** checks for header files ***
142
143 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
144 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
145
146 if test "x$HAVE_UNISTD_H" != "xyes"; then
147   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
148 fi
149
150 AC_CHECK_HEADERS([sys/time.h])
151
152 dnl used by ext/dts
153 AX_CREATE_STDINT_H
154
155 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
156 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
157
158 if test "x$HAVE_PTHREAD_H" != "xyes"; then
159   GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
160 fi
161
162 dnl *** checks for types/defines ***
163
164 dnl Check for FIONREAD ioctl declaration
165 dnl used in gst/dccp
166 GST_CHECK_FIONREAD
167
168 dnl *** checks for structures ***
169
170 dnl *** checks for compiler characteristics ***
171
172 dnl *** checks for library functions ***
173 AC_CHECK_FUNCS([gmtime_r])
174
175 dnl *** checks for headers ***
176 AC_CHECK_HEADERS([sys/utsname.h])
177
178 dnl *** checks for dependency libraries ***
179
180 dnl *** checks for socket and nsl libraries ***
181 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
182 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
183
184 dnl GLib is required
185 GLIB_REQ=2.32.0
186 AG_GST_GLIB_CHECK([$GLIB_REQ])
187
188 dnl checks for gstreamer
189 dnl uninstalled is selected preferentially -- see pkg-config(1)
190 AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
191 AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ], yes)
192 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
193 AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
194 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
195
196 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
197
198 dnl check for uninstalled plugin directories for unit tests
199 AG_GST_CHECK_UNINSTALLED_SETUP([
200   AG_GST_CHECK_GST_PLUGINS_GOOD($GST_API_VERSION, [0.11.0])
201   AG_GST_CHECK_GST_PLUGINS_UGLY($GST_API_VERSION, [0.11.0])
202   AG_GST_CHECK_GST_PLUGINS_FFMPEG($GST_API_VERSION, [0.11.0])
203 ])
204
205 dnl Check for documentation xrefs
206 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
207 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
208 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
209 AC_SUBST(GLIB_PREFIX)
210 AC_SUBST(GST_PREFIX)
211 AC_SUBST(GSTPB_PREFIX)
212
213 dnl GTK is optional and used in examples
214 HAVE_GTK=NO
215 GTK2_REQ=2.14.0
216 GTK3_REQ=2.91.3
217 if test "x$BUILD_EXAMPLES" = "xyes"; then
218   AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
219   AC_ARG_WITH([gtk],
220     AC_HELP_STRING([--with-gtk=3.0|2.0],
221                    [which gtk+ version to compile against (default: 2.0)]),
222     [case "$with_gtk" in
223         2.0) GTK_REQ=$GTK2_REQ ;;
224         3.0) GTK_REQ=$GTK3_REQ ;;
225         *) AC_MSG_ERROR([invalid gtk+ version specified]);;
226     esac],
227     [with_gtk=2.0
228      GTK_REQ=$GTK2_REQ])
229   AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
230   PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
231   AC_SUBST(GTK_LIBS)
232   AC_SUBST(GTK_CFLAGS)
233 fi
234 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
235
236
237
238 dnl Needed for GtkBuilder to autoconnect signals
239 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
240
241 dnl x11 is optional for librfb
242 HAVE_X11=NO
243 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
244 AC_SUBST(X11_LIBS)
245 AC_SUBST(X11_CFLAGS)
246 AC_SUBST(HAVE_X11)
247 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
248 if test "x$HAVE_X11" = "xyes"; then
249   AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
250 fi
251
252 dnl exif (used on jifmux tests) ****
253 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
254 AC_SUBST(EXIF_LIBS)
255 AC_SUBST(EXIF_CFLAGS)
256 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
257
258 dnl Orc
259 ORC_CHECK([0.4.16])
260
261 dnl set license and copyright notice
262 GST_LICENSE="LGPL"
263 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
264 AC_SUBST(GST_LICENSE)
265
266 dnl define LIBDIR so we can inform people where we live
267 AS_AC_EXPAND(LIBDIR, $libdir)
268 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
269
270 dnl set location of plugin directory
271 AG_GST_SET_PLUGINDIR
272
273 dnl set release date/time
274 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
275   ["${srcdir}/gst-plugins-bad.doap"],
276   [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
277
278 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
279 dnl make sure it doesn't complain about unused variables if debugging is disabled
280 NO_WARNINGS=""
281 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
282
283 dnl define an ERROR_CFLAGS Makefile variable
284 dnl -Waggregate-return - libexif returns aggregates
285 dnl -Wundef - Windows headers check _MSC_VER unconditionally
286 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
287     -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
288     -Wwrite-strings -Wformat-security -Wold-style-definition
289     -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
290     -Wnested-externs $NO_WARNINGS])
291
292 dnl define an ERROR_CXXFLAGS Makefile variable
293 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
294     -Wmissing-declarations -Wredundant-decls
295     -Wwrite-strings -Wformat-nonliteral -Wformat-security
296     -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
297
298 dnl define an ERROR_OBJCFLAGS Makefile variable
299 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
300     -Wmissing-declarations -Wredundant-decls
301     -Wwrite-strings -Wformat-nonliteral -Wformat-security
302     -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
303
304 dnl define correct level for debugging messages
305 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
306
307 dnl used in examples
308 AG_GST_DEFAULT_ELEMENTS
309
310 dnl *** plug-ins to include ***
311 dnl Non ported plugins (non-dependant, then dependant)
312 dnl Make sure you have a space before and after all plugins
313 GST_PLUGINS_NONPORTED=" aiff \
314  cdxaparse \
315  dccp faceoverlay \
316  fieldanalysis freeverb freeze frei0r \
317  hdvparse id3tag inter ivfparse jpegformat jp2kdecimator \
318  kate liveadder librfb \
319  mpegpsmux mve mxf mythtv nsf nuvdemux \
320  patchdetect pnm real \
321  sdi siren speed subenc stereo tta videofilters \
322  videomeasure videosignal vmnc \
323  decklink fbdev linsys vcd \
324  apexsink cdaudio cog dc1394 dirac directfb resindvd \
325  gsettings jasper ladspa \
326  musepack musicbrainz nas neon ofa openal rsvg sdl sndfile spandsp spc timidity \
327  directsound directdraw direct3d9 acm wininet \
328  wildmidi xvid lv2 teletextdec dvb sndio"
329 AC_SUBST(GST_PLUGINS_NONPORTED)
330
331 dnl these are all the gst plug-ins, compilable without additional libs
332 AG_GST_CHECK_PLUGIN(adpcmdec)
333 AG_GST_CHECK_PLUGIN(adpcmenc)
334 AG_GST_CHECK_PLUGIN(aiff)
335 AG_GST_CHECK_PLUGIN(asfmux)
336 AG_GST_CHECK_PLUGIN(audiovisualizers)
337 AG_GST_CHECK_PLUGIN(autoconvert)
338 AG_GST_CHECK_PLUGIN(bayer)
339 AG_GST_CHECK_PLUGIN(camerabin2)
340 AG_GST_CHECK_PLUGIN(cdxaparse)
341 AG_GST_CHECK_PLUGIN(coloreffects)
342 AG_GST_CHECK_PLUGIN(dataurisrc)
343 AG_GST_CHECK_PLUGIN(dccp)
344 AG_GST_CHECK_PLUGIN(debugutils)
345 AG_GST_CHECK_PLUGIN(dtmf)
346 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
347 AG_GST_CHECK_PLUGIN(dvdspu)
348 AG_GST_CHECK_PLUGIN(faceoverlay)
349 AG_GST_CHECK_PLUGIN(festival)
350 AG_GST_CHECK_PLUGIN(fieldanalysis)
351 AG_GST_CHECK_PLUGIN(freeze)
352 AG_GST_CHECK_PLUGIN(freeverb)
353 AG_GST_CHECK_PLUGIN(frei0r)
354 AG_GST_CHECK_PLUGIN(gaudieffects)
355 AG_GST_CHECK_PLUGIN(geometrictransform)
356 AG_GST_CHECK_PLUGIN(hdvparse)
357 AG_GST_CHECK_PLUGIN(hls)
358 AG_GST_CHECK_PLUGIN(id3tag)
359 AG_GST_CHECK_PLUGIN(inter)
360 AG_GST_CHECK_PLUGIN(interlace)
361 AG_GST_CHECK_PLUGIN(ivfparse)
362 AG_GST_CHECK_PLUGIN(jp2kdecimator)
363 AG_GST_CHECK_PLUGIN(jpegformat)
364 AG_GST_CHECK_PLUGIN(librfb)
365 AG_GST_CHECK_PLUGIN(liveadder)
366 AG_GST_CHECK_PLUGIN(mpegdemux)
367 AG_GST_CHECK_PLUGIN(mpegtsdemux)
368 AG_GST_CHECK_PLUGIN(mpegtsmux)
369 AG_GST_CHECK_PLUGIN(mpegpsmux)
370 AG_GST_CHECK_PLUGIN(mve)
371 AG_GST_CHECK_PLUGIN(mxf)
372 AG_GST_CHECK_PLUGIN(nsf)
373 AG_GST_CHECK_PLUGIN(nuvdemux)
374 AG_GST_CHECK_PLUGIN(patchdetect)
375 AG_GST_CHECK_PLUGIN(pcapparse)
376 AG_GST_CHECK_PLUGIN(pnm)
377 AG_GST_CHECK_PLUGIN(rawparse)
378 AG_GST_CHECK_PLUGIN(real)
379 AG_GST_CHECK_PLUGIN(removesilence)
380 AG_GST_CHECK_PLUGIN(rtpmux)
381 AG_GST_CHECK_PLUGIN(rtpvp8)
382 AG_GST_CHECK_PLUGIN(scaletempo)
383 AG_GST_CHECK_PLUGIN(sdi)
384 AG_GST_CHECK_PLUGIN(sdp)
385 AG_GST_CHECK_PLUGIN(segmentclip)
386 AG_GST_CHECK_PLUGIN(siren)
387 AG_GST_CHECK_PLUGIN(smooth)
388 AG_GST_CHECK_PLUGIN(speed)
389 AG_GST_CHECK_PLUGIN(subenc)
390 AG_GST_CHECK_PLUGIN(stereo)
391 AG_GST_CHECK_PLUGIN(tta)
392 AG_GST_CHECK_PLUGIN(videofilters)
393 AG_GST_CHECK_PLUGIN(videomeasure)
394 AG_GST_CHECK_PLUGIN(videoparsers)
395 AG_GST_CHECK_PLUGIN(videosignal)
396 AG_GST_CHECK_PLUGIN(vmnc)
397 AG_GST_CHECK_PLUGIN(y4m)
398
399 dnl *** plug-ins to exclude ***
400
401 dnl real plugin only works on i386 and x86_64 for the time being.
402 if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
403   AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
404   AG_GST_DISABLE_PLUGIN(real)
405 fi
406
407 dnl disable gst plugins we might not be able to build on this
408 dnl platform: librfb (ugly but minimally invasive)
409 dnl FIXME: maybe move to sys, or make work with winsock2
410 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
411 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
412
413 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
414   WINSOCK2_LIBS="-lws2_32"
415   AC_SUBST(WINSOCK2_LIBS)
416 fi
417
418 if test "x$HAVE_PTHREAD_H" = "xyes"; then
419   DCCP_LIBS="$DCCP_LIBS -lpthread"
420   AC_SUBST(DCCP_LIBS)
421 else
422   AG_GST_DISABLE_PLUGIN(dccp)
423 fi
424
425 dnl *** sys plug-ins ***
426
427 dnl DirectSound
428 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
429 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
430   HAVE_DIRECTSOUND="no"
431   save_CFLAGS="$CFLAGS"
432   save_LDFLAGS="$LDFLAGS"
433   save_LIBS="$LIBS"
434   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
435   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
436   LIBS="$LIBS -ldsound -ldxerr9 -luser32"
437   AC_MSG_CHECKING(for DirectSound LDFLAGS)
438   AC_LINK_IFELSE([AC_LANG_PROGRAM([[
439 #include <windows.h>
440 #include <dxerr9.h>
441 #include <dsound.h>
442 ]], [[
443   DXGetErrorString9 (0);
444   DirectSoundCreate(NULL, NULL, NULL);
445 ]])],
446     [HAVE_DIRECTSOUND="yes"],
447     [HAVE_DIRECTSOUND="no"])
448   AC_MSG_RESULT($HAVE_DIRECTSOUND)
449   CFLAGS=$save_CFLAGS
450   LDFLAGS=$save_LDFLAGS
451   LIBS=$save_LIBS
452
453   if test "x$HAVE_DIRECTSOUND" = "xyes";  then
454     dnl this is much more than we want
455     DIRECTSOUND_LIBS="-ldsound -ldxerr9 -luser32"
456     AC_SUBST(DIRECTX_CFLAGS)
457     AC_SUBST(DIRECTX_LDFLAGS)
458     AC_SUBST(DIRECTSOUND_LIBS)
459   fi
460   AC_SUBST(HAVE_DIRECTSOUND)
461 ])
462
463 dnl Direct3D
464 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
465 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
466   HAVE_DIRECT3D="no"
467   save_CFLAGS="$CFLAGS"
468   save_LDFLAGS="$LDFLAGS"
469   save_LIBS="$LIBS"
470   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
471   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
472   LIBS="$LIBS -ld3d9 -lgdi32"
473   AC_MSG_CHECKING(for Direct3D LDFLAGS)
474   AC_LINK_IFELSE([AC_LANG_PROGRAM([[
475 #include <windows.h>
476 #include <d3d9.h>
477 ]], [[
478   Direct3DCreate9(D3D_SDK_VERSION);
479 ]])],
480     [HAVE_DIRECT3D="yes"],
481     [HAVE_DIRECT3D="no"])
482   AC_MSG_RESULT($HAVE_DIRECT3D)
483   CFLAGS=$save_CFLAGS
484   LDFLAGS=$save_LDFLAGS
485   LIBS=$save_LIBS
486
487   if test "x$HAVE_DIRECT3D" = "xyes";  then
488     DIRECT3D_LIBS="-lgdi32"
489     AC_SUBST(DIRECT3D_LIBS)
490   fi
491   AC_SUBST(HAVE_DIRECT3D)
492 ])
493
494 dnl DirectDraw
495 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTDRAW, true)
496 AG_GST_CHECK_FEATURE(DIRECTDRAW, [DirectDraw plug-in], directdrawsink, [
497   HAVE_DIRECTDRAW="no"
498   save_CFLAGS="$CFLAGS"
499   save_LDFLAGS="$LDFLAGS"
500   save_LIBS="$LIBS"
501   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
502   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
503   LIBS="$LIBS -lddraw -lgdi32"
504   AC_MSG_CHECKING(for DirectDraw LDFLAGS)
505   AC_LINK_IFELSE([AC_LANG_PROGRAM([[
506 #include <windows.h>
507 #include <ddraw.h>
508 ]], [[
509   GetStockObject(0);
510   DirectDrawCreate(NULL, NULL, NULL);
511 ]])],
512     [HAVE_DIRECTDRAW="yes"],
513     [HAVE_DIRECTDRAW="no"])
514   AC_MSG_RESULT($HAVE_DIRECTDRAW)
515   CFLAGS=$save_CFLAGS
516   LDFLAGS=$save_LDFLAGS
517   LIBS=$save_LIBS
518
519   if test "x$HAVE_DIRECTDRAW" = "xyes";  then
520     dnl this is much more than we want
521     DIRECTDRAW_LIBS="-lddraw -ldxguid -lgdi32"
522     AC_SUBST(DIRECTX_CFLAGS)
523     AC_SUBST(DIRECTX_LDFLAGS)
524     AC_SUBST(DIRECTDRAW_LIBS)
525   fi
526   AC_SUBST(HAVE_DIRECTDRAW)
527 ])
528
529 dnl Direct3D9
530 AM_CONDITIONAL(USE_DIRECT3D9, true)
531 AG_GST_CHECK_FEATURE(DIRECT3D9, [Direct3D9], winscreencap, [
532   HAVE_DIRECT3D="no"
533
534   save_LIBS="$LIBS"
535
536   LIBS="$LIBS -ld3d9 -lgdi32"
537   AC_MSG_CHECKING(for Direct3D9 LDFLAGS)
538
539   AC_LINK_IFELSE([AC_LANG_PROGRAM([[
540 #include <windows.h>
541 #include <d3d9.h>
542 ]], [[
543   Direct3DCreate9(D3D_SDK_VERSION);
544 ]])],
545     [HAVE_DIRECT3D9="yes"],
546     [HAVE_DIRECT3D9="no"])
547   AC_MSG_RESULT($HAVE_DIRECT3D9)
548
549   LIBS=$save_LIBS
550
551   if test "x$HAVE_DIRECT3D9" = "xyes";  then
552
553     DIRECT3D9_LIBS="-ld3d9 -lgdi32"
554     AC_SUBST(DIRECT3D9_LIBS)
555   fi
556   AC_SUBST(HAVE_DIRECT3D9)
557 ])
558
559 dnl DirectShow
560 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSHOW, true)
561 AG_GST_CHECK_FEATURE(DIRECTSHOW, [DirectShow plug-in], winks, [
562   HAVE_DIRECTSHOW="no"
563   save_CFLAGS="$CFLAGS"
564   save_LDFLAGS="$LDFLAGS"
565   save_LIBS="$LIBS"
566   CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
567   LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
568   LIBS="$LIBS -lole32 -luuid -lstrmiids"
569   AC_MSG_CHECKING(for DirectShow LDFLAGS)
570   AC_LINK_IFELSE([
571 #include <windows.h>
572 #include <strmif.h>
573 #include <uuids.h>
574
575 int main () {
576   IGraphBuilder *pGraph = NULL;
577   HRESULT hr = CoInitialize(NULL);
578   hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, 
579                         &IID_IGraphBuilder, (void **)&pGraph);
580
581   return 0;
582 }
583 ],
584     [HAVE_DIRECTSHOW="yes"],
585     [HAVE_DIRECTSHOW="no"])
586   AC_MSG_RESULT($HAVE_DIRECTSHOW)
587   CFLAGS=$save_CFLAGS
588   LDFLAGS=$save_LDFLAGS
589   LIBS=$save_LIBS
590
591   if test "x$HAVE_DIRECTSHOW" = "xyes";  then
592     dnl this is much more than we want
593     DIRECTSHOW_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
594     AC_SUBST(DIRECTX_CFLAGS)
595     AC_SUBST(DIRECTX_LDFLAGS)
596     AC_SUBST(DIRECTSHOW_LIBS)
597   fi
598   AC_SUBST(HAVE_DIRECTSHOW)
599 ])
600
601 dnl *** AppleMedia (OS X and iOS) ***
602 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
603 HAVE_APPLE_MEDIA="no"
604 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
605 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
606   AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
607 ])
608 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
609 case "$host" in
610   *-*darwin*)
611     ;;
612   *)
613     HAVE_APPLE_MEDIA="no"
614     ;;
615 esac
616 HAVE_IOS="no"
617 if test "x$HAVE_APPLE_MEDIA" = "xyes"; then
618   AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
619 fi
620
621 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
622 if test "x$HAVE_IOS" = "xyes"; then
623   AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
624 fi
625
626 dnl *** OS X videosrc ***
627 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
628 HAVE_OSX_VIDEO="no"
629 AG_GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosrc, [
630   AC_CHECK_TYPE([SeqGrabComponent], HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no",
631       [#include <Quicktime/Quicktime.h>])
632 ])
633 dnl in case header Quicktime/Quicktime.h is found on other platforms
634 case "$host" in
635   *-*darwin*)
636     ;;
637   *)
638     HAVE_OSX_VIDEO="no"
639     ;;
640 esac
641
642 dnl *** OS/X AVCVideoServices ***
643 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
644 HAVE_AVC="no"
645 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
646   AC_LANG_PUSH([C++])
647   save_CPPFLAGS="$CPPFLAGS"
648   CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
649   save_LIBS="$LIBS"
650   LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
651   AC_TRY_LINK([], [], [HAVE_AVC=yes], [HAVE_AVC=no])
652   LIBS=$save_LIBS
653   CPPFLAGS=$save_CPPFLAGS
654   AC_LANG_POP([C++])
655 ])
656 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
657 case "$host" in
658   *-*darwin*)
659     ;;
660   *)
661     HAVE_AVC="no"
662     ;;
663 esac
664
665 dnl check for QuickTime
666 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
667 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
668   AC_CHECK_TYPE([SampleReferenceRecord], HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no",
669       [#include <Quicktime/Quicktime.h>])
670 ])
671
672 dnl check for shm_open (for shm plugin)
673 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
674 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
675   if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
676     AC_CHECK_LIB([rt], [shm_open],
677        AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
678 #include <sys/socket.h>
679          ]),
680          HAVE_SHM=no)
681   else
682     HAVE_SHM=no
683   fi
684 ])
685
686 dnl check for Video CD
687 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
688 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
689   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
690 ])
691
692 dnl *** ext plug-ins ***
693 dnl keep this list sorted alphabetically !
694
695 if test "x$BUILD_EXTERNAL" = "xyes"; then
696
697 dnl *** assrender ***
698 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
699 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
700   PKG_CHECK_MODULES(ASSRENDER, libass >= 0.9.4, [
701     HAVE_ASSRENDER="yes" ], [
702     HAVE_ASSRENDER="no"
703   ])
704 ])
705 AC_SUBST(ASSRENDER_CFLAGS)
706 AC_SUBST(ASSRENDER_LIBS)
707
708 dnl *** vo-amrwbenc ***
709 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
710 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
711   AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
712 ])
713
714 dnl *** vo-aacenc ***
715 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
716 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
717   AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
718 ])
719
720 dnl *** apexsink ***
721 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
722 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
723   PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5  libcrypto ], [
724     HAVE_APEXSINK="yes"
725     saved_LIBS="$LIBS"
726     LIBS=""
727     AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
728     AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
729     APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
730     LIBS="$saved_LIBS"
731     AC_SUBST(APEXSINK_CFLAGS)
732     AC_SUBST(APEXSINK_LIBS)
733   ], [
734     APEXSINK="no"
735   ])
736 ])
737
738 dnl *** BZ2 ***
739 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
740 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
741   AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
742   AC_SUBST(BZ2_LIBS)
743 ])
744
745 #dnl *** cairo ***
746 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
747 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
748 #  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
749 #    HAVE_CAIRO=no
750 #  ])
751 #  AC_SUBST(CAIRO_CFLAGS)
752 #  AC_SUBST(CAIRO_LIBS)
753 #])
754
755 dnl *** cdaudio ***
756 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
757 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
758   PKG_CHECK_MODULES(CDAUDIO, libcdaudio, [
759           HAVE_CDAUDIO="yes"
760   ], [
761           HAVE_CDAUDIO="no"
762   ])
763   AC_SUBST(CDAUDIO_CFLAGS)
764   AC_SUBST(CDAUDIO_LIBS)
765 ])
766
767 dnl *** celt ***
768 translit(dnm, m, l) AM_CONDITIONAL(USE_CELT, true)
769 AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
770   PKG_CHECK_MODULES(CELT, celt >= 0.5.0, [
771           AC_DEFINE([HAVE_CELT], 1, [Define if libcelt 0.5 is installed])
772           HAVE_CELT="yes"
773   ], [
774           HAVE_CELT="no"
775   ])
776
777   PKG_CHECK_MODULES(CELT_0_7, celt >= 0.7.0, [
778           AC_DEFINE([HAVE_CELT_0_7], 1, [Define if libcelt 0.7 is installed])
779   ], [
780           dnl to prevent an error
781           true
782   ])
783
784   PKG_CHECK_MODULES(CELT_0_8, celt >= 0.8.0, [
785           AC_DEFINE([HAVE_CELT_0_8], 1, [Define if libcelt 0.8 is installed])
786   ], [
787           dnl to prevent an error
788           true
789   ])
790
791   PKG_CHECK_MODULES(CELT_0_11, celt >= 0.11.0, [
792           AC_DEFINE([HAVE_CELT_0_11], 1, [Define if libcelt 0.11 is installed])
793   ], [
794           dnl to prevent an error
795           true
796   ])
797   AC_SUBST(CELT_CFLAGS)
798   AC_SUBST(CELT_LIBS)
799 ])
800
801 dnl *** chromaprint ***
802 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
803 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
804   PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
805     HAVE_CHROMAPRINT="no"
806   ])
807   AC_SUBST(CHROMAPRINT_CFLAGS)
808   AC_SUBST(CHROMAPRINT_LIBS)
809 ])
810
811 dnl *** Cog ***
812 translit(dnm, m, l) AM_CONDITIONAL(USE_COG, true)
813 AG_GST_CHECK_FEATURE(COG, [Cog plugin], cog, [
814   PKG_CHECK_MODULES(COG, libpng >= 1.2, HAVE_COG="yes", [
815     HAVE_COG="no"
816   ])
817   AC_SUBST(COG_CFLAGS)
818   AC_SUBST(COG_LIBS)
819 ])
820
821 dnl *** Curl ***
822 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
823 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
824   PKG_CHECK_MODULES(CURL, libcurl >= 7.21.0, [
825     HAVE_CURL="yes"
826     AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/ip.h netinet/tcp.h fcntl.h],
827         [ ], [HAVE_CURL="no"])
828     AC_MSG_CHECKING([for socket support needed by curlsink])
829     AC_MSG_RESULT($HAVE_CURL)
830   ], [
831     HAVE_CURL="no"
832   ])
833   AC_SUBST(CURL_CFLAGS)
834   AC_SUBST(CURL_LIBS)
835 ])
836
837 dnl *** dc1394  ***
838 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
839 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
840    PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
841         if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
842                 HAVE_DC1394="yes"
843         else
844                 HAVE_DC1394="no"
845         fi
846    ], [
847         HAVE_DC1394="no"
848         AC_MSG_RESULT(no)
849    ])
850    AC_SUBST(LIBDC1394_CFLAGS)
851    AC_SUBST(LIBDC1394_LIBS)
852 ])
853
854 dnl *** decklink  ***
855 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
856 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
857    HAVE_DECKLINK=no
858    case "$host" in
859      *-*linux*)
860        if test "x$HAVE_PTHREAD_H" = "xyes"; then
861          AC_CHECK_LIB(dl, dlopen,
862            [
863             HAVE_DECKLINK=yes
864             DECKLINK_CXXFLAGS=
865             DECKLINK_LIBS="-lpthread -ldl"
866            ])
867        fi
868        ;;
869      *-*darwin*)
870        if test "x$HAVE_PTHREAD_H" = "xyes"; then
871          AC_CHECK_LIB(dl, dlopen,
872            [
873             HAVE_DECKLINK=yes
874             DECKLINK_CXXFLAGS=
875             DECKLINK_LIBS="-lpthread -ldl"
876             HAVE_DECKLINK_OSX=yes
877            ])
878        fi
879        ;;
880      *)
881        HAVE_DECKLINK=no
882        ;;
883    esac
884
885    AC_SUBST(DECKLINK_CXXFLAGS)
886    AC_SUBST(DECKLINK_LIBS)
887 ])
888 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
889
890 dnl **** DirectFB ****
891 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
892 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
893   PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
894     HAVE_DIRECTFB="no"
895   ])
896 ])
897
898 dnl **** Wayland ****
899 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
900 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
901   PKG_CHECK_MODULES(WAYLAND, wayland-server <= 0.85.0 wayland-client <= 0.85.0, [
902     AC_CHECK_HEADER(wayland-client.h, HAVE_WAYLAND_CLIENT="yes", HAVE_WAYLAND_CLIENT="no")
903     AC_CHECK_HEADER(wayland-client-protocol.h, HAVE_WAYLAND_CLIENT_PROTOCOL="yes", HAVE_WAYLAND_CLIENT_PROTOCOL="no")
904     if test "x$HAVE_WAYLAND_CLIENT" = "xno"; then
905       AC_MSG_RESULT(wayland-client.h could not be found.)
906       HAVE_WAYLAND="no"
907     elif test "x$HAVE_WAYLAND_CLIENT_PROTOCOL" = "xno"; then
908       AC_MSG_RESULT(wayland-client-protocol.h could not be found.)
909       HAVE_WAYLAND="no"
910     else
911       HAVE_WAYLAND="yes"
912       WAYLAND_LIBS="-lwayland-client"
913     fi
914   ], [
915     AC_MSG_RESULT(no wayland.)
916     HAVE_WAYLAND="no"
917   ])
918 WAYLAND_CFLAGS=""
919 AC_SUBST(WAYLAND_CFLAGS)
920 AC_SUBST(WAYLAND_LIBS)
921 ])
922
923 dnl **** Dirac ****
924 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
925 AG_GST_CHECK_FEATURE(DIRAC, [dirac], dirac, [
926   PKG_CHECK_MODULES(DIRAC, dirac >= 0.10, HAVE_DIRAC="yes", [
927     HAVE_DIRAC="no"
928   ])
929 ])
930
931 dnl *** DTS ***
932 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
933 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
934   HAVE_DTS="yes"
935   AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
936     DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
937   if test $HAVE_DTS = "no"; then
938     AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
939       [ DTS_LIBS="-ldts_pic $LIBM"
940         AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
941       ])
942   fi
943   AC_SUBST(DTS_LIBS)
944 ])
945
946 dnl *** resindvd ***
947 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
948 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
949   PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
950     HAVE_RESINDVD="no"
951   ])
952 ])
953
954 dnl **** Free AAC Encoder (FAAC) ****
955 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
956 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
957   AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
958     FAAC_LIBS="-lfaac $LIBM")
959   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
960   AC_SUBST(FAAC_LIBS)
961 ])
962
963 dnl **** Free AAC Decoder (FAAD) ****
964 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
965 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
966   HAVE_FAAD="yes"
967   faad_hdr=""
968   AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, $LIBM, faad.h,
969     FAAD_LIBS="-lfaad $LIBM", HAVE_FAAD="no")
970   if test $HAVE_FAAD = "no"; then
971     AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h,
972       [ FAAD_LIBS="-lfaad $LIBM"
973         AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
974         faad_hdr="neaacdec.h"
975       ], [
976         HAVE_FAAD="no"
977       ],)
978   else
979     faad_hdr="faad.h"
980   fi
981   if test $HAVE_FAAD = "yes"; then
982     AC_MSG_CHECKING([Checking for FAAD >= 2.0])
983     AC_TRY_COMPILE([#include <faad.h>], [
984         #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
985         #error Not faad2
986         #else
987         /* Release candidate of 2.0 is not good enough for us. This field
988          * was added only in 2.0 final and does not exist in 2.0-RC3 */
989         faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
990         #endif
991     ], [
992       HAVE_FAAD="yes"
993
994       AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
995       for minor in 10 9 8 7 6 5 0; do
996         if test x$faad2_minor_version = "x"; then
997           AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
998               #include <$faad_hdr>
999               GST_CHECK_FAAD_VERSION FAAD2_VERSION
1000             ], [
1001               faad2_minor_version=$minor
1002             ])
1003         fi
1004       done
1005       if test x$faad2_minor_version = "x"; then
1006         AC_MSG_RESULT([no idea])
1007       else
1008         AC_MSG_RESULT([2.$faad2_minor_version])
1009         AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
1010       fi
1011     ], [
1012       HAVE_FAAD="no"
1013     ])
1014   fi
1015   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
1016   AC_SUBST(FAAD_LIBS)
1017   AC_SUBST(FAAD_IS_NEAAC)
1018 ])
1019
1020 dnl *** fbdev ***
1021 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
1022 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
1023   if test "x$HAVE_FBDEV" != "xyes"; then
1024     AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
1025   fi
1026 ])
1027
1028 dnl *** flite ***
1029 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
1030 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
1031   AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
1032     FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
1033
1034   AC_SUBST(FLITE_CFLAGS)
1035   AC_SUBST(FLITE_LIBS)
1036 ])
1037
1038 dnl *** gsm ***
1039 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
1040 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
1041   AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
1042   if test $HAVE_GSM != "yes"; then
1043     AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
1044     if test $HAVE_GSM = "yes"; then
1045       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
1046     fi
1047   fi
1048   AC_SUBST(GSM_LIBS)
1049 ])
1050
1051 dnl *** jasper ***
1052 translit(dnm, m, l) AM_CONDITIONAL(USE_JASPER, true)
1053 AG_GST_CHECK_FEATURE(JASPER, [jasper], jasperdec jasperenc, [
1054   AG_GST_CHECK_LIBHEADER(JASPER, jasper, jas_stream_fopen, , jasper/jasper.h,
1055     JASPER_LIBS="-ljasper")
1056   AC_SUBST(JASPER_LIBS)
1057 ])
1058
1059 dnl *** kate ***
1060 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
1061 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
1062   PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
1063     HAVE_KATE="no"
1064   ])
1065   AC_SUBST(KATE_CFLAGS)
1066   AC_SUBST(KATE_LIBS)
1067   PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
1068     [
1069       HAVE_TIGER="yes"
1070       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
1071     ],
1072     [
1073       HAVE_TIGER="no"
1074     ]
1075   )
1076   AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
1077   AC_SUBST(TIGER_CFLAGS)
1078   AC_SUBST(TIGER_LIBS)
1079 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
1080
1081 dnl *** ladspa ***
1082 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
1083 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
1084   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
1085
1086   PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
1087   if test $HAVE_LRDF = "yes"; then
1088     AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
1089   fi
1090   AC_SUBST(LRDF_LIBS)
1091   AC_SUBST(LRDF_CFLAGS)
1092 ])
1093
1094 dnl *** LV2 ***
1095 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
1096 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
1097   PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
1098   AC_SUBST(SLV2_CFLAGS)
1099   AC_SUBST(SLV2_LIBS)
1100 ])
1101
1102 dnl *** libmms ***
1103 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
1104 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
1105   dnl check with pkg-config first
1106   PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
1107     HAVE_LIBMMS="no"
1108   ])
1109 ])
1110 AC_SUBST(LIBMMS_LIBS)
1111
1112 dnl *** linsys ***
1113 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
1114 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
1115   case "$host" in
1116     *-*linux*)
1117       HAVE_LINSYS=yes
1118       ;;
1119     *)
1120       HAVE_LINSYS=no
1121       ;;
1122   esac
1123 ])
1124
1125 dnl *** modplug ***
1126 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
1127 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
1128   if test "x$HAVE_CXX" != "xyes"; then
1129     AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
1130     HAVE_MODPLUG="no"
1131   else
1132     PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
1133   fi
1134   AC_SUBST(MODPLUG_CFLAGS)
1135   AC_SUBST(MODPLUG_LIBS)
1136 ])
1137
1138 dnl *** mimic ***
1139 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
1140 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
1141   MIMIC_REQUIRED=1.0
1142   PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
1143       HAVE_MIMIC=yes, HAVE_MIMIC=no)
1144   AC_SUBST(MIMIC_CFLAGS)
1145   AC_SUBST(MIMIC_LIBS)
1146 ])
1147
1148 dnl *** mjpegtools version info ***
1149 dnl some may prefer older version (given quirks above)
1150 dnl hm, no version info seems available within mjpegtools headers
1151 dnl and API really moves along
1152 echo
1153 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
1154   mjpegtools_api=10601
1155 ], [
1156   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
1157     mjpegtools_api=10800
1158   ], [
1159     PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
1160       mjpegtools_api=20000
1161     ], [
1162       PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
1163         dnl logging API changed in release candidates
1164         OLD_CFLAGS="$CFLAGS"
1165         OLD_LIBS="$LIBS"
1166         CFLAGS="$MJPEG_CFLAGS"
1167         LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM -lpthread"
1168         AC_CHECK_FUNC(mjpeg_loglev_t, [
1169           mjpegtools_api=10903
1170           ], [
1171           mjpegtools_api=10900
1172           ])
1173         CFLAGS="$OLD_CFLAGS"
1174         LIBS="$OLD_LIBS"
1175       ], [
1176         mjpegtools_api=0
1177       ])
1178     ])
1179   ])
1180 ])
1181 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1182   [mjpegtools API evolution])
1183
1184 dnl *** mpeg2enc ***
1185 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1186 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1187   HAVE_MPEG2ENC="no"
1188   dnl we require a c++ compiler for this one
1189   if [ test x$HAVE_CXX = xyes ]; then
1190     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1191     dnl since many distros include mjpegtools specifically without mplex
1192     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1193     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1194       dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1195       touch config.h
1196       dnl switch over to c++ to test things
1197       AC_LANG_CPLUSPLUS
1198       OLD_CPPFLAGS="$CPPFLAGS"
1199       dnl HACK as above
1200       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1201       CPPFLAGS="$CPPFLAGS_GOOD -I."
1202       dnl check headers
1203       mpeg2enc_headers_ok=no
1204       AC_CHECK_HEADER([mpeg2encoder.hh], [
1205         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM -lpthread"
1206         OLD_LIBS="$LIBS"
1207         LIBS="$LIBS $MPEG2ENC_LIBS"
1208         AC_MSG_CHECKING([for valid mpeg2enc objects])
1209         AC_TRY_RUN([
1210           #include <mpeg2encoder.hh>
1211           #include <mpeg2encoptions.hh>
1212
1213           int
1214           main (int   argc,
1215                 char *argv[])
1216           {
1217             MPEG2EncOptions *options = new MPEG2EncOptions ();
1218             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1219             return 0;
1220           }
1221         ],[
1222           AC_MSG_RESULT(yes)
1223           dnl so far so good, let's check more things:
1224           dnl mjpegtools-1.8.0 does not install the required
1225           dnl mpeg2syntaxcodes.h header by default, and a new release
1226           dnl is not in sight, so check for this oversight in case
1227           dnl distros or folks have fixed this themselves
1228           if test "$mjpegtools_api" -ge "10800"; then
1229             AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1230                 mpeg2enc_headers_ok=yes
1231               ], [
1232                 mpeg2enc_headers_ok=no
1233               ])
1234           else
1235             mpeg2enc_headers_ok=yes
1236           fi
1237           if test "x$mpeg2enc_headers_ok" = "xyes"; then
1238             HAVE_MPEG2ENC="yes"
1239           fi
1240           CPPFLAGS="$CPPFLAGS_GOOD"
1241           AC_SUBST(MPEG2ENC_CFLAGS)
1242           AC_SUBST(MPEG2ENC_LIBS)
1243         ], [
1244           AC_MSG_RESULT(no)
1245         ])
1246         LIBS="$OLD_LIBS"
1247       ])
1248
1249       CPPFLAGS="$OLD_CPPFLAGS"
1250       AC_LANG_C
1251     ], [
1252       HAVE_MPEG2ENC="no"
1253     ])
1254   fi
1255 ])
1256
1257 dnl *** mpg123 ***
1258 translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
1259 AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
1260   PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
1261   AC_SUBST(MPG123_CFLAGS)
1262   AC_SUBST(MPG123_LIBS)
1263 ])
1264
1265 dnl *** mplex ***
1266 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1267 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1268   HAVE_MPLEX="no"
1269   dnl we require a c++ compiler for this one
1270   if [ test x$HAVE_CXX = xyes ]; then
1271     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1272     dnl since many distros include mjpegtools specifically without mplex
1273     dnl and mpeg2enc, we check for mplex on its own, too.
1274     dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1275     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1276       dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
1277       touch config.h
1278       dnl switch over to c++ to test things
1279       AC_LANG_CPLUSPLUS
1280       OLD_CPPFLAGS="$CPPFLAGS"
1281       dnl HACK as above
1282       CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
1283       CPPFLAGS="$CPPFLAGS_GOOD -I."
1284       AC_CHECK_HEADER(interact.hpp, [
1285         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
1286         OLD_LIBS="$LIBS"
1287         LIBS="$LIBS $MPLEX_LIBS"
1288         OLD_LDFLAGS="$LDFLAGS"
1289         LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
1290         dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1291         dnl don't want this here
1292         AC_MSG_CHECKING([for valid mplex objects])
1293         AC_TRY_RUN([
1294
1295 #include <interact.hpp>
1296 #include <outputstrm.hpp>
1297 #include <multiplexor.hpp>
1298 int
1299 main (int   argc,
1300       char *argv[])
1301 {
1302   class TestOutputStream : public OutputStream {
1303   public:
1304     TestOutputStream () : OutputStream () { }
1305     void Write (uint8_t *a, unsigned int b) { }
1306     void NextSegment () { }
1307     uint64_t SegmentSize () { }
1308     void Close () { }
1309     int Open () { }
1310 };
1311   MultiplexJob *job = new MultiplexJob ();
1312   vector<IBitStream *> inputs;
1313   job->SetupInputStreams (inputs);
1314   TestOutputStream *out = new TestOutputStream ();
1315   Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1316   return 0;
1317 }
1318         ],[
1319           HAVE_MPLEX="yes"
1320           CPPFLAGS="$CPPFLAGS_GOOD"
1321           AC_SUBST(MPLEX_CFLAGS)
1322           AC_SUBST(MPLEX_LIBS)
1323           AC_SUBST(MPLEX_LDFLAGS)
1324           AC_MSG_RESULT(yes)
1325         ], AC_MSG_RESULT(no))
1326         LIBS="$OLD_LIBS"
1327         LDFLAGS="$OLD_LDFLAGS"
1328       ])
1329       CPPFLAGS="$OLD_CPPFLAGS"
1330       AC_LANG_C
1331     ], HAVE_MPLEX="no")
1332   fi
1333 ])
1334
1335 dnl *** musepack ***
1336 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1337 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1338   AC_CHECK_HEADER([mpc/mpcdec.h], [
1339     HAVE_MUSEPACK="yes"
1340     MUSEPACK_LIBS="-lmpcdec"
1341     AC_SUBST(MUSEPACK_LIBS)
1342     ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1343       HAVE_MUSEPACK="yes"
1344       MUSEPACK_LIBS="-lmpcdec"
1345       AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1346       AC_SUBST(MUSEPACK_LIBS)
1347     ], [HAVE_MUSEPACK="no"])])
1348 ])
1349
1350 dnl *** musicbrainz ***
1351 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1352 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
1353   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1354   AC_SUBST(MUSICBRAINZ_CFLAGS)
1355   AC_SUBST(MUSICBRAINZ_LIBS)
1356 ])
1357
1358 dnl *** MythTV ***
1359 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
1360 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
1361   PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
1362     HAVE_MYTHTV="no"
1363   ])
1364   AC_SUBST(GMYTH_CFLAGS)
1365   AC_SUBST(GMYTH_LIBS)
1366 ])
1367
1368 dnl *** nas ***
1369 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1370 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1371   HAVE_NAS="no"
1372   AG_GST_CHECK_X
1373   if test "x$HAVE_X" = "xyes"; then
1374     save_cppflags=$CFLAGS
1375     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1376     AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1377       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1378     CPPFLAGS="$save_cppflags"
1379   fi
1380   AC_SUBST(NAS_CFLAGS)
1381   AC_SUBST(NAS_LIBS)
1382 ])
1383
1384 dnl *** neon ***
1385 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1386 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1387   PKG_CHECK_MODULES(NEON, neon >= 0.27.0  neon <= 0.29.99, HAVE_NEON="yes", [
1388     HAVE_NEON="no"
1389   ])
1390   AC_SUBST(NEON_CFLAGS)
1391   AC_SUBST(NEON_LIBS)
1392 ])
1393
1394 dnl *** ofa ***
1395 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1396 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1397   PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1398     HAVE_OFA="no"
1399   ])
1400   AC_SUBST(OFA_CFLAGS)
1401   AC_SUBST(OFA_LIBS)
1402 ])
1403
1404 dnl *** OpenAL ***
1405 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
1406 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
1407   PKG_CHECK_MODULES(OPENAL, openal, HAVE_OPENAL="yes", [
1408     HAVE_OPENAL="no"
1409   ])
1410   AC_SUBST(OPENAL_CFLAGS)
1411   AC_SUBST(OPENAL_LIBS)
1412 ])
1413
1414 dnl *** opencv ***
1415 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
1416 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
1417   dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
1418   dnl and don't want the build to break when a new opencv version comes out.
1419   dnl Need to adjust this upwards once we know that our code compiles fine with
1420   dnl a new version and the no-backward-compatibility define. (There doesn't
1421   dnl seem to be a switch to suppress the warnings the cvcompat.h header
1422   dnl causes.)
1423   PKG_CHECK_MODULES(OPENCV, opencv >= 2.0.0 opencv <= 2.3.1 , [
1424     AC_PROG_CXX
1425     AC_LANG_CPLUSPLUS
1426     OLD_CPPFLAGS=$CPPFLAGS
1427     CPPFLAGS=$OPENCV_CFLAGS
1428     AC_CHECK_HEADERS([highgui.h opencv2/highgui/highgui_c.h])
1429     CPPFLAGS=$OLD_CPPFLAGS
1430     AC_LANG_C
1431
1432     if test $ac_cv_header_highgui_h = "yes" -o $ac_cv_header_opencv2_highgui_highgui_c_h = "yes" ; then
1433       HAVE_OPENCV="yes"
1434     else
1435       AC_MSG_RESULT([neither highgui.h nor opencv2/highgui/highgui_c.h could not be found])
1436       HAVE_OPENCV="no"
1437     fi
1438   ], [
1439     HAVE_OPENCV="no"
1440   ])
1441   OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
1442   AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
1443   AC_SUBST(OPENCV_PREFIX)
1444   AC_SUBST(OPENCV_CFLAGS)
1445   AC_SUBST(OPENCV_LIBS)
1446 ])
1447
1448 dnl *** Opus ***
1449 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
1450 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
1451   PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
1452           AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
1453           HAVE_OPUS="yes"
1454   ], [
1455           HAVE_OPUS="no"
1456   ])
1457   AC_SUBST(OPUS_CFLAGS)
1458   AC_SUBST(OPUS_LIBS)
1459 ])
1460
1461 dnl *** pvr ***
1462 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
1463 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
1464   PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
1465   AC_SUBST(PVR_CFLAGS)
1466   AC_SUBST(PVR_LIBS)
1467 ])
1468
1469  AC_ARG_WITH([pvr-external-headers],
1470               AC_HELP_STRING([--with-pvr-external-headers], [Use system installed PVR2D headers]),
1471               [AS_IF([test "x$with_pvr_external_headers" = "xno"],
1472                      [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
1473               [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
1474
1475 dnl *** rsvg ***
1476 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1477 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1478   PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.14 cairo, [
1479     HAVE_RSVG="yes"
1480     PKG_CHECK_MODULES(RSVG_2_35_0, librsvg-2.0 >= 2.35.0, HAVE_RSVG_2_35_0="yes", HAVE_RSVG_2_35_0="no")
1481     if test "x$HAVE_RSVG_2_35_0" = "xyes"; then
1482       AC_DEFINE(HAVE_RSVG_2_35_0, [1], [Have RSVG 2.35.0 or newer])
1483     fi
1484   ], [
1485     HAVE_RSVG="no"
1486   ])
1487   AC_SUBST(RSVG_CFLAGS)
1488   AC_SUBST(RSVG_LIBS)
1489 ])
1490
1491 dnl *** timidity ***
1492 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1493 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1494   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1495     HAVE_TIMIDITY="yes",
1496         AC_MSG_CHECKING([for timidity.cfg])
1497         timidity_cfg=""
1498         if test -r /etc/timidity.cfg; then
1499           timidity_cfg=/etc/timidity.cfg
1500         elif test -r /etc/timidity/timidity.cfg; then
1501           timidity_cfg=/etc/timidity/timidity.cfg
1502         elif test -r /usr/share/timidity/timidity.cfg; then
1503           timidity_cfg=/usr/share/timidity/timidity.cfg
1504         elif test -r /usr/local/share/timidity/timidity.cfg; then
1505           timidity_cfg=/usr/local/share/timidity/timidity.cfg
1506         fi
1507         if test "x$timidity_cfg" != "x"; then
1508           AC_MSG_RESULT($timidity_cfg)
1509       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1510         else
1511           AC_MSG_RESULT([not found])
1512         fi
1513   ], [
1514     HAVE_TIMIDITY="no"
1515   ])
1516   AC_SUBST(TIMIDITY_CFLAGS)
1517   AC_SUBST(TIMIDITY_LIBS)
1518 ])
1519
1520 dnl *** teletextdec ***
1521 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
1522 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
1523   AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
1524  ])
1525
1526 dnl *** wildmidi ***
1527 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1528 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1529   AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
1530                          WildMidi_Init, ,
1531                          wildmidi_lib.h,
1532                          WILDMIDI_LIBS="-lWildMidi")
1533   AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
1534
1535   if test "x$HAVE_WILDMIDI" = "xyes"; then
1536          WILDMIDI_CFLAGS=
1537          WILDMIDI_LIBS=-lWildMidi
1538          AC_MSG_NOTICE(compiling gstWildMidi)
1539   else
1540          WILDMIDI_CFLAGS=
1541          WILDMIDI_LIBS=
1542          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1543   fi
1544   AC_SUBST(WILDMIDI_CFLAGS)
1545   AC_SUBST(WILDMIDI_LIBS)
1546 ])
1547
1548 dnl *** SDL ***
1549 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1550 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1551     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1552 ])
1553
1554 dnl *** sndfile ***
1555 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1556 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1557   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1558   AC_SUBST(SNDFILE_CFLAGS)
1559   AC_SUBST(SNDFILE_LIBS)
1560 ])
1561
1562 dnl *** soundtouch ***
1563 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1564 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1565   dnl We only need -lBPM on soundtouch < 1.4
1566   dnl We check for libSoundTouch since Debian used it before upstream
1567   dnl added a pkgconfig file.
1568   HAVE_SOUNDTOUCH_1_4=yes
1569   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
1570     [HAVE_SOUNDTOUCH=yes],
1571     [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1572       [HAVE_SOUNDTOUCH=yes],
1573       [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1574         [HAVE_SOUNDTOUCH=yes
1575           HAVE_SOUNDTOUCH_1_4=no
1576           SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1577         [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1578           [HAVE_SOUNDTOUCH=yes],
1579           [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1580             [HAVE_SOUNDTOUCH=yes
1581               HAVE_SOUNDTOUCH_1_4=no
1582               SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1583             HAVE_SOUNDTOUCH=no)])])])])
1584   AC_SUBST(SOUNDTOUCH_CFLAGS)
1585   AC_SUBST(SOUNDTOUCH_LIBS)
1586   if test "x$HAVE_CXX" != "xyes"; then
1587     USE_SOUNDTOUCH=false
1588     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1589   fi
1590   if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1591      AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1592          [Defined if the available libSoundTouch is >= 1.4])
1593   fi
1594 ])
1595
1596 dnl *** spc ***
1597 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1598 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1599   AC_CHECK_HEADER(openspc.h, [
1600     AC_CHECK_LIB(openspc, OSPC_Init, [
1601       SPC_LIBS="-lopenspc"
1602       AC_SUBST(SPC_LIBS)
1603       HAVE_SPC=yes
1604     ], [
1605       HAVE_SPC=no
1606     ])
1607   ], [
1608     HAVE_SPC=no
1609   ])
1610 ])
1611
1612 dnl *** gme ***
1613 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1614 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
1615   AC_CHECK_HEADER(gme/gme.h, [
1616     AC_CHECK_LIB(gme, gme_new_emu, [
1617       GME_LIBS="-lgme"
1618       AC_SUBST(GME_LIBS)
1619       HAVE_GME=yes
1620     ], [
1621       HAVE_GME=no
1622     ])
1623   ], [
1624     HAVE_GME=no
1625   ])
1626
1627   if test "x$HAVE_GME" = "xyes"; then
1628     AC_CHECK_LIB(gme, gme_enable_accuracy, [
1629       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
1630       ])
1631   fi
1632 ])
1633
1634 dnl *** swfdec ***
1635 translit(dnm, m, l) AM_CONDITIONAL(USE_SWFDEC, true)
1636 AG_GST_CHECK_FEATURE(SWFDEC, [swfdec plug-in], swfdec, [
1637   PKG_CHECK_MODULES(SWFDEC, swfdec-0.3 >= 0.3.6, HAVE_SWFDEC=yes, [
1638     HAVE_SWFDEC=no
1639   ])
1640   AC_SUBST(SWFDEC_CFLAGS)
1641   AC_SUBST(SWFDEC_LIBS)
1642 ])
1643
1644 dnl *** XVID ***
1645 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1646 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1647   HAVE_XVID=no
1648   AC_CHECK_HEADER(xvid.h, [
1649     OLD_LIBS="$LIBS"
1650     LIBS="-lpthread $LIBM"
1651     AC_CHECK_LIB(xvidcore, xvid_encore, [
1652       AC_CHECK_LIB(xvidcore, xvid_decore, [
1653         AC_CHECK_LIB(xvidcore, xvid_global, [
1654           AC_MSG_CHECKING([for uptodate XviD API version])
1655           AC_TRY_COMPILE([#include <xvid.h>], [
1656               #if XVID_API_MAJOR(XVID_API) != 4
1657               #error "Incompatible XviD API version"
1658               #endif
1659               #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
1660               #error "Incompatible XviD API version"
1661               #endif
1662           ],[ AC_MSG_RESULT(yes)
1663             XVID_LIBS="-lxvidcore $LIBM"
1664             AC_SUBST(XVID_LIBS)
1665             HAVE_XVID=yes
1666           ], AC_MSG_RESULT(no) )
1667         ], )
1668       ], )
1669     ], )
1670     LIBS="$OLD_LIBS"
1671   ], )
1672 ])
1673
1674 dnl *** dvb ***
1675 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
1676 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
1677   AC_MSG_CHECKING([Checking for up to date dvb installation])
1678   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
1679 ])
1680
1681 dnl *** wininet ***
1682 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
1683 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
1684   AC_MSG_CHECKING([Checking for windows internet support])
1685   AC_CHECK_HEADERS([windows.h wininet.h],
1686       [HAVE_WININET="yes"], [HAVE_WININET="no"],
1687       [AC_INCLUDES_DEFAULT
1688 #include <windows.h>])
1689 ])
1690
1691 dnl *** acm ***
1692 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
1693 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
1694   AC_MSG_CHECKING([Checking for ACM support])
1695   AC_CHECK_HEADERS([windows.h msacm.h],
1696       [HAVE_ACM="yes"
1697        AC_SUBST(ACMENC_CFLAGS)
1698        AC_SUBST(ACMMP3DEC_CFLAGS)
1699       ], [HAVE_ACM="no"],
1700       [AC_INCLUDES_DEFAULT
1701 #include <windows.h>])
1702 ])
1703
1704 dnl *** vdpau ***
1705 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
1706 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
1707   VDPAU_CFLAGS=
1708   VDPAU_LIBS=-lvdpau
1709   HAVE_VDPAU=no
1710
1711   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
1712   [
1713     if test "$HAVE_VDPAU" = "no"; then
1714       saved_CPPFLAGS="$CPPFLAGS"
1715       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1716
1717       if test -z "$HAVE_VDPAU_H"; then
1718         dnl Didn't find VDPAU header straight away.
1719         dnl Try /usr/include/nvidia. Need to clear caching vars first
1720         AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
1721         unset ac_cv_header_vdpau_vdpau_h
1722         unset ac_cv_header_vdpau_vdpau_x11_h
1723         VDPAU_CFLAGS="-I/usr/include/nvidia"
1724         VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
1725         CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
1726         AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
1727       fi
1728
1729       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
1730
1731       if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
1732         dnl Found the headers - look for the lib
1733         AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
1734         saved_LIBS="$LIBS"
1735         LIBS="$VDPAU_LIBS $saved_LIBS"
1736         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
1737         LIBS="$saved_LIBS"
1738       fi
1739     fi
1740   ])
1741
1742   if test "$HAVE_VDPAU" = "yes"; then
1743     AC_MSG_NOTICE([Found up to date VDPAU installation])
1744     AC_SUBST(VDPAU_CFLAGS)
1745     AC_SUBST(VDPAU_LIBS)
1746   fi
1747 ])
1748
1749 dnl *** schroedinger ***
1750 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
1751 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
1752   AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
1753 ])
1754
1755 dnl *** zbar ***
1756 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
1757 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
1758   AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
1759 ])
1760
1761 dnl *** vp8 ***
1762 translit(dnm, m, l) AM_CONDITIONAL(USE_VP8, vp8)
1763 AG_GST_CHECK_FEATURE(VP8, [VP8 decoder], vp8, [
1764   PKG_CHECK_MODULES(VPX, vpx, [HAVE_VPX="yes"], [HAVE_VPX="no"])
1765
1766   if test $HAVE_VPX = "yes"; then
1767     HAVE_VP8_ENCODER=no
1768     HAVE_VP8_DECODER=no
1769
1770     OLD_LIBS="$LIBS"
1771     LIBS="$LIBS $VPX_LIBS"
1772     AC_CHECK_LIB(vpx, vpx_codec_vp8_cx_algo, [
1773       HAVE_VP8=yes
1774       AC_DEFINE(HAVE_VP8_ENCODER, 1, [Defined if the VP8 encoder is available])
1775
1776       AC_MSG_CHECKING([for VP8E_SET_TUNING presence])
1777       AC_TRY_COMPILE([
1778 #include <vpx/vpx_encoder.h>
1779 #include <vpx/vp8cx.h>
1780 int foo=VP8E_SET_TUNING;
1781       ], [
1782 return 0;
1783       ], [
1784         AC_DEFINE(HAVE_VP8ENC_TUNING, 1, [Defined if the VP8 encoder has tuning API])
1785         AC_MSG_RESULT(yes)
1786       ], [
1787         AC_MSG_RESULT(no)
1788       ])
1789     ])
1790     AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [
1791       HAVE_VP8=yes
1792       AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available])
1793       AC_MSG_CHECKING([for VP8_MFQE presence])
1794       AC_TRY_COMPILE([
1795 #include <vpx/vpx_decoder.h>
1796 #include <vpx/vp8dx.h>
1797 int foo=VP8_MFQE;
1798       ], [
1799 return 0;
1800       ], [
1801         AC_DEFINE(HAVE_VP8_MFQE, 1, [Defined if the VP8 decoder has MFQE support])
1802         AC_MSG_RESULT(yes)
1803       ], [
1804         AC_MSG_RESULT(no)
1805       ])
1806     ])
1807     LIBS="$OLD_LIBS"
1808   fi
1809   AC_SUBST(VPX_LIBS)
1810   AC_SUBST(VPX_CFLAGS)
1811 ])
1812
1813 dnl *** rtmp ***
1814 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
1815 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
1816   AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
1817 ])
1818
1819 dnl *** spandsp ***
1820 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
1821 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
1822   PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
1823     HAVE_SPANDSP="yes" ], [
1824     HAVE_SPANDSP="no"
1825   ])
1826 ])
1827 AC_SUBST(SPANDSP_CFLAGS)
1828 AC_SUBST(SPANDSP_LIBS)
1829
1830 dnl *** GSettings ***
1831 translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
1832 AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
1833   AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
1834   if test "x$HAVE_GSETTINGS" = "xyes"; then
1835     GLIB_GSETTINGS
1836   fi
1837 ])
1838
1839 dnl *** sndio ***
1840 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
1841 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
1842   AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
1843   if test "x$HAVE_SNDIO" = "xyes"; then
1844     AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
1845     if test "x$HAVE_SNDIO" = "xyes"; then
1846       SNDIO_LIBS=-lsndio
1847       AC_SUBST(SNDIO_LIBS)
1848     fi
1849   fi
1850 ])
1851
1852 else
1853
1854 dnl not building plugins with external dependencies,
1855 dnl but we still need to set the conditionals
1856
1857 AM_CONDITIONAL(USE_ASSRENDER, false)
1858 AM_CONDITIONAL(USE_VOAMRWBENC, false)
1859 AM_CONDITIONAL(USE_VOAACENC, false)
1860 AM_CONDITIONAL(USE_APEXSINK, false)
1861 AM_CONDITIONAL(USE_BZ2, false)
1862 AM_CONDITIONAL(USE_CDAUDIO, false)
1863 AM_CONDITIONAL(USE_CELT, false)
1864 AM_CONDITIONAL(USE_CHROMAPRINT, false)
1865 AM_CONDITIONAL(USE_COG, false)
1866 AM_CONDITIONAL(USE_CURL, false)
1867 AM_CONDITIONAL(USE_DC1394, false)
1868 AM_CONDITIONAL(USE_DECKLINK, false)
1869 AM_CONDITIONAL(DECKLINK_OSX, false)
1870 AM_CONDITIONAL(USE_DIRECTFB, false)
1871 AM_CONDITIONAL(USE_WAYLAND, false)
1872 AM_CONDITIONAL(USE_DIRAC, false)
1873 AM_CONDITIONAL(USE_DTS, false)
1874 AM_CONDITIONAL(USE_EXIF, false)
1875 AM_CONDITIONAL(USE_RESINDVD, false)
1876 AM_CONDITIONAL(USE_FAAC, false)
1877 AM_CONDITIONAL(USE_FAAD, false)
1878 AM_CONDITIONAL(USE_FBDEV, false)
1879 AM_CONDITIONAL(USE_FLITE, false)
1880 AM_CONDITIONAL(USE_GSM, false)
1881 AM_CONDITIONAL(USE_JASPER, false)
1882 AM_CONDITIONAL(USE_KATE, false)
1883 AM_CONDITIONAL(USE_TIGER, false)
1884 AM_CONDITIONAL(USE_LADSPA, false)
1885 AM_CONDITIONAL(USE_LV2, false)
1886 AM_CONDITIONAL(USE_LIBMMS, false)
1887 AM_CONDITIONAL(USE_LINSYS, false)
1888 AM_CONDITIONAL(USE_MODPLUG, false)
1889 AM_CONDITIONAL(USE_MIMIC, false)
1890 AM_CONDITIONAL(USE_MPEG2ENC, false)
1891 AM_CONDITIONAL(USE_MPG123, false)
1892 AM_CONDITIONAL(USE_MPLEX, false)
1893 AM_CONDITIONAL(USE_MUSEPACK, false)
1894 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
1895 AM_CONDITIONAL(USE_MYTHTV, false)
1896 AM_CONDITIONAL(USE_NAS, false)
1897 AM_CONDITIONAL(USE_NEON, false)
1898 AM_CONDITIONAL(USE_OFA, false)
1899 AM_CONDITIONAL(USE_OPENAL, false)
1900 AM_CONDITIONAL(USE_OPENCV, false)
1901 AM_CONDITIONAL(USE_OPUS, false)
1902 AM_CONDITIONAL(USE_PVR, false)
1903 AM_CONDITIONAL(USE_RSVG, false)
1904 AM_CONDITIONAL(USE_TIMIDITY, false)
1905 AM_CONDITIONAL(USE_WILDMIDI, false)
1906 AM_CONDITIONAL(USE_SDL, false)
1907 AM_CONDITIONAL(USE_SNDFILE, false)
1908 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
1909 AM_CONDITIONAL(USE_SPANDSP, false)
1910 AM_CONDITIONAL(USE_SPC, false)
1911 AM_CONDITIONAL(USE_GME, false)
1912 AM_CONDITIONAL(USE_GSETTINGS, false)
1913 AM_CONDITIONAL(USE_SWFDEC, false)
1914 AM_CONDITIONAL(USE_XVID, false)
1915 AM_CONDITIONAL(USE_DVB, false)
1916 AM_CONDITIONAL(USE_WININET, false)
1917 AM_CONDITIONAL(USE_ACM, false)
1918 AM_CONDITIONAL(USE_VDPAU, false)
1919 AM_CONDITIONAL(USE_SCHRO, false)
1920 AM_CONDITIONAL(USE_ZBAR, false)
1921 AM_CONDITIONAL(USE_VP8, false)
1922 AM_CONDITIONAL(USE_RTMP, false)
1923 AM_CONDITIONAL(USE_TELETEXTDEC, false)
1924 AM_CONDITIONAL(USE_SNDIO, false)
1925
1926 fi dnl of EXT plugins
1927
1928 dnl *** finalize CFLAGS, LDFLAGS, LIBS
1929
1930 dnl Overview:
1931 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
1932 dnl GST_*:              flags shared by built objects to link against GStreamer
1933 dnl GST_ALL_LDFLAGS:    linker flags shared by all
1934 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
1935 dnl GST_LT_LDFLAGS:     library versioning of our libraries
1936 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
1937
1938 dnl GST_OPTION_CFLAGS
1939 if test "x$USE_DEBUG" = xyes; then
1940    PROFILE_CFLAGS="-g"
1941 fi
1942 AC_SUBST(PROFILE_CFLAGS)
1943
1944 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
1945   dnl Define _only_ during CVS (not pre-releases or releases)
1946   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
1947 else
1948   DEPRECATED_CFLAGS=""
1949 fi
1950 AC_SUBST(DEPRECATED_CFLAGS)
1951
1952 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
1953 dnl at make time with e.g. make ERROR_CFLAGS=""
1954 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1955 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1956 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
1957 AC_SUBST(GST_OPTION_CFLAGS)
1958 AC_SUBST(GST_OPTION_CXXFLAGS)
1959 AC_SUBST(GST_OPTION_OBJCFLAGS)
1960
1961 dnl FIXME: do we want to rename to GST_ALL_* ?
1962 dnl prefer internal headers to already installed ones
1963 dnl also add builddir include for enumtypes and marshal
1964 dnl add GST_OPTION_CFLAGS, but overridable
1965 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
1966 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
1967 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
1968 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
1969 AC_SUBST(GST_CFLAGS)
1970 AC_SUBST(GST_CXXFLAGS)
1971 AC_SUBST(GST_OBJCFLAGS)
1972 AC_SUBST(GST_LIBS)
1973 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
1974 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
1975 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
1976 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
1977 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
1978 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
1979
1980 dnl LDFLAGS really should only contain flags, not libs - they get added before
1981 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1982 GST_ALL_LDFLAGS="-no-undefined"
1983 AC_SUBST(GST_ALL_LDFLAGS)
1984
1985 dnl GST_LIB_LDFLAGS
1986 dnl linker flags shared by all libraries
1987 dnl LDFLAGS modifier defining exported symbols from built libraries
1988 dnl (export _gst_foo but not __gst_foo)
1989 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
1990 AC_SUBST(GST_LIB_LDFLAGS)
1991
1992 dnl this really should only contain flags, not libs - they get added before
1993 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1994 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc.*' $GST_ALL_LDFLAGS"
1995 AC_SUBST(GST_PLUGIN_LDFLAGS)
1996
1997 dnl *** output files ***
1998
1999 dnl po/Makefile.in
2000
2001 AC_CONFIG_FILES(
2002 Makefile
2003 common/Makefile
2004 common/m4/Makefile
2005 gst-plugins-bad.spec
2006 gst/Makefile
2007 gst/adpcmdec/Makefile
2008 gst/adpcmenc/Makefile
2009 gst/aiff/Makefile
2010 gst/asfmux/Makefile
2011 gst/audiovisualizers/Makefile
2012 gst/autoconvert/Makefile
2013 gst/bayer/Makefile
2014 gst/camerabin2/Makefile
2015 gst/cdxaparse/Makefile
2016 gst/coloreffects/Makefile
2017 gst/dataurisrc/Makefile
2018 gst/dccp/Makefile
2019 gst/debugutils/Makefile
2020 gst/dtmf/Makefile
2021 gst/dvbsuboverlay/Makefile
2022 gst/dvdspu/Makefile
2023 gst/faceoverlay/Makefile
2024 gst/festival/Makefile
2025 gst/fieldanalysis/Makefile
2026 gst/freeze/Makefile
2027 gst/freeverb/Makefile
2028 gst/frei0r/Makefile
2029 gst/gaudieffects/Makefile
2030 gst/geometrictransform/Makefile
2031 gst/hdvparse/Makefile
2032 gst/hls/Makefile
2033 gst/id3tag/Makefile
2034 gst/inter/Makefile
2035 gst/interlace/Makefile
2036 gst/ivfparse/Makefile
2037 gst/jp2kdecimator/Makefile
2038 gst/jpegformat/Makefile
2039 gst/librfb/Makefile
2040 gst/liveadder/Makefile
2041 gst/mpegdemux/Makefile
2042 gst/mpegtsdemux/Makefile
2043 gst/mpegtsmux/Makefile
2044 gst/mpegtsmux/tsmux/Makefile
2045 gst/mpegpsmux/Makefile
2046 gst/mve/Makefile
2047 gst/mxf/Makefile
2048 gst/nsf/Makefile
2049 gst/nuvdemux/Makefile
2050 gst/patchdetect/Makefile
2051 gst/pcapparse/Makefile
2052 gst/pnm/Makefile
2053 gst/rawparse/Makefile
2054 gst/real/Makefile
2055 gst/removesilence/Makefile
2056 gst/rtpmux/Makefile
2057 gst/rtpvp8/Makefile
2058 gst/scaletempo/Makefile
2059 gst/sdi/Makefile
2060 gst/sdp/Makefile
2061 gst/segmentclip/Makefile
2062 gst/siren/Makefile
2063 gst/smooth/Makefile
2064 gst/speed/Makefile
2065 gst/subenc/Makefile
2066 gst/stereo/Makefile
2067 gst/tta/Makefile
2068 gst/videofilters/Makefile
2069 gst/videomeasure/Makefile
2070 gst/videoparsers/Makefile
2071 gst/videosignal/Makefile
2072 gst/vmnc/Makefile
2073 gst/y4m/Makefile
2074 gst-libs/Makefile
2075 gst-libs/gst/Makefile
2076 gst-libs/gst/basecamerabinsrc/Makefile
2077 gst-libs/gst/interfaces/Makefile
2078 gst-libs/gst/signalprocessor/Makefile
2079 gst-libs/gst/codecparsers/Makefile
2080 gst-libs/gst/video/Makefile
2081 sys/Makefile
2082 sys/dshowdecwrapper/Makefile
2083 sys/acmenc/Makefile
2084 sys/acmmp3dec/Makefile
2085 sys/applemedia/Makefile
2086 sys/avc/Makefile
2087 sys/d3dvideosink/Makefile
2088 sys/decklink/Makefile
2089 sys/directdraw/Makefile
2090 sys/directsound/Makefile
2091 sys/dshowsrcwrapper/Makefile
2092 sys/dshowvideosink/Makefile
2093 sys/dvb/Makefile
2094 sys/fbdev/Makefile
2095 sys/linsys/Makefile
2096 sys/osxvideo/Makefile
2097 sys/qtwrapper/Makefile
2098 sys/shm/Makefile
2099 sys/vcd/Makefile
2100 sys/vdpau/Makefile
2101 sys/vdpau/gstvdp/Makefile
2102 sys/vdpau/basevideodecoder/Makefile
2103 sys/pvr2d/Makefile
2104 sys/wasapi/Makefile
2105 sys/wininet/Makefile
2106 sys/winks/Makefile
2107 sys/winscreencap/Makefile
2108 tests/Makefile
2109 tests/check/Makefile
2110 tests/files/Makefile
2111 tests/examples/Makefile
2112 tests/examples/camerabin2/Makefile
2113 tests/examples/directfb/Makefile
2114 tests/examples/mxf/Makefile
2115 tests/examples/scaletempo/Makefile
2116 tests/examples/opencv/Makefile
2117 tests/icles/Makefile
2118 ext/voamrwbenc/Makefile
2119 ext/voaacenc/Makefile
2120 ext/assrender/Makefile
2121 ext/apexsink/Makefile
2122 ext/bz2/Makefile
2123 ext/cdaudio/Makefile
2124 ext/celt/Makefile
2125 ext/chromaprint/Makefile
2126 ext/cog/Makefile
2127 ext/curl/Makefile
2128 ext/dc1394/Makefile
2129 ext/dirac/Makefile
2130 ext/directfb/Makefile
2131 ext/wayland/Makefile
2132 ext/dts/Makefile
2133 ext/faac/Makefile
2134 ext/faad/Makefile
2135 ext/flite/Makefile
2136 ext/gsm/Makefile
2137 ext/jasper/Makefile
2138 ext/kate/Makefile
2139 ext/ladspa/Makefile
2140 ext/lv2/Makefile
2141 ext/libmms/Makefile
2142 ext/Makefile
2143 ext/modplug/Makefile
2144 ext/mpeg2enc/Makefile
2145 ext/mpg123/Makefile
2146 ext/mimic/Makefile
2147 ext/mplex/Makefile
2148 ext/musepack/Makefile
2149 ext/musicbrainz/Makefile
2150 ext/mythtv/Makefile
2151 ext/nas/Makefile
2152 ext/neon/Makefile
2153 ext/ofa/Makefile
2154 ext/openal/Makefile
2155 ext/opencv/Makefile
2156 ext/opus/Makefile
2157 ext/rsvg/Makefile
2158 ext/resindvd/Makefile
2159 ext/rtmp/Makefile
2160 ext/schroedinger/Makefile
2161 ext/sdl/Makefile
2162 ext/sndfile/Makefile
2163 ext/soundtouch/Makefile
2164 ext/spandsp/Makefile
2165 ext/sndio/Makefile
2166 ext/teletextdec/Makefile
2167 ext/gme/Makefile
2168 ext/gsettings/Makefile
2169 ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
2170 ext/spc/Makefile
2171 ext/swfdec/Makefile
2172 ext/timidity/Makefile
2173 ext/vp8/Makefile
2174 ext/xvid/Makefile
2175 ext/zbar/Makefile
2176 po/Makefile.in
2177 docs/Makefile
2178 docs/plugins/Makefile
2179 docs/libs/Makefile
2180 docs/version.entities
2181 pkgconfig/Makefile
2182 pkgconfig/gstreamer-plugins-bad.pc
2183 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
2184 pkgconfig/gstreamer-codecparsers.pc
2185 pkgconfig/gstreamer-codecparsers-uninstalled.pc
2186 pkgconfig/gstreamer-basevideo.pc
2187 pkgconfig/gstreamer-basevideo-uninstalled.pc
2188 tools/Makefile
2189 m4/Makefile
2190 win32/common/config.h
2191 )
2192 AC_OUTPUT
2193
2194 AG_GST_OUTPUT_PLUGINS
2195 ORC_OUTPUT
2196