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