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")
361 AG_GST_CHECK_FEATURE(IQA, [iqa], iqa , [
362 PKG_CHECK_MODULES(DSSIM, dssim, [
370 AM_CONDITIONAL(HAVE_DSSIM, test "x$HAVE_DSSIM" = "xyes")
371 if test "x$HAVE_DSSIM" = "xyes"; then
372 AC_DEFINE(HAVE_DSSIM, 1, [Define if you have dssim library])
375 AC_SUBST(DSSIM_CFLAGS)
381 dnl set license and copyright notice
383 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
384 AC_SUBST(GST_LICENSE)
386 dnl define LIBDIR so we can inform people where we live
387 AS_AC_EXPAND(LIBDIR, $libdir)
388 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
390 dnl set location of plugin directory
393 dnl set release date/time
394 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
395 ["${srcdir}/gst-plugins-bad.doap"],
396 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
398 dnl build static plugins or not
399 AC_MSG_CHECKING([whether to build static plugins or not])
403 [--enable-static-plugins],
404 [build static plugins @<:@default=no@:>@]),
406 [$enableval], [no], [], [yes], [],
407 [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
408 [enable_static_plugins=no])
409 AC_MSG_RESULT([$enable_static_plugins])
410 if test "x$enable_static_plugins" = xyes; then
411 AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
412 [Define if static plugins should be built])
413 GST_PLUGIN_LIBTOOLFLAGS=""
415 GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
417 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
418 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
420 dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
421 dnl needed only on Windows, but it doesn't hurt to have it everywhere.
422 if test x$enable_static = xyes -a x$enable_shared = xno; then
423 GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
426 AC_ARG_WITH([player-tests],
427 AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
428 if test x$with_player_tests = xyes; then
429 AC_PATH_PROG([WGET], [wget], no)
430 if test x$WGET = xno; then
431 AC_MSG_WARN([wget required for GstPlayer tests but not found - disabling])
435 AM_CONDITIONAL(WITH_GST_PLAYER_TESTS, test "x$with_player_tests" = "xyes")
437 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
438 dnl make sure it doesn't complain about unused variables if debugging is disabled
440 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
442 dnl define an ERROR_CFLAGS Makefile variable
443 dnl -Waggregate-return - libexif returns aggregates
444 dnl -Wundef - Windows headers check _MSC_VER unconditionally
445 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
446 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
447 -Wwrite-strings -Wformat-security -Wold-style-definition
448 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
449 -Wnested-externs $NO_WARNINGS])
451 dnl define an ERROR_CXXFLAGS Makefile variable
452 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
453 -Wmissing-declarations -Wredundant-decls
454 -Wwrite-strings -Wformat-nonliteral -Wformat-security
455 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
457 dnl define an ERROR_OBJCFLAGS Makefile variable
458 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
459 -Wmissing-declarations -Wredundant-decls
460 -Wwrite-strings -Wformat-nonliteral -Wformat-security
461 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
463 dnl define correct level for debugging messages
464 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
467 AG_GST_DEFAULT_ELEMENTS
469 dnl *** plug-ins to include ***
470 dnl Non ported plugins (non-dependant, then dependant)
471 dnl Make sure you have a space before and after all plugins
472 GST_PLUGINS_NONPORTED=" cdxaparse \
482 xvid sndio libvisual"
484 AC_SUBST(GST_PLUGINS_NONPORTED)
486 dnl these are all the gst plug-ins, compilable without additional libs
487 AG_GST_CHECK_PLUGIN(accurip)
488 AG_GST_CHECK_PLUGIN(adpcmdec)
489 AG_GST_CHECK_PLUGIN(adpcmenc)
490 AG_GST_CHECK_PLUGIN(aiff)
491 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
492 AG_GST_CHECK_PLUGIN(asfmux)
493 AG_GST_CHECK_PLUGIN(audiobuffersplit)
494 AG_GST_CHECK_PLUGIN(audiofxbad)
495 AG_GST_CHECK_PLUGIN(audiomixer)
496 AG_GST_CHECK_PLUGIN(compositor)
497 AG_GST_CHECK_PLUGIN(audiovisualizers)
498 AG_GST_CHECK_PLUGIN(autoconvert)
499 AG_GST_CHECK_PLUGIN(bayer)
500 AG_GST_CHECK_PLUGIN(camerabin2)
501 AG_GST_CHECK_PLUGIN(cdxaparse)
502 AG_GST_CHECK_PLUGIN(coloreffects)
503 AG_GST_CHECK_PLUGIN(dataurisrc)
504 AG_GST_CHECK_PLUGIN(dccp)
505 AG_GST_CHECK_PLUGIN(debugutils)
506 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
507 AG_GST_CHECK_PLUGIN(dvdspu)
508 AG_GST_CHECK_PLUGIN(faceoverlay)
509 AG_GST_CHECK_PLUGIN(festival)
510 AG_GST_CHECK_PLUGIN(fieldanalysis)
511 AG_GST_CHECK_PLUGIN(freeverb)
512 AG_GST_CHECK_PLUGIN(frei0r)
513 AG_GST_CHECK_PLUGIN(gaudieffects)
514 AG_GST_CHECK_PLUGIN(geometrictransform)
515 AG_GST_CHECK_PLUGIN(gdp)
516 AG_GST_CHECK_PLUGIN(hdvparse)
517 AG_GST_CHECK_PLUGIN(id3tag)
518 AG_GST_CHECK_PLUGIN(inter)
519 AG_GST_CHECK_PLUGIN(interlace)
520 AG_GST_CHECK_PLUGIN(ivfparse)
521 AG_GST_CHECK_PLUGIN(ivtc)
522 AG_GST_CHECK_PLUGIN(jp2kdecimator)
523 AG_GST_CHECK_PLUGIN(jpegformat)
524 AG_GST_CHECK_PLUGIN(librfb)
525 AG_GST_CHECK_PLUGIN(midi)
526 AG_GST_CHECK_PLUGIN(mpegdemux)
527 AG_GST_CHECK_PLUGIN(mpegtsdemux)
528 AG_GST_CHECK_PLUGIN(mpegtsmux)
529 AG_GST_CHECK_PLUGIN(mpegpsmux)
530 AG_GST_CHECK_PLUGIN(mve)
531 AG_GST_CHECK_PLUGIN(mxf)
532 AG_GST_CHECK_PLUGIN(netsim)
533 AG_GST_CHECK_PLUGIN(nuvdemux)
534 AG_GST_CHECK_PLUGIN(onvif)
535 AG_GST_CHECK_PLUGIN(patchdetect)
536 AG_GST_CHECK_PLUGIN(pcapparse)
537 AG_GST_CHECK_PLUGIN(pnm)
538 AG_GST_CHECK_PLUGIN(rawparse)
539 AG_GST_CHECK_PLUGIN(removesilence)
540 AG_GST_CHECK_PLUGIN(sdi)
541 AG_GST_CHECK_PLUGIN(sdp)
542 AG_GST_CHECK_PLUGIN(segmentclip)
543 AG_GST_CHECK_PLUGIN(siren)
544 AG_GST_CHECK_PLUGIN(smooth)
545 AG_GST_CHECK_PLUGIN(speed)
546 AG_GST_CHECK_PLUGIN(subenc)
547 AG_GST_CHECK_PLUGIN(stereo)
548 AG_GST_CHECK_PLUGIN(timecode)
549 AG_GST_CHECK_PLUGIN(tta)
550 AG_GST_CHECK_PLUGIN(videofilters)
551 AG_GST_CHECK_PLUGIN(videoparsers)
552 AG_GST_CHECK_PLUGIN(videosignal)
553 AG_GST_CHECK_PLUGIN(vmnc)
554 AG_GST_CHECK_PLUGIN(y4m)
555 AG_GST_CHECK_PLUGIN(yadif)
557 dnl *** plug-ins to exclude ***
559 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
560 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
561 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
562 AC_CHECK_HEADER(QTKit/QTKit.h, HAVE_QTKIT="yes", HAVE_QTKIT="no", [-])
564 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
566 LIBS="$LIBS -framework VideoToolbox"
567 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
568 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
574 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
575 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
576 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
579 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
580 if test "x$HAVE_IOS" = "xyes"; then
581 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
584 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
585 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
586 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
589 AM_CONDITIONAL(HAVE_QTKIT, test "x$HAVE_QTKIT" = "xyes")
590 if test "x$HAVE_QTKIT" = "xyes"; then
591 AC_DEFINE(HAVE_QTKIT, 1, [Define if building with QTKit])
593 dnl disable gst plugins we might not be able to build on this
594 dnl platform: (ugly but minimally invasive)
595 dnl FIXME: maybe move to sys, or make work with winsock2
596 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
597 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
599 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
600 WINSOCK2_LIBS="-lws2_32"
601 AC_SUBST(WINSOCK2_LIBS)
604 if test "x$HAVE_PTHREAD_H" = "xyes"; then
605 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
608 AG_GST_DISABLE_PLUGIN(dccp)
612 AC_ARG_ENABLE([opengl],
613 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
614 [case "${enableval}" in
617 auto) NEED_GL=auto ;;
618 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
619 esac],[NEED_GL=auto])
621 AC_ARG_WITH([opengl-module-name],
622 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
623 if test x$with_opengl_module_name != x; then
624 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
627 AC_ARG_ENABLE([gles2],
628 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
629 [case "${enableval}" in
630 yes) NEED_GLES2=yes ;;
632 auto) NEED_GLES2=auto ;;
633 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
634 esac],[NEED_GLES2=auto])
636 AC_ARG_WITH([gles2-module-name],
637 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
638 if test x$with_gles2_module_name != x; then
639 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
643 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
644 [case "${enableval}" in
647 auto) NEED_EGL=auto ;;
648 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
649 esac],[NEED_EGL=auto])
651 AC_ARG_WITH([egl-module-name],
652 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
653 if test x$with_egl_module_name != x; then
654 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
658 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
659 [case "${enableval}" in
662 auto) NEED_WGL=auto ;;
663 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
664 esac],[NEED_WGL=auto])
667 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
668 [case "${enableval}" in
671 auto) NEED_GLX=auto ;;
672 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
673 esac],[NEED_GLX=auto])
675 AC_ARG_ENABLE([cocoa],
676 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
677 [case "${enableval}" in
678 yes) NEED_COCOA=yes ;;
680 auto) NEED_COCOA=auto ;;
681 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
682 esac],[NEED_COCOA=auto])
685 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
686 [case "${enableval}" in
689 auto) NEED_X11=auto ;;
690 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
691 esac],[NEED_X11=auto])
693 AC_ARG_ENABLE([wayland],
694 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
695 [case "${enableval}" in
696 yes) NEED_WAYLAND_EGL=yes ;;
697 no) NEED_WAYLAND_EGL=no ;;
698 auto) NEED_WAYLAND_EGL=auto ;;
699 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
700 esac],[NEED_WAYLAND_EGL=auto])
702 AC_ARG_ENABLE([dispmanx],
703 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
704 [case "${enableval}" in
705 yes) NEED_DISPMANX=yes ;;
706 no) NEED_DISPMANX=no ;;
707 auto) NEED_DISPMANX=auto ;;
708 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
709 esac],[NEED_DISPMANX=auto])
711 AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
712 save_CPPFLAGS="$CPPFLAGS"
725 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
726 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
727 if test "x$HAVE_WGLEXT" = "xyes"; then
733 if test "x$NEED_GL" != "xno"; then
734 AG_GST_PKG_CHECK_MODULES(GL, gl)
735 if test "x$HAVE_GL" != "xyes"; then
736 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
739 if test "x$NEED_GLES2" != "xno"; then
740 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
741 if test "x$HAVE_GLES2" != "xyes"; then
742 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
744 AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
746 if test "x$NEED_EGL" != "xno"; then
747 AG_GST_PKG_CHECK_MODULES(EGL, egl)
748 if test "x$HAVE_EGL" != "xyes"; then
749 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
756 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
757 AC_CHECK_HEADER([EGL/fbdev_window.h],
760 AC_CHECK_LIB([Mali], [mali_image_create],
763 AC_CHECK_LIB([GLESv2], [glEnable],
765 AC_CHECK_HEADER([GLES2/gl2.h],
767 AC_CHECK_LIB([EGL], [eglGetProcAddress],
769 AC_CHECK_HEADER([EGL/egl.h],
773 EGL_LIBS="-lMali -lUMP"
775 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
783 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
784 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
785 LIBS="$LIBS -lvcos -lvchiq_arm"
786 AC_CHECK_LIB([bcm_host], [bcm_host_init],
788 LIBS="$LIBS -lbcm_host"
789 AC_CHECK_HEADER(bcm_host.h,
791 LIBS="$LIBS -lGLESv2"
792 AC_CHECK_LIB([EGL], [eglGetProcAddress],
795 AC_CHECK_HEADER([EGL/egl.h],
797 AC_CHECK_LIB([GLESv2], [glEnable],
799 AC_CHECK_HEADER([GLES2/gl2.h],
804 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
806 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
817 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)
819 # OS X and iOS always have GL available
822 if test "x$HAVE_IOS" = "xyes"; then
832 CPPFLAGS="$save_CPPFLAGS"
846 dnl Check for what the user asked for and what we could find
847 if test "x$HAVE_EGL" = "xno"; then
848 if test "x$NEED_EGL" = "xyes"; then
849 AC_MSG_ERROR([Could not find the required EGL libraries])
853 if test "x$HAVE_GL" = "xno"; then
854 if test "x$NEED_GL" = "xyes"; then
855 AC_MSG_ERROR([Could not find the required OpenGL libraries])
859 if test "x$HAVE_GLES2" = "xno"; then
860 if test "x$NEED_GLES2" = "xyes"; then
861 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
865 dnl X, GLX and OpenGL
866 if test "x$HAVE_X11_XCB" = "xno"; then
867 if test "x$NEED_GLX" = "xyes"; then
868 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
870 if test "x$NEED_X11" = "xyes"; then
871 AC_MSG_ERROR([Could not find X11 development libraries])
874 if test "x$NEED_GL" != "xno"; then
875 if test "x$HAVE_GL" = "xno"; then
876 if test "x$NEED_GLX" = "xyes"; then
877 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
881 if test "x$NEED_GLX" != "xno"; then
888 dnl check for DMABUF support
889 HAVE_DRM_FOURCC_HEADER=no
890 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
891 HAVE_DRM_FOURCC_HEADER=yes, )
893 HAVE_GST_ALLOCATORS=no
894 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
895 HAVE_GST_ALLOCATORS=yes, )
898 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
899 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
900 "x$HAVE_EGL" = "xyes"; then
904 dnl check if we can include both GL and GLES2 at the same time
905 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
907 if test "x$HAVE_GLES3_H" == "xyes"; then
912 # pragma GCC diagnostic push
913 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
915 #ifndef GL_GLEXT_PROTOTYPES
916 #define GL_GLEXT_PROTOTYPES 1
919 # include <OpenGLES/ES2/gl.h>
920 # include <OpenGLES/ES2/glext.h>
923 # include <GLES3/gl3.h>
924 # include <GLES3/gl3ext.h>
926 # include <GLES2/gl2.h>
927 # include <GLES2/gl2ext.h>
931 # include <OpenGL/OpenGL.h>
932 # include <OpenGL/gl.h>
933 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
934 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
935 # include <OpenGL/gl3.h>
939 # if __WIN32__ || _WIN32
940 # include <GL/glext.h>
943 int main (int argc, char **argv) { return 0; }
945 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
946 save_CFLAGS="$CFLAGS"
947 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
948 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
949 #if !defined(GL_FALSE)
950 #error Failed to include GL headers
952 ]])],[ AC_MSG_RESULT(yes)
954 if test "x$NEED_GLES2" = "xyes"; then
955 if test "x$NEED_GL" = "xyes"; then
956 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
958 AC_MSG_WARN([Disabling Desktop GL support])
962 AC_MSG_WARN([Disabling GL|ES 2.0 support])
967 CFLAGS="$save_CFLAGS"
970 #dnl Check for OpenGL
974 if test "x$NEED_WGL" = "xyes"; then
975 AC_MSG_ERROR([WGL is not available on Android])
977 if test "x$NEED_GLX" = "xyes"; then
978 AC_MSG_ERROR([GLX is not available on Android])
980 if test "x$NEED_GL" = "xyes"; then
981 AC_MSG_ERROR([GL is not available on Android])
983 if test "x$NEED_X11" = "xyes"; then
984 AC_MSG_ERROR([X11 is not available on Android])
986 if test "x$NEED_COCOA" = "xyes"; then
987 AC_MSG_ERROR([Cocoa is not available on Android])
991 if test "x$HAVE_GLES2" = "xyes"; then
992 if test "x$NEED_GLES2" != "xno"; then
993 GL_LIBS="$GL_LIBS -lGLESv2"
999 if test "x$HAVE_EGL" = "xyes"; then
1000 if test "x$NEED_EGL" != "xno"; then
1001 GL_LIBS="$GL_LIBS -lEGL"
1006 if test "x$USE_EGL" != "xyes"; then
1007 AC_MSG_ERROR([Need EGL on Android])
1010 if test "x$USE_GLES2" != "xyes"; then
1011 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
1014 HAVE_WINDOW_ANDROID=yes
1016 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
1017 if test "x$NEED_WGL" = "xyes"; then
1018 AC_MSG_ERROR([WGL is not available on unix])
1021 if test "x$HAVE_X11_XCB" = "xno"; then
1022 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
1023 AC_MSG_WARN([X or Wayland is required for OpenGL support])
1027 dnl check Desktop OpenGL
1028 if test "x$HAVE_GL" = "xyes"; then
1029 if test "x$NEED_GL" != "xno"; then
1030 GL_LIBS="$GL_LIBS -lGL"
1035 if test "x$HAVE_GLES2" = "xyes"; then
1036 if test "x$NEED_GLES2" != "xno"; then
1037 GL_LIBS="$GL_LIBS -lGLESv2"
1042 if test "x$HAVE_X11_XCB" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
1043 if test "x$NEED_X11" != "xno"; then
1044 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1045 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1050 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
1051 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
1052 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
1054 if test "x$NEED_WAYLAND_EGL" != "xno"; then
1055 HAVE_WINDOW_WAYLAND=yes
1056 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1057 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1062 if test "x$HAVE_EGL_RPI" = "xyes"; then
1063 if test "x$NEED_DISPMANX" != "xno"; then
1064 HAVE_WINDOW_DISPMANX=yes
1070 if test "x$HAVE_EGL" = "xno"; then
1071 if test "x$HAVE_GL" = "xno"; then
1072 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1075 if test "x$NEED_EGL" != "xno"; then
1076 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1077 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1078 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1085 if test "x$HAVE_IOS" = "xyes"; then
1086 if test "x$NEED_WGL" = "xyes"; then
1087 AC_MSG_ERROR([WGL is not available on iOS])
1089 if test "x$NEED_GLX" = "xyes"; then
1090 AC_MSG_ERROR([GLX is not available on iOS])
1092 if test "x$NEED_GL" = "xyes"; then
1093 AC_MSG_ERROR([GL is not available on iOS])
1095 if test "x$NEED_X11" = "xyes"; then
1096 AC_MSG_ERROR([X11 is not available on iOS])
1098 if test "x$NEED_COCOA" = "xyes"; then
1099 AC_MSG_ERROR([Cocoa is not available on iOS])
1101 if test "x$NEED_EGL" = "xyes"; then
1102 AC_MSG_ERROR([EGL is not available on iOS])
1105 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1106 GL_CFLAGS="$GL_CFLAGS"
1109 HAVE_WINDOW_EAGL=yes
1111 ac_cv_type_GLsizeiptr=yes
1112 ac_cv_type_GLintptr=yes
1113 ac_cv_type_GLchar=yes
1115 dnl Only osx supports cocoa.
1116 if test "x$NEED_WGL" = "xyes"; then
1117 AC_MSG_ERROR([WGL is not available on Mac OS X])
1120 if test "x$NEED_COCOA" != "xno"; then
1121 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1122 GL_CFLAGS="$GL_CFLAGS"
1124 HAVE_WINDOW_COCOA=yes
1128 if test "x$USE_GLX" = "xyes"; then
1129 if test "x$HAVE_X11_XCB" = "xyes"; then
1130 if test "x$NEED_X11" != "xno"; then
1131 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1132 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1137 if test "x$HAVE_GL" = "xyes"; then
1138 if test "x$NEED_GL" != "xno"; then
1139 GL_LIBS="$GL_LIBS -lGL"
1145 if test "x$HAVE_EGL" = "xyes"; then
1146 if test "x$NEED_EGL" != "xno"; then
1147 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1148 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1149 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1156 if test "x$HAVE_GLES2" = "xyes"; then
1157 if test "x$NEED_GLES2" != "xno"; then
1158 GL_LIBS="$GL_LIBS -lGLESv2"
1165 if test "x$NEED_GLX" = "xyes"; then
1166 AC_MSG_ERROR([GLX is not available on Windows])
1168 if test "x$NEED_GLES2" = "xyes"; then
1169 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1172 if test "x$HAVE_GL" = "xyes"; then
1173 if test "x$NEED_GL" != "xno"; then
1174 if test "x$HAVE_WGL" = "xyes"; then
1175 if test "$NEED_WGL" != "xno"; then
1176 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1177 HAVE_WINDOW_WIN32=yes
1186 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1197 GST_GL_HAVE_OPENGL=0
1201 if test "x$USE_OPENGL" = "xyes"; then
1202 GL_APIS="gl $GL_APIS"
1203 GST_GL_HAVE_OPENGL=1
1205 if test "x$USE_GLES2" = "xyes"; then
1206 GL_APIS="gles2 $GL_APIS"
1208 if test "x$HAVE_GLES3_H" = "xyes"; then
1213 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1214 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1215 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1216 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1221 GST_GL_HAVE_WINDOW_X11=0
1222 GST_GL_HAVE_WINDOW_COCOA=0
1223 GST_GL_HAVE_WINDOW_WIN32=0
1224 GST_GL_HAVE_WINDOW_WAYLAND=0
1225 GST_GL_HAVE_WINDOW_ANDROID=0
1226 GST_GL_HAVE_WINDOW_DISPMANX=0
1227 GST_GL_HAVE_WINDOW_EAGL=0
1229 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1230 GL_WINDOWS="x11 $GL_WINDOWS"
1231 GST_GL_HAVE_WINDOW_X11=1
1233 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1234 GL_WINDOWS="cocoa $GL_WINDOWS"
1235 GST_GL_HAVE_WINDOW_COCOA=1
1237 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1238 GL_WINDOWS="win32 $GL_WINDOWS"
1239 GST_GL_HAVE_WINDOW_WIN32=1
1241 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1242 GL_WINDOWS="wayland $GL_WINDOWS"
1243 GST_GL_HAVE_WINDOW_WAYLAND=1
1245 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1246 GL_WINDOWS="android $GL_WINDOWS"
1247 GST_GL_HAVE_WINDOW_ANDROID=1
1249 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1250 GL_WINDOWS="dispmanx $GL_WINDOWS"
1251 GST_GL_HAVE_WINDOW_DISPMANX=1
1253 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1254 GL_WINDOWS="eagl $GL_WINDOWS"
1255 GST_GL_HAVE_WINDOW_EAGL=1
1258 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1259 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1260 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1261 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1262 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1263 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1264 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1265 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1270 GST_GL_HAVE_PLATFORM_EGL=0
1271 GST_GL_HAVE_PLATFORM_GLX=0
1272 GST_GL_HAVE_PLATFORM_WGL=0
1273 GST_GL_HAVE_PLATFORM_CGL=0
1274 GST_GL_HAVE_PLATFORM_EAGL=0
1276 if test "x$USE_EGL" = "xyes"; then
1277 GL_PLATFORMS="egl $GL_PLATFORMS"
1278 GST_GL_HAVE_PLATFORM_EGL=1
1280 if test "x$USE_GLX" = "xyes"; then
1281 GL_PLATFORMS="glx $GL_PLATFORMS"
1282 GST_GL_HAVE_PLATFORM_GLX=1
1284 if test "x$USE_WGL" = "xyes"; then
1285 GL_PLATFORMS="wgl $GL_PLATFORMS"
1286 GST_GL_HAVE_PLATFORM_WGL=1
1288 if test "x$USE_COCOA" = "xyes"; then
1289 GL_PLATFORMS="cgl $GL_PLATFORMS"
1290 GST_GL_HAVE_PLATFORM_CGL=1
1292 if test "x$USE_EAGL" = "xyes"; then
1293 GL_PLATFORMS="eagl $GL_PLATFORMS"
1294 GST_GL_HAVE_PLATFORM_EAGL=1
1297 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1298 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1299 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1300 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1301 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1302 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1305 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1306 #define GST_GL_HAVE_DMABUF $GST_GL_HAVE_DMABUF
1309 dnl Check for no platforms/window systems
1310 if test "x$GL_APIS" = "x"; then
1311 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1313 if test "x$GL_PLATFORMS" = "x"; then
1314 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1316 if test "x$GL_WINDOWS" = "x"; then
1317 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1320 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1335 HAVE_WINDOW_WIN32=no
1336 HAVE_WINDOW_DISPMANX=no
1337 HAVE_WINDOW_WAYLAND=no
1338 HAVE_WINDOW_ANDROID=no
1339 HAVE_WINDOW_COCOA=no
1345 AC_SUBST(GL_OBJCFLAGS)
1346 AC_SUBST(USE_OPENGL)
1349 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1350 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1351 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1352 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1353 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1354 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1355 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1357 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1358 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1359 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1360 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1361 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1362 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1363 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1364 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1365 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1367 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1369 dnl Check for some types that are not always present
1371 if test "x$USE_GLES2" = "xyes"; then
1372 GL_INCLUDES="$GL_INCLUDES
1373 #ifndef GL_GLEXT_PROTOTYPES
1374 #define GL_GLEXT_PROTOTYPES 1
1377 # include <OpenGLES/ES2/gl.h>
1378 # include <OpenGLES/ES2/glext.h>
1380 # if $GST_GL_HAVE_GLES3
1381 # include <GLES3/gl3.h>
1382 # include <GLES3/gl3ext.h>
1384 # include <GLES2/gl2.h>
1385 # include <GLES2/gl2ext.h>
1391 if test "x$USE_OPENGL" = "xyes"; then
1392 GL_INCLUDES="$GL_INCLUDES
1394 # include <OpenGL/OpenGL.h>
1395 # include <OpenGL/gl.h>
1398 # if __WIN32__ || _WIN32
1399 # include <GL/glext.h>
1405 GST_GL_HAVE_GLEGLIMAGEOES=0
1406 GST_GL_HAVE_GLCHAR=0
1407 GST_GL_HAVE_GLSIZEIPTR=0
1408 GST_GL_HAVE_GLINTPTR=0
1409 GST_GL_HAVE_GLSYNC=0
1410 GST_GL_HAVE_GLUINT64=0
1411 GST_GL_HAVE_GLINT64=0
1412 GST_GL_HAVE_EGLATTRIB=0
1415 CFLAGS="$GL_CFLAGS $CFLAGS"
1417 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1418 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1419 GST_GL_HAVE_GLEGLIMAGEOES=1
1422 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1423 if test "x$ac_cv_type_GLchar" = "xyes"; then
1424 GST_GL_HAVE_GLCHAR=1
1427 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1428 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1429 GST_GL_HAVE_GLSIZEIPTR=1
1432 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1433 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1434 GST_GL_HAVE_GLINTPTR=1
1437 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1438 if test "x$ac_cv_type_GLsync" = "xyes"; then
1439 GST_GL_HAVE_GLSYNC=1
1442 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1443 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1444 GST_GL_HAVE_GLUINT64=1
1447 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1448 if test "x$ac_cv_type_GLint64" = "xyes"; then
1449 GST_GL_HAVE_GLINT64=1
1452 if test "x$USE_EGL" = "xyes"; then
1453 EGL_INCLUDES="$GL_INCLUDES
1454 #include <EGL/egl.h>
1455 #include <EGL/eglext.h>
1457 AC_CHECK_TYPES(EGLAttrib, [], [], [[$EGL_INCLUDES]])
1458 if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
1459 GST_GL_HAVE_EGLATTRIB=1
1465 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1466 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1467 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1468 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1469 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1470 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1471 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1472 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1473 #define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
1476 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1477 outfile=gstglconfig.h-tmp
1478 cat > $outfile <<\_______EOF
1481 * This is a generated file. Please modify `configure.ac'
1484 #ifndef __GST_GL_CONFIG_H__
1485 #define __GST_GL_CONFIG_H__
1487 #include <gst/gst.h>
1493 cat >>$outfile <<_______EOF
1497 cat >>$outfile <<_______EOF
1501 #endif /* __GST_GL_CONFIG_H__ */
1505 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1506 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1509 mv $outfile gst-libs/gst/gl/gstglconfig.h
1512 gl_config_defines='$GL_CONFIG_DEFINES'
1515 dnl libpng is optional
1516 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1517 if test "x$HAVE_PNG" = "xyes"; then
1518 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1521 AC_SUBST(LIBPNG_LIBS)
1522 AC_SUBST(LIBPNG_CFLAGS)
1523 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1525 dnl libjpeg is optional
1526 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1528 if test x$with_jpeg_mmx != x; then
1529 LIBS="$LIBS -L$with_jpeg_mmx"
1531 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1532 JPEG_LIBS="$LIBS -ljpeg-mmx"
1534 if test x$HAVE_JPEG != xyes; then
1536 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1539 if test x$HAVE_JPEG = xyes; then
1540 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1542 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1547 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1550 PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
1551 AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
1553 PKG_CHECK_MODULES(VULKAN_WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
1554 AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
1555 VULKAN_CONFIG_DEFINES="
1556 #define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
1557 #define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
1559 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
1560 outfile=vkconfig.h-tmp
1561 cat > $outfile <<\_______EOF
1564 * This is a generated file. Please modify `configure.ac'
1567 #ifndef __GST_VULKAN_CONFIG_H__
1568 #define __GST_VULKAN_CONFIG_H__
1570 #include <gst/gst.h>
1576 cat >>$outfile <<_______EOF
1577 $vulkan_config_defines
1580 cat >>$outfile <<_______EOF
1584 #endif /* __GST_VULKAN_CONFIG_H__ */
1588 if cmp -s $outfile ext/vulkan/vkconfig.h; then
1589 AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
1592 mv $outfile ext/vulkan/vkconfig.h
1595 vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
1598 dnl *** sys plug-ins ***
1601 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1602 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1603 HAVE_DIRECTSOUND="no"
1604 save_CFLAGS="$CFLAGS"
1605 save_LDFLAGS="$LDFLAGS"
1607 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1608 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1609 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1610 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1611 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1612 #include <windows.h>
1615 #include <mmsystem.h>
1617 DXGetErrorString9 (0);
1618 DirectSoundCreate(NULL, NULL, NULL);
1620 [HAVE_DIRECTSOUND="yes"],
1621 [HAVE_DIRECTSOUND="no"])
1622 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1624 LDFLAGS=$save_LDFLAGS
1627 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1628 dnl this is much more than we want
1629 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1630 AC_SUBST(DIRECTX_CFLAGS)
1631 AC_SUBST(DIRECTX_LDFLAGS)
1632 AC_SUBST(DIRECTSOUND_LIBS)
1634 AC_SUBST(HAVE_DIRECTSOUND)
1638 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1639 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1641 save_CFLAGS="$CFLAGS"
1642 save_LDFLAGS="$LDFLAGS"
1644 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1645 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1646 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1647 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1648 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1649 #include <windows.h>
1651 #include <mmsystem.h>
1652 #include <mmdeviceapi.h>
1658 hr = CoInitialize(NULL);
1660 printf("CoInitialize failed: hr = 0x%08x", hr);
1665 // result = do_everything(argc, argv);
1671 [HAVE_WASAPI="yes"],
1673 AC_MSG_RESULT($HAVE_WASAPI)
1675 LDFLAGS=$save_LDFLAGS
1678 if test "x$HAVE_WASAPI" = "xyes"; then
1679 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1680 AC_SUBST(WASAPI_LIBS)
1682 AC_SUBST(HAVE_WASAPI)
1686 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1687 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1689 save_CFLAGS="$CFLAGS"
1690 save_LDFLAGS="$LDFLAGS"
1692 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1693 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1694 LIBS="$LIBS -ld3d9 -lgdi32"
1695 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1696 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1697 #include <windows.h>
1700 Direct3DCreate9(D3D_SDK_VERSION);
1702 [HAVE_DIRECT3D="yes"],
1703 [HAVE_DIRECT3D="no"])
1704 AC_MSG_RESULT($HAVE_DIRECT3D)
1706 LDFLAGS=$save_LDFLAGS
1709 if test "x$HAVE_DIRECT3D" = "xyes"; then
1710 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1711 AC_SUBST(DIRECT3D_LIBS)
1713 AC_SUBST(HAVE_DIRECT3D)
1717 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1718 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1719 HAVE_WINSCREENCAP="no"
1720 save_CFLAGS="$CFLAGS"
1721 save_LDFLAGS="$LDFLAGS"
1723 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1724 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1725 LIBS="$LIBS -ld3d9 -lgdi32"
1726 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1727 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1728 #include <windows.h>
1731 Direct3DCreate9(D3D_SDK_VERSION);
1733 [HAVE_WINSCREENCAP="yes"],
1734 [HAVE_WINSCREENCAP="no"])
1735 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1737 LDFLAGS=$save_LDFLAGS
1740 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1741 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1742 AC_SUBST(WINSCREENCAP_LIBS)
1744 AC_SUBST(HAVE_WINSCREENCAP)
1748 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1749 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1751 save_CFLAGS="$CFLAGS"
1752 save_LDFLAGS="$LDFLAGS"
1754 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1755 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1756 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1757 AC_MSG_CHECKING(for Winks LDFLAGS)
1758 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1759 #include <windows.h>
1764 IGraphBuilder *pGraph = NULL;
1765 HRESULT hr = CoInitialize(NULL);
1766 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1767 &IID_IGraphBuilder, (void **)&pGraph);
1774 AC_MSG_RESULT($HAVE_WINKS)
1776 LDFLAGS=$save_LDFLAGS
1779 if test "x$HAVE_WINKS" = "xyes"; then
1780 dnl this is much more than we want
1781 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1782 AC_SUBST(DIRECTX_CFLAGS)
1783 AC_SUBST(DIRECTX_LDFLAGS)
1784 AC_SUBST(WINKS_LIBS)
1786 AC_SUBST(HAVE_WINKS)
1789 dnl *** Android Media ***
1790 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1791 HAVE_ANDROID_MEDIA="no"
1792 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1795 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1798 HAVE_ANDROID_MEDIA="no"
1803 dnl *** AppleMedia (OS X and iOS) ***
1804 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1805 HAVE_APPLE_MEDIA="no"
1806 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1807 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1808 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1809 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1810 if test "x$HAVE_IOS" = "xno"; then
1811 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1815 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1820 HAVE_APPLE_MEDIA="no"
1825 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1826 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1827 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1828 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1829 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1831 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1840 dnl *** OS/X AVCVideoServices ***
1841 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1843 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1845 save_CPPFLAGS="$CPPFLAGS"
1846 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1848 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1849 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1851 CPPFLAGS=$save_CPPFLAGS
1854 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1863 dnl check for shm_open (for shm plugin)
1864 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1865 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1866 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1868 *-darwin* | *-macos10*)
1869 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1876 AC_CHECK_LIB([rt], [shm_open],
1877 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1878 #include <sys/socket.h>
1881 AC_SUBST(SHM_LIBS, "-lrt")
1889 dnl check for Video CD
1890 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1891 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1892 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1895 dnl check for OpenSL ES
1896 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1897 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1898 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1901 dnl *** UVC H264 ***
1902 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1903 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1904 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1905 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1906 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1909 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1910 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1911 HAVE_LIBUSB="yes" ],
1913 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1914 test "x$HAVE_GUDEV" = "xyes" && \
1915 test "x$HAVE_LIBUSB" = "xyes"; then
1921 AC_SUBST(LIBUDEV_CFLAGS)
1922 AC_SUBST(LIBUDEV_LIBS)
1923 AC_SUBST(LIBUSB_CFLAGS)
1924 AC_SUBST(LIBUSB_LIBS)
1927 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1928 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1929 AC_ARG_WITH([cuda-prefix],
1930 AS_HELP_STRING([--with-cuda-prefix],
1931 [Use the provided prefix for detecting the cuda installation]),
1932 [AS_IF([test "x$with_cuda_prefix" != "x"],
1933 [CUDA_PREFIX="$with_cuda_prefix"])],
1937 if test "x$CUDA_PREFIX" != "x"; then
1938 dnl only override if not already set
1939 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1940 dnl this is an educated guess, user can always override these
1941 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1942 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1945 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1946 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1947 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1948 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1953 save_CPPFLAGS="$CPPFLAGS"
1954 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1955 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1956 AC_MSG_WARN([Could not find cuda.h]))
1957 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1958 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1959 CPPFLAGS=$save_CPPFLAGS
1961 dnl libcuda and libcudart libraries
1963 LIBS="$CUDA_LIBS $save_LIBS"
1964 HAVE_CUDART_LIB="no"
1965 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1966 AC_MSG_WARN([Could not find cudart library])])
1968 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1969 AC_MSG_WARN([Could not find cuda library])])
1972 dnl nvEncodeAPI.h header
1973 HAVE_NVENCODEAPI_H=no
1974 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1975 save_CPPFLAGS="$CPPFLAGS"
1976 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1977 AC_CHECK_HEADER([nvEncodeAPI.h], [
1978 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1979 #if NVENCAPI_MAJOR_VERSION < 5
1980 #error "Need nvEncodeAPI.h >= 5.0"
1983 HAVE_NVENCODEAPI_H=yes
1985 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1988 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1989 AC_SUBST(NVENCODE_CFLAGS)
1990 CPPFLAGS="$save_CPPFLAGS"
1992 dnl libnvnidia-encode library
1993 HAVE_NVENCODE_LIB=no
1994 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1996 LIBS="$NVENCODE_LIBS $saved_LIBS"
1997 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1998 AC_MSG_WARN([Could not find library nvidia-encode]))
1999 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
2000 AC_SUBST(NVENCODE_LIBS)
2004 if test "x$HAVE_CUDA_H" = "xyes" \
2005 -a "x$HAVE_CUDART_H" = "xyes" \
2006 -a "x$HAVE_CUDA_LIB" = "xyes" \
2007 -a "x$HAVE_CUDART_LIB" = "xyes" \
2008 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
2009 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
2011 if test x"$USE_OPENGL" = x"yes"; then
2012 dnl cuda-gl interop header
2013 save_CPPFLAGS="$CPPFLAGS"
2014 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
2015 AC_CHECK_HEADER([cuda_gl_interop.h], [
2016 USE_NVENC_GST_GL="yes"
2017 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
2019 CPPFLAGS="$save_CPPFLAGS"
2025 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
2027 dnl check for tinyalsa
2028 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
2029 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
2030 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
2033 dnl check for intel mediasdk
2034 translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
2035 AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
2036 AC_ARG_WITH([msdk-prefix],
2037 AS_HELP_STRING([--with-msdk-prefix],
2038 [Use the provided prefix for detecting the Intel MediaSDK]),
2039 [AS_IF([test "x$with_msdk_prefix" != "x"],
2040 [MSDK_PREFIX="$with_msdk_prefix"])],
2041 [AS_IF([test "x$MFX_HOME" != "x"],
2042 [MSDK_PREFIX="$MFX_HOME"],
2043 [MSDK_PREFIX="/opt/intel/media"])])
2044 MSDK_CFLAGS="-I$MSDK_PREFIX/include"
2045 MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
2046 AC_SUBST(MSDK_CFLAGS)
2049 save_CPPFLAGS="$CPPFLAGS"
2050 CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
2051 AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
2052 CPPFLAGS="$save_CPPFLAGS"
2055 LIBS="$MSDK_LIBS $LIBS"
2057 AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
2061 PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
2063 if test "x$HAVE_MFXDEFS_H" = "xyes" \
2064 -a "x$HAVE_MFX_LIB" = "xyes" \
2065 -a "x$HAVE_LIBVA_DRM" = "xyes"; then
2071 AM_CONDITIONAL(USE_MSDK_LIBVA,
2072 test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
2074 dnl *** ext plug-ins ***
2075 dnl keep this list sorted alphabetically !
2077 if test "x$BUILD_EXTERNAL" = "xyes"; then
2079 dnl *** assrender ***
2080 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
2081 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
2082 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
2083 HAVE_ASSRENDER="yes" ], [
2087 AC_SUBST(ASSRENDER_CFLAGS)
2088 AC_SUBST(ASSRENDER_LIBS)
2090 dnl *** vo-amrwbenc ***
2091 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
2092 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
2093 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
2096 dnl *** vo-aacenc ***
2097 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
2098 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
2099 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
2102 dnl *** apexsink ***
2103 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
2104 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
2105 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
2109 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
2110 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
2111 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
2113 AC_SUBST(APEXSINK_CFLAGS)
2114 AC_SUBST(APEXSINK_LIBS)
2121 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
2122 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
2123 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
2126 AC_SUBST(BS2B_CFLAGS)
2131 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
2132 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
2135 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
2136 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
2137 AC_MSG_RESULT($HAVE_BZ2)
2139 if test "x$HAVE_BZ2" = "xyes"; then
2147 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
2148 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
2149 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
2152 # AC_SUBST(CAIRO_CFLAGS)
2153 # AC_SUBST(CAIRO_LIBS)
2156 dnl *** chromaprint ***
2157 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
2158 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
2159 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
2160 HAVE_CHROMAPRINT="no"
2162 AC_SUBST(CHROMAPRINT_CFLAGS)
2163 AC_SUBST(CHROMAPRINT_LIBS)
2167 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
2168 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
2169 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
2171 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2172 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2174 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2175 [[#ifdef HAVE_SYS_TYPES_H
2176 # include <sys/types.h>
2178 #ifdef HAVE_NETINET_IN_H
2179 # include <netinet/in.h>
2182 AC_MSG_CHECKING([for socket support needed by curlsink])
2183 AC_MSG_RESULT($HAVE_CURL)
2187 AC_SUBST(CURL_CFLAGS)
2189 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2191 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2195 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2196 AC_SUBST(SSH2_CFLAGS)
2198 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2201 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2202 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2203 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2204 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2206 AC_SUBST(LIBXML2_CFLAGS)
2207 AC_SUBST(LIBXML2_LIBS)
2211 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2212 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2213 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2214 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2223 AC_SUBST(LIBDC1394_CFLAGS)
2224 AC_SUBST(LIBDC1394_LIBS)
2227 dnl *** decklink ***
2228 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2229 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2236 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2237 AC_CHECK_LIB(dl, dlopen,
2241 DECKLINK_LIBS="-lpthread -ldl"
2246 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2247 AC_CHECK_LIB(dl, dlopen,
2251 DECKLINK_LIBS="-lpthread -ldl"
2252 HAVE_DECKLINK_OSX=yes
2261 AC_SUBST(DECKLINK_CXXFLAGS)
2262 AC_SUBST(DECKLINK_LIBS)
2264 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2266 dnl **** DirectFB ****
2267 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2268 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2269 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2274 dnl **** Wayland ****
2275 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2276 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2277 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2278 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [
2279 if test "x$wayland_scanner" != "x"; then
2281 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2283 AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
2292 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2293 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2294 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2295 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2297 AC_SUBST(WEBP_CFLAGS)
2302 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2303 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2304 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2305 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2310 AC_SUBST(DAALA_CFLAGS)
2311 AC_SUBST(DAALA_LIBS)
2316 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2317 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2319 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2320 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2321 if test $HAVE_DTS = "no"; then
2322 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2323 [ DTS_LIBS="-ldts_pic $LIBM"
2324 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2330 dnl *** resindvd ***
2331 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2332 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2333 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2338 dnl **** Free AAC Encoder (FAAC) ****
2339 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2340 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2341 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2342 FAAC_LIBS="-lfaac $LIBM")
2346 dnl **** Free AAC Decoder (FAAD2) ****
2347 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2348 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2349 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2350 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2351 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2353 #elif !defined(LATM)
2354 #error Not faad2 >= 2.7
2360 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2370 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2371 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2372 if test "x$HAVE_FBDEV" != "xyes"; then
2373 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2378 translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
2379 AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
2380 PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", [
2386 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2387 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2388 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2389 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2391 AC_SUBST(FLITE_CFLAGS)
2392 AC_SUBST(FLITE_LIBS)
2396 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2397 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2398 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2399 if test $HAVE_GSM != "yes"; then
2400 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2401 if test $HAVE_GSM = "yes"; then
2402 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2408 dnl *** fluidSynth ***
2409 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2410 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2411 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2412 HAVE_FLUIDSYNTH="no"
2417 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2418 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2419 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2422 AC_SUBST(KATE_CFLAGS)
2424 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2427 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2433 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2434 AC_SUBST(TIGER_CFLAGS)
2435 AC_SUBST(TIGER_LIBS)
2436 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2439 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
2440 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
2441 AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
2442 PKG_CHECK_MODULES([KMS_DRM], [libdrm >= 2.4.55], HAVE_KMS=yes, HAVE_KMS=no)
2446 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2447 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2448 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2450 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2451 if test $HAVE_LRDF = "yes"; then
2452 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2455 AC_SUBST(LRDF_CFLAGS)
2459 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2460 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2461 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
2463 HAVE_LILV_0_22="yes"
2464 AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
2466 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
2468 AC_SUBST(LILV_CFLAGS)
2472 dnl *** libde265 ***
2473 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2474 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2475 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2476 AC_SUBST(LIBDE265_CFLAGS)
2477 AC_SUBST(LIBDE265_LIBS)
2481 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2482 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2483 dnl check with pkg-config first
2484 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2488 AC_SUBST(LIBMMS_LIBS)
2492 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2493 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2494 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2495 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2498 AC_SUBST(SRTP_CFLAGS)
2502 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2503 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2504 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2506 AC_SUBST(DTLS_CFLAGS)
2514 translit(dnm, m, l) AM_CONDITIONAL(USE_TTML, true)
2515 AG_GST_CHECK_FEATURE(TTML, [TTML plugin], ttml, [
2516 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2517 PKG_CHECK_MODULES(TTML, [ libxml-2.0 >= 2.9.2 pango cairo pangocairo ], [
2526 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2527 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2539 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2540 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2541 if test "x$HAVE_CXX" != "xyes"; then
2542 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2545 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2547 AC_SUBST(MODPLUG_CFLAGS)
2548 AC_SUBST(MODPLUG_LIBS)
2551 dnl *** mjpegtools version info ***
2552 dnl some may prefer older version (given quirks above)
2553 dnl hm, no version info seems available within mjpegtools headers
2554 dnl and API really moves along
2556 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2557 mjpegtools_api=10601
2559 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2560 mjpegtools_api=10800
2562 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2563 mjpegtools_api=20000
2565 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2566 dnl logging API changed in release candidates
2567 OLD_CFLAGS="$CFLAGS"
2569 CFLAGS="$MJPEG_CFLAGS"
2570 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2571 AC_CHECK_FUNC(mjpeg_loglev_t, [
2572 mjpegtools_api=10903
2574 mjpegtools_api=10900
2576 CFLAGS="$OLD_CFLAGS"
2584 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2585 [mjpegtools API evolution])
2587 dnl *** mpeg2enc ***
2588 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2589 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2591 dnl we require a c++ compiler for this one
2592 if [ test x$HAVE_CXX = xyes ]; then
2593 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2594 dnl since many distros include mjpegtools specifically without mplex
2595 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2596 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2597 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2599 dnl switch over to c++ to test things
2601 OLD_CPPFLAGS="$CPPFLAGS"
2603 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2604 CPPFLAGS="$CPPFLAGS_GOOD -I."
2606 mpeg2enc_headers_ok=no
2607 AC_CHECK_HEADER([mpeg2encoder.hh], [
2608 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2610 LIBS="$LIBS $MPEG2ENC_LIBS"
2611 AC_MSG_CHECKING([for valid mpeg2enc objects])
2612 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2613 #include <mpeg2encoder.hh>
2614 #include <mpeg2encoptions.hh>
2620 MPEG2EncOptions *options = new MPEG2EncOptions ();
2621 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2626 dnl so far so good, let's check more things:
2627 dnl mjpegtools-1.8.0 does not install the required
2628 dnl mpeg2syntaxcodes.h header by default, and a new release
2629 dnl is not in sight, so check for this oversight in case
2630 dnl distros or folks have fixed this themselves
2631 if test "$mjpegtools_api" -ge "10800"; then
2632 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2633 mpeg2enc_headers_ok=yes
2635 mpeg2enc_headers_ok=no
2638 mpeg2enc_headers_ok=yes
2640 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2643 CPPFLAGS="$CPPFLAGS_GOOD"
2644 AC_SUBST(MPEG2ENC_CFLAGS)
2645 AC_SUBST(MPEG2ENC_LIBS)
2652 CPPFLAGS="$OLD_CPPFLAGS"
2661 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2662 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2664 dnl we require a c++ compiler for this one
2665 if [ test x$HAVE_CXX = xyes ]; then
2666 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2667 dnl since many distros include mjpegtools specifically without mplex
2668 dnl and mpeg2enc, we check for mplex on its own, too.
2669 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2670 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2671 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2673 dnl switch over to c++ to test things
2675 OLD_CPPFLAGS="$CPPFLAGS"
2677 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2678 CPPFLAGS="$CPPFLAGS_GOOD -I."
2679 AC_CHECK_HEADER(interact.hpp, [
2680 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2682 LIBS="$LIBS $MPLEX_LIBS"
2683 OLD_LDFLAGS="$LDFLAGS"
2684 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2685 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2686 dnl don't want this here
2687 AC_MSG_CHECKING([for valid mplex objects])
2688 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2690 #include <interact.hpp>
2691 #include <outputstrm.hpp>
2692 #include <multiplexor.hpp>
2697 class TestOutputStream : public OutputStream {
2699 TestOutputStream () : OutputStream () { }
2700 void Write (uint8_t *a, unsigned int b) { }
2701 void NextSegment () { }
2702 uint64_t SegmentSize () { }
2706 MultiplexJob *job = new MultiplexJob ();
2707 vector<IBitStream *> inputs;
2708 job->SetupInputStreams (inputs);
2709 TestOutputStream *out = new TestOutputStream ();
2710 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2715 CPPFLAGS="$CPPFLAGS_GOOD"
2716 AC_SUBST(MPLEX_CFLAGS)
2717 AC_SUBST(MPLEX_LIBS)
2718 AC_SUBST(MPLEX_LDFLAGS)
2720 ],[AC_MSG_RESULT(no)],[])
2722 LDFLAGS="$OLD_LDFLAGS"
2724 CPPFLAGS="$OLD_CPPFLAGS"
2730 dnl *** musepack ***
2731 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2732 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2733 AC_CHECK_HEADER([mpc/mpcdec.h], [
2735 MUSEPACK_LIBS="-lmpcdec"
2736 AC_SUBST(MUSEPACK_LIBS)
2737 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2739 MUSEPACK_LIBS="-lmpcdec"
2740 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2741 AC_SUBST(MUSEPACK_LIBS)
2742 ], [HAVE_MUSEPACK="no"])])
2746 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2747 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2749 if test "x$HAVE_X" = "xyes"; then
2750 save_cppflags=$CFLAGS
2751 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2752 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2753 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2754 CPPFLAGS="$save_cppflags"
2756 AC_SUBST(NAS_CFLAGS)
2761 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2762 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2763 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2766 AC_SUBST(NEON_CFLAGS)
2771 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2772 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2773 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2776 AC_SUBST(OFA_CFLAGS)
2781 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2782 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2783 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2786 AC_SUBST(OPENAL_CFLAGS)
2787 AC_SUBST(OPENAL_LIBS)
2791 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2792 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2793 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2794 dnl and don't want the build to break when a new opencv version comes out.
2795 dnl Need to adjust this upwards once we know that our code compiles fine with
2796 dnl a new version and the no-backward-compatibility define. (There doesn't
2797 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2799 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv <= 3.1.0 , [
2802 OLD_CPPFLAGS=$CPPFLAGS
2803 CPPFLAGS=$OPENCV_CFLAGS
2804 something_not_found=no
2805 AC_CHECK_HEADERS([opencv2/core/core_c.h \
2806 opencv2/core/version.hpp \
2807 opencv2/highgui/highgui_c.h \
2808 opencv2/imgproc/imgproc.hpp \
2809 opencv2/imgproc/imgproc_c.h \
2810 opencv2/objdetect/objdetect.hpp \
2811 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2812 CPPFLAGS=$OLD_CPPFLAGS
2815 if test $something_not_found = "yes"; then
2816 AC_MSG_RESULT([not all opencv2 headers were found])
2824 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2825 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2826 AC_SUBST(OPENCV_PREFIX)
2827 AC_SUBST(OPENCV_CFLAGS)
2828 AC_SUBST(OPENCV_LIBS)
2829 dnl the OpenCV prefix is used at runtime for some object properties, and also
2830 dnl used here to detect which directory is the correct one. For the second
2831 dnl case, make sure the right sysroot is used, ensuring correct behavior
2832 dnl during cross compilation.
2833 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2834 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2836 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2841 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2842 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2843 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2846 dnl *** openh264 ***
2847 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2848 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2849 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2852 dnl *** OpenJPEG ***
2853 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2854 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2856 AG_GST_PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= 2.0)
2857 if test x"$HAVE_OPENJPEG" = x"yes"; then
2858 dnl minor API changes in v2.1
2859 AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1)
2860 if test x"$HAVE_OPENJPEG" = x"yes"; then
2861 AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used])
2866 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2867 HAVE_OPENJPEG="yes",
2868 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2870 if test x"$HAVE_OPENJPEG" = x"yes"; then
2871 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2874 AC_SUBST(OPENJPEG_CFLAGS)
2875 AC_SUBST(OPENJPEG_LIBS)
2879 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2880 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2881 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2882 AC_SUBST(OPENNI2_CFLAGS)
2883 AC_SUBST(OPENNI2_LIBS)
2887 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2888 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2889 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2890 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2895 AC_SUBST(OPUS_CFLAGS)
2900 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2901 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2902 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2903 AC_SUBST(PVR_CFLAGS)
2907 AC_ARG_WITH([pvr-external-headers],
2908 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2909 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2910 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2911 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2914 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2915 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2916 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2920 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2921 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2924 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2931 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2932 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2933 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2934 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2939 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2941 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2942 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2943 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2944 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2946 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2948 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2949 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2950 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2951 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2953 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2955 if test "x$GDK_WINDOWING" = "xyes"; then
2956 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2963 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2966 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2967 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2968 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2969 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2970 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2971 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2972 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2973 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2974 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2975 AC_MSG_WARN([One of the required qt build programs was not found])
2979 HAVE_QT_WINDOWING="no"
2980 QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
2981 QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
2982 AS_IF([test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
2983 QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
2984 HAVE_QT_QPA_HEADER="yes"
2985 ], [AC_MSG_NOTICE([Cannot find QPA])])
2986 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2987 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2988 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2989 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2990 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2991 HAVE_QT_WINDOWING="yes"
2992 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2994 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
2995 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2996 AC_DEFINE([HAVE_QT_WAYLAND], [],
2997 [Define if Qt Wayland integration is installed])
2998 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2999 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
3000 HAVE_QT_WINDOWING="yes"
3001 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
3003 if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
3004 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
3005 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
3006 # c++ on android requires a standard library and there are multiple
3007 # choices. cerbero provides a pkg-config file the describes a choice
3008 # so try to use that. Outside cerbero one has to pass these flags
3009 # manually for the library one is using
3010 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3011 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
3012 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
3014 AC_MSG_NOTICE([Could not find Standard C++ library])])
3015 AC_DEFINE([HAVE_QT_EGLFS], [],
3016 [Define if Qt eglfs integration is installed])
3017 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
3018 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
3019 HAVE_QT_WINDOWING="yes"
3020 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
3022 AC_DEFINE([HAVE_QT_EGLFS], [],
3023 [Define if Qt eglfs integration is installed])
3024 HAVE_QT_WINDOWING="yes"
3027 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
3028 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
3029 AC_DEFINE([HAVE_QT_MAC], [],
3030 [Define if Qt Mac integration is installed])
3031 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
3032 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
3033 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
3034 HAVE_QT_WINDOWING="yes"
3035 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
3037 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
3038 if test "x$HAVE_IOS" = "xyes"; then
3039 # iOS doesn't have its own extras package so if we have the core
3040 # modules we are good to go
3041 AC_DEFINE([HAVE_QT_IOS], [],
3042 [Define if Qt iOS integration is installed])
3043 HAVE_QT_WINDOWING="yes"
3046 if test "x$HAVE_QT_WINDOWING" = "xno"; then
3047 AC_MSG_WARN([Could not find any Qt Windowing integration])
3050 AC_SUBST([QT_CFLAGS])
3059 translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
3060 AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
3061 AC_CHECK_HEADER(vulkan/vulkan.h, [
3062 AC_CHECK_LIB(vulkan, vkCreateDevice, [
3063 VULKAN_LIBS="-lvulkan"
3064 AC_SUBST(VULKAN_LIBS)
3065 if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
3068 if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
3075 dnl *** libvisual ***
3076 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
3077 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
3078 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
3079 if test x$HAVE_LIBVISUAL = xyes; then
3080 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
3082 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
3083 if test x$LIBVIS_PLUGINSDIR != x; then
3084 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
3085 "$LIBVIS_PLUGINSDIR",
3086 [directory in which the detected libvisual's plugins are located])
3090 dnl *** timidity ***
3091 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
3092 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
3093 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
3094 HAVE_TIMIDITY="yes",
3095 AC_MSG_CHECKING([for timidity.cfg])
3097 if test -r /etc/timidity.cfg; then
3098 timidity_cfg=/etc/timidity.cfg
3099 elif test -r /etc/timidity/timidity.cfg; then
3100 timidity_cfg=/etc/timidity/timidity.cfg
3101 elif test -r /usr/share/timidity/timidity.cfg; then
3102 timidity_cfg=/usr/share/timidity/timidity.cfg
3103 elif test -r /usr/local/share/timidity/timidity.cfg; then
3104 timidity_cfg=/usr/local/share/timidity/timidity.cfg
3106 if test "x$timidity_cfg" != "x"; then
3107 AC_MSG_RESULT($timidity_cfg)
3108 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
3110 AC_MSG_RESULT([not found])
3115 AC_SUBST(TIMIDITY_CFLAGS)
3116 AC_SUBST(TIMIDITY_LIBS)
3119 dnl *** teletextdec ***
3120 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
3121 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
3122 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
3125 dnl *** wildmidi ***
3126 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
3127 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
3128 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
3131 WILDMIDI_LIBS="-lWildMidi")
3132 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
3134 if test "x$HAVE_WILDMIDI" = "xyes"; then
3136 WILDMIDI_LIBS=-lWildMidi
3137 AC_MSG_NOTICE(compiling gstWildMidi)
3141 AC_MSG_WARN(no WildMidi library found (libWildMidi))
3143 AC_SUBST(WILDMIDI_CFLAGS)
3144 AC_SUBST(WILDMIDI_LIBS)
3148 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
3149 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
3150 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
3153 dnl **** Smooth Streaming ****
3154 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
3155 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
3156 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
3158 HAVE_SMOOTHSTREAMING="yes"],
3160 HAVE_SMOOTHSTREAMING="no"])
3161 AC_SUBST(LIBXML2_CFLAGS)
3162 AC_SUBST(LIBXML2_LIBS)
3166 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
3167 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
3168 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
3169 AC_SUBST(SNDFILE_CFLAGS)
3170 AC_SUBST(SNDFILE_LIBS)
3173 dnl *** soundtouch ***
3174 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
3175 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
3176 dnl We only need -lBPM on soundtouch < 1.4
3177 dnl We check for libSoundTouch since Debian used it before upstream
3178 dnl added a pkgconfig file.
3179 HAVE_SOUNDTOUCH_1_4=yes
3180 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
3181 [HAVE_SOUNDTOUCH=yes],
3182 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
3183 [HAVE_SOUNDTOUCH=yes],
3184 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
3185 [HAVE_SOUNDTOUCH=yes
3186 HAVE_SOUNDTOUCH_1_4=no
3187 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3188 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
3189 [HAVE_SOUNDTOUCH=yes],
3190 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
3191 [HAVE_SOUNDTOUCH=yes
3192 HAVE_SOUNDTOUCH_1_4=no
3193 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3194 HAVE_SOUNDTOUCH=no)])])])])
3195 AC_SUBST(SOUNDTOUCH_CFLAGS)
3196 AC_SUBST(SOUNDTOUCH_LIBS)
3197 if test "x$HAVE_CXX" != "xyes"; then
3198 USE_SOUNDTOUCH=false
3199 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
3201 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
3202 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
3203 [Defined if the available libSoundTouch is >= 1.4])
3208 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
3209 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
3210 AC_CHECK_HEADER(openspc.h, [
3211 AC_CHECK_LIB(openspc, OSPC_Init, [
3212 SPC_LIBS="-lopenspc"
3224 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3225 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3226 AC_CHECK_HEADER(gme/gme.h, [
3227 AC_CHECK_LIB(gme, gme_new_emu, [
3238 if test "x$HAVE_GME" = "xyes"; then
3239 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3240 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3246 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3247 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3249 AC_CHECK_HEADER(xvid.h, [
3251 LIBS="$PTHREAD_LIBS $LIBM"
3252 AC_CHECK_LIB(xvidcore, xvid_encore, [
3253 AC_CHECK_LIB(xvidcore, xvid_decore, [
3254 AC_CHECK_LIB(xvidcore, xvid_global, [
3255 AC_MSG_CHECKING([for up-to-date XviD API version])
3256 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3257 #if XVID_API_MAJOR(XVID_API) != 4
3258 #error "Incompatible XviD API version"
3260 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3261 #error "Incompatible XviD API version"
3263 ]])],[ AC_MSG_RESULT(yes)
3264 XVID_LIBS="-lxvidcore $LIBM"
3267 ],[AC_MSG_RESULT(no) ])
3276 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3277 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3278 AC_MSG_CHECKING([Checking for up to date dvb installation])
3279 AC_CHECK_HEADER(linux/dvb/version.h, [
3280 AC_MSG_CHECKING([for up-to-date dvb API])
3281 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3282 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3283 #error "Incompatible dvb API"
3285 ]])], [ AC_MSG_RESULT(yes)
3287 ], [ AC_MSG_RESULT(no)
3294 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3295 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3296 AC_MSG_CHECKING([Checking for windows internet support])
3297 AC_CHECK_HEADERS([windows.h wininet.h],
3298 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3299 [AC_INCLUDES_DEFAULT
3300 #include <windows.h>])
3304 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3305 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3306 AC_MSG_CHECKING([Checking for ACM support])
3307 AC_CHECK_HEADERS([windows.h msacm.h],
3309 AC_SUBST(ACMENC_CFLAGS)
3310 AC_SUBST(ACMMP3DEC_CFLAGS)
3312 [AC_INCLUDES_DEFAULT
3313 #include <windows.h>])
3317 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3318 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3323 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3325 if test "$HAVE_VDPAU" = "no"; then
3326 saved_CPPFLAGS="$CPPFLAGS"
3327 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3329 if test -z "$HAVE_VDPAU_H"; then
3330 dnl Didn't find VDPAU header straight away.
3331 dnl Try /usr/include/nvidia. Need to clear caching vars first
3332 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3333 unset ac_cv_header_vdpau_vdpau_h
3334 unset ac_cv_header_vdpau_vdpau_x11_h
3335 VDPAU_CFLAGS="-I/usr/include/nvidia"
3336 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3337 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3338 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3341 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3343 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3344 dnl Found the headers - look for the lib
3345 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3347 LIBS="$VDPAU_LIBS $saved_LIBS"
3348 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3354 if test "$HAVE_VDPAU" = "yes"; then
3355 AC_MSG_NOTICE([Found up to date VDPAU installation])
3356 AC_SUBST(VDPAU_CFLAGS)
3357 AC_SUBST(VDPAU_LIBS)
3362 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3363 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3364 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3367 dnl *** schroedinger ***
3368 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3369 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3370 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3374 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3375 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3376 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3380 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3381 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3382 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3386 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3387 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3388 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3389 HAVE_SPANDSP="yes" ], [
3393 AC_SUBST(SPANDSP_CFLAGS)
3394 AC_SUBST(SPANDSP_LIBS)
3397 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3398 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3399 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3400 if test "x$HAVE_SNDIO" = "xyes"; then
3401 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3402 if test "x$HAVE_SNDIO" = "xyes"; then
3404 AC_SUBST(SNDIO_LIBS)
3409 dnl *** hls-crypto ***
3410 AC_ARG_WITH([hls-crypto],
3411 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3412 which cryptographic library version to compile against for hls (default: auto)
3414 AS_CASE([$with_hls_crypto],
3418 [with_hls_crypto=auto]
3424 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3425 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3426 AS_CASE([$with_hls_crypto],
3428 PKG_CHECK_MODULES(NETTLE, nettle, [
3429 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3431 ],[AC_MSG_ERROR([Could not find nettle library])])
3434 AM_PATH_LIBGCRYPT([1.2.0], [
3435 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3437 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3440 PKG_CHECK_MODULES(OPENSSL, openssl, [
3441 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3443 ],[AC_MSG_ERROR([Could not find openssl library])])
3446 dnl Try to find a valid crypto library
3447 PKG_CHECK_MODULES(NETTLE, nettle, [
3448 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3451 AM_PATH_LIBGCRYPT([1.2.0], [
3452 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3455 PKG_CHECK_MODULES(OPENSSL, openssl, [
3456 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3467 dnl *** x265 (H.265/HEVC encoder) ***
3468 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3469 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3470 AG_GST_PKG_CHECK_MODULES(X265, x265)
3473 dnl *** WebRTC Audio Processing ***
3474 dnl Note: We test for a specific version as there is no API stability
3475 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
3476 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
3478 AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
3480 # On Android, C++ headers comes with the STL implementation
3481 AS_CASE(["${host}"],
3484 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3485 WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
3486 WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
3488 AC_SUBST([WEBRTCDSP_CFLAGS])
3489 AC_SUBST([WEBRTCDSP_LIBS])
3492 old_CPPFLAGS=$CPPFLAGS
3493 CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
3494 AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
3495 CPPFLAGS=$old_CPPFLAGS
3501 dnl not building plugins with external dependencies,
3502 dnl but we still need to set the conditionals
3504 AM_CONDITIONAL(USE_ASSRENDER, false)
3505 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3506 AM_CONDITIONAL(USE_VOAACENC, false)
3507 AM_CONDITIONAL(USE_APEXSINK, false)
3508 AM_CONDITIONAL(USE_BS2B, false)
3509 AM_CONDITIONAL(USE_BZ2, false)
3510 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3511 AM_CONDITIONAL(USE_CURL, false)
3512 AM_CONDITIONAL(USE_SSH2, false)
3513 AM_CONDITIONAL(USE_DASH, false)
3514 AM_CONDITIONAL(USE_DC1394, false)
3515 AM_CONDITIONAL(USE_DECKLINK, false)
3516 AM_CONDITIONAL(DECKLINK_OSX, false)
3517 AM_CONDITIONAL(USE_DIRECTFB, false)
3518 AM_CONDITIONAL(USE_WAYLAND, false)
3519 AM_CONDITIONAL(USE_DAALA, false)
3520 AM_CONDITIONAL(USE_DTS, false)
3521 AM_CONDITIONAL(USE_EXIF, false)
3522 AM_CONDITIONAL(USE_RESINDVD, false)
3523 AM_CONDITIONAL(USE_FAAC, false)
3524 AM_CONDITIONAL(USE_FAAD, false)
3525 AM_CONDITIONAL(USE_FBDEV, false)
3526 AM_CONDITIONAL(USE_FDK_AAC, false)
3527 AM_CONDITIONAL(USE_FLITE, false)
3528 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3529 AM_CONDITIONAL(USE_GL, false)
3530 AM_CONDITIONAL(USE_GSM, false)
3531 AM_CONDITIONAL(USE_GTK3, false)
3532 AM_CONDITIONAL(USE_GTK3_GL, false)
3533 AM_CONDITIONAL(USE_HLS, false)
3534 AM_CONDITIONAL(USE_IQA, false)
3535 AM_CONDITIONAL(USE_KATE, false)
3536 AM_CONDITIONAL(USE_KMS, false)
3537 AM_CONDITIONAL(USE_TIGER, false)
3538 AM_CONDITIONAL(USE_LADSPA, false)
3539 AM_CONDITIONAL(USE_LV2, false)
3540 AM_CONDITIONAL(USE_LIBDE265, false)
3541 AM_CONDITIONAL(USE_LIBMMS, false)
3542 AM_CONDITIONAL(USE_LINSYS, false)
3543 AM_CONDITIONAL(USE_MODPLUG, false)
3544 AM_CONDITIONAL(USE_MPEG2ENC, false)
3545 AM_CONDITIONAL(USE_MPLEX, false)
3546 AM_CONDITIONAL(USE_MUSEPACK, false)
3547 AM_CONDITIONAL(USE_NAS, false)
3548 AM_CONDITIONAL(USE_NEON, false)
3549 AM_CONDITIONAL(USE_OFA, false)
3550 AM_CONDITIONAL(USE_OPENAL, false)
3551 AM_CONDITIONAL(USE_OPENCV, false)
3552 AM_CONDITIONAL(USE_OPENEXR, false)
3553 AM_CONDITIONAL(USE_OPENJPEG, false)
3554 AM_CONDITIONAL(USE_OPENNI2, false)
3555 AM_CONDITIONAL(USE_OPUS, false)
3556 AM_CONDITIONAL(USE_PVR, false)
3557 AM_CONDITIONAL(USE_QT, false)
3558 AM_CONDITIONAL(USE_LIBVISUAL, false)
3559 AM_CONDITIONAL(USE_TIMIDITY, false)
3560 AM_CONDITIONAL(USE_WILDMIDI, false)
3561 AM_CONDITIONAL(USE_SDL, false)
3562 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3563 AM_CONDITIONAL(USE_SNDFILE, false)
3564 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3565 AM_CONDITIONAL(USE_SPANDSP, false)
3566 AM_CONDITIONAL(USE_SPC, false)
3567 AM_CONDITIONAL(USE_SRTP, false)
3568 AM_CONDITIONAL(USE_GME, false)
3569 AM_CONDITIONAL(USE_XVID, false)
3570 AM_CONDITIONAL(USE_DVB, false)
3571 AM_CONDITIONAL(USE_WININET, false)
3572 AM_CONDITIONAL(USE_ACM, false)
3573 AM_CONDITIONAL(USE_VDPAU, false)
3574 AM_CONDITIONAL(USE_SBC, false)
3575 AM_CONDITIONAL(USE_SCHRO, false)
3576 AM_CONDITIONAL(USE_ZBAR, false)
3577 AM_CONDITIONAL(USE_RSVG, false)
3578 AM_CONDITIONAL(USE_RTMP, false)
3579 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3580 AM_CONDITIONAL(USE_SNDIO, false)
3581 AM_CONDITIONAL(USE_UVCH264, false)
3582 AM_CONDITIONAL(USE_WEBP, false)
3583 AM_CONDITIONAL(USE_WEBRTCDSP, false)
3584 AM_CONDITIONAL(USE_OPENH264, false)
3585 AM_CONDITIONAL(USE_X265, false)
3586 AM_CONDITIONAL(USE_DTLS, false)
3587 AM_CONDITIONAL(USE_VULKAN, false)
3588 AM_CONDITIONAL(USE_TTML, false)
3590 fi dnl of EXT plugins
3592 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3595 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3596 dnl GST_*: flags shared by built objects to link against GStreamer
3597 dnl GST_ALL_LDFLAGS: linker flags shared by all
3598 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3599 dnl GST_LT_LDFLAGS: library versioning of our libraries
3600 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3602 dnl GST_OPTION_CFLAGS
3603 if test "x$USE_DEBUG" = xyes; then
3606 AC_SUBST(PROFILE_CFLAGS)
3608 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3609 dnl Define _only_ during CVS (not pre-releases or releases)
3610 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3612 DEPRECATED_CFLAGS=""
3614 AC_SUBST(DEPRECATED_CFLAGS)
3616 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3617 dnl at make time with e.g. make ERROR_CFLAGS=""
3618 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3619 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3620 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3621 AC_SUBST(GST_OPTION_CFLAGS)
3622 AC_SUBST(GST_OPTION_CXXFLAGS)
3623 AC_SUBST(GST_OPTION_OBJCFLAGS)
3625 dnl FIXME: do we want to rename to GST_ALL_* ?
3626 dnl prefer internal headers to already installed ones
3627 dnl also add builddir include for enumtypes and marshal
3628 dnl add GST_OPTION_CFLAGS, but overridable
3629 GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
3630 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3631 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3632 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3633 AC_SUBST(GST_CFLAGS)
3634 AC_SUBST(GST_CXXFLAGS)
3635 AC_SUBST(GST_OBJCFLAGS)
3637 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3638 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3639 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3640 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3641 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3642 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3644 dnl LDFLAGS really should only contain flags, not libs - they get added before
3645 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3646 GST_ALL_LDFLAGS="-no-undefined"
3647 if test "x${enable_Bsymbolic}" = "xyes"; then
3648 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3650 AC_SUBST(GST_ALL_LDFLAGS)
3653 dnl linker flags shared by all libraries
3654 dnl LDFLAGS modifier defining exported symbols from built libraries
3655 dnl (export _gst_foo but not __gst_foo)
3656 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3657 AC_SUBST(GST_LIB_LDFLAGS)
3659 dnl this really should only contain flags, not libs - they get added before
3660 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3661 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3662 AC_SUBST(GST_PLUGIN_LDFLAGS)
3664 dnl *** output files ***
3666 $MKDIR_P tests/check/orc
3674 gst-plugins-bad.spec
3676 gst/accurip/Makefile
3677 gst/adpcmdec/Makefile
3678 gst/adpcmenc/Makefile
3680 gst/videoframe_audiolevel/Makefile
3682 gst/audiobuffersplit/Makefile
3683 gst/audiofxbad/Makefile
3684 gst/audiomixer/Makefile
3685 gst/audiovisualizers/Makefile
3686 gst/autoconvert/Makefile
3688 gst/camerabin2/Makefile
3689 gst/cdxaparse/Makefile
3690 gst/coloreffects/Makefile
3691 gst/dataurisrc/Makefile
3693 gst/debugutils/Makefile
3694 gst/dvbsuboverlay/Makefile
3696 gst/faceoverlay/Makefile
3697 gst/festival/Makefile
3698 gst/fieldanalysis/Makefile
3699 gst/freeverb/Makefile
3701 gst/gaudieffects/Makefile
3702 gst/geometrictransform/Makefile
3704 gst/hdvparse/Makefile
3707 gst/interlace/Makefile
3708 gst/ivfparse/Makefile
3710 gst/jp2kdecimator/Makefile
3711 gst/jpegformat/Makefile
3714 gst/mpegdemux/Makefile
3715 gst/mpegtsdemux/Makefile
3716 gst/mpegtsmux/Makefile
3717 gst/mpegtsmux/tsmux/Makefile
3718 gst/mpegpsmux/Makefile
3722 gst/nuvdemux/Makefile
3724 gst/patchdetect/Makefile
3725 gst/pcapparse/Makefile
3727 gst/rawparse/Makefile
3728 gst/removesilence/Makefile
3731 gst/segmentclip/Makefile
3738 gst/timecode/Makefile
3739 gst/videofilters/Makefile
3740 gst/videoparsers/Makefile
3741 gst/videosignal/Makefile
3745 gst/compositor/Makefile
3747 gst-libs/gst/Makefile
3748 gst-libs/gst/adaptivedemux/Makefile
3749 gst-libs/gst/basecamerabinsrc/Makefile
3750 gst-libs/gst/gl/Makefile
3751 gst-libs/gst/gl/android/Makefile
3752 gst-libs/gst/gl/cocoa/Makefile
3753 gst-libs/gst/gl/dispmanx/Makefile
3754 gst-libs/gst/gl/glprototypes/Makefile
3755 gst-libs/gst/gl/eagl/Makefile
3756 gst-libs/gst/gl/egl/Makefile
3757 gst-libs/gst/gl/wayland/Makefile
3758 gst-libs/gst/gl/win32/Makefile
3759 gst-libs/gst/gl/x11/Makefile
3760 gst-libs/gst/insertbin/Makefile
3761 gst-libs/gst/interfaces/Makefile
3762 gst-libs/gst/codecparsers/Makefile
3763 gst-libs/gst/mpegts/Makefile
3764 gst-libs/gst/uridownloader/Makefile
3765 gst-libs/gst/wayland/Makefile
3766 gst-libs/gst/base/Makefile
3767 gst-libs/gst/player/Makefile
3768 gst-libs/gst/video/Makefile
3769 gst-libs/gst/audio/Makefile
3770 gst-libs/gst/opencv/Makefile
3772 sys/dshowdecwrapper/Makefile
3774 sys/acmmp3dec/Makefile
3775 sys/androidmedia/Makefile
3776 sys/applemedia/Makefile
3779 sys/d3dvideosink/Makefile
3780 sys/decklink/Makefile
3781 sys/directsound/Makefile
3782 sys/dshowsrcwrapper/Makefile
3783 sys/dshowvideosink/Makefile
3790 sys/opensles/Makefile
3792 sys/tinyalsa/Makefile
3793 sys/uvch264/Makefile
3798 sys/wininet/Makefile
3800 sys/winscreencap/Makefile
3802 tests/check/Makefile
3803 tests/files/Makefile
3804 tests/examples/Makefile
3805 tests/examples/avsamplesink/Makefile
3806 tests/examples/camerabin2/Makefile
3807 tests/examples/codecparsers/Makefile
3808 tests/examples/directfb/Makefile
3809 tests/examples/gl/Makefile
3810 tests/examples/gl/cocoa/Makefile
3811 tests/examples/gl/clutter/Makefile
3812 tests/examples/gl/generic/Makefile
3813 tests/examples/gl/generic/cube/Makefile
3814 tests/examples/gl/generic/cubeyuv/Makefile
3815 tests/examples/gl/generic/doublecube/Makefile
3816 tests/examples/gl/generic/recordgraphic/Makefile
3817 tests/examples/gl/gtk/Makefile
3818 tests/examples/gl/gtk/3dvideo/Makefile
3819 tests/examples/gl/gtk/filternovideooverlay/Makefile
3820 tests/examples/gl/gtk/filtervideooverlay/Makefile
3821 tests/examples/gl/gtk/fxtest/Makefile
3822 tests/examples/gl/gtk/switchvideooverlay/Makefile
3823 tests/examples/gl/qt/Makefile
3824 tests/examples/gl/sdl/Makefile
3825 tests/examples/gtk/Makefile
3826 tests/examples/mpegts/Makefile
3827 tests/examples/mxf/Makefile
3828 tests/examples/opencv/Makefile
3829 tests/examples/uvch264/Makefile
3830 tests/examples/waylandsink/Makefile
3831 tests/icles/Makefile
3832 ext/voamrwbenc/Makefile
3833 ext/voaacenc/Makefile
3834 ext/assrender/Makefile
3835 ext/apexsink/Makefile
3838 ext/chromaprint/Makefile
3842 ext/directfb/Makefile
3843 ext/wayland/Makefile
3852 ext/fluidsynth/Makefile
3859 ext/libde265/Makefile
3861 ext/libvisual/Makefile
3863 ext/modplug/Makefile
3864 ext/mpeg2enc/Makefile
3866 ext/musepack/Makefile
3872 ext/openexr/Makefile
3873 ext/openh264/Makefile
3874 ext/openjpeg/Makefile
3875 ext/openni2/Makefile
3879 ext/resindvd/Makefile
3882 ext/schroedinger/Makefile
3884 ext/smoothstreaming/Makefile
3885 ext/sndfile/Makefile
3886 ext/soundtouch/Makefile
3887 ext/spandsp/Makefile
3890 ext/teletextdec/Makefile
3893 ext/timidity/Makefile
3895 ext/vulkan/xcb/Makefile
3896 ext/vulkan/wayland/Makefile
3902 ext/webrtcdsp/Makefile
3906 docs/plugins/Makefile
3908 docs/version.entities
3910 pkgconfig/gstreamer-plugins-bad.pc
3911 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3912 pkgconfig/gstreamer-codecparsers.pc
3913 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3914 pkgconfig/gstreamer-insertbin.pc
3915 pkgconfig/gstreamer-insertbin-uninstalled.pc
3916 pkgconfig/gstreamer-gl.pc
3917 pkgconfig/gstreamer-gl-uninstalled.pc
3918 pkgconfig/gstreamer-mpegts.pc
3919 pkgconfig/gstreamer-mpegts-uninstalled.pc
3920 pkgconfig/gstreamer-player.pc
3921 pkgconfig/gstreamer-player-uninstalled.pc
3922 pkgconfig/gstreamer-wayland.pc
3923 pkgconfig/gstreamer-wayland-uninstalled.pc
3924 pkgconfig/gstreamer-bad-base.pc
3925 pkgconfig/gstreamer-bad-base-uninstalled.pc
3926 pkgconfig/gstreamer-bad-video.pc
3927 pkgconfig/gstreamer-bad-video-uninstalled.pc
3928 pkgconfig/gstreamer-bad-audio.pc
3929 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3934 dnl Create the config.h file for Visual Studio builds
3935 dnl Beware of spaces and /'s in some of the shell variable contents.
3937 -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"/' \
3938 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3939 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3940 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3941 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3942 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3943 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3944 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3945 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3946 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3947 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3948 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3949 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3950 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3951 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3952 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3953 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3954 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3955 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3956 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3957 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3958 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3959 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3960 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3961 -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/' \
3962 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3963 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3964 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3965 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3966 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3967 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3968 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3969 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3970 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3971 config.h.in >win32/common/config.h-new
3975 AG_GST_OUTPUT_PLUGINS