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