videofiltersbad: port to 1.0
[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 # 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 \
325  videomeasure videosignal vmnc \
326  linsys vcd \
327  apexsink cdaudio dc1394 dirac directfb \
328  gsettings ladspa \
329  musepack musicbrainz nas neon ofa openal 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   PKG_CHECK_MODULES([BLUEZ], [bluez < 5.0], [
848     dnl FIXME: we should be able to replace this with the GLib DBus stuff
849     PKG_CHECK_MODULES([DBUS], [dbus-1], [HAVE_BLUEZ=yes], [HAVE_BLUEZ=no])
850   ], [
851     HAVE_BLUEZ=no
852   ])
853 ])
854
855 dnl *** OS X videosrc ***
856 translit(dnm, m, l) AM_CONDITIONAL(USE_OSX_VIDEO, true)
857 HAVE_OSX_VIDEO="no"
858 AG_GST_CHECK_FEATURE(OSX_VIDEO, [OSX video], osxvideosrc, [
859   AC_CHECK_TYPE([SeqGrabComponent], HAVE_OSX_VIDEO="yes", HAVE_OSX_VIDEO="no",
860       [#include <Quicktime/Quicktime.h>])
861 ])
862 dnl in case header Quicktime/Quicktime.h is found on other platforms
863 case "$host" in
864   *-*darwin*)
865     ;;
866   *)
867     HAVE_OSX_VIDEO="no"
868     ;;
869 esac
870
871 dnl *** OS/X AVCVideoServices ***
872 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
873 HAVE_AVC="no"
874 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
875   AC_LANG_PUSH([C++])
876   save_CPPFLAGS="$CPPFLAGS"
877   CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
878   save_LIBS="$LIBS"
879   LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
880   AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
881   LIBS=$save_LIBS
882   CPPFLAGS=$save_CPPFLAGS
883   AC_LANG_POP([C++])
884 ])
885 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
886 case "$host" in
887   *-*darwin*)
888     ;;
889   *)
890     HAVE_AVC="no"
891     ;;
892 esac
893
894 dnl check for QuickTime
895 translit(dnm, m, l) AM_CONDITIONAL(USE_QUICKTIME, true)
896 AG_GST_CHECK_FEATURE(QUICKTIME, [QuickTime wrapper], qtwrapper, [
897   AC_CHECK_TYPE([SampleReferenceRecord], HAVE_QUICKTIME="yes", HAVE_QUICKTIME="no",
898       [#include <Quicktime/Quicktime.h>])
899 ])
900
901 dnl check for shm_open (for shm plugin)
902 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
903 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
904     if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
905         case $host in
906         *-darwin* | *-macos10*)
907             AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
908             HAVE_SHM=yes
909             ;;
910         *)
911             AC_CHECK_LIB([rt], [shm_open],
912                 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
913                 #include <sys/socket.h>
914                     ]),
915                 HAVE_SHM=no)
916             AC_SUBST(SHM_LIBS, "-lrt")
917             ;;
918         esac
919     else
920         HAVE_SHM=no
921     fi
922 ])
923
924 dnl *** Video 4 Linux 2 ***
925 dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
926 dnl renamed to GST_V4L2 because of some conflict with kernel headers
927 translit(dnm, m, l) AM_CONDITIONAL(USE_MFC, true)
928 AG_GST_CHECK_FEATURE(MFC, [Multi Format Codec], mfc, [
929   AC_MSG_CHECKING([Checking for up to date v4l2 installation])
930   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
931 #include <sys/types.h>
932 #ifdef __sun /* Solaris */
933 #include <sys/types.h>
934 #include <sys/videodev2.h>
935 #elif __FreeBSD__
936 #include <linux/videodev2.h>
937 #else /* Linux */
938 #include <linux/types.h>
939 #define _LINUX_TIME_H
940 #define __user
941 #include <linux/videodev2.h>
942 #endif
943 #if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
944 #error too early v4l2 version or no v4l2 at all
945 #endif
946 #if !defined(V4L2_PIX_FMT_H264)
947 #error v4l2 version too old
948 #endif
949     ]], [[
950 return 0;
951     ]])],[
952       HAVE_MFC="yes"
953       AC_MSG_RESULT(yes)
954     ],[
955       HAVE_MFC="no"
956       AC_MSG_RESULT(no)
957
958       HAVE_VIDEODEV=no
959       AC_CHECK_HEADER(linux/videodev2.h, [ HAVE_VIDEODEV=yes ],
960       [
961         AC_CHECK_HEADER(sys/videodev2.h, [ HAVE_VIDEODEV=yes ])
962       ])
963
964       if test "x$HAVE_VIDEODEV" = "xyes"; then
965         AC_MSG_WARN([video4linux2 headers were found, but they're old.])
966         AC_MSG_WARN([Please update v4l2 to compile the MFC plugins])
967       else
968         AC_MSG_WARN([v4l2 was not found])
969       fi
970     ])
971 ])
972
973 dnl check for Video CD
974 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
975 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
976   AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
977 ])
978
979 dnl check for OpenSL ES
980 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
981 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
982   AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
983 ])
984
985 dnl *** UVC H264 ***
986 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
987 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
988   AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
989   AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
990   PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
991           AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
992           HAVE_GUDEV="yes" ],
993           [HAVE_GUDEV="no"])
994   PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
995           AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
996           HAVE_LIBUSB="yes" ],
997           [HAVE_LIBUSB="no"])
998   if test "x$HAVE_UVCVIDEO_H" == "xyes" && \
999      test "x$HAVE_GUDEV" == "xyes" && \
1000      test "x$HAVE_LIBUSB" == "xyes"; then
1001     HAVE_UVCH264=yes
1002   else
1003     HAVE_UVCH264=no
1004   fi
1005 ])
1006 AC_SUBST(LIBUDEV_CFLAGS)
1007 AC_SUBST(LIBUDEV_LIBS)
1008 AC_SUBST(LIBUSB_CFLAGS)
1009 AC_SUBST(LIBUSB_LIBS)
1010
1011
1012 dnl *** ext plug-ins ***
1013 dnl keep this list sorted alphabetically !
1014
1015 if test "x$BUILD_EXTERNAL" = "xyes"; then
1016
1017 dnl *** assrender ***
1018 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
1019 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
1020   PKG_CHECK_MODULES(ASSRENDER, libass >= 0.9.4, [
1021     HAVE_ASSRENDER="yes" ], [
1022     HAVE_ASSRENDER="no"
1023   ])
1024 ])
1025 AC_SUBST(ASSRENDER_CFLAGS)
1026 AC_SUBST(ASSRENDER_LIBS)
1027
1028 dnl *** vo-amrwbenc ***
1029 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
1030 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
1031   AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
1032 ])
1033
1034 dnl *** vo-aacenc ***
1035 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
1036 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
1037   AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
1038 ])
1039
1040 dnl *** apexsink ***
1041 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
1042 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
1043   PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5  libcrypto ], [
1044     HAVE_APEXSINK="yes"
1045     saved_LIBS="$LIBS"
1046     LIBS=""
1047     AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
1048     AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
1049     APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
1050     LIBS="$saved_LIBS"
1051     AC_SUBST(APEXSINK_CFLAGS)
1052     AC_SUBST(APEXSINK_LIBS)
1053   ], [
1054     APEXSINK="no"
1055   ])
1056 ])
1057
1058 dnl *** BZ2 ***
1059 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
1060 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
1061   AG_GST_CHECK_LIBHEADER(BZ2, bz2, BZ2_bzCompress, ,bzlib.h, BZ2_LIBS="-lbz2")
1062   AC_SUBST(BZ2_LIBS)
1063 ])
1064
1065 #dnl *** cairo ***
1066 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
1067 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
1068 #  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
1069 #    HAVE_CAIRO=no
1070 #  ])
1071 #  AC_SUBST(CAIRO_CFLAGS)
1072 #  AC_SUBST(CAIRO_LIBS)
1073 #])
1074
1075 dnl *** cdaudio ***
1076 translit(dnm, m, l) AM_CONDITIONAL(USE_CDAUDIO, true)
1077 AG_GST_CHECK_FEATURE(CDAUDIO, [cdaudio], cdaudio, [
1078   PKG_CHECK_MODULES(CDAUDIO, libcdaudio, [
1079           HAVE_CDAUDIO="yes"
1080   ], [
1081           HAVE_CDAUDIO="no"
1082   ])
1083   AC_SUBST(CDAUDIO_CFLAGS)
1084   AC_SUBST(CDAUDIO_LIBS)
1085 ])
1086
1087 dnl *** celt ***
1088 translit(dnm, m, l) AM_CONDITIONAL(USE_CELT, true)
1089 AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
1090   PKG_CHECK_MODULES(CELT, celt >= 0.5.0, [
1091           AC_DEFINE([HAVE_CELT], 1, [Define if libcelt 0.5 is installed])
1092           HAVE_CELT="yes"
1093   ], [
1094           HAVE_CELT="no"
1095   ])
1096
1097   PKG_CHECK_MODULES(CELT_0_7, celt >= 0.7.0, [
1098           AC_DEFINE([HAVE_CELT_0_7], 1, [Define if libcelt 0.7 is installed])
1099   ], [
1100           dnl to prevent an error
1101           true
1102   ])
1103
1104   PKG_CHECK_MODULES(CELT_0_8, celt >= 0.8.0, [
1105           AC_DEFINE([HAVE_CELT_0_8], 1, [Define if libcelt 0.8 is installed])
1106   ], [
1107           dnl to prevent an error
1108           true
1109   ])
1110
1111   PKG_CHECK_MODULES(CELT_0_11, celt >= 0.11.0, [
1112           AC_DEFINE([HAVE_CELT_0_11], 1, [Define if libcelt 0.11 is installed])
1113   ], [
1114           dnl to prevent an error
1115           true
1116   ])
1117   AC_SUBST(CELT_CFLAGS)
1118   AC_SUBST(CELT_LIBS)
1119 ])
1120
1121 dnl *** chromaprint ***
1122 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
1123 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
1124   PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
1125     HAVE_CHROMAPRINT="no"
1126   ])
1127   AC_SUBST(CHROMAPRINT_CFLAGS)
1128   AC_SUBST(CHROMAPRINT_LIBS)
1129 ])
1130
1131 dnl *** Curl ***
1132 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
1133 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
1134   PKG_CHECK_MODULES(CURL, libcurl >= 7.21.0, [
1135     HAVE_CURL="yes"
1136     AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/ip.h netinet/tcp.h fcntl.h], [ ], [
1137       AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
1138     ])
1139     AC_MSG_CHECKING([for socket support needed by curlsink])
1140     AC_MSG_RESULT($HAVE_CURL)
1141   ], [
1142     HAVE_CURL="no"
1143   ])
1144   AC_SUBST(CURL_CFLAGS)
1145   AC_SUBST(CURL_LIBS)
1146 ])
1147
1148 dnl *** dc1394  ***
1149 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
1150 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
1151    PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
1152         if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
1153                 HAVE_DC1394="yes"
1154         else
1155                 HAVE_DC1394="no"
1156         fi
1157    ], [
1158         HAVE_DC1394="no"
1159         AC_MSG_RESULT(no)
1160    ])
1161    AC_SUBST(LIBDC1394_CFLAGS)
1162    AC_SUBST(LIBDC1394_LIBS)
1163 ])
1164
1165 dnl *** decklink  ***
1166 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
1167 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
1168    HAVE_DECKLINK=no
1169    case "$host" in
1170      *-*linux*)
1171        if test "x$HAVE_PTHREAD_H" = "xyes"; then
1172          AC_CHECK_LIB(dl, dlopen,
1173            [
1174             HAVE_DECKLINK=yes
1175             DECKLINK_CXXFLAGS=
1176             DECKLINK_LIBS="-lpthread -ldl"
1177            ])
1178        fi
1179        ;;
1180      *-*darwin*)
1181        if test "x$HAVE_PTHREAD_H" = "xyes"; then
1182          AC_CHECK_LIB(dl, dlopen,
1183            [
1184             HAVE_DECKLINK=yes
1185             DECKLINK_CXXFLAGS=
1186             DECKLINK_LIBS="-lpthread -ldl"
1187             HAVE_DECKLINK_OSX=yes
1188            ])
1189        fi
1190        ;;
1191      *)
1192        HAVE_DECKLINK=no
1193        ;;
1194    esac
1195
1196    AC_SUBST(DECKLINK_CXXFLAGS)
1197    AC_SUBST(DECKLINK_LIBS)
1198 ])
1199 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
1200
1201 dnl **** DirectFB ****
1202 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
1203 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
1204   PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
1205     HAVE_DIRECTFB="no"
1206   ])
1207 ])
1208
1209 dnl **** Wayland ****
1210 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
1211 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
1212   PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.0.0, [
1213     HAVE_WAYLAND="yes" ], [ HAVE_WAYLAND="no"
1214   ])
1215 ])
1216
1217 dnl **** Dirac ****
1218 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRAC, true)
1219 AG_GST_CHECK_FEATURE(DIRAC, [dirac], dirac, [
1220   PKG_CHECK_MODULES(DIRAC, dirac >= 0.10, HAVE_DIRAC="yes", [
1221     HAVE_DIRAC="no"
1222   ])
1223 ])
1224
1225 dnl *** DTS ***
1226 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
1227 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
1228   HAVE_DTS="yes"
1229   AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
1230     DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
1231   if test $HAVE_DTS = "no"; then
1232     AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
1233       [ DTS_LIBS="-ldts_pic $LIBM"
1234         AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
1235       ])
1236   fi
1237   AC_SUBST(DTS_LIBS)
1238 ])
1239
1240 dnl *** resindvd ***
1241 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
1242 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
1243   PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
1244     HAVE_RESINDVD="no"
1245   ])
1246 ])
1247
1248 dnl **** Free AAC Encoder (FAAC) ****
1249 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
1250 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
1251   AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
1252     FAAC_LIBS="-lfaac $LIBM")
1253   AS_SCRUB_INCLUDE(FAAC_CFLAGS)
1254   AC_SUBST(FAAC_LIBS)
1255 ])
1256
1257 dnl **** Free AAC Decoder (FAAD) ****
1258 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
1259 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
1260   HAVE_FAAD="yes"
1261   faad_hdr=""
1262   AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, $LIBM, faad.h,
1263     FAAD_LIBS="-lfaad $LIBM", HAVE_FAAD="no")
1264   if test $HAVE_FAAD = "no"; then
1265     AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h,
1266       [ FAAD_LIBS="-lfaad $LIBM"
1267         AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
1268         faad_hdr="neaacdec.h"
1269       ], [
1270         HAVE_FAAD="no"
1271       ],)
1272   else
1273     faad_hdr="faad.h"
1274   fi
1275   if test $HAVE_FAAD = "yes"; then
1276     AC_MSG_CHECKING([Checking for FAAD >= 2.0])
1277     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
1278         #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
1279         #error Not faad2
1280         #else
1281         /* Release candidate of 2.0 is not good enough for us. This field
1282          * was added only in 2.0 final and does not exist in 2.0-RC3 */
1283         faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
1284         #endif
1285     ]])],[
1286       HAVE_FAAD="yes"
1287
1288       AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
1289       for minor in 10 9 8 7 6 5 0; do
1290         if test x$faad2_minor_version = "x"; then
1291           AC_EGREP_CPP([GST_CHECK_FAAD_VERSION \"2\.$minor\"], [
1292               #include <$faad_hdr>
1293               GST_CHECK_FAAD_VERSION FAAD2_VERSION
1294             ], [
1295               faad2_minor_version=$minor
1296             ])
1297         fi
1298       done
1299       if test x$faad2_minor_version = "x"; then
1300         AC_MSG_RESULT([no idea])
1301       else
1302         AC_MSG_RESULT([2.$faad2_minor_version])
1303         AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
1304       fi
1305     ],[
1306       HAVE_FAAD="no"
1307     ])
1308   fi
1309   AS_SCRUB_INCLUDE(FAAD_CFLAGS)
1310   AC_SUBST(FAAD_LIBS)
1311   AC_SUBST(FAAD_IS_NEAAC)
1312 ])
1313
1314 dnl *** fbdev ***
1315 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
1316 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
1317   if test "x$HAVE_FBDEV" != "xyes"; then
1318     AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
1319   fi
1320 ])
1321
1322 dnl *** flite ***
1323 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
1324 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
1325   AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
1326     FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
1327
1328   AC_SUBST(FLITE_CFLAGS)
1329   AC_SUBST(FLITE_LIBS)
1330 ])
1331
1332 dnl *** gsm ***
1333 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
1334 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
1335   AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
1336   if test $HAVE_GSM != "yes"; then
1337     AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
1338     if test $HAVE_GSM = "yes"; then
1339       AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
1340     fi
1341   fi
1342   AC_SUBST(GSM_LIBS)
1343 ])
1344
1345 dnl *** fluidSynth ***
1346 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
1347 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
1348   PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
1349     HAVE_FLUIDSYNTH="no"
1350   ])
1351 ])
1352
1353 dnl *** kate ***
1354 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
1355 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
1356   PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
1357     HAVE_KATE="no"
1358   ])
1359   AC_SUBST(KATE_CFLAGS)
1360   AC_SUBST(KATE_LIBS)
1361   PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
1362     [
1363       HAVE_TIGER="yes"
1364       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
1365     ],
1366     [
1367       HAVE_TIGER="no"
1368     ]
1369   )
1370   AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
1371   AC_SUBST(TIGER_CFLAGS)
1372   AC_SUBST(TIGER_LIBS)
1373 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
1374
1375 dnl *** ladspa ***
1376 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
1377 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
1378   AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
1379
1380   PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
1381   if test $HAVE_LRDF = "yes"; then
1382     AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
1383   fi
1384   AC_SUBST(LRDF_LIBS)
1385   AC_SUBST(LRDF_CFLAGS)
1386 ])
1387
1388 dnl *** LV2 ***
1389 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
1390 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
1391   PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
1392   AC_SUBST(SLV2_CFLAGS)
1393   AC_SUBST(SLV2_LIBS)
1394 ])
1395
1396 dnl *** libmms ***
1397 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
1398 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
1399   dnl check with pkg-config first
1400   PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
1401     HAVE_LIBMMS="no"
1402   ])
1403 ])
1404 AC_SUBST(LIBMMS_LIBS)
1405
1406
1407 dnl *** libsrtp ***
1408 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
1409 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
1410   HAVE_SRTP="yes"
1411   AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h,
1412     SRTP_LIBS="-lsrtp", HAVE_SRTP="no")
1413   AC_SUBST(SRTP_LIBS)
1414 ])
1415
1416 dnl *** linsys ***
1417 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
1418 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
1419   case "$host" in
1420     *-*linux*)
1421       HAVE_LINSYS=yes
1422       ;;
1423     *)
1424       HAVE_LINSYS=no
1425       ;;
1426   esac
1427 ])
1428
1429 dnl *** modplug ***
1430 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
1431 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
1432   if test "x$HAVE_CXX" != "xyes"; then
1433     AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
1434     HAVE_MODPLUG="no"
1435   else
1436     PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
1437   fi
1438   AC_SUBST(MODPLUG_CFLAGS)
1439   AC_SUBST(MODPLUG_LIBS)
1440 ])
1441
1442 dnl *** mimic ***
1443 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
1444 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
1445   MIMIC_REQUIRED=1.0
1446   PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
1447       HAVE_MIMIC=yes, HAVE_MIMIC=no)
1448   AC_SUBST(MIMIC_CFLAGS)
1449   AC_SUBST(MIMIC_LIBS)
1450 ])
1451
1452 dnl *** mjpegtools version info ***
1453 dnl some may prefer older version (given quirks above)
1454 dnl hm, no version info seems available within mjpegtools headers
1455 dnl and API really moves along
1456 echo
1457 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
1458   mjpegtools_api=10601
1459 ], [
1460   PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
1461     mjpegtools_api=10800
1462   ], [
1463     PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
1464       mjpegtools_api=20000
1465     ], [
1466       PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
1467         dnl logging API changed in release candidates
1468         OLD_CFLAGS="$CFLAGS"
1469         OLD_LIBS="$LIBS"
1470         CFLAGS="$MJPEG_CFLAGS"
1471         LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM -lpthread"
1472         AC_CHECK_FUNC(mjpeg_loglev_t, [
1473           mjpegtools_api=10903
1474           ], [
1475           mjpegtools_api=10900
1476           ])
1477         CFLAGS="$OLD_CFLAGS"
1478         LIBS="$OLD_LIBS"
1479       ], [
1480         mjpegtools_api=0
1481       ])
1482     ])
1483   ])
1484 ])
1485 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1486   [mjpegtools API evolution])
1487
1488 dnl *** mpeg2enc ***
1489 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1490 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1491   HAVE_MPEG2ENC="no"
1492   dnl we require a c++ compiler for this one
1493   if [ test x$HAVE_CXX = xyes ]; then
1494     dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1495     dnl since many distros include mjpegtools specifically without mplex
1496     dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1497     PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1498       dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1499       touch config.h
1500       dnl switch over to c++ to test things
1501       AC_LANG([C++])
1502       OLD_CPPFLAGS="$CPPFLAGS"
1503       dnl HACK as above
1504       CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1505       CPPFLAGS="$CPPFLAGS_GOOD -I."
1506       dnl check headers
1507       mpeg2enc_headers_ok=no
1508       AC_CHECK_HEADER([mpeg2encoder.hh], [
1509         MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM -lpthread"
1510         OLD_LIBS="$LIBS"
1511         LIBS="$LIBS $MPEG2ENC_LIBS"
1512         AC_MSG_CHECKING([for valid mpeg2enc objects])
1513         AC_RUN_IFELSE([AC_LANG_SOURCE([[
1514           #include <mpeg2encoder.hh>
1515           #include <mpeg2encoptions.hh>
1516
1517           int
1518           main (int   argc,
1519                 char *argv[])
1520           {
1521             MPEG2EncOptions *options = new MPEG2EncOptions ();
1522             MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1523             return 0;
1524           }
1525         ]])],[
1526           AC_MSG_RESULT(yes)
1527           dnl so far so good, let's check more things:
1528           dnl mjpegtools-1.8.0 does not install the required
1529           dnl mpeg2syntaxcodes.h header by default, and a new release
1530           dnl is not in sight, so check for this oversight in case
1531           dnl distros or folks have fixed this themselves
1532           if test "$mjpegtools_api" -ge "10800"; then
1533             AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1534                 mpeg2enc_headers_ok=yes
1535               ], [
1536                 mpeg2enc_headers_ok=no
1537               ])
1538           else
1539             mpeg2enc_headers_ok=yes
1540           fi
1541           if test "x$mpeg2enc_headers_ok" = "xyes"; then
1542             HAVE_MPEG2ENC="yes"
1543           fi
1544           CPPFLAGS="$CPPFLAGS_GOOD"
1545           AC_SUBST(MPEG2ENC_CFLAGS)
1546           AC_SUBST(MPEG2ENC_LIBS)
1547         ],[
1548           AC_MSG_RESULT(no)
1549         ],[])
1550         LIBS="$OLD_LIBS"
1551       ])
1552
1553       CPPFLAGS="$OLD_CPPFLAGS"
1554       AC_LANG([C])
1555     ], [
1556       HAVE_MPEG2ENC="no"
1557     ])
1558   fi
1559 ])
1560
1561 dnl *** mpg123 ***
1562 translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
1563 AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
1564   PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
1565   AC_SUBST(MPG123_CFLAGS)
1566   AC_SUBST(MPG123_LIBS)
1567 ])
1568
1569 dnl *** mplex ***
1570 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1571 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1572   HAVE_MPLEX="no"
1573   dnl we require a c++ compiler for this one
1574   if [ test x$HAVE_CXX = xyes ]; then
1575     dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1576     dnl since many distros include mjpegtools specifically without mplex
1577     dnl and mpeg2enc, we check for mplex on its own, too.
1578     dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1579     PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1580       dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
1581       touch config.h
1582       dnl switch over to c++ to test things
1583       AC_LANG([C++])
1584       OLD_CPPFLAGS="$CPPFLAGS"
1585       dnl HACK as above
1586       CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
1587       CPPFLAGS="$CPPFLAGS_GOOD -I."
1588       AC_CHECK_HEADER(interact.hpp, [
1589         MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
1590         OLD_LIBS="$LIBS"
1591         LIBS="$LIBS $MPLEX_LIBS"
1592         OLD_LDFLAGS="$LDFLAGS"
1593         LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
1594         dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1595         dnl don't want this here
1596         AC_MSG_CHECKING([for valid mplex objects])
1597         AC_RUN_IFELSE([AC_LANG_SOURCE([[
1598
1599 #include <interact.hpp>
1600 #include <outputstrm.hpp>
1601 #include <multiplexor.hpp>
1602 int
1603 main (int   argc,
1604       char *argv[])
1605 {
1606   class TestOutputStream : public OutputStream {
1607   public:
1608     TestOutputStream () : OutputStream () { }
1609     void Write (uint8_t *a, unsigned int b) { }
1610     void NextSegment () { }
1611     uint64_t SegmentSize () { }
1612     void Close () { }
1613     int Open () { }
1614 };
1615   MultiplexJob *job = new MultiplexJob ();
1616   vector<IBitStream *> inputs;
1617   job->SetupInputStreams (inputs);
1618   TestOutputStream *out = new TestOutputStream ();
1619   Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1620   return 0;
1621 }
1622         ]])],[
1623           HAVE_MPLEX="yes"
1624           CPPFLAGS="$CPPFLAGS_GOOD"
1625           AC_SUBST(MPLEX_CFLAGS)
1626           AC_SUBST(MPLEX_LIBS)
1627           AC_SUBST(MPLEX_LDFLAGS)
1628           AC_MSG_RESULT(yes)
1629         ],[AC_MSG_RESULT(no)],[])
1630         LIBS="$OLD_LIBS"
1631         LDFLAGS="$OLD_LDFLAGS"
1632       ])
1633       CPPFLAGS="$OLD_CPPFLAGS"
1634       AC_LANG([C])
1635     ], HAVE_MPLEX="no")
1636   fi
1637 ])
1638
1639 dnl *** musepack ***
1640 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1641 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1642   AC_CHECK_HEADER([mpc/mpcdec.h], [
1643     HAVE_MUSEPACK="yes"
1644     MUSEPACK_LIBS="-lmpcdec"
1645     AC_SUBST(MUSEPACK_LIBS)
1646     ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1647       HAVE_MUSEPACK="yes"
1648       MUSEPACK_LIBS="-lmpcdec"
1649       AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1650       AC_SUBST(MUSEPACK_LIBS)
1651     ], [HAVE_MUSEPACK="no"])])
1652 ])
1653
1654 dnl *** musicbrainz ***
1655 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSICBRAINZ, true)
1656 AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
1657   PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= 2.1.0, HAVE_MUSICBRAINZ="yes", HAVE_MUSICBRAINZ="no")
1658   AC_SUBST(MUSICBRAINZ_CFLAGS)
1659   AC_SUBST(MUSICBRAINZ_LIBS)
1660 ])
1661
1662 dnl *** MythTV ***
1663 translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
1664 AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
1665   PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.7.99, HAVE_MYTHTV="yes", [
1666     HAVE_MYTHTV="no"
1667   ])
1668   AC_SUBST(GMYTH_CFLAGS)
1669   AC_SUBST(GMYTH_LIBS)
1670 ])
1671
1672 dnl *** nas ***
1673 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
1674 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
1675   HAVE_NAS="no"
1676   AG_GST_CHECK_X
1677   if test "x$HAVE_X" = "xyes"; then
1678     save_cppflags=$CFLAGS
1679     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1680     AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
1681       NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
1682     CPPFLAGS="$save_cppflags"
1683   fi
1684   AC_SUBST(NAS_CFLAGS)
1685   AC_SUBST(NAS_LIBS)
1686 ])
1687
1688 dnl *** neon ***
1689 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1690 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1691   PKG_CHECK_MODULES(NEON, neon >= 0.27.0  neon <= 0.29.99, HAVE_NEON="yes", [
1692     HAVE_NEON="no"
1693   ])
1694   AC_SUBST(NEON_CFLAGS)
1695   AC_SUBST(NEON_LIBS)
1696 ])
1697
1698 dnl *** ofa ***
1699 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1700 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1701   PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1702     HAVE_OFA="no"
1703   ])
1704   AC_SUBST(OFA_CFLAGS)
1705   AC_SUBST(OFA_LIBS)
1706 ])
1707
1708 dnl *** OpenAL ***
1709 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
1710 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
1711   PKG_CHECK_MODULES(OPENAL, openal, HAVE_OPENAL="yes", [
1712     HAVE_OPENAL="no"
1713   ])
1714   AC_SUBST(OPENAL_CFLAGS)
1715   AC_SUBST(OPENAL_LIBS)
1716 ])
1717
1718 dnl *** opencv ***
1719 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
1720 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
1721   dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
1722   dnl and don't want the build to break when a new opencv version comes out.
1723   dnl Need to adjust this upwards once we know that our code compiles fine with
1724   dnl a new version and the no-backward-compatibility define. (There doesn't
1725   dnl seem to be a switch to suppress the warnings the cvcompat.h header
1726   dnl causes.)
1727   PKG_CHECK_MODULES(OPENCV, opencv >= 2.0.0 opencv <= 2.4.3 , [
1728     AC_PROG_CXX
1729     AC_LANG([C++])
1730     OLD_CPPFLAGS=$CPPFLAGS
1731     CPPFLAGS=$OPENCV_CFLAGS
1732     AC_CHECK_HEADERS([highgui.h opencv2/highgui/highgui_c.h])
1733     CPPFLAGS=$OLD_CPPFLAGS
1734     AC_LANG([C])
1735
1736     if test $ac_cv_header_highgui_h = "yes" -o $ac_cv_header_opencv2_highgui_highgui_c_h = "yes" ; then
1737       HAVE_OPENCV="yes"
1738     else
1739       AC_MSG_RESULT([neither highgui.h nor opencv2/highgui/highgui_c.h could not be found])
1740       HAVE_OPENCV="no"
1741     fi
1742   ], [
1743     HAVE_OPENCV="no"
1744   ])
1745   OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
1746   AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
1747   AC_SUBST(OPENCV_PREFIX)
1748   AC_SUBST(OPENCV_CFLAGS)
1749   AC_SUBST(OPENCV_LIBS)
1750 ])
1751
1752 dnl *** OpenJPEG ***
1753 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
1754 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
1755   HAVE_OPENJPEG="no"
1756   PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
1757     HAVE_OPENJPEG="yes",
1758     AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
1759   )
1760   AC_SUBST(OPENJPEG_CFLAGS)
1761   AC_SUBST(OPENJPEG_LIBS)
1762 ])
1763
1764 dnl *** Opus ***
1765 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
1766 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
1767   PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
1768           AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
1769           HAVE_OPUS="yes"
1770   ], [
1771           HAVE_OPUS="no"
1772   ])
1773   AC_SUBST(OPUS_CFLAGS)
1774   AC_SUBST(OPUS_LIBS)
1775 ])
1776
1777 dnl *** pvr ***
1778 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
1779 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
1780   PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
1781   AC_SUBST(PVR_CFLAGS)
1782   AC_SUBST(PVR_LIBS)
1783 ])
1784
1785  AC_ARG_WITH([pvr-external-headers],
1786               AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
1787               [AS_IF([test "x$with_pvr_external_headers" = "xno"],
1788                      [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
1789               [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
1790
1791 dnl *** rsvg ***
1792 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1793 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1794   PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36 cairo, [
1795     HAVE_RSVG="yes"
1796     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")
1797     if test "x$HAVE_RSVG_2_36_2" = "xyes"; then
1798       AC_DEFINE(HAVE_RSVG_2_36_2, [1], [Have RSVG 2.36.2 or newer])
1799     fi
1800   ], [
1801     HAVE_RSVG="no"
1802   ])
1803   AC_SUBST(RSVG_CFLAGS)
1804   AC_SUBST(RSVG_LIBS)
1805 ])
1806
1807 dnl *** eglgles ***
1808 translit(dnm, m, l) AM_CONDITIONAL(USE_EGLGLES, true)
1809 AG_GST_CHECK_FEATURE(EGLGLES, [eglgles sink], eglgles, [
1810   HAVE_EGLGLES="no"
1811
1812   if test x"$HAVE_EGL" = x"yes"; then
1813       PKG_CHECK_MODULES(EGLGLES, egl glesv2, HAVE_EGLGLES="yes", [
1814         HAVE_EGLGLES="no"
1815         old_LIBS=$LIBS
1816         old_CFLAGS=$CFLAGS
1817
1818         LIBS="$LIBS $EGL_LIBS"
1819         CFLAGS="$CFLAGS $EGL_CFLAGS"
1820         AC_CHECK_LIB([GLESv2], [glEnable],
1821           [
1822             AC_CHECK_HEADER([GLES2/gl2.h],
1823               [
1824                  HAVE_EGLGLES="yes"
1825                  EGLGLES_LIBS="-lGLESv2"
1826                  EGLGLES_CFLAGS=""
1827               ])
1828           ])
1829         LIBS=$old_LIBS
1830         CFLAGS=$old_CFLAGS
1831       ])
1832   fi
1833
1834   AC_SUBST(EGLGLES_CFLAGS)
1835   AC_SUBST(EGLGLES_LIBS)
1836 ])
1837
1838 dnl *** timidity ***
1839 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1840 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1841   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1842     HAVE_TIMIDITY="yes",
1843         AC_MSG_CHECKING([for timidity.cfg])
1844         timidity_cfg=""
1845         if test -r /etc/timidity.cfg; then
1846           timidity_cfg=/etc/timidity.cfg
1847         elif test -r /etc/timidity/timidity.cfg; then
1848           timidity_cfg=/etc/timidity/timidity.cfg
1849         elif test -r /usr/share/timidity/timidity.cfg; then
1850           timidity_cfg=/usr/share/timidity/timidity.cfg
1851         elif test -r /usr/local/share/timidity/timidity.cfg; then
1852           timidity_cfg=/usr/local/share/timidity/timidity.cfg
1853         fi
1854         if test "x$timidity_cfg" != "x"; then
1855           AC_MSG_RESULT($timidity_cfg)
1856       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1857         else
1858           AC_MSG_RESULT([not found])
1859         fi
1860   ], [
1861     HAVE_TIMIDITY="no"
1862   ])
1863   AC_SUBST(TIMIDITY_CFLAGS)
1864   AC_SUBST(TIMIDITY_LIBS)
1865 ])
1866
1867 dnl *** teletextdec ***
1868 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
1869 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
1870   AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
1871  ])
1872
1873 dnl *** wildmidi ***
1874 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1875 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1876   AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
1877                          WildMidi_Init, ,
1878                          wildmidi_lib.h,
1879                          WILDMIDI_LIBS="-lWildMidi")
1880   AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
1881
1882   if test "x$HAVE_WILDMIDI" = "xyes"; then
1883          WILDMIDI_CFLAGS=
1884          WILDMIDI_LIBS=-lWildMidi
1885          AC_MSG_NOTICE(compiling gstWildMidi)
1886   else
1887          WILDMIDI_CFLAGS=
1888          WILDMIDI_LIBS=
1889          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1890   fi
1891   AC_SUBST(WILDMIDI_CFLAGS)
1892   AC_SUBST(WILDMIDI_LIBS)
1893 ])
1894
1895 dnl *** SDL ***
1896 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1897 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1898     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1899 ])
1900
1901 dnl *** sndfile ***
1902 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1903 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1904   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1905   AC_SUBST(SNDFILE_CFLAGS)
1906   AC_SUBST(SNDFILE_LIBS)
1907 ])
1908
1909 dnl *** soundtouch ***
1910 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1911 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1912   dnl We only need -lBPM on soundtouch < 1.4
1913   dnl We check for libSoundTouch since Debian used it before upstream
1914   dnl added a pkgconfig file.
1915   HAVE_SOUNDTOUCH_1_4=yes
1916   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
1917     [HAVE_SOUNDTOUCH=yes],
1918     [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1919       [HAVE_SOUNDTOUCH=yes],
1920       [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1921         [HAVE_SOUNDTOUCH=yes
1922           HAVE_SOUNDTOUCH_1_4=no
1923           SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1924         [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1925           [HAVE_SOUNDTOUCH=yes],
1926           [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1927             [HAVE_SOUNDTOUCH=yes
1928               HAVE_SOUNDTOUCH_1_4=no
1929               SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1930             HAVE_SOUNDTOUCH=no)])])])])
1931   AC_SUBST(SOUNDTOUCH_CFLAGS)
1932   AC_SUBST(SOUNDTOUCH_LIBS)
1933   if test "x$HAVE_CXX" != "xyes"; then
1934     USE_SOUNDTOUCH=false
1935     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1936   fi
1937   if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1938      AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1939          [Defined if the available libSoundTouch is >= 1.4])
1940   fi
1941 ])
1942
1943 dnl *** spc ***
1944 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1945 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1946   AC_CHECK_HEADER(openspc.h, [
1947     AC_CHECK_LIB(openspc, OSPC_Init, [
1948       SPC_LIBS="-lopenspc"
1949       AC_SUBST(SPC_LIBS)
1950       HAVE_SPC=yes
1951     ], [
1952       HAVE_SPC=no
1953     ])
1954   ], [
1955     HAVE_SPC=no
1956   ])
1957 ])
1958
1959 dnl *** gme ***
1960 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1961 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
1962   AC_CHECK_HEADER(gme/gme.h, [
1963     AC_CHECK_LIB(gme, gme_new_emu, [
1964       GME_LIBS="-lgme"
1965       AC_SUBST(GME_LIBS)
1966       HAVE_GME=yes
1967     ], [
1968       HAVE_GME=no
1969     ])
1970   ], [
1971     HAVE_GME=no
1972   ])
1973
1974   if test "x$HAVE_GME" = "xyes"; then
1975     AC_CHECK_LIB(gme, gme_enable_accuracy, [
1976       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
1977       ])
1978   fi
1979 ])
1980
1981 dnl *** XVID ***
1982 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
1983 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
1984   HAVE_XVID=no
1985   AC_CHECK_HEADER(xvid.h, [
1986     OLD_LIBS="$LIBS"
1987     LIBS="-lpthread $LIBM"
1988     AC_CHECK_LIB(xvidcore, xvid_encore, [
1989       AC_CHECK_LIB(xvidcore, xvid_decore, [
1990         AC_CHECK_LIB(xvidcore, xvid_global, [
1991           AC_MSG_CHECKING([for uptodate XviD API version])
1992           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
1993               #if XVID_API_MAJOR(XVID_API) != 4
1994               #error "Incompatible XviD API version"
1995               #endif
1996               #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
1997               #error "Incompatible XviD API version"
1998               #endif
1999           ]])],[ AC_MSG_RESULT(yes)
2000             XVID_LIBS="-lxvidcore $LIBM"
2001             AC_SUBST(XVID_LIBS)
2002             HAVE_XVID=yes
2003           ],[AC_MSG_RESULT(no) ])
2004         ], )
2005       ], )
2006     ], )
2007     LIBS="$OLD_LIBS"
2008   ], )
2009 ])
2010
2011 dnl *** dvb ***
2012 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
2013 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
2014   AC_MSG_CHECKING([Checking for up to date dvb installation])
2015   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
2016 ])
2017
2018 dnl *** wininet ***
2019 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
2020 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
2021   AC_MSG_CHECKING([Checking for windows internet support])
2022   AC_CHECK_HEADERS([windows.h wininet.h],
2023       [HAVE_WININET="yes"], [HAVE_WININET="no"],
2024       [AC_INCLUDES_DEFAULT
2025 #include <windows.h>])
2026 ])
2027
2028 dnl *** acm ***
2029 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
2030 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
2031   AC_MSG_CHECKING([Checking for ACM support])
2032   AC_CHECK_HEADERS([windows.h msacm.h],
2033       [HAVE_ACM="yes"
2034        AC_SUBST(ACMENC_CFLAGS)
2035        AC_SUBST(ACMMP3DEC_CFLAGS)
2036       ], [HAVE_ACM="no"],
2037       [AC_INCLUDES_DEFAULT
2038 #include <windows.h>])
2039 ])
2040
2041 dnl *** vdpau ***
2042 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
2043 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
2044   VDPAU_CFLAGS=
2045   VDPAU_LIBS=-lvdpau
2046   HAVE_VDPAU=no
2047
2048   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
2049   [
2050     if test "$HAVE_VDPAU" = "no"; then
2051       saved_CPPFLAGS="$CPPFLAGS"
2052       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2053
2054       if test -z "$HAVE_VDPAU_H"; then
2055         dnl Didn't find VDPAU header straight away.
2056         dnl Try /usr/include/nvidia. Need to clear caching vars first
2057         AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
2058         unset ac_cv_header_vdpau_vdpau_h
2059         unset ac_cv_header_vdpau_vdpau_x11_h
2060         VDPAU_CFLAGS="-I/usr/include/nvidia"
2061         VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
2062         CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
2063         AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2064       fi
2065
2066       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
2067
2068       if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
2069         dnl Found the headers - look for the lib
2070         AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
2071         saved_LIBS="$LIBS"
2072         LIBS="$VDPAU_LIBS $saved_LIBS"
2073         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
2074         LIBS="$saved_LIBS"
2075       fi
2076     fi
2077   ])
2078
2079   if test "$HAVE_VDPAU" = "yes"; then
2080     AC_MSG_NOTICE([Found up to date VDPAU installation])
2081     AC_SUBST(VDPAU_CFLAGS)
2082     AC_SUBST(VDPAU_LIBS)
2083   fi
2084 ])
2085
2086 dnl *** sbc ***
2087 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
2088 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
2089   AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
2090 ])
2091
2092 dnl *** schroedinger ***
2093 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
2094 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
2095   AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
2096 ])
2097
2098 dnl *** zbar ***
2099 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
2100 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
2101   AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
2102 ])
2103
2104 dnl *** rtmp ***
2105 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
2106 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
2107   AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
2108 ])
2109
2110 dnl *** spandsp ***
2111 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
2112 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
2113   PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
2114     HAVE_SPANDSP="yes" ], [
2115     HAVE_SPANDSP="no"
2116   ])
2117 ])
2118 AC_SUBST(SPANDSP_CFLAGS)
2119 AC_SUBST(SPANDSP_LIBS)
2120
2121 dnl *** GSettings ***
2122 translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
2123 AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
2124   AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
2125   if test "x$HAVE_GSETTINGS" = "xyes"; then
2126     GLIB_GSETTINGS
2127   fi
2128 ])
2129
2130 dnl *** sndio ***
2131 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
2132 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
2133   AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
2134   if test "x$HAVE_SNDIO" = "xyes"; then
2135     AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
2136     if test "x$HAVE_SNDIO" = "xyes"; then
2137       SNDIO_LIBS=-lsndio
2138       AC_SUBST(SNDIO_LIBS)
2139     fi
2140   fi
2141 ])
2142
2143 dnl *** hls ***
2144 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
2145 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
2146   PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11.3, [ HAVE_HLS="yes" ], [ HAVE_HLS="no" ])
2147 ])
2148
2149 else
2150
2151 dnl not building plugins with external dependencies,
2152 dnl but we still need to set the conditionals
2153
2154 AM_CONDITIONAL(USE_ASSRENDER, false)
2155 AM_CONDITIONAL(USE_VOAMRWBENC, false)
2156 AM_CONDITIONAL(USE_VOAACENC, false)
2157 AM_CONDITIONAL(USE_APEXSINK, false)
2158 AM_CONDITIONAL(USE_BZ2, false)
2159 AM_CONDITIONAL(USE_CDAUDIO, false)
2160 AM_CONDITIONAL(USE_CELT, false)
2161 AM_CONDITIONAL(USE_CHROMAPRINT, false)
2162 AM_CONDITIONAL(USE_CURL, false)
2163 AM_CONDITIONAL(USE_DC1394, false)
2164 AM_CONDITIONAL(USE_DECKLINK, false)
2165 AM_CONDITIONAL(DECKLINK_OSX, false)
2166 AM_CONDITIONAL(USE_DIRECTFB, false)
2167 AM_CONDITIONAL(USE_WAYLAND, false)
2168 AM_CONDITIONAL(USE_DIRAC, false)
2169 AM_CONDITIONAL(USE_DTS, false)
2170 AM_CONDITIONAL(USE_EXIF, false)
2171 AM_CONDITIONAL(USE_RESINDVD, false)
2172 AM_CONDITIONAL(USE_FAAC, false)
2173 AM_CONDITIONAL(USE_FAAD, false)
2174 AM_CONDITIONAL(USE_FBDEV, false)
2175 AM_CONDITIONAL(USE_FLITE, false)
2176 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
2177 AM_CONDITIONAL(USE_GSM, false)
2178 AM_CONDITIONAL(USE_HLS, false)
2179 AM_CONDITIONAL(USE_KATE, false)
2180 AM_CONDITIONAL(USE_TIGER, false)
2181 AM_CONDITIONAL(USE_LADSPA, false)
2182 AM_CONDITIONAL(USE_LV2, false)
2183 AM_CONDITIONAL(USE_LIBMMS, false)
2184 AM_CONDITIONAL(USE_LINSYS, false)
2185 AM_CONDITIONAL(USE_MODPLUG, false)
2186 AM_CONDITIONAL(USE_MIMIC, false)
2187 AM_CONDITIONAL(USE_MPEG2ENC, false)
2188 AM_CONDITIONAL(USE_MPG123, false)
2189 AM_CONDITIONAL(USE_MPLEX, false)
2190 AM_CONDITIONAL(USE_MUSEPACK, false)
2191 AM_CONDITIONAL(USE_MUSICBRAINZ, false)
2192 AM_CONDITIONAL(USE_MYTHTV, false)
2193 AM_CONDITIONAL(USE_NAS, false)
2194 AM_CONDITIONAL(USE_NEON, false)
2195 AM_CONDITIONAL(USE_OFA, false)
2196 AM_CONDITIONAL(USE_OPENAL, false)
2197 AM_CONDITIONAL(USE_OPENCV, false)
2198 AM_CONDITIONAL(USE_OPENJPEG, false)
2199 AM_CONDITIONAL(USE_OPUS, false)
2200 AM_CONDITIONAL(USE_PVR, false)
2201 AM_CONDITIONAL(USE_RSVG, false)
2202 AM_CONDITIONAL(USE_TIMIDITY, false)
2203 AM_CONDITIONAL(USE_WILDMIDI, false)
2204 AM_CONDITIONAL(USE_SDL, false)
2205 AM_CONDITIONAL(USE_SNDFILE, false)
2206 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
2207 AM_CONDITIONAL(USE_SPANDSP, false)
2208 AM_CONDITIONAL(USE_SPC, false)
2209 AM_CONDITIONAL(USE_SRTP, false)
2210 AM_CONDITIONAL(USE_GME, false)
2211 AM_CONDITIONAL(USE_GSETTINGS, false)
2212 AM_CONDITIONAL(USE_XVID, false)
2213 AM_CONDITIONAL(USE_DVB, false)
2214 AM_CONDITIONAL(USE_WININET, false)
2215 AM_CONDITIONAL(USE_ACM, false)
2216 AM_CONDITIONAL(USE_VDPAU, false)
2217 AM_CONDITIONAL(USE_SCHRO, false)
2218 AM_CONDITIONAL(USE_ZBAR, false)
2219 AM_CONDITIONAL(USE_RTMP, false)
2220 AM_CONDITIONAL(USE_TELETEXTDEC, false)
2221 AM_CONDITIONAL(USE_SNDIO, false)
2222 AM_CONDITIONAL(USE_UVCH264, false)
2223
2224 fi dnl of EXT plugins
2225
2226 dnl *** finalize CFLAGS, LDFLAGS, LIBS
2227
2228 dnl Overview:
2229 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
2230 dnl GST_*:              flags shared by built objects to link against GStreamer
2231 dnl GST_ALL_LDFLAGS:    linker flags shared by all
2232 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
2233 dnl GST_LT_LDFLAGS:     library versioning of our libraries
2234 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
2235
2236 dnl GST_OPTION_CFLAGS
2237 if test "x$USE_DEBUG" = xyes; then
2238    PROFILE_CFLAGS="-g"
2239 fi
2240 AC_SUBST(PROFILE_CFLAGS)
2241
2242 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
2243   dnl Define _only_ during CVS (not pre-releases or releases)
2244   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
2245 else
2246   DEPRECATED_CFLAGS=""
2247 fi
2248 AC_SUBST(DEPRECATED_CFLAGS)
2249
2250 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
2251 dnl at make time with e.g. make ERROR_CFLAGS=""
2252 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2253 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2254 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2255 AC_SUBST(GST_OPTION_CFLAGS)
2256 AC_SUBST(GST_OPTION_CXXFLAGS)
2257 AC_SUBST(GST_OPTION_OBJCFLAGS)
2258
2259 dnl FIXME: do we want to rename to GST_ALL_* ?
2260 dnl prefer internal headers to already installed ones
2261 dnl also add builddir include for enumtypes and marshal
2262 dnl add GST_OPTION_CFLAGS, but overridable
2263 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
2264 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
2265 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
2266 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
2267 AC_SUBST(GST_CFLAGS)
2268 AC_SUBST(GST_CXXFLAGS)
2269 AC_SUBST(GST_OBJCFLAGS)
2270 AC_SUBST(GST_LIBS)
2271 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2272 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2273 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2274 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
2275 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
2276 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
2277
2278 dnl LDFLAGS really should only contain flags, not libs - they get added before
2279 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2280 GST_ALL_LDFLAGS="-no-undefined"
2281 AC_SUBST(GST_ALL_LDFLAGS)
2282
2283 dnl GST_LIB_LDFLAGS
2284 dnl linker flags shared by all libraries
2285 dnl LDFLAGS modifier defining exported symbols from built libraries
2286 dnl (export _gst_foo but not __gst_foo)
2287 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
2288 AC_SUBST(GST_LIB_LDFLAGS)
2289
2290 dnl this really should only contain flags, not libs - they get added before
2291 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2292 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc.*' $GST_ALL_LDFLAGS"
2293 AC_SUBST(GST_PLUGIN_LDFLAGS)
2294
2295 dnl *** output files ***
2296
2297 dnl po/Makefile.in
2298
2299 AC_CONFIG_FILES(
2300 Makefile
2301 common/Makefile
2302 common/m4/Makefile
2303 gst-plugins-bad.spec
2304 gst/Makefile
2305 gst/accurip/Makefile
2306 gst/adpcmdec/Makefile
2307 gst/adpcmenc/Makefile
2308 gst/aiff/Makefile
2309 gst/asfmux/Makefile
2310 gst/audiovisualizers/Makefile
2311 gst/autoconvert/Makefile
2312 gst/bayer/Makefile
2313 gst/camerabin2/Makefile
2314 gst/cdxaparse/Makefile
2315 gst/coloreffects/Makefile
2316 gst/dataurisrc/Makefile
2317 gst/dccp/Makefile
2318 gst/debugutils/Makefile
2319 gst/dvbsuboverlay/Makefile
2320 gst/dvdspu/Makefile
2321 gst/faceoverlay/Makefile
2322 gst/festival/Makefile
2323 gst/fieldanalysis/Makefile
2324 gst/freeverb/Makefile
2325 gst/frei0r/Makefile
2326 gst/gaudieffects/Makefile
2327 gst/geometrictransform/Makefile
2328 gst/gdp/Makefile
2329 gst/hdvparse/Makefile
2330 gst/id3tag/Makefile
2331 gst/inter/Makefile
2332 gst/interlace/Makefile
2333 gst/ivfparse/Makefile
2334 gst/ivtc/Makefile
2335 gst/jp2kdecimator/Makefile
2336 gst/jpegformat/Makefile
2337 gst/librfb/Makefile
2338 gst/liveadder/Makefile
2339 gst/midi/Makefile
2340 gst/mpegdemux/Makefile
2341 gst/mpegtsdemux/Makefile
2342 gst/mpegtsmux/Makefile
2343 gst/mpegtsmux/tsmux/Makefile
2344 gst/mpegpsmux/Makefile
2345 gst/mve/Makefile
2346 gst/mxf/Makefile
2347 gst/nsf/Makefile
2348 gst/nuvdemux/Makefile
2349 gst/patchdetect/Makefile
2350 gst/pcapparse/Makefile
2351 gst/pnm/Makefile
2352 gst/rawparse/Makefile
2353 gst/real/Makefile
2354 gst/removesilence/Makefile
2355 gst/sdi/Makefile
2356 gst/sdp/Makefile
2357 gst/segmentclip/Makefile
2358 gst/siren/Makefile
2359 gst/smooth/Makefile
2360 gst/speed/Makefile
2361 gst/subenc/Makefile
2362 gst/stereo/Makefile
2363 gst/tta/Makefile
2364 gst/videofilters/Makefile
2365 gst/videomeasure/Makefile
2366 gst/videoparsers/Makefile
2367 gst/videosignal/Makefile
2368 gst/vmnc/Makefile
2369 gst/y4m/Makefile
2370 gst/yadif/Makefile
2371 gst-libs/Makefile
2372 gst-libs/gst/Makefile
2373 gst-libs/gst/basecamerabinsrc/Makefile
2374 gst-libs/gst/egl/Makefile
2375 gst-libs/gst/insertbin/Makefile
2376 gst-libs/gst/interfaces/Makefile
2377 gst-libs/gst/signalprocessor/Makefile
2378 gst-libs/gst/codecparsers/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/pvr2d/Makefile
2405 sys/wasapi/Makefile
2406 sys/wininet/Makefile
2407 sys/winks/Makefile
2408 sys/winscreencap/Makefile
2409 tests/Makefile
2410 tests/check/Makefile
2411 tests/files/Makefile
2412 tests/examples/Makefile
2413 tests/examples/camerabin2/Makefile
2414 tests/examples/directfb/Makefile
2415 tests/examples/mxf/Makefile
2416 tests/examples/opencv/Makefile
2417 tests/examples/uvch264/Makefile
2418 tests/icles/Makefile
2419 ext/voamrwbenc/Makefile
2420 ext/voaacenc/Makefile
2421 ext/assrender/Makefile
2422 ext/apexsink/Makefile
2423 ext/bz2/Makefile
2424 ext/cdaudio/Makefile
2425 ext/celt/Makefile
2426 ext/chromaprint/Makefile
2427 ext/curl/Makefile
2428 ext/dc1394/Makefile
2429 ext/dirac/Makefile
2430 ext/directfb/Makefile
2431 ext/wayland/Makefile
2432 ext/dts/Makefile
2433 ext/eglgles/Makefile
2434 ext/faac/Makefile
2435 ext/faad/Makefile
2436 ext/flite/Makefile
2437 ext/fluidsynth/Makefile
2438 ext/gsm/Makefile
2439 ext/hls/Makefile
2440 ext/kate/Makefile
2441 ext/ladspa/Makefile
2442 ext/lv2/Makefile
2443 ext/libmms/Makefile
2444 ext/Makefile
2445 ext/modplug/Makefile
2446 ext/mpeg2enc/Makefile
2447 ext/mpg123/Makefile
2448 ext/mimic/Makefile
2449 ext/mplex/Makefile
2450 ext/musepack/Makefile
2451 ext/musicbrainz/Makefile
2452 ext/mythtv/Makefile
2453 ext/nas/Makefile
2454 ext/neon/Makefile
2455 ext/ofa/Makefile
2456 ext/openal/Makefile
2457 ext/opencv/Makefile
2458 ext/openjpeg/Makefile
2459 ext/opus/Makefile
2460 ext/rsvg/Makefile
2461 ext/resindvd/Makefile
2462 ext/rtmp/Makefile
2463 ext/sbc/Makefile
2464 ext/schroedinger/Makefile
2465 ext/sdl/Makefile
2466 ext/sndfile/Makefile
2467 ext/soundtouch/Makefile
2468 ext/spandsp/Makefile
2469 ext/sndio/Makefile
2470 ext/srtp/Makefile
2471 ext/teletextdec/Makefile
2472 ext/gme/Makefile
2473 ext/gsettings/Makefile
2474 ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
2475 ext/spc/Makefile
2476 ext/timidity/Makefile
2477 ext/xvid/Makefile
2478 ext/zbar/Makefile
2479 po/Makefile.in
2480 docs/Makefile
2481 docs/plugins/Makefile
2482 docs/libs/Makefile
2483 docs/version.entities
2484 pkgconfig/Makefile
2485 pkgconfig/gstreamer-plugins-bad.pc
2486 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
2487 pkgconfig/gstreamer-codecparsers.pc
2488 pkgconfig/gstreamer-codecparsers-uninstalled.pc
2489 pkgconfig/gstreamer-insertbin.pc
2490 pkgconfig/gstreamer-insertbin-uninstalled.pc
2491 pkgconfig/gstreamer-egl.pc
2492 pkgconfig/gstreamer-egl-uninstalled.pc
2493 tools/Makefile
2494 m4/Makefile
2495 win32/common/config.h
2496 )
2497 AC_OUTPUT
2498
2499 AG_GST_OUTPUT_PLUGINS
2500 ORC_OUTPUT
2501