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