3 dnl initialize autoconf
4 dnl when going to/from release please set the nano (fourth number) right !
5 dnl releases only do Wall, git and prerelease does Werror too
6 AC_INIT([GStreamer Bad Plug-ins],[1.11.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
10 dnl initialize automake
11 AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
13 dnl define PACKAGE_VERSION_* variables
16 dnl check if this is a release version
17 AS_NANO(GST_GIT="no", GST_GIT="yes")
19 dnl can autoconf find the source ?
20 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
22 dnl define the output header for config
23 AC_CONFIG_HEADERS([config.h])
25 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
26 AM_MAINTAINER_MODE([enable])
28 dnl sets host_* variables
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)])
36 dnl PKG_CONFIG_SYSROOT_DIR is a valid environment variable
37 m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
39 dnl our libraries and install dirs use GST_API_VERSION in the filename
40 dnl to allow side-by-side installation of different API versions
42 AC_SUBST(GST_API_VERSION)
43 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
44 [GStreamer API Version])
46 AG_GST_LIBTOOL_PREPARE
48 dnl CURRENT, REVISION, AGE
49 dnl - library source changed -> increment REVISION
50 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
51 dnl - interfaces added -> increment AGE
52 dnl - interfaces removed -> AGE = 0
53 dnl sets GST_LT_LDFLAGS
54 AS_LIBTOOL(GST, 1100, 0, 1100)
56 dnl *** required versions of GStreamer stuff ***
60 dnl *** autotools stuff ****
62 dnl allow for different autotools
63 AS_AUTOTOOLS_ALTERNATE
65 dnl Add parameters for aclocal
66 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
69 dnl the version check needs to stay here because autopoint greps for it
70 AM_GNU_GETTEXT_VERSION([0.17])
71 AM_GNU_GETTEXT([external])
72 AG_GST_GETTEXT([gst-plugins-bad-$GST_API_VERSION])
74 dnl *** check for arguments to configure ***
76 AG_GST_ARG_DISABLE_FATAL_WARNINGS
77 AG_GST_ARG_ENABLE_EXTRA_CHECKS
86 AG_GST_ARG_WITH_PKG_CONFIG_PATH
87 AG_GST_ARG_WITH_PACKAGE_NAME
88 AG_GST_ARG_WITH_PACKAGE_ORIGIN
90 AG_GST_ARG_WITH_PLUGINS
92 AG_GST_ARG_ENABLE_EXTERNAL
94 AG_GST_ARG_ENABLE_EXPERIMENTAL
96 AG_GST_PKG_CONFIG_PATH
98 dnl *** checks for platform ***
101 dnl * hardware/architecture *
103 dnl common/m4/gst-arch.m4
107 dnl Determine endianness
110 dnl *** checks for programs ***
116 dnl determine c++ compiler
118 dnl determine if c++ is available on this system
119 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
123 dnl check if the compiler supports '-c' and '-o' options
126 dnl check if the compiler supports do while(0) macros
127 AG_GST_CHECK_DOWHILE_MACROS
129 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
130 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
132 dnl check for gobject-introspection
133 GOBJECT_INTROSPECTION_CHECK([1.31.1])
135 dnl check for documentation tools
136 GTK_DOC_CHECK([1.12])
137 AG_GST_PLUGIN_DOCS([1.12])
139 dnl *** checks for libraries ***
141 dnl check for libm, for sin() etc.
147 dnl check for pthreads
150 dnl *** checks for header files ***
152 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
153 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
155 if test "x$HAVE_UNISTD_H" != "xyes"; then
156 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
159 AC_CHECK_HEADERS([sys/time.h])
164 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
165 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
167 if test "x$HAVE_PTHREAD_H" != "xyes"; then
168 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
171 dnl *** checks for types/defines ***
173 dnl Check for FIONREAD ioctl declaration
177 dnl *** checks for structures ***
179 dnl *** checks for compiler characteristics ***
181 dnl *** checks for library functions ***
182 AC_CHECK_FUNCS([gmtime_r])
184 dnl *** checks for headers ***
185 AC_CHECK_HEADERS([sys/utsname.h])
187 dnl *** checks for dependency libraries ***
189 dnl *** checks for socket and nsl libraries ***
190 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
191 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
195 AG_GST_GLIB_CHECK([$GLIB_REQ])
197 dnl checks for gstreamer
198 dnl uninstalled is selected preferentially -- see pkg-config(1)
199 AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
200 AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ], yes)
201 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
202 AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
203 AG_GST_CHECK_GST_NET($GST_API_VERSION, [$GST_REQ], yes)
204 AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-[$GST_API_VERSION], [$GST_REQ], yes)
205 AG_GST_PKG_CHECK_MODULES(GST_AUDIO, gstreamer-audio-[$GST_API_VERSION], [$GST_REQ], yes)
206 AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-[$GST_API_VERSION], [$GST_REQ], yes)
208 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
210 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
212 dnl check for uninstalled plugin directories for unit tests
213 AG_GST_CHECK_UNINSTALLED_SETUP([
214 AG_GST_CHECK_GST_PLUGINS_GOOD($GST_API_VERSION, [0.11.0])
215 AG_GST_CHECK_GST_PLUGINS_UGLY($GST_API_VERSION, [0.11.0])
216 AG_GST_CHECK_GST_PLUGINS_LIBAV($GST_API_VERSION, [0.11.0])
219 dnl Check for documentation xrefs
220 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
221 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
222 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
223 AC_SUBST(GLIB_PREFIX)
225 AC_SUBST(GSTPB_PREFIX)
227 dnl GTK is optional and used in examples
231 if test "x$BUILD_EXAMPLES" = "xyes"; then
232 AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
234 AS_HELP_STRING([--with-gtk=3.0|2.0],[which gtk+ version to compile against (default: 2.0)]),
236 2.0) GTK_REQ=$GTK2_REQ ;;
237 3.0) GTK_REQ=$GTK3_REQ ;;
238 *) AC_MSG_ERROR([invalid gtk+ version specified]);;
242 AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
243 PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
247 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
249 dnl Check for -Bsymbolic-functions linker flag used to avoid
250 dnl intra-library PLT jumps, if available.
251 AC_ARG_ENABLE(Bsymbolic,
252 [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
253 [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
254 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
255 LDFLAGS=-Wl,-Bsymbolic-functions
257 AC_TRY_LINK([], [return 0],
259 enable_Bsymbolic=yes,
262 LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
264 dnl *** set variables based on configure arguments ***
266 dnl GTK is optional and used in examples
268 if test "x$BUILD_EXAMPLES" = "xyes"; then
269 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.4, HAVE_GTK3=yes, HAVE_GTK3=no)
270 if test "x$HAVE_GTK3" = "xyes"; then
272 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
273 AC_SUBST(GTK_VERSION)
274 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
275 AC_SUBST(GTK_BASE_DIR)
279 AC_SUBST(GTK3_CFLAGS)
281 AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes")
283 dnl clutter is optional and used in examples
287 if test "x$BUILD_EXAMPLES" = "xyes"; then
288 PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= 1.8, HAVE_CLUTTER=yes, HAVE_CLUTTER=no)
289 AC_SUBST(CLUTTER_LIBS)
290 AC_SUBST(CLUTTER_CFLAGS)
291 AC_SUBST(HAVE_CLUTTER)
293 PKG_CHECK_MODULES(CLUTTER_GLX, clutter-glx-1.0 >= 1.8, HAVE_CLUTTER_GLX=yes, HAVE_CLUTTER_GLX=no)
294 AC_SUBST(CLUTTER_GLX_LIBS)
295 AC_SUBST(CLUTTER_GLX_CFLAGS)
296 AC_SUBST(HAVE_CLUTTER_GLX)
298 PKG_CHECK_MODULES(CLUTTER_X11, clutter-x11-1.0 >= 1.8, HAVE_CLUTTER_X11=yes, HAVE_CLUTTER_X11=no)
299 AC_SUBST(CLUTTER_X11_LIBS)
300 AC_SUBST(CLUTTER_X11_CFLAGS)
301 AC_SUBST(HAVE_CLUTTER_X11)
303 AM_CONDITIONAL(HAVE_CLUTTER, test "x$HAVE_CLUTTER" = "xyes")
304 AM_CONDITIONAL(HAVE_CLUTTER_GLX, test "x$HAVE_CLUTTER_GLX" = "xyes")
305 AM_CONDITIONAL(HAVE_CLUTTER_X11, test "x$HAVE_CLUTTER_X11" = "xyes")
307 dnl used in the gl/clutteractor example
308 if test "x$BUILD_EXAMPLES" = "xyes"; then
309 PKG_CHECK_MODULES(XCOMPOSITE, xcomposite, HAVE_XCOMPOSITE=yes, HAVE_XCOMPOSITE=no)
310 AC_SUBST(XCOMPOSITE_CFLAGS)
311 AC_SUBST(XCOMPOSITE_LIBS)
313 AM_CONDITIONAL(HAVE_XCOMPOSITE, test "x$HAVE_XCOMPOSITE" = "xyes")
315 dnl graphene-1.0 is optional and used in gltransformation
317 PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.4.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
318 if test "x$HAVE_GRAPHENE" = "xyes"; then
319 AC_DEFINE(HAVE_GRAPHENE, [1] , [Use graphene])
321 AC_SUBST(HAVE_GRAPHENE)
322 AC_SUBST(GRAPHENE_LIBS)
323 AC_SUBST(GRAPHENE_CFLAGS)
324 AM_CONDITIONAL(HAVE_GRAPHENE, test "x$HAVE_GRAPHENE" = "xyes")
327 dnl sdl is optional and used in examples
329 if test "x$BUILD_EXAMPLES" = "xyes"; then
330 PKG_CHECK_MODULES(SDL, sdl >= 1.2.0, HAVE_SDL=yes, HAVE_SDL=no)
333 AC_SUBST(SDL_CLUTTER)
335 AM_CONDITIONAL(HAVE_SDL, test "x$HAVE_SDL" = "xyes")
338 dnl Needed for GtkBuilder to autoconnect signals
339 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
341 dnl Needed by plugins that use g_module_*() API
342 PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
344 dnl x11 is optional for librfb
346 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
350 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
351 if test "x$HAVE_X11" = "xyes"; then
352 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
355 dnl exif (used on jifmux tests) ****
356 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
358 AC_SUBST(EXIF_CFLAGS)
359 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
364 dnl set license and copyright notice
366 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
367 AC_SUBST(GST_LICENSE)
369 dnl define LIBDIR so we can inform people where we live
370 AS_AC_EXPAND(LIBDIR, $libdir)
371 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
373 dnl set location of plugin directory
376 dnl set release date/time
377 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
378 ["${srcdir}/gst-plugins-bad.doap"],
379 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
381 dnl build static plugins or not
382 AC_MSG_CHECKING([whether to build static plugins or not])
386 [--enable-static-plugins],
387 [build static plugins @<:@default=no@:>@]),
389 [$enableval], [no], [], [yes], [],
390 [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
391 [enable_static_plugins=no])
392 AC_MSG_RESULT([$enable_static_plugins])
393 if test "x$enable_static_plugins" = xyes; then
394 AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
395 [Define if static plugins should be built])
396 GST_PLUGIN_LIBTOOLFLAGS=""
398 GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
400 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
401 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
403 dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
404 dnl needed only on Windows, but it doesn't hurt to have it everywhere.
405 if test x$enable_static = xyes -a x$enable_shared = xno; then
406 GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
409 AC_ARG_WITH([player-tests],
410 AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
411 if test x$with_player_tests = xyes; then
412 AC_PATH_PROG([WGET], [wget], no)
413 if test x$WGET = xno; then
414 AC_MSG_WARN([wget required for GstPlayer tests but not found - disabling])
418 AM_CONDITIONAL(WITH_GST_PLAYER_TESTS, test "x$with_player_tests" = "xyes")
420 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
421 dnl make sure it doesn't complain about unused variables if debugging is disabled
423 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
425 dnl define an ERROR_CFLAGS Makefile variable
426 dnl -Waggregate-return - libexif returns aggregates
427 dnl -Wundef - Windows headers check _MSC_VER unconditionally
428 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
429 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
430 -Wwrite-strings -Wformat-security -Wold-style-definition
431 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
432 -Wnested-externs $NO_WARNINGS])
434 dnl define an ERROR_CXXFLAGS Makefile variable
435 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
436 -Wmissing-declarations -Wredundant-decls
437 -Wwrite-strings -Wformat-nonliteral -Wformat-security
438 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
440 dnl define an ERROR_OBJCFLAGS Makefile variable
441 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
442 -Wmissing-declarations -Wredundant-decls
443 -Wwrite-strings -Wformat-nonliteral -Wformat-security
444 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
446 dnl define correct level for debugging messages
447 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
450 AG_GST_DEFAULT_ELEMENTS
452 dnl *** plug-ins to include ***
453 dnl Non ported plugins (non-dependant, then dependant)
454 dnl Make sure you have a space before and after all plugins
455 GST_PLUGINS_NONPORTED=" cdxaparse \
466 xvid sndio libvisual"
468 AC_SUBST(GST_PLUGINS_NONPORTED)
470 dnl these are all the gst plug-ins, compilable without additional libs
471 AG_GST_CHECK_PLUGIN(accurip)
472 AG_GST_CHECK_PLUGIN(adpcmdec)
473 AG_GST_CHECK_PLUGIN(adpcmenc)
474 AG_GST_CHECK_PLUGIN(aiff)
475 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
476 AG_GST_CHECK_PLUGIN(asfmux)
477 AG_GST_CHECK_PLUGIN(audiofxbad)
478 AG_GST_CHECK_PLUGIN(audiomixer)
479 AG_GST_CHECK_PLUGIN(compositor)
480 AG_GST_CHECK_PLUGIN(audiovisualizers)
481 AG_GST_CHECK_PLUGIN(autoconvert)
482 AG_GST_CHECK_PLUGIN(bayer)
483 AG_GST_CHECK_PLUGIN(camerabin2)
484 AG_GST_CHECK_PLUGIN(cdxaparse)
485 AG_GST_CHECK_PLUGIN(coloreffects)
486 AG_GST_CHECK_PLUGIN(dataurisrc)
487 AG_GST_CHECK_PLUGIN(dccp)
488 AG_GST_CHECK_PLUGIN(debugutils)
489 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
490 AG_GST_CHECK_PLUGIN(dvdspu)
491 AG_GST_CHECK_PLUGIN(faceoverlay)
492 AG_GST_CHECK_PLUGIN(festival)
493 AG_GST_CHECK_PLUGIN(fieldanalysis)
494 AG_GST_CHECK_PLUGIN(freeverb)
495 AG_GST_CHECK_PLUGIN(frei0r)
496 AG_GST_CHECK_PLUGIN(gaudieffects)
497 AG_GST_CHECK_PLUGIN(geometrictransform)
498 AG_GST_CHECK_PLUGIN(gdp)
499 AG_GST_CHECK_PLUGIN(hdvparse)
500 AG_GST_CHECK_PLUGIN(id3tag)
501 AG_GST_CHECK_PLUGIN(inter)
502 AG_GST_CHECK_PLUGIN(interlace)
503 AG_GST_CHECK_PLUGIN(ivfparse)
504 AG_GST_CHECK_PLUGIN(ivtc)
505 AG_GST_CHECK_PLUGIN(jp2kdecimator)
506 AG_GST_CHECK_PLUGIN(jpegformat)
507 AG_GST_CHECK_PLUGIN(librfb)
508 AG_GST_CHECK_PLUGIN(midi)
509 AG_GST_CHECK_PLUGIN(mpegdemux)
510 AG_GST_CHECK_PLUGIN(mpegtsdemux)
511 AG_GST_CHECK_PLUGIN(mpegtsmux)
512 AG_GST_CHECK_PLUGIN(mpegpsmux)
513 AG_GST_CHECK_PLUGIN(mve)
514 AG_GST_CHECK_PLUGIN(mxf)
515 AG_GST_CHECK_PLUGIN(netsim)
516 AG_GST_CHECK_PLUGIN(nuvdemux)
517 AG_GST_CHECK_PLUGIN(onvif)
518 AG_GST_CHECK_PLUGIN(patchdetect)
519 AG_GST_CHECK_PLUGIN(pcapparse)
520 AG_GST_CHECK_PLUGIN(pnm)
521 AG_GST_CHECK_PLUGIN(rawparse)
522 AG_GST_CHECK_PLUGIN(removesilence)
523 AG_GST_CHECK_PLUGIN(sdi)
524 AG_GST_CHECK_PLUGIN(sdp)
525 AG_GST_CHECK_PLUGIN(segmentclip)
526 AG_GST_CHECK_PLUGIN(siren)
527 AG_GST_CHECK_PLUGIN(smooth)
528 AG_GST_CHECK_PLUGIN(speed)
529 AG_GST_CHECK_PLUGIN(subenc)
530 AG_GST_CHECK_PLUGIN(stereo)
531 AG_GST_CHECK_PLUGIN(timecode)
532 AG_GST_CHECK_PLUGIN(tta)
533 AG_GST_CHECK_PLUGIN(videofilters)
534 AG_GST_CHECK_PLUGIN(videomeasure)
535 AG_GST_CHECK_PLUGIN(videoparsers)
536 AG_GST_CHECK_PLUGIN(videosignal)
537 AG_GST_CHECK_PLUGIN(vmnc)
538 AG_GST_CHECK_PLUGIN(y4m)
539 AG_GST_CHECK_PLUGIN(yadif)
541 dnl *** plug-ins to exclude ***
543 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
544 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
545 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
546 AC_CHECK_HEADER(QTKit/QTKit.h, HAVE_QTKIT="yes", HAVE_QTKIT="no", [-])
548 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
550 LIBS="$LIBS -framework VideoToolbox"
551 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
552 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
558 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
559 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
560 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
563 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
564 if test "x$HAVE_IOS" = "xyes"; then
565 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
568 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
569 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
570 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
573 AM_CONDITIONAL(HAVE_QTKIT, test "x$HAVE_QTKIT" = "xyes")
574 if test "x$HAVE_QTKIT" = "xyes"; then
575 AC_DEFINE(HAVE_QTKIT, 1, [Define if building with QTKit])
577 dnl disable gst plugins we might not be able to build on this
578 dnl platform: (ugly but minimally invasive)
579 dnl FIXME: maybe move to sys, or make work with winsock2
580 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
581 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
583 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
584 WINSOCK2_LIBS="-lws2_32"
585 AC_SUBST(WINSOCK2_LIBS)
588 if test "x$HAVE_PTHREAD_H" = "xyes"; then
589 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
592 AG_GST_DISABLE_PLUGIN(dccp)
596 AC_ARG_ENABLE([opengl],
597 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
598 [case "${enableval}" in
601 auto) NEED_GL=auto ;;
602 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
603 esac],[NEED_GL=auto])
605 AC_ARG_WITH([opengl-module-name],
606 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
607 if test x$with_opengl_module_name != x; then
608 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
611 AC_ARG_ENABLE([gles2],
612 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
613 [case "${enableval}" in
614 yes) NEED_GLES2=yes ;;
616 auto) NEED_GLES2=auto ;;
617 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
618 esac],[NEED_GLES2=auto])
620 AC_ARG_WITH([gles2-module-name],
621 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
622 if test x$with_gles2_module_name != x; then
623 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
627 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
628 [case "${enableval}" in
631 auto) NEED_EGL=auto ;;
632 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
633 esac],[NEED_EGL=auto])
635 AC_ARG_WITH([egl-module-name],
636 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
637 if test x$with_egl_module_name != x; then
638 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
642 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
643 [case "${enableval}" in
646 auto) NEED_WGL=auto ;;
647 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
648 esac],[NEED_WGL=auto])
651 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
652 [case "${enableval}" in
655 auto) NEED_GLX=auto ;;
656 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
657 esac],[NEED_GLX=auto])
659 AC_ARG_ENABLE([cocoa],
660 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
661 [case "${enableval}" in
662 yes) NEED_COCOA=yes ;;
664 auto) NEED_COCOA=auto ;;
665 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
666 esac],[NEED_COCOA=auto])
669 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
670 [case "${enableval}" in
673 auto) NEED_X11=auto ;;
674 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
675 esac],[NEED_X11=auto])
677 AC_ARG_ENABLE([wayland],
678 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
679 [case "${enableval}" in
680 yes) NEED_WAYLAND_EGL=yes ;;
681 no) NEED_WAYLAND_EGL=no ;;
682 auto) NEED_WAYLAND_EGL=auto ;;
683 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
684 esac],[NEED_WAYLAND_EGL=auto])
686 AC_ARG_ENABLE([dispmanx],
687 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
688 [case "${enableval}" in
689 yes) NEED_DISPMANX=yes ;;
690 no) NEED_DISPMANX=no ;;
691 auto) NEED_DISPMANX=auto ;;
692 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
693 esac],[NEED_DISPMANX=auto])
695 AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
696 save_CPPFLAGS="$CPPFLAGS"
709 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
710 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
711 if test "x$HAVE_WGLEXT" = "xyes"; then
717 if test "x$NEED_GL" != "xno"; then
718 AG_GST_PKG_CHECK_MODULES(GL, gl)
719 if test "x$HAVE_GL" != "xyes"; then
720 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
723 if test "x$NEED_GLES2" != "xno"; then
724 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
725 if test "x$HAVE_GLES2" != "xyes"; then
726 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
728 AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
730 if test "x$NEED_EGL" != "xno"; then
731 AG_GST_PKG_CHECK_MODULES(EGL, egl)
732 if test "x$HAVE_EGL" != "xyes"; then
733 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
740 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
741 AC_CHECK_HEADER([EGL/fbdev_window.h],
744 AC_CHECK_LIB([Mali], [mali_image_create],
747 AC_CHECK_LIB([GLESv2], [glEnable],
749 AC_CHECK_HEADER([GLES2/gl2.h],
751 AC_CHECK_LIB([EGL], [eglGetProcAddress],
753 AC_CHECK_HEADER([EGL/egl.h],
757 EGL_LIBS="-lMali -lUMP"
759 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
767 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
768 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
769 LIBS="$LIBS -lvcos -lvchiq_arm"
770 AC_CHECK_LIB([bcm_host], [bcm_host_init],
772 LIBS="$LIBS -lbcm_host"
773 AC_CHECK_HEADER(bcm_host.h,
775 LIBS="$LIBS -lGLESv2"
776 AC_CHECK_LIB([EGL], [eglGetProcAddress],
779 AC_CHECK_HEADER([EGL/egl.h],
781 AC_CHECK_LIB([GLESv2], [glEnable],
783 AC_CHECK_HEADER([GLES2/gl2.h],
788 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
790 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
801 PKG_CHECK_MODULES(WAYLAND_EGL, wayland-client >= 1.0 wayland-cursor >= 1.0 wayland-egl >= 9.0, HAVE_WAYLAND_EGL=yes, HAVE_WAYLAND_EGL=no)
803 # OS X and iOS always have GL available
806 if test "x$HAVE_IOS" = "xyes"; then
816 CPPFLAGS="$save_CPPFLAGS"
830 dnl Check for what the user asked for and what we could find
831 if test "x$HAVE_EGL" = "xno"; then
832 if test "x$NEED_EGL" = "xyes"; then
833 AC_MSG_ERROR([Could not find the required EGL libraries])
837 if test "x$HAVE_GL" = "xno"; then
838 if test "x$NEED_GL" = "xyes"; then
839 AC_MSG_ERROR([Could not find the required OpenGL libraries])
843 if test "x$HAVE_GLES2" = "xno"; then
844 if test "x$NEED_GLES2" = "xyes"; then
845 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
849 dnl X, GLX and OpenGL
850 if test "x$HAVE_X11_XCB" = "xno"; then
851 if test "x$NEED_GLX" = "xyes"; then
852 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
854 if test "x$NEED_X11" = "xyes"; then
855 AC_MSG_ERROR([Could not find X11 development libraries])
858 if test "x$NEED_GL" != "xno"; then
859 if test "x$HAVE_GL" = "xno"; then
860 if test "x$NEED_GLX" = "xyes"; then
861 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
865 if test "x$NEED_GLX" != "xno"; then
872 dnl check for DMABUF support
873 HAVE_DRM_FOURCC_HEADER=no
874 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
875 HAVE_DRM_FOURCC_HEADER=yes, )
877 HAVE_GST_ALLOCATORS=no
878 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
879 HAVE_GST_ALLOCATORS=yes, )
882 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
883 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
884 "x$HAVE_EGL" = "xyes"; then
888 dnl check if we can include both GL and GLES2 at the same time
889 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
891 if test "x$HAVE_GLES3_H" == "xyes"; then
896 # pragma GCC diagnostic push
897 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
899 #ifndef GL_GLEXT_PROTOTYPES
900 #define GL_GLEXT_PROTOTYPES 1
903 # include <OpenGLES/ES2/gl.h>
904 # include <OpenGLES/ES2/glext.h>
907 # include <GLES3/gl3.h>
908 # include <GLES3/gl3ext.h>
910 # include <GLES2/gl2.h>
911 # include <GLES2/gl2ext.h>
915 # include <OpenGL/OpenGL.h>
916 # include <OpenGL/gl.h>
917 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
918 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
919 # include <OpenGL/gl3.h>
923 # if __WIN32__ || _WIN32
924 # include <GL/glext.h>
927 int main (int argc, char **argv) { return 0; }
929 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
930 save_CFLAGS="$CFLAGS"
931 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
932 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
933 #if !defined(GL_FALSE)
934 #error Failed to include GL headers
936 ]])],[ AC_MSG_RESULT(yes)
938 if test "x$NEED_GLES2" = "xyes"; then
939 if test "x$NEED_GL" = "xyes"; then
940 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
942 AC_MSG_WARN([Disabling Desktop GL support])
946 AC_MSG_WARN([Disabling GL|ES 2.0 support])
951 CFLAGS="$save_CFLAGS"
954 #dnl Check for OpenGL
958 if test "x$NEED_WGL" = "xyes"; then
959 AC_MSG_ERROR([WGL is not available on Android])
961 if test "x$NEED_GLX" = "xyes"; then
962 AC_MSG_ERROR([GLX is not available on Android])
964 if test "x$NEED_GL" = "xyes"; then
965 AC_MSG_ERROR([GL is not available on Android])
967 if test "x$NEED_X11" = "xyes"; then
968 AC_MSG_ERROR([X11 is not available on Android])
970 if test "x$NEED_COCOA" = "xyes"; then
971 AC_MSG_ERROR([Cocoa is not available on Android])
975 if test "x$HAVE_GLES2" = "xyes"; then
976 if test "x$NEED_GLES2" != "xno"; then
977 GL_LIBS="$GL_LIBS -lGLESv2"
983 if test "x$HAVE_EGL" = "xyes"; then
984 if test "x$NEED_EGL" != "xno"; then
985 GL_LIBS="$GL_LIBS -lEGL"
990 if test "x$USE_EGL" != "xyes"; then
991 AC_MSG_ERROR([Need EGL on Android])
994 if test "x$USE_GLES2" != "xyes"; then
995 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
998 HAVE_WINDOW_ANDROID=yes
1000 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
1001 if test "x$NEED_WGL" = "xyes"; then
1002 AC_MSG_ERROR([WGL is not available on unix])
1005 if test "x$HAVE_X11_XCB" = "xno"; then
1006 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
1007 AC_MSG_WARN([X or Wayland is required for OpenGL support])
1011 dnl check Desktop OpenGL
1012 if test "x$HAVE_GL" = "xyes"; then
1013 if test "x$NEED_GL" != "xno"; then
1014 GL_LIBS="$GL_LIBS -lGL"
1019 if test "x$HAVE_GLES2" = "xyes"; then
1020 if test "x$NEED_GLES2" != "xno"; then
1021 GL_LIBS="$GL_LIBS -lGLESv2"
1026 if test "x$HAVE_X11_XCB" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
1027 if test "x$NEED_X11" != "xno"; then
1028 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1029 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1034 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
1035 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
1036 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
1038 if test "x$NEED_WAYLAND_EGL" != "xno"; then
1039 HAVE_WINDOW_WAYLAND=yes
1040 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1041 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1046 if test "x$HAVE_EGL_RPI" = "xyes"; then
1047 if test "x$NEED_DISPMANX" != "xno"; then
1048 HAVE_WINDOW_DISPMANX=yes
1054 if test "x$HAVE_EGL" = "xno"; then
1055 if test "x$HAVE_GL" = "xno"; then
1056 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1059 if test "x$NEED_EGL" != "xno"; then
1060 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1061 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1062 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1069 if test "x$HAVE_IOS" = "xyes"; then
1070 if test "x$NEED_WGL" = "xyes"; then
1071 AC_MSG_ERROR([WGL is not available on iOS])
1073 if test "x$NEED_GLX" = "xyes"; then
1074 AC_MSG_ERROR([GLX is not available on iOS])
1076 if test "x$NEED_GL" = "xyes"; then
1077 AC_MSG_ERROR([GL is not available on iOS])
1079 if test "x$NEED_X11" = "xyes"; then
1080 AC_MSG_ERROR([X11 is not available on iOS])
1082 if test "x$NEED_COCOA" = "xyes"; then
1083 AC_MSG_ERROR([Cocoa is not available on iOS])
1085 if test "x$NEED_EGL" = "xyes"; then
1086 AC_MSG_ERROR([EGL is not available on iOS])
1089 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1090 GL_CFLAGS="$GL_CFLAGS"
1093 HAVE_WINDOW_EAGL=yes
1095 ac_cv_type_GLsizeiptr=yes
1096 ac_cv_type_GLintptr=yes
1097 ac_cv_type_GLchar=yes
1099 dnl Only osx supports cocoa.
1100 if test "x$NEED_WGL" = "xyes"; then
1101 AC_MSG_ERROR([WGL is not available on Mac OS X])
1104 if test "x$NEED_COCOA" != "xno"; then
1105 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1106 GL_CFLAGS="$GL_CFLAGS"
1108 HAVE_WINDOW_COCOA=yes
1112 if test "x$USE_GLX" = "xyes"; then
1113 if test "x$HAVE_X11_XCB" = "xyes"; then
1114 if test "x$NEED_X11" != "xno"; then
1115 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1116 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1121 if test "x$HAVE_GL" = "xyes"; then
1122 if test "x$NEED_GL" != "xno"; then
1123 GL_LIBS="$GL_LIBS -lGL"
1129 if test "x$HAVE_EGL" = "xyes"; then
1130 if test "x$NEED_EGL" != "xno"; then
1131 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1132 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1133 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1140 if test "x$HAVE_GLES2" = "xyes"; then
1141 if test "x$NEED_GLES2" != "xno"; then
1142 GL_LIBS="$GL_LIBS -lGLESv2"
1149 if test "x$NEED_GLX" = "xyes"; then
1150 AC_MSG_ERROR([GLX is not available on Windows])
1152 if test "x$NEED_GLES2" = "xyes"; then
1153 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1156 if test "x$HAVE_GL" = "xyes"; then
1157 if test "x$NEED_GL" != "xno"; then
1158 if test "x$HAVE_WGL" = "xyes"; then
1159 if test "$NEED_WGL" != "xno"; then
1160 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1161 HAVE_WINDOW_WIN32=yes
1170 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1181 GST_GL_HAVE_OPENGL=0
1185 if test "x$USE_OPENGL" = "xyes"; then
1186 GL_APIS="gl $GL_APIS"
1187 GST_GL_HAVE_OPENGL=1
1189 if test "x$USE_GLES2" = "xyes"; then
1190 GL_APIS="gles2 $GL_APIS"
1192 if test "x$HAVE_GLES3_H" = "xyes"; then
1197 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1198 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1199 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1200 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1205 GST_GL_HAVE_WINDOW_X11=0
1206 GST_GL_HAVE_WINDOW_COCOA=0
1207 GST_GL_HAVE_WINDOW_WIN32=0
1208 GST_GL_HAVE_WINDOW_WAYLAND=0
1209 GST_GL_HAVE_WINDOW_ANDROID=0
1210 GST_GL_HAVE_WINDOW_DISPMANX=0
1211 GST_GL_HAVE_WINDOW_EAGL=0
1213 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1214 GL_WINDOWS="x11 $GL_WINDOWS"
1215 GST_GL_HAVE_WINDOW_X11=1
1217 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1218 GL_WINDOWS="cocoa $GL_WINDOWS"
1219 GST_GL_HAVE_WINDOW_COCOA=1
1221 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1222 GL_WINDOWS="win32 $GL_WINDOWS"
1223 GST_GL_HAVE_WINDOW_WIN32=1
1225 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1226 GL_WINDOWS="wayland $GL_WINDOWS"
1227 GST_GL_HAVE_WINDOW_WAYLAND=1
1229 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1230 GL_WINDOWS="android $GL_WINDOWS"
1231 GST_GL_HAVE_WINDOW_ANDROID=1
1233 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1234 GL_WINDOWS="dispmanx $GL_WINDOWS"
1235 GST_GL_HAVE_WINDOW_DISPMANX=1
1237 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1238 GL_WINDOWS="eagl $GL_WINDOWS"
1239 GST_GL_HAVE_WINDOW_EAGL=1
1242 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1243 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1244 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1245 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1246 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1247 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1248 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1249 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1254 GST_GL_HAVE_PLATFORM_EGL=0
1255 GST_GL_HAVE_PLATFORM_GLX=0
1256 GST_GL_HAVE_PLATFORM_WGL=0
1257 GST_GL_HAVE_PLATFORM_CGL=0
1258 GST_GL_HAVE_PLATFORM_EAGL=0
1260 if test "x$USE_EGL" = "xyes"; then
1261 GL_PLATFORMS="egl $GL_PLATFORMS"
1262 GST_GL_HAVE_PLATFORM_EGL=1
1264 if test "x$USE_GLX" = "xyes"; then
1265 GL_PLATFORMS="glx $GL_PLATFORMS"
1266 GST_GL_HAVE_PLATFORM_GLX=1
1268 if test "x$USE_WGL" = "xyes"; then
1269 GL_PLATFORMS="wgl $GL_PLATFORMS"
1270 GST_GL_HAVE_PLATFORM_WGL=1
1272 if test "x$USE_COCOA" = "xyes"; then
1273 GL_PLATFORMS="cgl $GL_PLATFORMS"
1274 GST_GL_HAVE_PLATFORM_CGL=1
1276 if test "x$USE_EAGL" = "xyes"; then
1277 GL_PLATFORMS="eagl $GL_PLATFORMS"
1278 GST_GL_HAVE_PLATFORM_EAGL=1
1281 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1282 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1283 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1284 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1285 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1286 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1289 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1290 #define GST_GL_HAVE_DMABUF $GST_GL_HAVE_DMABUF
1293 dnl Check for no platforms/window systems
1294 if test "x$GL_APIS" = "x"; then
1295 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1297 if test "x$GL_PLATFORMS" = "x"; then
1298 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1300 if test "x$GL_WINDOWS" = "x"; then
1301 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1304 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1319 HAVE_WINDOW_WIN32=no
1320 HAVE_WINDOW_DISPMANX=no
1321 HAVE_WINDOW_WAYLAND=no
1322 HAVE_WINDOW_ANDROID=no
1323 HAVE_WINDOW_COCOA=no
1329 AC_SUBST(GL_OBJCFLAGS)
1330 AC_SUBST(USE_OPENGL)
1333 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1334 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1335 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1336 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1337 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1338 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1339 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1341 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1342 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1343 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1344 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1345 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1346 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1347 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1348 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1349 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1351 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1353 dnl Check for some types that are not always present
1355 if test "x$USE_GLES2" = "xyes"; then
1356 GL_INCLUDES="$GL_INCLUDES
1357 #ifndef GL_GLEXT_PROTOTYPES
1358 #define GL_GLEXT_PROTOTYPES 1
1361 # include <OpenGLES/ES2/gl.h>
1362 # include <OpenGLES/ES2/glext.h>
1364 # if $GST_GL_HAVE_GLES3
1365 # include <GLES3/gl3.h>
1366 # include <GLES3/gl3ext.h>
1368 # include <GLES2/gl2.h>
1369 # include <GLES2/gl2ext.h>
1375 if test "x$USE_OPENGL" = "xyes"; then
1376 GL_INCLUDES="$GL_INCLUDES
1378 # include <OpenGL/OpenGL.h>
1379 # include <OpenGL/gl.h>
1382 # if __WIN32__ || _WIN32
1383 # include <GL/glext.h>
1389 GST_GL_HAVE_GLEGLIMAGEOES=0
1390 GST_GL_HAVE_GLCHAR=0
1391 GST_GL_HAVE_GLSIZEIPTR=0
1392 GST_GL_HAVE_GLINTPTR=0
1393 GST_GL_HAVE_GLSYNC=0
1394 GST_GL_HAVE_GLUINT64=0
1395 GST_GL_HAVE_GLINT64=0
1396 GST_GL_HAVE_EGLATTRIB=0
1399 CFLAGS="$GL_CFLAGS $CFLAGS"
1401 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1402 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1403 GST_GL_HAVE_GLEGLIMAGEOES=1
1406 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1407 if test "x$ac_cv_type_GLchar" = "xyes"; then
1408 GST_GL_HAVE_GLCHAR=1
1411 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1412 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1413 GST_GL_HAVE_GLSIZEIPTR=1
1416 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1417 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1418 GST_GL_HAVE_GLINTPTR=1
1421 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1422 if test "x$ac_cv_type_GLsync" = "xyes"; then
1423 GST_GL_HAVE_GLSYNC=1
1426 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1427 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1428 GST_GL_HAVE_GLUINT64=1
1431 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1432 if test "x$ac_cv_type_GLint64" = "xyes"; then
1433 GST_GL_HAVE_GLINT64=1
1436 if test "x$USE_EGL" = "xyes"; then
1437 EGL_INCLUDES="$GL_INCLUDES
1438 #include <EGL/egl.h>
1439 #include <EGL/eglext.h>
1441 AC_CHECK_TYPES(EGLAttrib, [], [], [[$EGL_INCLUDES]])
1442 if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
1443 GST_GL_HAVE_EGLATTRIB=1
1449 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1450 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1451 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1452 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1453 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1454 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1455 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1456 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1457 #define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
1460 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1461 outfile=gstglconfig.h-tmp
1462 cat > $outfile <<\_______EOF
1465 * This is a generated file. Please modify `configure.ac'
1468 #ifndef __GST_GL_CONFIG_H__
1469 #define __GST_GL_CONFIG_H__
1471 #include <gst/gst.h>
1477 cat >>$outfile <<_______EOF
1481 cat >>$outfile <<_______EOF
1485 #endif /* __GST_GL_CONFIG_H__ */
1489 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1490 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1493 mv $outfile gst-libs/gst/gl/gstglconfig.h
1496 gl_config_defines='$GL_CONFIG_DEFINES'
1499 dnl libpng is optional
1500 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1501 if test "x$HAVE_PNG" = "xyes"; then
1502 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1505 AC_SUBST(LIBPNG_LIBS)
1506 AC_SUBST(LIBPNG_CFLAGS)
1507 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1509 dnl libjpeg is optional
1510 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1512 if test x$with_jpeg_mmx != x; then
1513 LIBS="$LIBS -L$with_jpeg_mmx"
1515 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1516 JPEG_LIBS="$LIBS -ljpeg-mmx"
1518 if test x$HAVE_JPEG != xyes; then
1520 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1523 if test x$HAVE_JPEG = xyes; then
1524 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1526 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1531 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1534 PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
1535 AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
1537 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
1538 AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
1539 VULKAN_CONFIG_DEFINES="
1540 #define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
1541 #define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
1543 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
1544 outfile=vkconfig.h-tmp
1545 cat > $outfile <<\_______EOF
1548 * This is a generated file. Please modify `configure.ac'
1551 #ifndef __GST_VULKAN_CONFIG_H__
1552 #define __GST_VULKAN_CONFIG_H__
1554 #include <gst/gst.h>
1560 cat >>$outfile <<_______EOF
1561 $vulkan_config_defines
1564 cat >>$outfile <<_______EOF
1568 #endif /* __GST_VULKAN_CONFIG_H__ */
1572 if cmp -s $outfile ext/vulkan/vkconfig.h; then
1573 AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
1576 mv $outfile ext/vulkan/vkconfig.h
1579 vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
1582 dnl *** sys plug-ins ***
1585 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1586 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1587 HAVE_DIRECTSOUND="no"
1588 save_CFLAGS="$CFLAGS"
1589 save_LDFLAGS="$LDFLAGS"
1591 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1592 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1593 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1594 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1595 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1596 #include <windows.h>
1599 #include <mmsystem.h>
1601 DXGetErrorString9 (0);
1602 DirectSoundCreate(NULL, NULL, NULL);
1604 [HAVE_DIRECTSOUND="yes"],
1605 [HAVE_DIRECTSOUND="no"])
1606 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1608 LDFLAGS=$save_LDFLAGS
1611 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1612 dnl this is much more than we want
1613 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1614 AC_SUBST(DIRECTX_CFLAGS)
1615 AC_SUBST(DIRECTX_LDFLAGS)
1616 AC_SUBST(DIRECTSOUND_LIBS)
1618 AC_SUBST(HAVE_DIRECTSOUND)
1622 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1623 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1625 save_CFLAGS="$CFLAGS"
1626 save_LDFLAGS="$LDFLAGS"
1628 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1629 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1630 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1631 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1632 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1633 #include <windows.h>
1635 #include <mmsystem.h>
1636 #include <mmdeviceapi.h>
1642 hr = CoInitialize(NULL);
1644 printf("CoInitialize failed: hr = 0x%08x", hr);
1649 // result = do_everything(argc, argv);
1655 [HAVE_WASAPI="yes"],
1657 AC_MSG_RESULT($HAVE_WASAPI)
1659 LDFLAGS=$save_LDFLAGS
1662 if test "x$HAVE_WASAPI" = "xyes"; then
1663 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1664 AC_SUBST(WASAPI_LIBS)
1666 AC_SUBST(HAVE_WASAPI)
1670 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1671 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1673 save_CFLAGS="$CFLAGS"
1674 save_LDFLAGS="$LDFLAGS"
1676 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1677 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1678 LIBS="$LIBS -ld3d9 -lgdi32"
1679 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1680 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1681 #include <windows.h>
1684 Direct3DCreate9(D3D_SDK_VERSION);
1686 [HAVE_DIRECT3D="yes"],
1687 [HAVE_DIRECT3D="no"])
1688 AC_MSG_RESULT($HAVE_DIRECT3D)
1690 LDFLAGS=$save_LDFLAGS
1693 if test "x$HAVE_DIRECT3D" = "xyes"; then
1694 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1695 AC_SUBST(DIRECT3D_LIBS)
1697 AC_SUBST(HAVE_DIRECT3D)
1701 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1702 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1703 HAVE_WINSCREENCAP="no"
1704 save_CFLAGS="$CFLAGS"
1705 save_LDFLAGS="$LDFLAGS"
1707 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1708 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1709 LIBS="$LIBS -ld3d9 -lgdi32"
1710 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1711 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1712 #include <windows.h>
1715 Direct3DCreate9(D3D_SDK_VERSION);
1717 [HAVE_WINSCREENCAP="yes"],
1718 [HAVE_WINSCREENCAP="no"])
1719 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1721 LDFLAGS=$save_LDFLAGS
1724 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1725 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1726 AC_SUBST(WINSCREENCAP_LIBS)
1728 AC_SUBST(HAVE_WINSCREENCAP)
1732 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1733 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1735 save_CFLAGS="$CFLAGS"
1736 save_LDFLAGS="$LDFLAGS"
1738 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1739 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1740 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1741 AC_MSG_CHECKING(for Winks LDFLAGS)
1742 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1743 #include <windows.h>
1748 IGraphBuilder *pGraph = NULL;
1749 HRESULT hr = CoInitialize(NULL);
1750 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1751 &IID_IGraphBuilder, (void **)&pGraph);
1758 AC_MSG_RESULT($HAVE_WINKS)
1760 LDFLAGS=$save_LDFLAGS
1763 if test "x$HAVE_WINKS" = "xyes"; then
1764 dnl this is much more than we want
1765 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1766 AC_SUBST(DIRECTX_CFLAGS)
1767 AC_SUBST(DIRECTX_LDFLAGS)
1768 AC_SUBST(WINKS_LIBS)
1770 AC_SUBST(HAVE_WINKS)
1773 dnl *** Android Media ***
1774 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1775 HAVE_ANDROID_MEDIA="no"
1776 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1779 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1782 HAVE_ANDROID_MEDIA="no"
1787 dnl *** AppleMedia (OS X and iOS) ***
1788 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1789 HAVE_APPLE_MEDIA="no"
1790 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1791 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1792 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1793 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1794 if test "x$HAVE_IOS" = "xno"; then
1795 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1799 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1804 HAVE_APPLE_MEDIA="no"
1809 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1810 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1811 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1812 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1813 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1815 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1824 dnl *** OS/X AVCVideoServices ***
1825 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1827 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1829 save_CPPFLAGS="$CPPFLAGS"
1830 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1832 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1833 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1835 CPPFLAGS=$save_CPPFLAGS
1838 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1847 dnl check for shm_open (for shm plugin)
1848 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1849 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1850 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1852 *-darwin* | *-macos10*)
1853 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1860 AC_CHECK_LIB([rt], [shm_open],
1861 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1862 #include <sys/socket.h>
1865 AC_SUBST(SHM_LIBS, "-lrt")
1873 dnl check for Video CD
1874 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1875 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1876 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1879 dnl check for OpenSL ES
1880 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1881 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1882 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1885 dnl *** UVC H264 ***
1886 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1887 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1888 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1889 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1890 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1893 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1894 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1895 HAVE_LIBUSB="yes" ],
1897 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1898 test "x$HAVE_GUDEV" = "xyes" && \
1899 test "x$HAVE_LIBUSB" = "xyes"; then
1905 AC_SUBST(LIBUDEV_CFLAGS)
1906 AC_SUBST(LIBUDEV_LIBS)
1907 AC_SUBST(LIBUSB_CFLAGS)
1908 AC_SUBST(LIBUSB_LIBS)
1911 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1912 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1913 AC_ARG_WITH([cuda-prefix],
1914 AS_HELP_STRING([--with-cuda-prefix],
1915 [Use the provided prefix for detecting the cuda installation]),
1916 [AS_IF([test "x$with_cuda_prefix" != "x"],
1917 [CUDA_PREFIX="$with_cuda_prefix"])],
1921 if test "x$CUDA_PREFIX" != "x"; then
1922 dnl only override if not already set
1923 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1924 dnl this is an educated guess, user can always override these
1925 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1926 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1929 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1930 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1931 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1932 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1937 save_CPPFLAGS="$CPPFLAGS"
1938 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1939 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1940 AC_MSG_WARN([Could not find cuda.h]))
1941 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1942 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1943 CPPFLAGS=$save_CPPFLAGS
1945 dnl libcuda and libcudart libraries
1947 LIBS="$CUDA_LIBS $save_LIBS"
1948 HAVE_CUDART_LIB="no"
1949 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1950 AC_MSG_WARN([Could not find cudart library])])
1952 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1953 AC_MSG_WARN([Could not find cuda library])])
1956 dnl nvEncodeAPI.h header
1957 HAVE_NVENCODEAPI_H=no
1958 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1959 save_CPPFLAGS="$CPPFLAGS"
1960 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1961 AC_CHECK_HEADER([nvEncodeAPI.h], [
1962 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1963 #if NVENCAPI_MAJOR_VERSION < 5
1964 #error "Need nvEncodeAPI.h >= 5.0"
1967 HAVE_NVENCODEAPI_H=yes
1969 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1972 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1973 AC_SUBST(NVENCODE_CFLAGS)
1974 CPPFLAGS="$save_CPPFLAGS"
1976 dnl libnvnidia-encode library
1977 HAVE_NVENCODE_LIB=no
1978 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1980 LIBS="$NVENCODE_LIBS $saved_LIBS"
1981 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1982 AC_MSG_WARN([Could not find library nvidia-encode]))
1983 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1984 AC_SUBST(NVENCODE_LIBS)
1988 if test "x$HAVE_CUDA_H" = "xyes" \
1989 -a "x$HAVE_CUDART_H" = "xyes" \
1990 -a "x$HAVE_CUDA_LIB" = "xyes" \
1991 -a "x$HAVE_CUDART_LIB" = "xyes" \
1992 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
1993 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
1995 if test x"$USE_OPENGL" = x"yes"; then
1996 dnl cuda-gl interop header
1997 save_CPPFLAGS="$CPPFLAGS"
1998 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
1999 AC_CHECK_HEADER([cuda_gl_interop.h], [
2000 USE_NVENC_GST_GL="yes"
2001 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
2003 CPPFLAGS="$save_CPPFLAGS"
2009 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
2011 dnl check for tinyalsa
2012 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
2013 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
2014 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
2017 dnl check for intel mediasdk
2018 translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
2019 AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
2020 AC_ARG_WITH([msdk-prefix],
2021 AS_HELP_STRING([--with-msdk-prefix],
2022 [Use the provided prefix for detecting the Intel MediaSDK]),
2023 [AS_IF([test "x$with_msdk_prefix" != "x"],
2024 [MSDK_PREFIX="$with_msdk_prefix"])],
2025 [AS_IF([test "x$MFX_HOME" != "x"],
2026 [MSDK_PREFIX="$MFX_HOME"],
2027 [MSDK_PREFIX="/opt/intel/media"])])
2028 MSDK_CFLAGS="-I$MSDK_PREFIX/include"
2029 MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
2030 AC_SUBST(MSDK_CFLAGS)
2033 save_CPPFLAGS="$CPPFLAGS"
2034 CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
2035 AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
2036 CPPFLAGS="$save_CPPFLAGS"
2039 LIBS="$MSDK_LIBS $LIBS"
2041 AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
2045 PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
2047 if test "x$HAVE_MFXDEFS_H" = "xyes" \
2048 -a "x$HAVE_MFX_LIB" = "xyes" \
2049 -a "x$HAVE_LIBVA_DRM" = "xyes"; then
2055 AM_CONDITIONAL(USE_MSDK_LIBVA,
2056 test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
2058 dnl *** ext plug-ins ***
2059 dnl keep this list sorted alphabetically !
2061 if test "x$BUILD_EXTERNAL" = "xyes"; then
2063 dnl *** assrender ***
2064 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
2065 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
2066 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
2067 HAVE_ASSRENDER="yes" ], [
2071 AC_SUBST(ASSRENDER_CFLAGS)
2072 AC_SUBST(ASSRENDER_LIBS)
2074 dnl *** vo-amrwbenc ***
2075 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
2076 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
2077 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
2080 dnl *** vo-aacenc ***
2081 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
2082 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
2083 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
2086 dnl *** apexsink ***
2087 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
2088 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
2089 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
2093 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
2094 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
2095 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
2097 AC_SUBST(APEXSINK_CFLAGS)
2098 AC_SUBST(APEXSINK_LIBS)
2105 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
2106 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
2107 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
2110 AC_SUBST(BS2B_CFLAGS)
2115 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
2116 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
2119 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
2120 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
2121 AC_MSG_RESULT($HAVE_BZ2)
2123 if test "x$HAVE_BZ2" = "xyes"; then
2131 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
2132 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
2133 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
2136 # AC_SUBST(CAIRO_CFLAGS)
2137 # AC_SUBST(CAIRO_LIBS)
2140 dnl *** chromaprint ***
2141 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
2142 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
2143 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
2144 HAVE_CHROMAPRINT="no"
2146 AC_SUBST(CHROMAPRINT_CFLAGS)
2147 AC_SUBST(CHROMAPRINT_LIBS)
2151 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
2152 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
2153 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
2155 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2156 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2158 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2159 [[#ifdef HAVE_SYS_TYPES_H
2160 # include <sys/types.h>
2162 #ifdef HAVE_NETINET_IN_H
2163 # include <netinet/in.h>
2166 AC_MSG_CHECKING([for socket support needed by curlsink])
2167 AC_MSG_RESULT($HAVE_CURL)
2171 AC_SUBST(CURL_CFLAGS)
2173 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2175 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2179 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2180 AC_SUBST(SSH2_CFLAGS)
2182 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2185 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2186 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2187 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2188 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2190 AC_SUBST(LIBXML2_CFLAGS)
2191 AC_SUBST(LIBXML2_LIBS)
2195 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2196 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2197 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2198 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2207 AC_SUBST(LIBDC1394_CFLAGS)
2208 AC_SUBST(LIBDC1394_LIBS)
2211 dnl *** decklink ***
2212 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2213 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2220 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2221 AC_CHECK_LIB(dl, dlopen,
2225 DECKLINK_LIBS="-lpthread -ldl"
2230 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2231 AC_CHECK_LIB(dl, dlopen,
2235 DECKLINK_LIBS="-lpthread -ldl"
2236 HAVE_DECKLINK_OSX=yes
2245 AC_SUBST(DECKLINK_CXXFLAGS)
2246 AC_SUBST(DECKLINK_LIBS)
2248 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2250 dnl **** DirectFB ****
2251 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2252 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2253 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2258 dnl **** Wayland ****
2259 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2260 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2261 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2262 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0, [
2263 PKG_CHECK_MODULES([WAYLAND_DRM], [libdrm >= 2.4.55])
2264 PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
2265 if test "x$wayland_scanner" != "x"; then
2267 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2269 AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
2280 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2281 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2282 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2283 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2285 AC_SUBST(WEBP_CFLAGS)
2290 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2291 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2292 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2293 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2298 AC_SUBST(DAALA_CFLAGS)
2299 AC_SUBST(DAALA_LIBS)
2304 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2305 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2307 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2308 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2309 if test $HAVE_DTS = "no"; then
2310 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2311 [ DTS_LIBS="-ldts_pic $LIBM"
2312 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2318 dnl *** resindvd ***
2319 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2320 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2321 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2326 dnl **** Free AAC Encoder (FAAC) ****
2327 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2328 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2329 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2330 FAAC_LIBS="-lfaac $LIBM")
2334 dnl **** Free AAC Decoder (FAAD2) ****
2335 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2336 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2337 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2338 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2339 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2341 #elif !defined(LATM)
2342 #error Not faad2 >= 2.7
2348 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2358 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2359 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2360 if test "x$HAVE_FBDEV" != "xyes"; then
2361 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2366 translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
2367 AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
2368 PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", [
2374 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2375 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2376 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2377 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2379 AC_SUBST(FLITE_CFLAGS)
2380 AC_SUBST(FLITE_LIBS)
2384 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2385 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2386 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2387 if test $HAVE_GSM != "yes"; then
2388 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2389 if test $HAVE_GSM = "yes"; then
2390 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2396 dnl *** fluidSynth ***
2397 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2398 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2399 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2400 HAVE_FLUIDSYNTH="no"
2405 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2406 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2407 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2410 AC_SUBST(KATE_CFLAGS)
2412 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2415 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2421 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2422 AC_SUBST(TIGER_CFLAGS)
2423 AC_SUBST(TIGER_LIBS)
2424 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2427 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
2428 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
2429 AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
2430 PKG_CHECK_MODULES([KMS_DRM], [libdrm >= 2.4.55 libkms], HAVE_KMS=yes, HAVE_KMS=no)
2434 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2435 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2436 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2438 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2439 if test $HAVE_LRDF = "yes"; then
2440 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2443 AC_SUBST(LRDF_CFLAGS)
2447 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2448 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2449 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
2451 HAVE_LILV_0_22="yes"
2452 AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
2454 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
2456 AC_SUBST(LILV_CFLAGS)
2460 dnl *** libde265 ***
2461 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2462 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2463 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2464 AC_SUBST(LIBDE265_CFLAGS)
2465 AC_SUBST(LIBDE265_LIBS)
2469 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2470 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2471 dnl check with pkg-config first
2472 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2476 AC_SUBST(LIBMMS_LIBS)
2480 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2481 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2482 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2483 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2486 AC_SUBST(SRTP_CFLAGS)
2490 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2491 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2492 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2494 AC_SUBST(DTLS_CFLAGS)
2502 translit(dnm, m, l) AM_CONDITIONAL(USE_TTML, true)
2503 AG_GST_CHECK_FEATURE(TTML, [TTML plugin], ttml, [
2504 PKG_CHECK_MODULES(TTML, [ libxml-2.0 >= 2.9.2 pango cairo pangocairo ], [
2512 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2513 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2525 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2526 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2527 if test "x$HAVE_CXX" != "xyes"; then
2528 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2531 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2533 AC_SUBST(MODPLUG_CFLAGS)
2534 AC_SUBST(MODPLUG_LIBS)
2538 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
2539 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
2541 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
2542 HAVE_MIMIC=yes, HAVE_MIMIC=no)
2543 AC_SUBST(MIMIC_CFLAGS)
2544 AC_SUBST(MIMIC_LIBS)
2547 dnl *** mjpegtools version info ***
2548 dnl some may prefer older version (given quirks above)
2549 dnl hm, no version info seems available within mjpegtools headers
2550 dnl and API really moves along
2552 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2553 mjpegtools_api=10601
2555 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2556 mjpegtools_api=10800
2558 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2559 mjpegtools_api=20000
2561 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2562 dnl logging API changed in release candidates
2563 OLD_CFLAGS="$CFLAGS"
2565 CFLAGS="$MJPEG_CFLAGS"
2566 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2567 AC_CHECK_FUNC(mjpeg_loglev_t, [
2568 mjpegtools_api=10903
2570 mjpegtools_api=10900
2572 CFLAGS="$OLD_CFLAGS"
2580 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2581 [mjpegtools API evolution])
2583 dnl *** mpeg2enc ***
2584 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2585 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2587 dnl we require a c++ compiler for this one
2588 if [ test x$HAVE_CXX = xyes ]; then
2589 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2590 dnl since many distros include mjpegtools specifically without mplex
2591 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2592 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2593 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2595 dnl switch over to c++ to test things
2597 OLD_CPPFLAGS="$CPPFLAGS"
2599 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2600 CPPFLAGS="$CPPFLAGS_GOOD -I."
2602 mpeg2enc_headers_ok=no
2603 AC_CHECK_HEADER([mpeg2encoder.hh], [
2604 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2606 LIBS="$LIBS $MPEG2ENC_LIBS"
2607 AC_MSG_CHECKING([for valid mpeg2enc objects])
2608 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2609 #include <mpeg2encoder.hh>
2610 #include <mpeg2encoptions.hh>
2616 MPEG2EncOptions *options = new MPEG2EncOptions ();
2617 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2622 dnl so far so good, let's check more things:
2623 dnl mjpegtools-1.8.0 does not install the required
2624 dnl mpeg2syntaxcodes.h header by default, and a new release
2625 dnl is not in sight, so check for this oversight in case
2626 dnl distros or folks have fixed this themselves
2627 if test "$mjpegtools_api" -ge "10800"; then
2628 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2629 mpeg2enc_headers_ok=yes
2631 mpeg2enc_headers_ok=no
2634 mpeg2enc_headers_ok=yes
2636 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2639 CPPFLAGS="$CPPFLAGS_GOOD"
2640 AC_SUBST(MPEG2ENC_CFLAGS)
2641 AC_SUBST(MPEG2ENC_LIBS)
2648 CPPFLAGS="$OLD_CPPFLAGS"
2657 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2658 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2660 dnl we require a c++ compiler for this one
2661 if [ test x$HAVE_CXX = xyes ]; then
2662 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2663 dnl since many distros include mjpegtools specifically without mplex
2664 dnl and mpeg2enc, we check for mplex on its own, too.
2665 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2666 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2667 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2669 dnl switch over to c++ to test things
2671 OLD_CPPFLAGS="$CPPFLAGS"
2673 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2674 CPPFLAGS="$CPPFLAGS_GOOD -I."
2675 AC_CHECK_HEADER(interact.hpp, [
2676 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2678 LIBS="$LIBS $MPLEX_LIBS"
2679 OLD_LDFLAGS="$LDFLAGS"
2680 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2681 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2682 dnl don't want this here
2683 AC_MSG_CHECKING([for valid mplex objects])
2684 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2686 #include <interact.hpp>
2687 #include <outputstrm.hpp>
2688 #include <multiplexor.hpp>
2693 class TestOutputStream : public OutputStream {
2695 TestOutputStream () : OutputStream () { }
2696 void Write (uint8_t *a, unsigned int b) { }
2697 void NextSegment () { }
2698 uint64_t SegmentSize () { }
2702 MultiplexJob *job = new MultiplexJob ();
2703 vector<IBitStream *> inputs;
2704 job->SetupInputStreams (inputs);
2705 TestOutputStream *out = new TestOutputStream ();
2706 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2711 CPPFLAGS="$CPPFLAGS_GOOD"
2712 AC_SUBST(MPLEX_CFLAGS)
2713 AC_SUBST(MPLEX_LIBS)
2714 AC_SUBST(MPLEX_LDFLAGS)
2716 ],[AC_MSG_RESULT(no)],[])
2718 LDFLAGS="$OLD_LDFLAGS"
2720 CPPFLAGS="$OLD_CPPFLAGS"
2726 dnl *** musepack ***
2727 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2728 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2729 AC_CHECK_HEADER([mpc/mpcdec.h], [
2731 MUSEPACK_LIBS="-lmpcdec"
2732 AC_SUBST(MUSEPACK_LIBS)
2733 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2735 MUSEPACK_LIBS="-lmpcdec"
2736 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2737 AC_SUBST(MUSEPACK_LIBS)
2738 ], [HAVE_MUSEPACK="no"])])
2742 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2743 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2745 if test "x$HAVE_X" = "xyes"; then
2746 save_cppflags=$CFLAGS
2747 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2748 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2749 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2750 CPPFLAGS="$save_cppflags"
2752 AC_SUBST(NAS_CFLAGS)
2757 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2758 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2759 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2762 AC_SUBST(NEON_CFLAGS)
2767 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2768 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2769 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2772 AC_SUBST(OFA_CFLAGS)
2777 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2778 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2779 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2782 AC_SUBST(OPENAL_CFLAGS)
2783 AC_SUBST(OPENAL_LIBS)
2787 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2788 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2789 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2790 dnl and don't want the build to break when a new opencv version comes out.
2791 dnl Need to adjust this upwards once we know that our code compiles fine with
2792 dnl a new version and the no-backward-compatibility define. (There doesn't
2793 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2795 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv <= 3.1.0 , [
2798 OLD_CPPFLAGS=$CPPFLAGS
2799 CPPFLAGS=$OPENCV_CFLAGS
2800 something_not_found=no
2801 AC_CHECK_HEADERS([opencv2/core/core_c.h \
2802 opencv2/core/version.hpp \
2803 opencv2/highgui/highgui_c.h \
2804 opencv2/imgproc/imgproc.hpp \
2805 opencv2/imgproc/imgproc_c.h \
2806 opencv2/objdetect/objdetect.hpp \
2807 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2808 CPPFLAGS=$OLD_CPPFLAGS
2811 if test $something_not_found = "yes"; then
2812 AC_MSG_RESULT([not all opencv2 headers were found])
2820 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2821 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2822 AC_SUBST(OPENCV_PREFIX)
2823 AC_SUBST(OPENCV_CFLAGS)
2824 AC_SUBST(OPENCV_LIBS)
2825 dnl the OpenCV prefix is used at runtime for some object properties, and also
2826 dnl used here to detect which directory is the correct one. For the second
2827 dnl case, make sure the right sysroot is used, ensuring correct behavior
2828 dnl during cross compilation.
2829 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2830 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2832 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2837 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2838 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2839 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2842 dnl *** openh264 ***
2843 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2844 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2845 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2848 dnl *** OpenJPEG ***
2849 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2850 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2852 AG_GST_PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= 2.0)
2853 if test x"$HAVE_OPENJPEG" = x"yes"; then
2854 dnl minor API changes in v2.1
2855 AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1)
2856 if test x"$HAVE_OPENJPEG" = x"yes"; then
2857 AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used])
2862 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2863 HAVE_OPENJPEG="yes",
2864 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2866 if test x"$HAVE_OPENJPEG" = x"yes"; then
2867 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2870 AC_SUBST(OPENJPEG_CFLAGS)
2871 AC_SUBST(OPENJPEG_LIBS)
2875 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2876 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2877 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2878 AC_SUBST(OPENNI2_CFLAGS)
2879 AC_SUBST(OPENNI2_LIBS)
2883 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2884 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2885 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2886 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2891 AC_SUBST(OPUS_CFLAGS)
2896 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2897 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2898 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2899 AC_SUBST(PVR_CFLAGS)
2903 AC_ARG_WITH([pvr-external-headers],
2904 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2905 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2906 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2907 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2910 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2911 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2912 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2916 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2917 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2920 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2927 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2928 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2929 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2930 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2935 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2937 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2938 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2939 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2940 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2942 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2944 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2945 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2946 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2947 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2949 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2951 if test "x$GDK_WINDOWING" = "xyes"; then
2952 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2959 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2962 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2963 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2964 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2965 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2966 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2967 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2968 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2969 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2970 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2971 AC_MSG_WARN([One of the required qt build programs was not found])
2975 HAVE_QT_WINDOWING="no"
2976 QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
2977 QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
2978 AS_IF([test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
2979 QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
2980 HAVE_QT_QPA_HEADER="yes"
2981 ], [AC_MSG_NOTICE([Cannot find QPA])])
2982 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2983 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2984 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2985 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2986 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2987 HAVE_QT_WINDOWING="yes"
2988 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2990 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1" -a "x$HAVE_QT_QPA_HEADER" = "xyes"; then
2991 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2992 AC_DEFINE([HAVE_QT_WAYLAND], [],
2993 [Define if Qt Wayland integration is installed])
2994 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2995 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
2996 HAVE_QT_WINDOWING="yes"
2997 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
2999 if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
3000 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
3001 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
3002 # c++ on android requires a standard library and there are multiple
3003 # choices. cerbero provides a pkg-config file the describes a choice
3004 # so try to use that. Outside cerbero one has to pass these flags
3005 # manually for the library one is using
3006 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3007 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
3008 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
3010 AC_MSG_NOTICE([Could not find Standard C++ library])])
3011 AC_DEFINE([HAVE_QT_EGLFS], [],
3012 [Define if Qt eglfs integration is installed])
3013 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
3014 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
3015 HAVE_QT_WINDOWING="yes"
3016 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
3018 AC_DEFINE([HAVE_QT_EGLFS], [],
3019 [Define if Qt eglfs integration is installed])
3020 HAVE_QT_WINDOWING="yes"
3023 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
3024 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
3025 AC_DEFINE([HAVE_QT_MAC], [],
3026 [Define if Qt Mac integration is installed])
3027 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
3028 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
3029 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
3030 HAVE_QT_WINDOWING="yes"
3031 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
3033 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
3034 if test "x$HAVE_IOS" = "xyes"; then
3035 # iOS doesn't have its own extras package so if we have the core
3036 # modules we are good to go
3037 AC_DEFINE([HAVE_QT_IOS], [],
3038 [Define if Qt iOS integration is installed])
3039 HAVE_QT_WINDOWING="yes"
3042 if test "x$HAVE_QT_WINDOWING" = "xno"; then
3043 AC_MSG_WARN([Could not find any Qt Windowing integration])
3046 AC_SUBST([QT_CFLAGS])
3055 translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
3056 AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
3057 AC_CHECK_HEADER(vulkan/vulkan.h, [
3058 AC_CHECK_LIB(vulkan, vkCreateDevice, [
3059 VULKAN_LIBS="-lvulkan"
3060 AC_SUBST(VULKAN_LIBS)
3061 if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
3064 if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
3071 dnl *** libvisual ***
3072 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
3073 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
3074 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
3075 if test x$HAVE_LIBVISUAL = xyes; then
3076 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
3078 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
3079 if test x$LIBVIS_PLUGINSDIR != x; then
3080 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
3081 "$LIBVIS_PLUGINSDIR",
3082 [directory in which the detected libvisual's plugins are located])
3086 dnl *** timidity ***
3087 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
3088 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
3089 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
3090 HAVE_TIMIDITY="yes",
3091 AC_MSG_CHECKING([for timidity.cfg])
3093 if test -r /etc/timidity.cfg; then
3094 timidity_cfg=/etc/timidity.cfg
3095 elif test -r /etc/timidity/timidity.cfg; then
3096 timidity_cfg=/etc/timidity/timidity.cfg
3097 elif test -r /usr/share/timidity/timidity.cfg; then
3098 timidity_cfg=/usr/share/timidity/timidity.cfg
3099 elif test -r /usr/local/share/timidity/timidity.cfg; then
3100 timidity_cfg=/usr/local/share/timidity/timidity.cfg
3102 if test "x$timidity_cfg" != "x"; then
3103 AC_MSG_RESULT($timidity_cfg)
3104 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
3106 AC_MSG_RESULT([not found])
3111 AC_SUBST(TIMIDITY_CFLAGS)
3112 AC_SUBST(TIMIDITY_LIBS)
3115 dnl *** teletextdec ***
3116 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
3117 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
3118 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
3121 dnl *** wildmidi ***
3122 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
3123 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
3124 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
3127 WILDMIDI_LIBS="-lWildMidi")
3128 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
3130 if test "x$HAVE_WILDMIDI" = "xyes"; then
3132 WILDMIDI_LIBS=-lWildMidi
3133 AC_MSG_NOTICE(compiling gstWildMidi)
3137 AC_MSG_WARN(no WildMidi library found (libWildMidi))
3139 AC_SUBST(WILDMIDI_CFLAGS)
3140 AC_SUBST(WILDMIDI_LIBS)
3144 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
3145 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
3146 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
3149 dnl **** Smooth Streaming ****
3150 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
3151 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
3152 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
3154 HAVE_SMOOTHSTREAMING="yes"],
3156 HAVE_SMOOTHSTREAMING="no"])
3157 AC_SUBST(LIBXML2_CFLAGS)
3158 AC_SUBST(LIBXML2_LIBS)
3162 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
3163 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
3164 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
3165 AC_SUBST(SNDFILE_CFLAGS)
3166 AC_SUBST(SNDFILE_LIBS)
3169 dnl *** soundtouch ***
3170 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
3171 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
3172 dnl We only need -lBPM on soundtouch < 1.4
3173 dnl We check for libSoundTouch since Debian used it before upstream
3174 dnl added a pkgconfig file.
3175 HAVE_SOUNDTOUCH_1_4=yes
3176 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
3177 [HAVE_SOUNDTOUCH=yes],
3178 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
3179 [HAVE_SOUNDTOUCH=yes],
3180 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
3181 [HAVE_SOUNDTOUCH=yes
3182 HAVE_SOUNDTOUCH_1_4=no
3183 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3184 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
3185 [HAVE_SOUNDTOUCH=yes],
3186 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
3187 [HAVE_SOUNDTOUCH=yes
3188 HAVE_SOUNDTOUCH_1_4=no
3189 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3190 HAVE_SOUNDTOUCH=no)])])])])
3191 AC_SUBST(SOUNDTOUCH_CFLAGS)
3192 AC_SUBST(SOUNDTOUCH_LIBS)
3193 if test "x$HAVE_CXX" != "xyes"; then
3194 USE_SOUNDTOUCH=false
3195 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
3197 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
3198 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
3199 [Defined if the available libSoundTouch is >= 1.4])
3204 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
3205 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
3206 AC_CHECK_HEADER(openspc.h, [
3207 AC_CHECK_LIB(openspc, OSPC_Init, [
3208 SPC_LIBS="-lopenspc"
3220 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3221 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3222 AC_CHECK_HEADER(gme/gme.h, [
3223 AC_CHECK_LIB(gme, gme_new_emu, [
3234 if test "x$HAVE_GME" = "xyes"; then
3235 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3236 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3242 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3243 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3245 AC_CHECK_HEADER(xvid.h, [
3247 LIBS="$PTHREAD_LIBS $LIBM"
3248 AC_CHECK_LIB(xvidcore, xvid_encore, [
3249 AC_CHECK_LIB(xvidcore, xvid_decore, [
3250 AC_CHECK_LIB(xvidcore, xvid_global, [
3251 AC_MSG_CHECKING([for up-to-date XviD API version])
3252 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3253 #if XVID_API_MAJOR(XVID_API) != 4
3254 #error "Incompatible XviD API version"
3256 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3257 #error "Incompatible XviD API version"
3259 ]])],[ AC_MSG_RESULT(yes)
3260 XVID_LIBS="-lxvidcore $LIBM"
3263 ],[AC_MSG_RESULT(no) ])
3272 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3273 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3274 AC_MSG_CHECKING([Checking for up to date dvb installation])
3275 AC_CHECK_HEADER(linux/dvb/version.h, [
3276 AC_MSG_CHECKING([for up-to-date dvb API])
3277 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3278 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3279 #error "Incompatible dvb API"
3281 ]])], [ AC_MSG_RESULT(yes)
3283 ], [ AC_MSG_RESULT(no)
3290 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3291 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3292 AC_MSG_CHECKING([Checking for windows internet support])
3293 AC_CHECK_HEADERS([windows.h wininet.h],
3294 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3295 [AC_INCLUDES_DEFAULT
3296 #include <windows.h>])
3300 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3301 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3302 AC_MSG_CHECKING([Checking for ACM support])
3303 AC_CHECK_HEADERS([windows.h msacm.h],
3305 AC_SUBST(ACMENC_CFLAGS)
3306 AC_SUBST(ACMMP3DEC_CFLAGS)
3308 [AC_INCLUDES_DEFAULT
3309 #include <windows.h>])
3313 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3314 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3319 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3321 if test "$HAVE_VDPAU" = "no"; then
3322 saved_CPPFLAGS="$CPPFLAGS"
3323 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3325 if test -z "$HAVE_VDPAU_H"; then
3326 dnl Didn't find VDPAU header straight away.
3327 dnl Try /usr/include/nvidia. Need to clear caching vars first
3328 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3329 unset ac_cv_header_vdpau_vdpau_h
3330 unset ac_cv_header_vdpau_vdpau_x11_h
3331 VDPAU_CFLAGS="-I/usr/include/nvidia"
3332 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3333 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3334 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3337 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3339 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3340 dnl Found the headers - look for the lib
3341 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3343 LIBS="$VDPAU_LIBS $saved_LIBS"
3344 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3350 if test "$HAVE_VDPAU" = "yes"; then
3351 AC_MSG_NOTICE([Found up to date VDPAU installation])
3352 AC_SUBST(VDPAU_CFLAGS)
3353 AC_SUBST(VDPAU_LIBS)
3358 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3359 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3360 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3363 dnl *** schroedinger ***
3364 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3365 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3366 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3370 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3371 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3372 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3376 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3377 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3378 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3382 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3383 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3384 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3385 HAVE_SPANDSP="yes" ], [
3389 AC_SUBST(SPANDSP_CFLAGS)
3390 AC_SUBST(SPANDSP_LIBS)
3393 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3394 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3395 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3396 if test "x$HAVE_SNDIO" = "xyes"; then
3397 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3398 if test "x$HAVE_SNDIO" = "xyes"; then
3400 AC_SUBST(SNDIO_LIBS)
3405 dnl *** hls-crypto ***
3406 AC_ARG_WITH([hls-crypto],
3407 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3408 which cryptographic library version to compile against for hls (default: auto)
3410 AS_CASE([$with_hls_crypto],
3414 [with_hls_crypto=auto]
3420 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3421 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3422 AS_CASE([$with_hls_crypto],
3424 PKG_CHECK_MODULES(NETTLE, nettle, [
3425 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3427 ],[AC_MSG_ERROR([Could not find nettle library])])
3430 AM_PATH_LIBGCRYPT([1.2.0], [
3431 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3433 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3436 PKG_CHECK_MODULES(OPENSSL, openssl, [
3437 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3439 ],[AC_MSG_ERROR([Could not find openssl library])])
3442 dnl Try to find a valid crypto library
3443 PKG_CHECK_MODULES(NETTLE, nettle, [
3444 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3447 AM_PATH_LIBGCRYPT([1.2.0], [
3448 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3451 PKG_CHECK_MODULES(OPENSSL, openssl, [
3452 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3463 dnl *** x265 (H.265/HEVC encoder) ***
3464 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3465 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3466 AG_GST_PKG_CHECK_MODULES(X265, x265)
3469 dnl *** WebRTC Audio Processing ***
3470 dnl Note: We test for a specific version as there is no API stability
3471 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
3472 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
3474 AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
3476 # On Android, C++ headers comes with the STL implementation
3477 AS_CASE(["${host}"],
3480 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3481 WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
3482 WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
3484 AC_SUBST([WEBRTCDSP_CFLAGS])
3485 AC_SUBST([WEBRTCDSP_LIBS])
3488 old_CPPFLAGS=$CPPFLAGS
3489 CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
3490 AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
3491 CPPFLAGS=$old_CPPFLAGS
3497 dnl not building plugins with external dependencies,
3498 dnl but we still need to set the conditionals
3500 AM_CONDITIONAL(USE_ASSRENDER, false)
3501 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3502 AM_CONDITIONAL(USE_VOAACENC, false)
3503 AM_CONDITIONAL(USE_APEXSINK, false)
3504 AM_CONDITIONAL(USE_BS2B, false)
3505 AM_CONDITIONAL(USE_BZ2, false)
3506 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3507 AM_CONDITIONAL(USE_CURL, false)
3508 AM_CONDITIONAL(USE_SSH2, false)
3509 AM_CONDITIONAL(USE_DASH, false)
3510 AM_CONDITIONAL(USE_DC1394, false)
3511 AM_CONDITIONAL(USE_DECKLINK, false)
3512 AM_CONDITIONAL(DECKLINK_OSX, false)
3513 AM_CONDITIONAL(USE_DIRECTFB, false)
3514 AM_CONDITIONAL(USE_WAYLAND, false)
3515 AM_CONDITIONAL(USE_DAALA, false)
3516 AM_CONDITIONAL(USE_DTS, false)
3517 AM_CONDITIONAL(USE_EXIF, false)
3518 AM_CONDITIONAL(USE_RESINDVD, false)
3519 AM_CONDITIONAL(USE_FAAC, false)
3520 AM_CONDITIONAL(USE_FAAD, false)
3521 AM_CONDITIONAL(USE_FBDEV, false)
3522 AM_CONDITIONAL(USE_FDK_AAC, false)
3523 AM_CONDITIONAL(USE_FLITE, false)
3524 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3525 AM_CONDITIONAL(USE_GL, false)
3526 AM_CONDITIONAL(USE_GSM, false)
3527 AM_CONDITIONAL(USE_GTK3, false)
3528 AM_CONDITIONAL(USE_GTK3_GL, false)
3529 AM_CONDITIONAL(USE_HLS, false)
3530 AM_CONDITIONAL(USE_KATE, false)
3531 AM_CONDITIONAL(USE_KMS, false)
3532 AM_CONDITIONAL(USE_TIGER, false)
3533 AM_CONDITIONAL(USE_LADSPA, false)
3534 AM_CONDITIONAL(USE_LV2, false)
3535 AM_CONDITIONAL(USE_LIBDE265, false)
3536 AM_CONDITIONAL(USE_LIBMMS, false)
3537 AM_CONDITIONAL(USE_LINSYS, false)
3538 AM_CONDITIONAL(USE_MODPLUG, false)
3539 AM_CONDITIONAL(USE_MIMIC, false)
3540 AM_CONDITIONAL(USE_MPEG2ENC, false)
3541 AM_CONDITIONAL(USE_MPLEX, false)
3542 AM_CONDITIONAL(USE_MUSEPACK, false)
3543 AM_CONDITIONAL(USE_NAS, false)
3544 AM_CONDITIONAL(USE_NEON, false)
3545 AM_CONDITIONAL(USE_OFA, false)
3546 AM_CONDITIONAL(USE_OPENAL, false)
3547 AM_CONDITIONAL(USE_OPENCV, false)
3548 AM_CONDITIONAL(USE_OPENEXR, false)
3549 AM_CONDITIONAL(USE_OPENJPEG, false)
3550 AM_CONDITIONAL(USE_OPENNI2, false)
3551 AM_CONDITIONAL(USE_OPUS, false)
3552 AM_CONDITIONAL(USE_PVR, false)
3553 AM_CONDITIONAL(USE_QT, false)
3554 AM_CONDITIONAL(USE_LIBVISUAL, false)
3555 AM_CONDITIONAL(USE_TIMIDITY, false)
3556 AM_CONDITIONAL(USE_WILDMIDI, false)
3557 AM_CONDITIONAL(USE_SDL, false)
3558 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3559 AM_CONDITIONAL(USE_SNDFILE, false)
3560 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3561 AM_CONDITIONAL(USE_SPANDSP, false)
3562 AM_CONDITIONAL(USE_SPC, false)
3563 AM_CONDITIONAL(USE_SRTP, false)
3564 AM_CONDITIONAL(USE_GME, false)
3565 AM_CONDITIONAL(USE_XVID, false)
3566 AM_CONDITIONAL(USE_DVB, false)
3567 AM_CONDITIONAL(USE_WININET, false)
3568 AM_CONDITIONAL(USE_ACM, false)
3569 AM_CONDITIONAL(USE_VDPAU, false)
3570 AM_CONDITIONAL(USE_SBC, false)
3571 AM_CONDITIONAL(USE_SCHRO, false)
3572 AM_CONDITIONAL(USE_ZBAR, false)
3573 AM_CONDITIONAL(USE_RSVG, false)
3574 AM_CONDITIONAL(USE_RTMP, false)
3575 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3576 AM_CONDITIONAL(USE_SNDIO, false)
3577 AM_CONDITIONAL(USE_UVCH264, false)
3578 AM_CONDITIONAL(USE_WEBP, false)
3579 AM_CONDITIONAL(USE_WEBRTCDSP, false)
3580 AM_CONDITIONAL(USE_OPENH264, false)
3581 AM_CONDITIONAL(USE_X265, false)
3582 AM_CONDITIONAL(USE_DTLS, false)
3583 AM_CONDITIONAL(USE_VULKAN, false)
3584 AM_CONDITIONAL(USE_TTML, false)
3586 fi dnl of EXT plugins
3588 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3591 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3592 dnl GST_*: flags shared by built objects to link against GStreamer
3593 dnl GST_ALL_LDFLAGS: linker flags shared by all
3594 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3595 dnl GST_LT_LDFLAGS: library versioning of our libraries
3596 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3598 dnl GST_OPTION_CFLAGS
3599 if test "x$USE_DEBUG" = xyes; then
3602 AC_SUBST(PROFILE_CFLAGS)
3604 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3605 dnl Define _only_ during CVS (not pre-releases or releases)
3606 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3608 DEPRECATED_CFLAGS=""
3610 AC_SUBST(DEPRECATED_CFLAGS)
3612 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3613 dnl at make time with e.g. make ERROR_CFLAGS=""
3614 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3615 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3616 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3617 AC_SUBST(GST_OPTION_CFLAGS)
3618 AC_SUBST(GST_OPTION_CXXFLAGS)
3619 AC_SUBST(GST_OPTION_OBJCFLAGS)
3621 dnl FIXME: do we want to rename to GST_ALL_* ?
3622 dnl prefer internal headers to already installed ones
3623 dnl also add builddir include for enumtypes and marshal
3624 dnl add GST_OPTION_CFLAGS, but overridable
3625 GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
3626 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3627 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3628 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3629 AC_SUBST(GST_CFLAGS)
3630 AC_SUBST(GST_CXXFLAGS)
3631 AC_SUBST(GST_OBJCFLAGS)
3633 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3634 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3635 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3636 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3637 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3638 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3640 dnl LDFLAGS really should only contain flags, not libs - they get added before
3641 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3642 GST_ALL_LDFLAGS="-no-undefined"
3643 if test "x${enable_Bsymbolic}" = "xyes"; then
3644 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3646 AC_SUBST(GST_ALL_LDFLAGS)
3649 dnl linker flags shared by all libraries
3650 dnl LDFLAGS modifier defining exported symbols from built libraries
3651 dnl (export _gst_foo but not __gst_foo)
3652 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3653 AC_SUBST(GST_LIB_LDFLAGS)
3655 dnl this really should only contain flags, not libs - they get added before
3656 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3657 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3658 AC_SUBST(GST_PLUGIN_LDFLAGS)
3660 dnl *** output files ***
3662 $MKDIR_P tests/check/orc
3670 gst-plugins-bad.spec
3672 gst/accurip/Makefile
3673 gst/adpcmdec/Makefile
3674 gst/adpcmenc/Makefile
3676 gst/videoframe_audiolevel/Makefile
3678 gst/audiofxbad/Makefile
3679 gst/audiomixer/Makefile
3680 gst/audiovisualizers/Makefile
3681 gst/autoconvert/Makefile
3683 gst/camerabin2/Makefile
3684 gst/cdxaparse/Makefile
3685 gst/coloreffects/Makefile
3686 gst/dataurisrc/Makefile
3688 gst/debugutils/Makefile
3689 gst/dvbsuboverlay/Makefile
3691 gst/faceoverlay/Makefile
3692 gst/festival/Makefile
3693 gst/fieldanalysis/Makefile
3694 gst/freeverb/Makefile
3696 gst/gaudieffects/Makefile
3697 gst/geometrictransform/Makefile
3699 gst/hdvparse/Makefile
3702 gst/interlace/Makefile
3703 gst/ivfparse/Makefile
3705 gst/jp2kdecimator/Makefile
3706 gst/jpegformat/Makefile
3709 gst/mpegdemux/Makefile
3710 gst/mpegtsdemux/Makefile
3711 gst/mpegtsmux/Makefile
3712 gst/mpegtsmux/tsmux/Makefile
3713 gst/mpegpsmux/Makefile
3717 gst/nuvdemux/Makefile
3719 gst/patchdetect/Makefile
3720 gst/pcapparse/Makefile
3722 gst/rawparse/Makefile
3723 gst/removesilence/Makefile
3726 gst/segmentclip/Makefile
3733 gst/timecode/Makefile
3734 gst/videofilters/Makefile
3735 gst/videomeasure/Makefile
3736 gst/videoparsers/Makefile
3737 gst/videosignal/Makefile
3741 gst/compositor/Makefile
3743 gst-libs/gst/Makefile
3744 gst-libs/gst/adaptivedemux/Makefile
3745 gst-libs/gst/basecamerabinsrc/Makefile
3746 gst-libs/gst/gl/Makefile
3747 gst-libs/gst/gl/android/Makefile
3748 gst-libs/gst/gl/cocoa/Makefile
3749 gst-libs/gst/gl/dispmanx/Makefile
3750 gst-libs/gst/gl/glprototypes/Makefile
3751 gst-libs/gst/gl/eagl/Makefile
3752 gst-libs/gst/gl/egl/Makefile
3753 gst-libs/gst/gl/wayland/Makefile
3754 gst-libs/gst/gl/win32/Makefile
3755 gst-libs/gst/gl/x11/Makefile
3756 gst-libs/gst/insertbin/Makefile
3757 gst-libs/gst/interfaces/Makefile
3758 gst-libs/gst/codecparsers/Makefile
3759 gst-libs/gst/mpegts/Makefile
3760 gst-libs/gst/uridownloader/Makefile
3761 gst-libs/gst/wayland/Makefile
3762 gst-libs/gst/base/Makefile
3763 gst-libs/gst/player/Makefile
3764 gst-libs/gst/video/Makefile
3765 gst-libs/gst/audio/Makefile
3767 sys/dshowdecwrapper/Makefile
3769 sys/acmmp3dec/Makefile
3770 sys/androidmedia/Makefile
3771 sys/applemedia/Makefile
3774 sys/d3dvideosink/Makefile
3775 sys/decklink/Makefile
3776 sys/directsound/Makefile
3777 sys/dshowsrcwrapper/Makefile
3778 sys/dshowvideosink/Makefile
3785 sys/opensles/Makefile
3787 sys/tinyalsa/Makefile
3788 sys/uvch264/Makefile
3793 sys/wininet/Makefile
3795 sys/winscreencap/Makefile
3797 tests/check/Makefile
3798 tests/files/Makefile
3799 tests/examples/Makefile
3800 tests/examples/avsamplesink/Makefile
3801 tests/examples/camerabin2/Makefile
3802 tests/examples/codecparsers/Makefile
3803 tests/examples/directfb/Makefile
3804 tests/examples/gl/Makefile
3805 tests/examples/gl/cocoa/Makefile
3806 tests/examples/gl/clutter/Makefile
3807 tests/examples/gl/generic/Makefile
3808 tests/examples/gl/generic/cube/Makefile
3809 tests/examples/gl/generic/cubeyuv/Makefile
3810 tests/examples/gl/generic/doublecube/Makefile
3811 tests/examples/gl/generic/recordgraphic/Makefile
3812 tests/examples/gl/gtk/Makefile
3813 tests/examples/gl/gtk/3dvideo/Makefile
3814 tests/examples/gl/gtk/filternovideooverlay/Makefile
3815 tests/examples/gl/gtk/filtervideooverlay/Makefile
3816 tests/examples/gl/gtk/fxtest/Makefile
3817 tests/examples/gl/gtk/switchvideooverlay/Makefile
3818 tests/examples/gl/qt/Makefile
3819 tests/examples/gl/sdl/Makefile
3820 tests/examples/gtk/Makefile
3821 tests/examples/mpegts/Makefile
3822 tests/examples/mxf/Makefile
3823 tests/examples/opencv/Makefile
3824 tests/examples/uvch264/Makefile
3825 tests/examples/waylandsink/Makefile
3826 tests/icles/Makefile
3827 ext/voamrwbenc/Makefile
3828 ext/voaacenc/Makefile
3829 ext/assrender/Makefile
3830 ext/apexsink/Makefile
3833 ext/chromaprint/Makefile
3837 ext/directfb/Makefile
3838 ext/wayland/Makefile
3847 ext/fluidsynth/Makefile
3853 ext/libde265/Makefile
3855 ext/libvisual/Makefile
3857 ext/modplug/Makefile
3858 ext/mpeg2enc/Makefile
3861 ext/musepack/Makefile
3867 ext/openexr/Makefile
3868 ext/openh264/Makefile
3869 ext/openjpeg/Makefile
3870 ext/openni2/Makefile
3874 ext/resindvd/Makefile
3877 ext/schroedinger/Makefile
3879 ext/smoothstreaming/Makefile
3880 ext/sndfile/Makefile
3881 ext/soundtouch/Makefile
3882 ext/spandsp/Makefile
3885 ext/teletextdec/Makefile
3888 ext/timidity/Makefile
3890 ext/vulkan/xcb/Makefile
3891 ext/vulkan/wayland/Makefile
3897 ext/webrtcdsp/Makefile
3901 docs/plugins/Makefile
3903 docs/version.entities
3905 pkgconfig/gstreamer-plugins-bad.pc
3906 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3907 pkgconfig/gstreamer-codecparsers.pc
3908 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3909 pkgconfig/gstreamer-insertbin.pc
3910 pkgconfig/gstreamer-insertbin-uninstalled.pc
3911 pkgconfig/gstreamer-gl.pc
3912 pkgconfig/gstreamer-gl-uninstalled.pc
3913 pkgconfig/gstreamer-mpegts.pc
3914 pkgconfig/gstreamer-mpegts-uninstalled.pc
3915 pkgconfig/gstreamer-player.pc
3916 pkgconfig/gstreamer-player-uninstalled.pc
3917 pkgconfig/gstreamer-wayland.pc
3918 pkgconfig/gstreamer-wayland-uninstalled.pc
3919 pkgconfig/gstreamer-bad-base.pc
3920 pkgconfig/gstreamer-bad-base-uninstalled.pc
3921 pkgconfig/gstreamer-bad-video.pc
3922 pkgconfig/gstreamer-bad-video-uninstalled.pc
3923 pkgconfig/gstreamer-bad-audio.pc
3924 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3929 dnl Create the config.h file for Visual Studio builds
3930 dnl Beware of spaces and /'s in some of the shell variable contents.
3932 -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"/' \
3933 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3934 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3935 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3936 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3937 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3938 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3939 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3940 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3941 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3942 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3943 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3944 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3945 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3946 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3947 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3948 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3949 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3950 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3951 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3952 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3953 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3954 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3955 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3956 -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/' \
3957 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3958 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3959 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3960 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3961 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3962 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3963 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3964 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3965 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3966 config.h.in >win32/common/config.h-new
3970 AG_GST_OUTPUT_PLUGINS