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