avfvideosrc: fix build with older SDK not supporting AVDeviceFormat
[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 jp2kdecimator \
342  mve mythtv nuvdemux \
343  patchdetect real \
344  sdi stereo tta \
345  videomeasure videosignal vmnc \
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 *** OpenJPEG ***
1770 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
1771 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
1772   HAVE_OPENJPEG="no"
1773   
1774   AG_GST_CHECK_LIBHEADER(OPENJPEG, openjp2, opj_version, ,openjpeg-2.0/openjpeg.h, OPENJPEG_LIBS="-lopenjp2")
1775   if test x"$HAVE_OPENJPEG" = x"no"; then
1776     PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
1777       HAVE_OPENJPEG="yes",
1778       AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
1779     )
1780     if test x"$HAVE_OPENJPEG" = x"yes"; then
1781       AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
1782     fi
1783   fi
1784   AC_SUBST(OPENJPEG_CFLAGS)
1785   AC_SUBST(OPENJPEG_LIBS)
1786 ])
1787
1788 dnl *** Opus ***
1789 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
1790 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
1791   PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
1792           AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
1793           HAVE_OPUS="yes"
1794   ], [
1795           HAVE_OPUS="no"
1796   ])
1797   AC_SUBST(OPUS_CFLAGS)
1798   AC_SUBST(OPUS_LIBS)
1799 ])
1800
1801 dnl *** pvr ***
1802 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
1803 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
1804   PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
1805   AC_SUBST(PVR_CFLAGS)
1806   AC_SUBST(PVR_LIBS)
1807 ])
1808
1809  AC_ARG_WITH([pvr-external-headers],
1810               AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
1811               [AS_IF([test "x$with_pvr_external_headers" = "xno"],
1812                      [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
1813               [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
1814
1815 dnl *** rsvg ***
1816 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1817 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1818   PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36 cairo, [
1819     HAVE_RSVG="yes"
1820     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")
1821     if test "x$HAVE_RSVG_2_36_2" = "xyes"; then
1822       AC_DEFINE(HAVE_RSVG_2_36_2, [1], [Have RSVG 2.36.2 or newer])
1823     fi
1824   ], [
1825     HAVE_RSVG="no"
1826   ])
1827   AC_SUBST(RSVG_CFLAGS)
1828   AC_SUBST(RSVG_LIBS)
1829 ])
1830
1831 dnl *** eglgles ***
1832 translit(dnm, m, l) AM_CONDITIONAL(USE_EGLGLES, true)
1833 AG_GST_CHECK_FEATURE(EGLGLES, [eglgles sink], eglgles, [
1834   HAVE_EGLGLES="no"
1835
1836   if test x"$HAVE_EGL" = x"yes"; then
1837       PKG_CHECK_MODULES(EGLGLES, egl glesv2, HAVE_EGLGLES="yes", [
1838         HAVE_EGLGLES="no"
1839         old_LIBS=$LIBS
1840         old_CFLAGS=$CFLAGS
1841
1842         LIBS="$LIBS $EGL_LIBS"
1843         CFLAGS="$CFLAGS $EGL_CFLAGS"
1844         AC_CHECK_LIB([GLESv2], [glEnable],
1845           [
1846             AC_CHECK_HEADER([GLES2/gl2.h],
1847               [
1848                  HAVE_EGLGLES="yes"
1849                  EGLGLES_LIBS="-lGLESv2"
1850                  EGLGLES_CFLAGS=""
1851               ])
1852           ])
1853         LIBS=$old_LIBS
1854         CFLAGS=$old_CFLAGS
1855       ])
1856   elif test x"$HAVE_IOS" = x"yes"; then
1857       HAVE_EGLGLES="yes"
1858   fi
1859
1860   AC_SUBST(EGLGLES_CFLAGS)
1861   AC_SUBST(EGLGLES_LIBS)
1862 ])
1863
1864 dnl *** timidity ***
1865 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
1866 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
1867   PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
1868     HAVE_TIMIDITY="yes",
1869         AC_MSG_CHECKING([for timidity.cfg])
1870         timidity_cfg=""
1871         if test -r /etc/timidity.cfg; then
1872           timidity_cfg=/etc/timidity.cfg
1873         elif test -r /etc/timidity/timidity.cfg; then
1874           timidity_cfg=/etc/timidity/timidity.cfg
1875         elif test -r /usr/share/timidity/timidity.cfg; then
1876           timidity_cfg=/usr/share/timidity/timidity.cfg
1877         elif test -r /usr/local/share/timidity/timidity.cfg; then
1878           timidity_cfg=/usr/local/share/timidity/timidity.cfg
1879         fi
1880         if test "x$timidity_cfg" != "x"; then
1881           AC_MSG_RESULT($timidity_cfg)
1882       AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
1883         else
1884           AC_MSG_RESULT([not found])
1885         fi
1886   ], [
1887     HAVE_TIMIDITY="no"
1888   ])
1889   AC_SUBST(TIMIDITY_CFLAGS)
1890   AC_SUBST(TIMIDITY_LIBS)
1891 ])
1892
1893 dnl *** teletextdec ***
1894 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
1895 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
1896   AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
1897  ])
1898
1899 dnl *** wildmidi ***
1900 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
1901 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
1902   AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
1903                          WildMidi_Init, ,
1904                          wildmidi_lib.h,
1905                          WILDMIDI_LIBS="-lWildMidi")
1906   AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
1907
1908   if test "x$HAVE_WILDMIDI" = "xyes"; then
1909          WILDMIDI_CFLAGS=
1910          WILDMIDI_LIBS=-lWildMidi
1911          AC_MSG_NOTICE(compiling gstWildMidi)
1912   else
1913          WILDMIDI_CFLAGS=
1914          WILDMIDI_LIBS=
1915          AC_MSG_WARN(no WildMidi library found (libWildMidi))
1916   fi
1917   AC_SUBST(WILDMIDI_CFLAGS)
1918   AC_SUBST(WILDMIDI_LIBS)
1919 ])
1920
1921 dnl *** SDL ***
1922 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
1923 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
1924     AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
1925 ])
1926
1927 dnl **** Smooth Streaming ****
1928 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
1929 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
1930   PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
1931     [HAVE_LIBXML2="yes"
1932      HAVE_SMOOTHSTREAMING="yes"],
1933     [HAVE_LIBXML2="no"
1934      HAVE_SMOOTHSTREAMING="no"])
1935   AC_SUBST(LIBXML2_CFLAGS)
1936   AC_SUBST(LIBXML2_LIBS)
1937 ])
1938
1939 dnl *** sndfile ***
1940 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
1941 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfsrc sfsink, [
1942   PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
1943   AC_SUBST(SNDFILE_CFLAGS)
1944   AC_SUBST(SNDFILE_LIBS)
1945 ])
1946
1947 dnl *** soundtouch ***
1948 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
1949 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
1950   dnl We only need -lBPM on soundtouch < 1.4
1951   dnl We check for libSoundTouch since Debian used it before upstream
1952   dnl added a pkgconfig file.
1953   HAVE_SOUNDTOUCH_1_4=yes
1954   PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
1955     [HAVE_SOUNDTOUCH=yes],
1956     [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
1957       [HAVE_SOUNDTOUCH=yes],
1958       [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
1959         [HAVE_SOUNDTOUCH=yes
1960           HAVE_SOUNDTOUCH_1_4=no
1961           SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1962         [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
1963           [HAVE_SOUNDTOUCH=yes],
1964           [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
1965             [HAVE_SOUNDTOUCH=yes
1966               HAVE_SOUNDTOUCH_1_4=no
1967               SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
1968             HAVE_SOUNDTOUCH=no)])])])])
1969   AC_SUBST(SOUNDTOUCH_CFLAGS)
1970   AC_SUBST(SOUNDTOUCH_LIBS)
1971   if test "x$HAVE_CXX" != "xyes"; then
1972     USE_SOUNDTOUCH=false
1973     AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
1974   fi
1975   if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
1976      AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
1977          [Defined if the available libSoundTouch is >= 1.4])
1978   fi
1979 ])
1980
1981 dnl *** spc ***
1982 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
1983 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
1984   AC_CHECK_HEADER(openspc.h, [
1985     AC_CHECK_LIB(openspc, OSPC_Init, [
1986       SPC_LIBS="-lopenspc"
1987       AC_SUBST(SPC_LIBS)
1988       HAVE_SPC=yes
1989     ], [
1990       HAVE_SPC=no
1991     ])
1992   ], [
1993     HAVE_SPC=no
1994   ])
1995 ])
1996
1997 dnl *** gme ***
1998 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
1999 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
2000   AC_CHECK_HEADER(gme/gme.h, [
2001     AC_CHECK_LIB(gme, gme_new_emu, [
2002       GME_LIBS="-lgme"
2003       AC_SUBST(GME_LIBS)
2004       HAVE_GME=yes
2005     ], [
2006       HAVE_GME=no
2007     ])
2008   ], [
2009     HAVE_GME=no
2010   ])
2011
2012   if test "x$HAVE_GME" = "xyes"; then
2013     AC_CHECK_LIB(gme, gme_enable_accuracy, [
2014       AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
2015       ])
2016   fi
2017 ])
2018
2019 dnl *** XVID ***
2020 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
2021 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
2022   HAVE_XVID=no
2023   AC_CHECK_HEADER(xvid.h, [
2024     OLD_LIBS="$LIBS"
2025     LIBS="-lpthread $LIBM"
2026     AC_CHECK_LIB(xvidcore, xvid_encore, [
2027       AC_CHECK_LIB(xvidcore, xvid_decore, [
2028         AC_CHECK_LIB(xvidcore, xvid_global, [
2029           AC_MSG_CHECKING([for uptodate XviD API version])
2030           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
2031               #if XVID_API_MAJOR(XVID_API) != 4
2032               #error "Incompatible XviD API version"
2033               #endif
2034               #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
2035               #error "Incompatible XviD API version"
2036               #endif
2037           ]])],[ AC_MSG_RESULT(yes)
2038             XVID_LIBS="-lxvidcore $LIBM"
2039             AC_SUBST(XVID_LIBS)
2040             HAVE_XVID=yes
2041           ],[AC_MSG_RESULT(no) ])
2042         ], )
2043       ], )
2044     ], )
2045     LIBS="$OLD_LIBS"
2046   ], )
2047 ])
2048
2049 dnl *** dvb ***
2050 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
2051 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
2052   AC_MSG_CHECKING([Checking for up to date dvb installation])
2053   AC_CHECK_HEADER(linux/dvb/frontend.h, [HAVE_DVB="yes"], [HAVE_DVB="no"])
2054 ])
2055
2056 dnl *** wininet ***
2057 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
2058 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
2059   AC_MSG_CHECKING([Checking for windows internet support])
2060   AC_CHECK_HEADERS([windows.h wininet.h],
2061       [HAVE_WININET="yes"], [HAVE_WININET="no"],
2062       [AC_INCLUDES_DEFAULT
2063 #include <windows.h>])
2064 ])
2065
2066 dnl *** acm ***
2067 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
2068 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
2069   AC_MSG_CHECKING([Checking for ACM support])
2070   AC_CHECK_HEADERS([windows.h msacm.h],
2071       [HAVE_ACM="yes"
2072        AC_SUBST(ACMENC_CFLAGS)
2073        AC_SUBST(ACMMP3DEC_CFLAGS)
2074       ], [HAVE_ACM="no"],
2075       [AC_INCLUDES_DEFAULT
2076 #include <windows.h>])
2077 ])
2078
2079 dnl *** vdpau ***
2080 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
2081 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
2082   VDPAU_CFLAGS=
2083   VDPAU_LIBS=-lvdpau
2084   HAVE_VDPAU=no
2085
2086   PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
2087   [
2088     if test "$HAVE_VDPAU" = "no"; then
2089       saved_CPPFLAGS="$CPPFLAGS"
2090       AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2091
2092       if test -z "$HAVE_VDPAU_H"; then
2093         dnl Didn't find VDPAU header straight away.
2094         dnl Try /usr/include/nvidia. Need to clear caching vars first
2095         AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
2096         unset ac_cv_header_vdpau_vdpau_h
2097         unset ac_cv_header_vdpau_vdpau_x11_h
2098         VDPAU_CFLAGS="-I/usr/include/nvidia"
2099         VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
2100         CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
2101         AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2102       fi
2103
2104       AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
2105
2106       if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
2107         dnl Found the headers - look for the lib
2108         AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
2109         saved_LIBS="$LIBS"
2110         LIBS="$VDPAU_LIBS $saved_LIBS"
2111         AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
2112         LIBS="$saved_LIBS"
2113       fi
2114     fi
2115   ])
2116
2117   if test "$HAVE_VDPAU" = "yes"; then
2118     AC_MSG_NOTICE([Found up to date VDPAU installation])
2119     AC_SUBST(VDPAU_CFLAGS)
2120     AC_SUBST(VDPAU_LIBS)
2121   fi
2122 ])
2123
2124 dnl *** sbc ***
2125 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
2126 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
2127   AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
2128 ])
2129
2130 dnl *** schroedinger ***
2131 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
2132 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
2133   AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
2134 ])
2135
2136 dnl *** zbar ***
2137 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
2138 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
2139   AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
2140 ])
2141
2142 dnl *** rtmp ***
2143 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
2144 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
2145   AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
2146 ])
2147
2148 dnl *** spandsp ***
2149 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
2150 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
2151   PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
2152     HAVE_SPANDSP="yes" ], [
2153     HAVE_SPANDSP="no"
2154   ])
2155 ])
2156 AC_SUBST(SPANDSP_CFLAGS)
2157 AC_SUBST(SPANDSP_LIBS)
2158
2159 dnl *** GSettings ***
2160 translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
2161 AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
2162   AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
2163   if test "x$HAVE_GSETTINGS" = "xyes"; then
2164     GLIB_GSETTINGS
2165   fi
2166 ])
2167
2168 dnl *** sndio ***
2169 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
2170 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
2171   AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
2172   if test "x$HAVE_SNDIO" = "xyes"; then
2173     AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
2174     if test "x$HAVE_SNDIO" = "xyes"; then
2175       SNDIO_LIBS=-lsndio
2176       AC_SUBST(SNDIO_LIBS)
2177     fi
2178   fi
2179 ])
2180
2181 dnl *** hls ***
2182 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
2183 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
2184   PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.11.3, [ HAVE_HLS="yes" ], [ HAVE_HLS="no" ])
2185 ])
2186
2187 else
2188
2189 dnl not building plugins with external dependencies,
2190 dnl but we still need to set the conditionals
2191
2192 AM_CONDITIONAL(USE_ASSRENDER, false)
2193 AM_CONDITIONAL(USE_VOAMRWBENC, false)
2194 AM_CONDITIONAL(USE_VOAACENC, false)
2195 AM_CONDITIONAL(USE_APEXSINK, false)
2196 AM_CONDITIONAL(USE_BZ2, false)
2197 AM_CONDITIONAL(USE_CHROMAPRINT, false)
2198 AM_CONDITIONAL(USE_CURL, false)
2199 AM_CONDITIONAL(USE_SSH2, false)
2200 AM_CONDITIONAL(USE_DASH, false)
2201 AM_CONDITIONAL(USE_DC1394, false)
2202 AM_CONDITIONAL(USE_DECKLINK, false)
2203 AM_CONDITIONAL(DECKLINK_OSX, false)
2204 AM_CONDITIONAL(USE_DIRECTFB, false)
2205 AM_CONDITIONAL(USE_WAYLAND, false)
2206 AM_CONDITIONAL(USE_DAALA, false)
2207 AM_CONDITIONAL(USE_DTS, false)
2208 AM_CONDITIONAL(USE_EXIF, false)
2209 AM_CONDITIONAL(USE_RESINDVD, false)
2210 AM_CONDITIONAL(USE_FAAC, false)
2211 AM_CONDITIONAL(USE_FAAD, false)
2212 AM_CONDITIONAL(USE_FBDEV, false)
2213 AM_CONDITIONAL(USE_FLITE, false)
2214 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
2215 AM_CONDITIONAL(USE_GSM, false)
2216 AM_CONDITIONAL(USE_HLS, false)
2217 AM_CONDITIONAL(USE_KATE, false)
2218 AM_CONDITIONAL(USE_TIGER, false)
2219 AM_CONDITIONAL(USE_LADSPA, false)
2220 AM_CONDITIONAL(USE_LV2, false)
2221 AM_CONDITIONAL(USE_LIBMMS, false)
2222 AM_CONDITIONAL(USE_LINSYS, false)
2223 AM_CONDITIONAL(USE_MODPLUG, false)
2224 AM_CONDITIONAL(USE_MIMIC, false)
2225 AM_CONDITIONAL(USE_MPEG2ENC, false)
2226 AM_CONDITIONAL(USE_MPG123, false)
2227 AM_CONDITIONAL(USE_MPLEX, false)
2228 AM_CONDITIONAL(USE_MUSEPACK, false)
2229 AM_CONDITIONAL(USE_MYTHTV, false)
2230 AM_CONDITIONAL(USE_NAS, false)
2231 AM_CONDITIONAL(USE_NEON, false)
2232 AM_CONDITIONAL(USE_OFA, false)
2233 AM_CONDITIONAL(USE_OPENAL, false)
2234 AM_CONDITIONAL(USE_OPENCV, false)
2235 AM_CONDITIONAL(USE_OPENJPEG, false)
2236 AM_CONDITIONAL(USE_OPUS, false)
2237 AM_CONDITIONAL(USE_PVR, false)
2238 AM_CONDITIONAL(USE_RSVG, false)
2239 AM_CONDITIONAL(USE_EGLGLES, false)
2240 AM_CONDITIONAL(USE_TIMIDITY, false)
2241 AM_CONDITIONAL(USE_WILDMIDI, false)
2242 AM_CONDITIONAL(USE_SDL, false)
2243 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
2244 AM_CONDITIONAL(USE_SNDFILE, false)
2245 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
2246 AM_CONDITIONAL(USE_SPANDSP, false)
2247 AM_CONDITIONAL(USE_SPC, false)
2248 AM_CONDITIONAL(USE_SRTP, false)
2249 AM_CONDITIONAL(USE_GME, false)
2250 AM_CONDITIONAL(USE_GSETTINGS, false)
2251 AM_CONDITIONAL(USE_XVID, false)
2252 AM_CONDITIONAL(USE_DVB, false)
2253 AM_CONDITIONAL(USE_WININET, false)
2254 AM_CONDITIONAL(USE_ACM, false)
2255 AM_CONDITIONAL(USE_VDPAU, false)
2256 AM_CONDITIONAL(USE_SCHRO, false)
2257 AM_CONDITIONAL(USE_ZBAR, false)
2258 AM_CONDITIONAL(USE_RTMP, false)
2259 AM_CONDITIONAL(USE_TELETEXTDEC, false)
2260 AM_CONDITIONAL(USE_SNDIO, false)
2261 AM_CONDITIONAL(USE_UVCH264, false)
2262 AM_CONDITIONAL(USE_WEBP, false)
2263
2264 fi dnl of EXT plugins
2265
2266 dnl *** finalize CFLAGS, LDFLAGS, LIBS
2267
2268 dnl Overview:
2269 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
2270 dnl GST_*:              flags shared by built objects to link against GStreamer
2271 dnl GST_ALL_LDFLAGS:    linker flags shared by all
2272 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
2273 dnl GST_LT_LDFLAGS:     library versioning of our libraries
2274 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
2275
2276 dnl GST_OPTION_CFLAGS
2277 if test "x$USE_DEBUG" = xyes; then
2278    PROFILE_CFLAGS="-g"
2279 fi
2280 AC_SUBST(PROFILE_CFLAGS)
2281
2282 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
2283   dnl Define _only_ during CVS (not pre-releases or releases)
2284   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
2285 else
2286   DEPRECATED_CFLAGS=""
2287 fi
2288 AC_SUBST(DEPRECATED_CFLAGS)
2289
2290 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
2291 dnl at make time with e.g. make ERROR_CFLAGS=""
2292 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2293 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2294 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2295 AC_SUBST(GST_OPTION_CFLAGS)
2296 AC_SUBST(GST_OPTION_CXXFLAGS)
2297 AC_SUBST(GST_OPTION_OBJCFLAGS)
2298
2299 dnl FIXME: do we want to rename to GST_ALL_* ?
2300 dnl prefer internal headers to already installed ones
2301 dnl also add builddir include for enumtypes and marshal
2302 dnl add GST_OPTION_CFLAGS, but overridable
2303 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
2304 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
2305 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
2306 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
2307 AC_SUBST(GST_CFLAGS)
2308 AC_SUBST(GST_CXXFLAGS)
2309 AC_SUBST(GST_OBJCFLAGS)
2310 AC_SUBST(GST_LIBS)
2311 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2312 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2313 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2314 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
2315 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
2316 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
2317
2318 dnl LDFLAGS really should only contain flags, not libs - they get added before
2319 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2320 GST_ALL_LDFLAGS="-no-undefined"
2321 AC_SUBST(GST_ALL_LDFLAGS)
2322
2323 dnl GST_LIB_LDFLAGS
2324 dnl linker flags shared by all libraries
2325 dnl LDFLAGS modifier defining exported symbols from built libraries
2326 dnl (export _gst_foo but not __gst_foo)
2327 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
2328 AC_SUBST(GST_LIB_LDFLAGS)
2329
2330 dnl this really should only contain flags, not libs - they get added before
2331 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2332 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
2333 AC_SUBST(GST_PLUGIN_LDFLAGS)
2334
2335 dnl *** output files ***
2336
2337 $MKDIR_P tests/check/orc
2338
2339 dnl po/Makefile.in
2340
2341 AC_CONFIG_FILES(
2342 Makefile
2343 common/Makefile
2344 common/m4/Makefile
2345 gst-plugins-bad.spec
2346 gst/Makefile
2347 gst/accurip/Makefile
2348 gst/adpcmdec/Makefile
2349 gst/adpcmenc/Makefile
2350 gst/aiff/Makefile
2351 gst/asfmux/Makefile
2352 gst/audiofxbad/Makefile
2353 gst/audiomixer/Makefile
2354 gst/audiovisualizers/Makefile
2355 gst/autoconvert/Makefile
2356 gst/bayer/Makefile
2357 gst/camerabin2/Makefile
2358 gst/cdxaparse/Makefile
2359 gst/coloreffects/Makefile
2360 gst/dataurisrc/Makefile
2361 gst/dccp/Makefile
2362 gst/debugutils/Makefile
2363 gst/dvbsuboverlay/Makefile
2364 gst/dvdspu/Makefile
2365 gst/faceoverlay/Makefile
2366 gst/festival/Makefile
2367 gst/fieldanalysis/Makefile
2368 gst/freeverb/Makefile
2369 gst/frei0r/Makefile
2370 gst/gaudieffects/Makefile
2371 gst/geometrictransform/Makefile
2372 gst/gdp/Makefile
2373 gst/hdvparse/Makefile
2374 gst/id3tag/Makefile
2375 gst/inter/Makefile
2376 gst/interlace/Makefile
2377 gst/ivfparse/Makefile
2378 gst/ivtc/Makefile
2379 gst/jp2kdecimator/Makefile
2380 gst/jpegformat/Makefile
2381 gst/librfb/Makefile
2382 gst/liveadder/Makefile
2383 gst/midi/Makefile
2384 gst/mpegdemux/Makefile
2385 gst/mpegtsdemux/Makefile
2386 gst/mpegtsmux/Makefile
2387 gst/mpegtsmux/tsmux/Makefile
2388 gst/mpegpsmux/Makefile
2389 gst/mve/Makefile
2390 gst/mxf/Makefile
2391 gst/nuvdemux/Makefile
2392 gst/patchdetect/Makefile
2393 gst/pcapparse/Makefile
2394 gst/pnm/Makefile
2395 gst/rawparse/Makefile
2396 gst/real/Makefile
2397 gst/removesilence/Makefile
2398 gst/sdi/Makefile
2399 gst/sdp/Makefile
2400 gst/segmentclip/Makefile
2401 gst/siren/Makefile
2402 gst/smooth/Makefile
2403 gst/speed/Makefile
2404 gst/subenc/Makefile
2405 gst/stereo/Makefile
2406 gst/tta/Makefile
2407 gst/videofilters/Makefile
2408 gst/videomeasure/Makefile
2409 gst/videoparsers/Makefile
2410 gst/videosignal/Makefile
2411 gst/vmnc/Makefile
2412 gst/y4m/Makefile
2413 gst/yadif/Makefile
2414 gst-libs/Makefile
2415 gst-libs/gst/Makefile
2416 gst-libs/gst/basecamerabinsrc/Makefile
2417 gst-libs/gst/egl/Makefile
2418 gst-libs/gst/insertbin/Makefile
2419 gst-libs/gst/interfaces/Makefile
2420 gst-libs/gst/codecparsers/Makefile
2421 gst-libs/gst/mpegts/Makefile
2422 gst-libs/gst/uridownloader/Makefile
2423 sys/Makefile
2424 sys/dshowdecwrapper/Makefile
2425 sys/acmenc/Makefile
2426 sys/acmmp3dec/Makefile
2427 sys/androidmedia/Makefile
2428 sys/applemedia/Makefile
2429 sys/applemedia-nonpublic/Makefile
2430 sys/avc/Makefile
2431 sys/bluez/Makefile
2432 sys/d3dvideosink/Makefile
2433 sys/decklink/Makefile
2434 sys/directdraw/Makefile
2435 sys/directsound/Makefile
2436 sys/dshowsrcwrapper/Makefile
2437 sys/dshowvideosink/Makefile
2438 sys/dvb/Makefile
2439 sys/fbdev/Makefile
2440 sys/linsys/Makefile
2441 sys/opensles/Makefile
2442 sys/osxvideo/Makefile
2443 sys/qtwrapper/Makefile
2444 sys/mfc/Makefile
2445 sys/shm/Makefile
2446 sys/uvch264/Makefile
2447 sys/vcd/Makefile
2448 sys/vdpau/Makefile
2449 sys/pvr2d/Makefile
2450 sys/wasapi/Makefile
2451 sys/wininet/Makefile
2452 sys/winks/Makefile
2453 sys/winscreencap/Makefile
2454 tests/Makefile
2455 tests/check/Makefile
2456 tests/files/Makefile
2457 tests/examples/Makefile
2458 tests/examples/camerabin2/Makefile
2459 tests/examples/directfb/Makefile
2460 tests/examples/mpegts/Makefile
2461 tests/examples/mxf/Makefile
2462 tests/examples/opencv/Makefile
2463 tests/examples/uvch264/Makefile
2464 tests/icles/Makefile
2465 ext/voamrwbenc/Makefile
2466 ext/voaacenc/Makefile
2467 ext/assrender/Makefile
2468 ext/apexsink/Makefile
2469 ext/bz2/Makefile
2470 ext/chromaprint/Makefile
2471 ext/curl/Makefile
2472 ext/dash/Makefile
2473 ext/dc1394/Makefile
2474 ext/directfb/Makefile
2475 ext/wayland/Makefile
2476 ext/daala/Makefile
2477 ext/dts/Makefile
2478 ext/eglgles/Makefile
2479 ext/faac/Makefile
2480 ext/faad/Makefile
2481 ext/flite/Makefile
2482 ext/fluidsynth/Makefile
2483 ext/gsm/Makefile
2484 ext/hls/Makefile
2485 ext/kate/Makefile
2486 ext/ladspa/Makefile
2487 ext/lv2/Makefile
2488 ext/libmms/Makefile
2489 ext/Makefile
2490 ext/modplug/Makefile
2491 ext/mpeg2enc/Makefile
2492 ext/mpg123/Makefile
2493 ext/mimic/Makefile
2494 ext/mplex/Makefile
2495 ext/musepack/Makefile
2496 ext/mythtv/Makefile
2497 ext/nas/Makefile
2498 ext/neon/Makefile
2499 ext/ofa/Makefile
2500 ext/openal/Makefile
2501 ext/opencv/Makefile
2502 ext/openjpeg/Makefile
2503 ext/opus/Makefile
2504 ext/rsvg/Makefile
2505 ext/resindvd/Makefile
2506 ext/rtmp/Makefile
2507 ext/sbc/Makefile
2508 ext/schroedinger/Makefile
2509 ext/sdl/Makefile
2510 ext/smoothstreaming/Makefile
2511 ext/sndfile/Makefile
2512 ext/soundtouch/Makefile
2513 ext/spandsp/Makefile
2514 ext/sndio/Makefile
2515 ext/srtp/Makefile
2516 ext/teletextdec/Makefile
2517 ext/gme/Makefile
2518 ext/gsettings/Makefile
2519 ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
2520 ext/spc/Makefile
2521 ext/timidity/Makefile
2522 ext/webp/Makefile
2523 ext/xvid/Makefile
2524 ext/zbar/Makefile
2525 po/Makefile.in
2526 docs/Makefile
2527 docs/plugins/Makefile
2528 docs/libs/Makefile
2529 docs/version.entities
2530 pkgconfig/Makefile
2531 pkgconfig/gstreamer-plugins-bad.pc
2532 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
2533 pkgconfig/gstreamer-codecparsers.pc
2534 pkgconfig/gstreamer-codecparsers-uninstalled.pc
2535 pkgconfig/gstreamer-insertbin.pc
2536 pkgconfig/gstreamer-insertbin-uninstalled.pc
2537 pkgconfig/gstreamer-egl.pc
2538 pkgconfig/gstreamer-egl-uninstalled.pc
2539 pkgconfig/gstreamer-mpegts.pc
2540 pkgconfig/gstreamer-mpegts-uninstalled.pc
2541 tools/Makefile
2542 m4/Makefile
2543 )
2544
2545 dnl Create the config.h file for Visual Studio builds
2546 dnl Beware of spaces and /'s in some of the shell variable contents.
2547 sed \
2548     -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"/' \
2549     -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
2550     -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
2551     -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
2552     -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
2553     -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
2554     -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
2555     -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
2556     -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
2557     -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
2558     -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
2559     -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
2560     -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
2561     -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
2562     -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
2563     -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
2564     -e 's/.* LIBDIR$/#ifdef _DEBUG\n#  define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n#  define LIBDIR PREFIX "\\\\lib"\n#endif/' \
2565     -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
2566     -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
2567     -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
2568     -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
2569     -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
2570     -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
2571     -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
2572     -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/' \
2573     -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
2574     -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
2575     -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
2576     -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
2577     -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
2578     -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
2579     -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
2580     -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
2581     -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
2582     config.h.in >win32/common/config.h-new
2583
2584 AC_OUTPUT
2585
2586 AG_GST_OUTPUT_PLUGINS
2587 ORC_OUTPUT
2588