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.13.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, 1300, 0, 1300)
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 dnl *** checks for types/defines ***
169 dnl *** checks for structures ***
171 dnl *** checks for compiler characteristics ***
173 dnl *** checks for library functions ***
174 AC_CHECK_FUNCS([gmtime_r pipe2])
176 dnl *** checks for headers ***
177 AC_CHECK_HEADERS([sys/utsname.h])
179 dnl *** checks for dependency libraries ***
181 dnl *** checks for socket and nsl libraries ***
182 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
183 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
187 AG_GST_GLIB_CHECK([$GLIB_REQ])
189 dnl checks for gstreamer
190 dnl uninstalled is selected preferentially -- see pkg-config(1)
191 AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
192 AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ], yes)
193 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
194 AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
195 AG_GST_CHECK_GST_NET($GST_API_VERSION, [$GST_REQ], yes)
196 AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-[$GST_API_VERSION], [$GST_REQ], yes)
197 AG_GST_PKG_CHECK_MODULES(GST_AUDIO, gstreamer-audio-[$GST_API_VERSION], [$GST_REQ], yes)
198 AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-[$GST_API_VERSION], [$GST_REQ], yes)
199 AG_GST_PKG_CHECK_MODULES(GST_GL, gstreamer-gl-[$GST_API_VERSION], [$GST_REQ], no)
201 if test "x$HAVE_GST_GL" = "xyes"; then
203 AC_MSG_CHECKING([GStreamer OpenGL window systems ...])
204 GST_GL_WINSYS=`$PKG_CONFIG --variable=gl_winsys gstreamer-gl-1.0`
205 AC_MSG_RESULT([$GST_GL_WINSYS])
206 GST_GL_HAVE_WINDOW_X11=""
207 GST_GL_HAVE_WINDOW_WAYLAND=""
208 GST_GL_HAVE_WINDOW_ANDROID=""
209 GST_GL_HAVE_WINDOW_COCOA=""
210 GST_GL_HAVE_WINDOW_EAGL=""
211 case "$GST_GL_WINSYS" in *x11*) GST_GL_HAVE_WINDOW_X11="1" ;; esac
212 case "$GST_GL_WINSYS" in *wayland*) GST_GL_HAVE_WINDOW_WAYLAND="1" ;; esac
213 case "$GST_GL_WINSYS" in *android*) GST_GL_HAVE_WINDOW_ANDROID="1" ;; esac
214 case "$GST_GL_WINSYS" in *cocoa*) GST_GL_HAVE_WINDOW_COCOA="1" ;; esac
215 case "$GST_GL_WINSYS" in *eagl*) GST_GL_HAVE_WINDOW_EAGL="1" ;; esac
217 AC_MSG_CHECKING([GStreamer OpenGL platforms ...])
218 GST_GL_PLATFORMS=`$PKG_CONFIG --variable=gl_platforms gstreamer-gl-1.0`
219 AC_MSG_RESULT([$GST_GL_PLATFORMS])
220 GST_GL_HAVE_PLATFORM_GLX=""
221 GST_GL_HAVE_PLATFORM_EGL=""
222 GST_GL_HAVE_PLATFORM_CGL=""
223 GST_GL_HAVE_PLATFORM_EAGL=""
224 case "$GST_GL_PLATFORMS" in *glx*) GST_GL_HAVE_PLATFORM_GLX="1" ;; esac
225 case "$GST_GL_PLATFORMS" in *egl*) GST_GL_HAVE_PLATFORM_EGL="1" ;; esac
226 case "$GST_GL_PLATFORMS" in *cgl*) GST_GL_HAVE_PLATFORM_CGL="1" ;; esac
227 case "$GST_GL_PLATFORMS" in *eagl*) GST_GL_HAVE_PLATFORM_EAGL="1" ;; esac
229 AC_MSG_CHECKING([GStreamer OpenGL apis ...])
230 GST_GL_APIS=`$PKG_CONFIG --variable=gl_apis gstreamer-gl-1.0`
231 AC_MSG_RESULT([$GST_GL_APIS])
232 GST_GL_HAVE_API_GLES2=""
233 GST_GL_HAVE_API_GL=""
234 case "$GST_GL_APIS" in *gles2*) GST_GL_HAVE_API_GLES2="1" ;; esac
235 case "$GST_GL_APIS" in "gl"|"gl "*|*" gl"|*" gl "*) GST_GL_HAVE_API_GL="1" ;; esac
238 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
240 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
242 dnl check for uninstalled plugin directories for unit tests
243 AG_GST_CHECK_UNINSTALLED_SETUP([
244 AG_GST_CHECK_GST_PLUGINS_GOOD($GST_API_VERSION, [0.11.0])
245 AG_GST_CHECK_GST_PLUGINS_UGLY($GST_API_VERSION, [0.11.0])
246 AG_GST_CHECK_GST_PLUGINS_LIBAV($GST_API_VERSION, [0.11.0])
249 dnl Check for documentation xrefs
250 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
251 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
252 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
253 AC_SUBST(GLIB_PREFIX)
255 AC_SUBST(GSTPB_PREFIX)
257 dnl GTK is optional and used in examples
261 if test "x$BUILD_EXAMPLES" = "xyes"; then
262 AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
264 AS_HELP_STRING([--with-gtk=3.0|2.0],[which gtk+ version to compile against (default: 2.0)]),
266 2.0) GTK_REQ=$GTK2_REQ ;;
267 3.0) GTK_REQ=$GTK3_REQ ;;
268 *) AC_MSG_ERROR([invalid gtk+ version specified]);;
272 AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
273 PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
277 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
279 dnl Check for -Bsymbolic-functions linker flag used to avoid
280 dnl intra-library PLT jumps, if available.
281 AC_ARG_ENABLE(Bsymbolic,
282 [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
283 [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
284 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
285 LDFLAGS=-Wl,-Bsymbolic-functions
287 AC_TRY_LINK([], [return 0],
289 enable_Bsymbolic=yes,
292 LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
294 dnl *** set variables based on configure arguments ***
296 dnl GTK is optional and used in examples
298 if test "x$BUILD_EXAMPLES" = "xyes"; then
299 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.4, HAVE_GTK3=yes, HAVE_GTK3=no)
300 if test "x$HAVE_GTK3" = "xyes"; then
302 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
303 AC_SUBST(GTK_VERSION)
304 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
305 AC_SUBST(GTK_BASE_DIR)
309 AC_SUBST(GTK3_CFLAGS)
311 AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes")
313 dnl x11 is optional for librfb
315 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
319 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
320 if test "x$HAVE_X11" = "xyes"; then
321 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
324 dnl exif (used on jifmux tests) ****
325 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
327 AC_SUBST(EXIF_CFLAGS)
328 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
330 AG_GST_CHECK_FEATURE(IQA, [iqa], iqa , [
331 PKG_CHECK_MODULES(DSSIM, dssim, [
339 if test "x$HAVE_DSSIM" = "xyes"; then
340 AC_DEFINE(HAVE_DSSIM, 1, [Define if you have dssim library])
343 AC_SUBST(DSSIM_CFLAGS)
345 AM_CONDITIONAL(HAVE_DSSIM, test "x$HAVE_DSSIM" = "xyes")
350 dnl set license and copyright notice
352 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
353 AC_SUBST(GST_LICENSE)
355 dnl define LIBDIR so we can inform people where we live
356 AS_AC_EXPAND(LIBDIR, $libdir)
357 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
359 dnl set location of plugin directory
362 dnl set release date/time
363 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
364 ["${srcdir}/gst-plugins-bad.doap"],
365 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
367 dnl If only building static libraries, define GST_STATIC_COMPILATION. This is
368 dnl needed only on Windows, but it doesn't hurt to have it everywhere.
369 if test x$enable_static = xyes -a x$enable_shared = xno; then
370 GST_STATIC_CFLAGS="-DGST_STATIC_COMPILATION"
373 AC_ARG_WITH([player-tests],
374 AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
375 if test x$with_player_tests = xyes; then
376 AC_PATH_PROG([WGET], [wget], no)
377 if test x$WGET = xno; then
378 AC_MSG_WARN([wget required for GstPlayer tests but not found - disabling])
382 AM_CONDITIONAL(WITH_GST_PLAYER_TESTS, test "x$with_player_tests" = "xyes")
384 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
385 dnl make sure it doesn't complain about unused variables if debugging is disabled
387 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
389 dnl define an ERROR_CFLAGS Makefile variable
390 dnl -Waggregate-return - libexif returns aggregates
391 dnl -Wundef - Windows headers check _MSC_VER unconditionally
392 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
393 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
394 -Wwrite-strings -Wformat-security -Wold-style-definition
395 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
396 -Wnested-externs $NO_WARNINGS])
398 dnl define an ERROR_CXXFLAGS Makefile variable
399 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
400 -Wmissing-declarations -Wredundant-decls
401 -Wwrite-strings -Wformat-nonliteral -Wformat-security
402 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
404 dnl define an ERROR_OBJCFLAGS Makefile variable
405 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
406 -Wmissing-declarations -Wredundant-decls
407 -Wwrite-strings -Wformat-nonliteral -Wformat-security
408 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
410 dnl define correct level for debugging messages
411 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
414 AG_GST_DEFAULT_ELEMENTS
416 dnl *** plug-ins to include ***
418 dnl these are all the gst plug-ins, compilable without additional libs
419 AG_GST_CHECK_PLUGIN(accurip)
420 AG_GST_CHECK_PLUGIN(adpcmdec)
421 AG_GST_CHECK_PLUGIN(adpcmenc)
422 AG_GST_CHECK_PLUGIN(aiff)
423 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
424 AG_GST_CHECK_PLUGIN(asfmux)
425 AG_GST_CHECK_PLUGIN(audiobuffersplit)
426 AG_GST_CHECK_PLUGIN(audiofxbad)
427 AG_GST_CHECK_PLUGIN(audiomixer)
428 AG_GST_CHECK_PLUGIN(audiomixmatrix)
429 AG_GST_CHECK_PLUGIN(compositor)
430 AG_GST_CHECK_PLUGIN(audiovisualizers)
431 AG_GST_CHECK_PLUGIN(autoconvert)
432 AG_GST_CHECK_PLUGIN(bayer)
433 AG_GST_CHECK_PLUGIN(camerabin2)
434 AG_GST_CHECK_PLUGIN(coloreffects)
435 AG_GST_CHECK_PLUGIN(debugutils)
436 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
437 AG_GST_CHECK_PLUGIN(dvdspu)
438 AG_GST_CHECK_PLUGIN(faceoverlay)
439 AG_GST_CHECK_PLUGIN(festival)
440 AG_GST_CHECK_PLUGIN(fieldanalysis)
441 AG_GST_CHECK_PLUGIN(freeverb)
442 AG_GST_CHECK_PLUGIN(frei0r)
443 AG_GST_CHECK_PLUGIN(gaudieffects)
444 AG_GST_CHECK_PLUGIN(geometrictransform)
445 AG_GST_CHECK_PLUGIN(gdp)
446 AG_GST_CHECK_PLUGIN(id3tag)
447 AG_GST_CHECK_PLUGIN(inter)
448 AG_GST_CHECK_PLUGIN(interlace)
449 AG_GST_CHECK_PLUGIN(ivfparse)
450 AG_GST_CHECK_PLUGIN(ivtc)
451 AG_GST_CHECK_PLUGIN(jp2kdecimator)
452 AG_GST_CHECK_PLUGIN(jpegformat)
453 AG_GST_CHECK_PLUGIN(librfb)
454 AG_GST_CHECK_PLUGIN(midi)
455 AG_GST_CHECK_PLUGIN(mpegdemux)
456 AG_GST_CHECK_PLUGIN(mpegtsdemux)
457 AG_GST_CHECK_PLUGIN(mpegtsmux)
458 AG_GST_CHECK_PLUGIN(mpegpsmux)
459 AG_GST_CHECK_PLUGIN(mxf)
460 AG_GST_CHECK_PLUGIN(netsim)
461 AG_GST_CHECK_PLUGIN(onvif)
462 AG_GST_CHECK_PLUGIN(pcapparse)
463 AG_GST_CHECK_PLUGIN(pnm)
464 AG_GST_CHECK_PLUGIN(rawparse)
465 AG_GST_CHECK_PLUGIN(removesilence)
466 AG_GST_CHECK_PLUGIN(sdp)
467 AG_GST_CHECK_PLUGIN(segmentclip)
468 AG_GST_CHECK_PLUGIN(siren)
469 AG_GST_CHECK_PLUGIN(smooth)
470 AG_GST_CHECK_PLUGIN(speed)
471 AG_GST_CHECK_PLUGIN(subenc)
472 AG_GST_CHECK_PLUGIN(stereo)
473 AG_GST_CHECK_PLUGIN(timecode)
474 AG_GST_CHECK_PLUGIN(videofilters)
475 AG_GST_CHECK_PLUGIN(videoparsers)
476 AG_GST_CHECK_PLUGIN(videosignal)
477 AG_GST_CHECK_PLUGIN(vmnc)
478 AG_GST_CHECK_PLUGIN(y4m)
479 AG_GST_CHECK_PLUGIN(yadif)
481 dnl *** plug-ins to exclude ***
483 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
484 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
485 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
487 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
489 LIBS="$LIBS -framework VideoToolbox"
490 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
491 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
497 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
498 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
499 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
502 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
503 if test "x$HAVE_IOS" = "xyes"; then
504 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
507 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
508 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
509 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
512 dnl disable gst plugins we might not be able to build on this
513 dnl platform: (ugly but minimally invasive)
514 dnl FIXME: maybe move to sys, or make work with winsock2
515 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
516 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
518 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
519 WINSOCK2_LIBS="-lws2_32"
520 AC_SUBST(WINSOCK2_LIBS)
524 PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
525 AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
527 PKG_CHECK_MODULES(VULKAN_WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
528 AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
529 VULKAN_CONFIG_DEFINES="
530 #define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
531 #define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
533 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
534 outfile=vkconfig.h-tmp
535 cat > $outfile <<\_______EOF
538 * This is a generated file. Please modify `configure.ac'
541 #ifndef __GST_VULKAN_CONFIG_H__
542 #define __GST_VULKAN_CONFIG_H__
550 cat >>$outfile <<_______EOF
551 $vulkan_config_defines
554 cat >>$outfile <<_______EOF
558 #endif /* __GST_VULKAN_CONFIG_H__ */
562 if cmp -s $outfile ext/vulkan/vkconfig.h; then
563 AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
566 mv $outfile ext/vulkan/vkconfig.h
569 vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
572 dnl *** sys plug-ins ***
575 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
576 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
577 HAVE_DIRECTSOUND="no"
578 save_CFLAGS="$CFLAGS"
579 save_LDFLAGS="$LDFLAGS"
581 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
582 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
583 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
584 AC_MSG_CHECKING(for DirectSound LDFLAGS)
585 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
589 #include <mmsystem.h>
591 DXGetErrorString9 (0);
592 DirectSoundCreate(NULL, NULL, NULL);
594 [HAVE_DIRECTSOUND="yes"],
595 [HAVE_DIRECTSOUND="no"])
596 AC_MSG_RESULT($HAVE_DIRECTSOUND)
598 LDFLAGS=$save_LDFLAGS
601 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
602 dnl this is much more than we want
603 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
604 AC_SUBST(DIRECTX_CFLAGS)
605 AC_SUBST(DIRECTX_LDFLAGS)
606 AC_SUBST(DIRECTSOUND_LIBS)
608 AC_SUBST(HAVE_DIRECTSOUND)
612 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
613 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
615 save_CFLAGS="$CFLAGS"
616 save_LDFLAGS="$LDFLAGS"
618 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
619 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
620 LIBS="$LIBS -lole32 -lwinmm -lksuser"
621 AC_MSG_CHECKING(for WASAPI LDFLAGS)
622 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
625 #include <mmsystem.h>
626 #include <mmdeviceapi.h>
632 hr = CoInitialize(NULL);
634 printf("CoInitialize failed: hr = 0x%08x", hr);
639 // result = do_everything(argc, argv);
647 AC_MSG_RESULT($HAVE_WASAPI)
649 LDFLAGS=$save_LDFLAGS
652 if test "x$HAVE_WASAPI" = "xyes"; then
653 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
654 AC_SUBST(WASAPI_LIBS)
656 AC_SUBST(HAVE_WASAPI)
660 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
661 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
663 save_CFLAGS="$CFLAGS"
664 save_LDFLAGS="$LDFLAGS"
666 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
667 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
668 LIBS="$LIBS -ld3d9 -lgdi32"
669 AC_MSG_CHECKING(for Direct3D LDFLAGS)
670 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
674 Direct3DCreate9(D3D_SDK_VERSION);
676 [HAVE_DIRECT3D="yes"],
677 [HAVE_DIRECT3D="no"])
678 AC_MSG_RESULT($HAVE_DIRECT3D)
680 LDFLAGS=$save_LDFLAGS
683 if test "x$HAVE_DIRECT3D" = "xyes"; then
684 DIRECT3D_LIBS="-ld3d9 -lgdi32"
685 AC_SUBST(DIRECT3D_LIBS)
687 AC_SUBST(HAVE_DIRECT3D)
691 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
692 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
693 HAVE_WINSCREENCAP="no"
694 save_CFLAGS="$CFLAGS"
695 save_LDFLAGS="$LDFLAGS"
697 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
698 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
699 LIBS="$LIBS -ld3d9 -lgdi32"
700 AC_MSG_CHECKING(for Direct3D LDFLAGS)
701 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
705 Direct3DCreate9(D3D_SDK_VERSION);
707 [HAVE_WINSCREENCAP="yes"],
708 [HAVE_WINSCREENCAP="no"])
709 AC_MSG_RESULT($HAVE_WINSCREENCAP)
711 LDFLAGS=$save_LDFLAGS
714 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
715 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
716 AC_SUBST(WINSCREENCAP_LIBS)
718 AC_SUBST(HAVE_WINSCREENCAP)
722 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
723 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
725 save_CFLAGS="$CFLAGS"
726 save_LDFLAGS="$LDFLAGS"
728 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
729 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
730 LIBS="$LIBS -lole32 -luuid -lstrmiids"
731 AC_MSG_CHECKING(for Winks LDFLAGS)
732 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
738 IGraphBuilder *pGraph = NULL;
739 HRESULT hr = CoInitialize(NULL);
740 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
741 &IID_IGraphBuilder, (void **)&pGraph);
748 AC_MSG_RESULT($HAVE_WINKS)
750 LDFLAGS=$save_LDFLAGS
753 if test "x$HAVE_WINKS" = "xyes"; then
754 dnl this is much more than we want
755 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
756 AC_SUBST(DIRECTX_CFLAGS)
757 AC_SUBST(DIRECTX_LDFLAGS)
763 dnl *** Android Media ***
764 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
765 HAVE_ANDROID_MEDIA="no"
766 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
769 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
772 HAVE_ANDROID_MEDIA="no"
777 dnl *** AppleMedia (OS X and iOS) ***
778 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
779 HAVE_APPLE_MEDIA="no"
780 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
781 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
782 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
783 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
784 if test "x$HAVE_IOS" = "xno"; then
785 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
789 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
794 HAVE_APPLE_MEDIA="no"
799 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
800 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
801 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
802 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
803 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
805 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
814 dnl *** OS/X AVCVideoServices ***
815 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
817 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
819 save_CPPFLAGS="$CPPFLAGS"
820 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
822 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
823 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
825 CPPFLAGS=$save_CPPFLAGS
828 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
837 dnl check for shm_open (for shm plugin)
838 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
839 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
840 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
842 *-darwin* | *-macos10*)
843 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
850 AC_CHECK_LIB([rt], [shm_open],
851 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
852 #include <sys/socket.h>
855 AC_SUBST(SHM_LIBS, "-lrt")
863 dnl check for unix sockets (ipcpipeline plugin)
864 translit(dnm, m, l) AM_CONDITIONAL(USE_IPCPIPELINE, true)
865 AG_GST_CHECK_FEATURE(IPCPIPELINE, [Unix sockets], ipcpipeline, [
866 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
867 AC_CHECK_FUNC(pipe, [
868 AC_CHECK_FUNC(socketpair, [HAVE_IPCPIPELINE=yes], [HAVE_IPCPIPELINE=no])
877 dnl check for Video CD
878 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
879 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
880 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
883 dnl check for OpenSL ES
884 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
885 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
886 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
890 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
891 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
892 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
893 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
894 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
897 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
898 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
901 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
902 test "x$HAVE_GUDEV" = "xyes" && \
903 test "x$HAVE_LIBUSB" = "xyes"; then
909 AC_SUBST(LIBUDEV_CFLAGS)
910 AC_SUBST(LIBUDEV_LIBS)
911 AC_SUBST(LIBUSB_CFLAGS)
912 AC_SUBST(LIBUSB_LIBS)
915 translit(dnm, m, l) AM_CONDITIONAL(USE_CUDA, true)
916 AG_GST_CHECK_FEATURE(CUDA, [NVIDIA CUDA API],, [
917 AC_ARG_WITH([cuda-prefix],
918 AS_HELP_STRING([--with-cuda-prefix],
919 [Use the provided prefix for detecting the cuda installation]),
920 [AS_IF([test "x$with_cuda_prefix" != "x"],
921 [CUDA_PREFIX="$with_cuda_prefix"])],
925 if test "x$CUDA_PREFIX" != "x"; then
926 dnl only override if not already set
927 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
928 dnl this is an educated guess, user can always override these
929 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
930 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
933 PKG_CHECK_MODULES([CUDA], [cuda-8.0 cudart-8.0],, [
934 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
935 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
936 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
937 AC_MSG_WARN([Could not find cuda headers/libraries])])])])])
942 save_CPPFLAGS="$CPPFLAGS"
943 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
944 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
945 AC_MSG_WARN([Could not find cuda.h]))
946 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
947 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
948 CPPFLAGS=$save_CPPFLAGS
950 dnl libcuda and libcudart libraries
952 LIBS="$CUDA_LIBS $save_LIBS"
954 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
955 AC_MSG_WARN([Could not find cudart library])])
957 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
958 AC_MSG_WARN([Could not find cuda library])])
963 translit(dnm, m, l) AM_CONDITIONAL(USE_NVDEC, true)
964 AG_GST_CHECK_FEATURE(NVDEC, [nvdec], nvdec, [
966 save_CPPFLAGS="$CPPFLAGS"
967 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS"
968 AC_CHECK_HEADER([nvcuvid.h], [HAVE_NVCUVID_H=yes],
969 AC_MSG_WARN([Could not find nvcuvid.h]))
970 CPPFLAGS=$save_CPPFLAGS
974 LIBS="$CUDA_LIBS $save_LIBS"
975 AC_CHECK_LIB(nvcuvid, cuvidCtxLock, [HAVE_NVCUVID=yes],
976 AC_MSG_WARN([Could not find library nvcuvid]))
979 if test "x$HAVE_NVCUVID_H" = "xyes" -a "x$HAVE_NVCUVID" = "xyes"; then
987 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
988 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
989 dnl nvEncodeAPI.h header
990 HAVE_NVENCODEAPI_H=no
991 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
992 save_CPPFLAGS="$CPPFLAGS"
993 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
994 AC_CHECK_HEADER([nvEncodeAPI.h], [
995 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
996 #if NVENCAPI_MAJOR_VERSION < 5
997 #error "Need nvEncodeAPI.h >= 5.0"
1000 HAVE_NVENCODEAPI_H=yes
1002 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1005 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1006 AC_SUBST(NVENCODE_CFLAGS)
1007 CPPFLAGS="$save_CPPFLAGS"
1009 dnl libnvnidia-encode library
1010 HAVE_NVENCODE_LIB=no
1011 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1013 LIBS="$NVENCODE_LIBS $saved_LIBS"
1014 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1015 AC_MSG_WARN([Could not find library nvidia-encode]))
1016 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1017 AC_SUBST(NVENCODE_LIBS)
1021 if test "x$HAVE_CUDA_H" = "xyes" \
1022 -a "x$HAVE_CUDART_H" = "xyes" \
1023 -a "x$HAVE_CUDA_LIB" = "xyes" \
1024 -a "x$HAVE_CUDART_LIB" = "xyes" \
1025 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
1026 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
1028 if test x"$USE_OPENGL" = x"yes"; then
1029 dnl cuda-gl interop header
1030 save_CPPFLAGS="$CPPFLAGS"
1031 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
1032 AC_CHECK_HEADER([cuda_gl_interop.h], [
1033 USE_NVENC_GST_GL="yes"
1034 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
1036 CPPFLAGS="$save_CPPFLAGS"
1042 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
1044 dnl check for tinyalsa
1045 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
1046 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
1047 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
1050 dnl check for intel mediasdk
1051 translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
1052 AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
1053 PKG_CHECK_MODULES(LIBMFX, libmfx,
1055 AC_DEFINE(HAVE_LIBMFX, 1, [Define if mfx_dispatcher is available])
1058 AC_ARG_WITH([msdk-prefix],
1059 AS_HELP_STRING([--with-msdk-prefix],
1060 [Use the provided prefix for detecting the Intel MediaSDK]),
1061 [AS_IF([test "x$with_msdk_prefix" != "x"],
1062 [MSDK_PREFIX="$with_msdk_prefix"])],
1063 [AS_IF([test "x$MFX_HOME" != "x"],
1064 [MSDK_PREFIX="$MFX_HOME"],
1065 [MSDK_PREFIX="/opt/intel/media"])])
1066 MSDK_CFLAGS="-I$MSDK_PREFIX/include"
1067 MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
1068 AC_SUBST(MSDK_CFLAGS)
1071 save_CPPFLAGS="$CPPFLAGS"
1072 CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
1073 AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
1074 CPPFLAGS="$save_CPPFLAGS"
1077 LIBS="$MSDK_LIBS $LIBS"
1079 AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
1083 if test "x$HAVE_MFXDEFS_H" = "xyes" \
1084 -a "x$HAVE_MFX_LIB" = "xyes"; then
1091 PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
1093 if test "x$HAVE_MSDK" = "xyes" \
1094 -a "x$HAVE_LIBVA_DRM" = "xyes"; then
1100 AM_CONDITIONAL(USE_MSDK_LIBVA,
1101 test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
1103 dnl *** ext plug-ins ***
1104 dnl keep this list sorted alphabetically !
1106 if test "x$BUILD_EXTERNAL" = "xyes"; then
1108 dnl *** assrender ***
1109 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
1110 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
1111 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
1112 HAVE_ASSRENDER="yes" ], [
1116 AC_SUBST(ASSRENDER_CFLAGS)
1117 AC_SUBST(ASSRENDER_LIBS)
1120 translit(dnm, m, l) AM_CONDITIONAL(USE_AOM, true)
1121 AG_GST_CHECK_FEATURE(AOM, [AV1 encoder/decoder], aom, [
1122 AG_GST_PKG_CHECK_MODULES(AOM, aom)
1125 dnl *** vo-amrwbenc ***
1126 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
1127 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
1128 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
1131 dnl *** vo-aacenc ***
1132 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
1133 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
1134 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
1138 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
1139 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
1140 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
1143 AC_SUBST(BS2B_CFLAGS)
1148 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
1149 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
1152 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
1153 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
1154 AC_MSG_RESULT($HAVE_BZ2)
1156 if test "x$HAVE_BZ2" = "xyes"; then
1164 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
1165 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
1166 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
1169 # AC_SUBST(CAIRO_CFLAGS)
1170 # AC_SUBST(CAIRO_LIBS)
1173 dnl *** chromaprint ***
1174 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
1175 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
1176 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
1177 HAVE_CHROMAPRINT="no"
1179 AC_SUBST(CHROMAPRINT_CFLAGS)
1180 AC_SUBST(CHROMAPRINT_LIBS)
1184 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
1185 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
1186 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
1188 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
1189 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
1191 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
1192 [[#ifdef HAVE_SYS_TYPES_H
1193 # include <sys/types.h>
1195 #ifdef HAVE_NETINET_IN_H
1196 # include <netinet/in.h>
1199 AC_MSG_CHECKING([for socket support needed by curlsink])
1200 AC_MSG_RESULT($HAVE_CURL)
1204 AC_SUBST(CURL_CFLAGS)
1206 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
1208 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
1212 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
1213 AC_SUBST(SSH2_CFLAGS)
1215 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
1218 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
1219 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
1220 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
1221 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
1223 AC_SUBST(LIBXML2_CFLAGS)
1224 AC_SUBST(LIBXML2_LIBS)
1228 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
1229 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
1230 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
1231 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
1240 AC_SUBST(LIBDC1394_CFLAGS)
1241 AC_SUBST(LIBDC1394_LIBS)
1244 dnl *** decklink ***
1245 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
1246 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
1253 if test "x$HAVE_PTHREAD_H" = "xyes"; then
1254 AC_CHECK_LIB(dl, dlopen,
1258 DECKLINK_LIBS="-lpthread -ldl"
1263 if test "x$HAVE_PTHREAD_H" = "xyes"; then
1264 AC_CHECK_LIB(dl, dlopen,
1268 DECKLINK_LIBS="-lpthread -ldl"
1269 HAVE_DECKLINK_OSX=yes
1276 DECKLINK_LIBS="-lole32 -loleaut32"
1277 HAVE_DECKLINK_WIN=yes
1284 AC_SUBST(DECKLINK_CXXFLAGS)
1285 AC_SUBST(DECKLINK_LIBS)
1287 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
1288 AM_CONDITIONAL(DECKLINK_WIN, test "x$HAVE_DECKLINK_WIN" = xyes)
1290 dnl **** DirectFB ****
1291 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
1292 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
1293 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
1298 dnl **** Wayland ****
1299 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
1300 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
1301 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
1302 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [
1303 if test "x$wayland_scanner" != "x"; then
1305 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
1307 AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
1316 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
1317 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
1318 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
1319 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
1321 AC_SUBST(WEBP_CFLAGS)
1326 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
1327 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
1328 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
1329 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
1334 AC_SUBST(DAALA_CFLAGS)
1335 AC_SUBST(DAALA_LIBS)
1340 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
1341 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
1343 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
1344 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
1345 if test $HAVE_DTS = "no"; then
1346 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
1347 [ DTS_LIBS="-ldts_pic $LIBM"
1348 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
1354 dnl *** resindvd ***
1355 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
1356 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
1357 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
1362 dnl **** Free AAC Encoder (FAAC) ****
1363 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
1364 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
1365 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
1366 FAAC_LIBS="-lfaac $LIBM")
1370 dnl **** Free AAC Decoder (FAAD2) ****
1371 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
1372 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
1373 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
1374 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
1375 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
1377 #elif !defined(LATM)
1378 #error Not faad2 >= 2.7
1384 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
1394 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
1395 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
1396 if test "x$HAVE_FBDEV" != "xyes"; then
1397 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
1402 translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
1403 AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
1404 PKG_CHECK_MODULES(FDK_AAC, fdk-aac >= 0.1.4, [
1406 HAVE_FDK_AAC_0_1_4="yes"
1407 AC_DEFINE(HAVE_FDK_AAC_0_1_4, 1, [Define if we have fdk-aac >= 0.1.4])
1409 PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", HAVE_FDK_AAC="no")
1414 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
1415 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
1416 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
1417 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
1419 AC_SUBST(FLITE_CFLAGS)
1420 AC_SUBST(FLITE_LIBS)
1424 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
1425 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
1426 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
1427 if test $HAVE_GSM != "yes"; then
1428 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
1429 if test $HAVE_GSM = "yes"; then
1430 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
1436 dnl *** fluidSynth ***
1437 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
1438 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
1439 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
1440 HAVE_FLUIDSYNTH="no"
1445 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
1446 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
1447 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
1450 AC_SUBST(KATE_CFLAGS)
1452 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
1455 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
1461 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
1462 AC_SUBST(TIGER_CFLAGS)
1463 AC_SUBST(TIGER_LIBS)
1464 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
1467 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
1468 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
1469 AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
1470 PKG_CHECK_MODULES([KMS_DRM], [libdrm >= 2.4.55], HAVE_KMS=yes, HAVE_KMS=no)
1474 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
1475 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
1476 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
1478 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
1479 if test $HAVE_LRDF = "yes"; then
1480 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
1483 AC_SUBST(LRDF_CFLAGS)
1487 #translit(dnm, m, l) AM_CONDITIONAL(USE_LCMS2, true)
1488 AG_GST_CHECK_FEATURE(LCMS2, [LCMS colormanagement plugin], lcms2, [
1489 PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.7, HAVE_LCMS2="yes", [
1492 AC_SUBST(LCMS2_LIBS)
1496 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
1497 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
1498 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
1500 HAVE_LILV_0_22="yes"
1501 AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
1503 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
1505 AC_SUBST(LILV_CFLAGS)
1509 dnl *** libde265 ***
1510 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
1511 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
1512 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
1513 AC_SUBST(LIBDE265_CFLAGS)
1514 AC_SUBST(LIBDE265_LIBS)
1518 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
1519 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
1520 dnl check with pkg-config first
1521 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
1525 AC_SUBST(LIBMMS_LIBS)
1528 translit(dnm, m, l) AM_CONDITIONAL(USE_SRT, true)
1529 AG_GST_CHECK_FEATURE(SRT, [srt library], srt, [
1530 PKG_CHECK_MODULES(SRT, srt, HAVE_SRT="yes", HAVE_SRT=no)
1532 AC_SUBST(SRT_CFLAGS)
1536 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
1537 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
1539 AG_GST_PKG_CHECK_MODULES(SRTP, libsrtp2 >= 2.1.0)
1540 if test x"$HAVE_SRTP" = x"yes"; then
1541 AC_DEFINE([HAVE_SRTP2], 1, [Define if libsrtp2 is used])
1543 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
1544 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
1548 AC_SUBST(SRTP_CFLAGS)
1552 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
1553 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
1554 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
1556 AC_SUBST(DTLS_CFLAGS)
1564 translit(dnm, m, l) AM_CONDITIONAL(USE_TTML, true)
1565 AG_GST_CHECK_FEATURE(TTML, [TTML plugin], ttml, [
1566 PKG_CHECK_MODULES(TTML, [ libxml-2.0 >= 2.9.2 pango cairo pangocairo ], [
1574 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
1575 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
1576 if test "x$HAVE_CXX" != "xyes"; then
1577 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
1580 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
1582 AC_SUBST(MODPLUG_CFLAGS)
1583 AC_SUBST(MODPLUG_LIBS)
1586 dnl *** mjpegtools version info ***
1587 dnl some may prefer older version (given quirks above)
1588 dnl hm, no version info seems available within mjpegtools headers
1589 dnl and API really moves along
1591 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
1592 mjpegtools_api=10601
1594 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
1595 mjpegtools_api=10800
1597 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
1598 mjpegtools_api=20000
1600 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
1601 dnl logging API changed in release candidates
1602 OLD_CFLAGS="$CFLAGS"
1604 CFLAGS="$MJPEG_CFLAGS"
1605 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
1606 AC_CHECK_FUNC(mjpeg_loglev_t, [
1607 mjpegtools_api=10903
1609 mjpegtools_api=10900
1611 CFLAGS="$OLD_CFLAGS"
1619 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
1620 [mjpegtools API evolution])
1622 dnl *** mpeg2enc ***
1623 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
1624 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
1626 dnl we require a c++ compiler for this one
1627 if [ test x$HAVE_CXX = xyes ]; then
1628 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
1629 dnl since many distros include mjpegtools specifically without mplex
1630 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
1631 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
1632 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
1634 dnl switch over to c++ to test things
1636 OLD_CPPFLAGS="$CPPFLAGS"
1638 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
1639 CPPFLAGS="$CPPFLAGS_GOOD -I."
1641 mpeg2enc_headers_ok=no
1642 AC_CHECK_HEADER([mpeg2encoder.hh], [
1643 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
1645 LIBS="$LIBS $MPEG2ENC_LIBS"
1646 AC_MSG_CHECKING([for valid mpeg2enc objects])
1647 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1648 #include <mpeg2encoder.hh>
1649 #include <mpeg2encoptions.hh>
1655 MPEG2EncOptions *options = new MPEG2EncOptions ();
1656 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
1661 dnl so far so good, let's check more things:
1662 dnl mjpegtools-1.8.0 does not install the required
1663 dnl mpeg2syntaxcodes.h header by default, and a new release
1664 dnl is not in sight, so check for this oversight in case
1665 dnl distros or folks have fixed this themselves
1666 if test "$mjpegtools_api" -ge "10800"; then
1667 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
1668 mpeg2enc_headers_ok=yes
1670 mpeg2enc_headers_ok=no
1673 mpeg2enc_headers_ok=yes
1675 if test "x$mpeg2enc_headers_ok" = "xyes"; then
1678 CPPFLAGS="$CPPFLAGS_GOOD"
1679 AC_SUBST(MPEG2ENC_CFLAGS)
1680 AC_SUBST(MPEG2ENC_LIBS)
1687 CPPFLAGS="$OLD_CPPFLAGS"
1696 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
1697 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
1699 dnl we require a c++ compiler for this one
1700 if [ test x$HAVE_CXX = xyes ]; then
1701 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
1702 dnl since many distros include mjpegtools specifically without mplex
1703 dnl and mpeg2enc, we check for mplex on its own, too.
1704 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
1705 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
1706 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
1708 dnl switch over to c++ to test things
1710 OLD_CPPFLAGS="$CPPFLAGS"
1712 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
1713 CPPFLAGS="$CPPFLAGS_GOOD -I."
1714 AC_CHECK_HEADER(interact.hpp, [
1715 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
1717 LIBS="$LIBS $MPLEX_LIBS"
1718 OLD_LDFLAGS="$LDFLAGS"
1719 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
1720 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
1721 dnl don't want this here
1722 AC_MSG_CHECKING([for valid mplex objects])
1723 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1725 #include <interact.hpp>
1726 #include <outputstrm.hpp>
1727 #include <multiplexor.hpp>
1732 class TestOutputStream : public OutputStream {
1734 TestOutputStream () : OutputStream () { }
1735 void Write (uint8_t *a, unsigned int b) { }
1736 void NextSegment () { }
1737 uint64_t SegmentSize () { }
1741 MultiplexJob *job = new MultiplexJob ();
1742 vector<IBitStream *> inputs;
1743 job->SetupInputStreams (inputs);
1744 TestOutputStream *out = new TestOutputStream ();
1745 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
1750 CPPFLAGS="$CPPFLAGS_GOOD"
1751 AC_SUBST(MPLEX_CFLAGS)
1752 AC_SUBST(MPLEX_LIBS)
1753 AC_SUBST(MPLEX_LDFLAGS)
1755 ],[AC_MSG_RESULT(no)],[])
1757 LDFLAGS="$OLD_LDFLAGS"
1759 CPPFLAGS="$OLD_CPPFLAGS"
1765 dnl *** musepack ***
1766 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
1767 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
1768 AC_CHECK_HEADER([mpc/mpcdec.h], [
1770 MUSEPACK_LIBS="-lmpcdec"
1771 AC_SUBST(MUSEPACK_LIBS)
1772 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
1774 MUSEPACK_LIBS="-lmpcdec"
1775 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
1776 AC_SUBST(MUSEPACK_LIBS)
1777 ], [HAVE_MUSEPACK="no"])])
1781 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
1782 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
1783 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
1786 AC_SUBST(NEON_CFLAGS)
1791 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
1792 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
1793 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
1796 AC_SUBST(OFA_CFLAGS)
1801 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
1802 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
1803 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
1806 AC_SUBST(OPENAL_CFLAGS)
1807 AC_SUBST(OPENAL_LIBS)
1811 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
1812 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
1813 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
1814 dnl and don't want the build to break when a new opencv version comes out.
1815 dnl Need to adjust this upwards once we know that our code compiles fine with
1816 dnl a new version and the no-backward-compatibility define. (There doesn't
1817 dnl seem to be a switch to suppress the warnings the cvcompat.h header
1819 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv < 3.5.0 , [
1822 OLD_CPPFLAGS=$CPPFLAGS
1823 CPPFLAGS=$OPENCV_CFLAGS
1824 something_not_found=no
1825 AC_CHECK_HEADERS([opencv2/core/core_c.h \
1826 opencv2/core/version.hpp \
1827 opencv2/highgui/highgui_c.h \
1828 opencv2/imgproc/imgproc.hpp \
1829 opencv2/imgproc/imgproc_c.h \
1830 opencv2/objdetect/objdetect.hpp \
1831 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
1833 dnl Only required for OpenCV >= 3, we have compat code for older versions
1834 PKG_CHECK_MODULES(OPENCV_3, opencv >= 3, [
1835 dnl check opencv_contrib headers (not always present in opencv distributions)
1836 AC_CHECK_HEADERS([opencv2/bgsegm.hpp], [], [something_not_found=yes])],
1837 [NOT_A_PROBLEM=yes])
1839 CPPFLAGS=$OLD_CPPFLAGS
1842 if test $something_not_found = "yes"; then
1843 AC_MSG_RESULT([not all opencv2 headers were found])
1851 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
1852 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
1853 AC_SUBST(OPENCV_PREFIX)
1854 AC_SUBST(OPENCV_CFLAGS)
1855 AC_SUBST(OPENCV_LIBS)
1856 dnl the OpenCV prefix is used at runtime for some object properties, and also
1857 dnl used here to detect which directory is the correct one. For the second
1858 dnl case, make sure the right sysroot is used, ensuring correct behavior
1859 dnl during cross compilation.
1860 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
1861 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
1863 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
1868 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
1869 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
1870 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
1873 dnl *** openh264 ***
1874 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
1875 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
1876 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
1879 dnl *** OpenJPEG ***
1880 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
1881 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
1883 AG_GST_PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= 2.1)
1884 if test x"$HAVE_OPENJPEG" != x"yes"; then
1887 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
1888 HAVE_OPENJPEG="yes",
1889 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
1891 if test x"$HAVE_OPENJPEG" = x"yes"; then
1892 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
1895 AC_SUBST(OPENJPEG_CFLAGS)
1896 AC_SUBST(OPENJPEG_LIBS)
1900 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENMPT, true)
1901 AG_GST_CHECK_FEATURE(OPENMPT, openmpt, openmpt, [
1902 PKG_CHECK_MODULES(OPENMPT, libopenmpt, HAVE_OPENMPT="yes", HAVE_OPENMPT="no")
1903 AC_SUBST(OPENMPT_CFLAGS)
1904 AC_SUBST(OPENMPT_LIBS)
1908 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
1909 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
1910 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
1911 AC_SUBST(OPENNI2_CFLAGS)
1912 AC_SUBST(OPENNI2_LIBS)
1916 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
1917 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
1918 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
1919 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
1924 AC_SUBST(OPUS_CFLAGS)
1929 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
1930 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
1931 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
1936 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
1937 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
1938 if test "x$HAVE_GST_GL" = "xyes"; then
1942 AM_CONDITIONAL(USE_GL, test "x$HAVE_GL" = "xyes")
1943 AM_CONDITIONAL(USE_OPENGL, test "x$GST_GL_HAVE_API_GL" = "x1")
1947 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
1948 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
1949 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
1950 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
1955 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
1957 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
1958 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
1959 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
1960 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
1962 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
1964 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
1965 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
1966 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
1967 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
1969 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
1971 if test "x$GDK_WINDOWING" = "xyes"; then
1972 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
1979 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
1982 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
1983 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
1984 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
1985 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
1986 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
1988 AS_HELP_STRING([--with-moc], [Set location of qt moc tool]),
1990 AC_PATH_PROGS(MOC, [moc-qt5 moc], [moc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
1992 AS_HELP_STRING([--with-rcc], [Set location of qt rcc tool]),
1994 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], [rcc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
1996 AS_HELP_STRING([--with-uic], [Set location of qt uic tool]),
1998 AC_PATH_PROGS(UIC, [uic-qt5 uic], [uic], ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
1999 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2000 AC_MSG_WARN([One of the required qt build programs was not found])
2004 HAVE_QT_WINDOWING="no"
2005 QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`"
2006 QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
2007 AS_IF([test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
2008 QT_CFLAGS="$QT_CFLAGS -I$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH"
2009 HAVE_QT_QPA_HEADER="yes"
2010 ], [AC_MSG_NOTICE([Cannot find QPA])])
2011 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1" || test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2012 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2013 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2014 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2015 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2016 HAVE_QT_WINDOWING="yes"
2017 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2019 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
2020 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2021 AC_DEFINE([HAVE_QT_WAYLAND], [],
2022 [Define if Qt Wayland integration is installed])
2023 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2024 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
2025 HAVE_QT_WINDOWING="yes"
2026 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
2028 if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2029 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
2030 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
2031 # c++ on android requires a standard library and there are multiple
2032 # choices. cerbero provides a pkg-config file the describes a choice
2033 # so try to use that. Outside cerbero one has to pass these flags
2034 # manually for the library one is using
2035 PKG_CHECK_MODULES(GNUSTL, gnustl, [
2036 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
2037 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
2039 AC_MSG_NOTICE([Could not find Standard C++ library])])
2040 AC_DEFINE([HAVE_QT_EGLFS], [],
2041 [Define if Qt eglfs integration is installed])
2042 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
2043 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
2044 HAVE_QT_WINDOWING="yes"
2045 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
2047 AC_DEFINE([HAVE_QT_EGLFS], [],
2048 [Define if Qt eglfs integration is installed])
2049 HAVE_QT_WINDOWING="yes"
2052 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
2053 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
2054 AC_DEFINE([HAVE_QT_MAC], [],
2055 [Define if Qt Mac integration is installed])
2056 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
2057 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
2058 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
2059 HAVE_QT_WINDOWING="yes"
2060 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
2062 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
2063 if test "x$HAVE_IOS" = "xyes"; then
2064 # iOS doesn't have its own extras package so if we have the core
2065 # modules we are good to go
2066 AC_DEFINE([HAVE_QT_IOS], [],
2067 [Define if Qt iOS integration is installed])
2068 HAVE_QT_WINDOWING="yes"
2071 if test "x$HAVE_QT_WINDOWING" = "xno"; then
2072 AC_MSG_WARN([Could not find any Qt Windowing integration])
2075 AC_SUBST([QT_CFLAGS])
2084 translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
2085 AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
2086 AC_CHECK_HEADER(vulkan/vulkan.h, [
2087 AC_CHECK_LIB(vulkan, vkCreateDevice, [
2088 VULKAN_LIBS="-lvulkan"
2089 AC_SUBST(VULKAN_LIBS)
2090 if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
2093 if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
2100 dnl *** teletextdec ***
2101 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
2102 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
2103 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
2106 dnl *** wildmidi ***
2107 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
2108 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
2109 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
2112 WILDMIDI_LIBS="-lWildMidi")
2115 if test "x$HAVE_WILDMIDI" = "xyes"; then
2116 AC_MSG_CHECKING([for wildmidi >= 4.0])
2117 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <wildmidi_lib.h>]], [[
2118 #if LIBWILDMIDI_VER_MAJOR == 0 && LIBWILDMIDI_VER_MINOR < 4
2119 #error "wildmidi too old"
2121 ]])], [ AC_MSG_RESULT(yes)
2124 WILDMIDI_LIBS=-lWildMidi
2125 ], [ AC_MSG_RESULT(no)
2129 AC_MSG_WARN([WildMidi library or development headers not found])
2131 AC_SUBST(WILDMIDI_CFLAGS)
2132 AC_SUBST(WILDMIDI_LIBS)
2135 dnl **** Smooth Streaming ****
2136 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
2137 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
2138 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
2140 HAVE_SMOOTHSTREAMING="yes"],
2142 HAVE_SMOOTHSTREAMING="no"])
2143 AC_SUBST(LIBXML2_CFLAGS)
2144 AC_SUBST(LIBXML2_LIBS)
2148 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
2149 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
2150 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
2151 AC_SUBST(SNDFILE_CFLAGS)
2152 AC_SUBST(SNDFILE_LIBS)
2155 dnl *** soundtouch ***
2156 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
2157 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
2158 dnl We only need -lBPM on soundtouch < 1.4
2159 dnl We check for libSoundTouch since Debian used it before upstream
2160 dnl added a pkgconfig file.
2161 HAVE_SOUNDTOUCH_1_4=yes
2162 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
2163 [HAVE_SOUNDTOUCH=yes],
2164 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
2165 [HAVE_SOUNDTOUCH=yes],
2166 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
2167 [HAVE_SOUNDTOUCH=yes
2168 HAVE_SOUNDTOUCH_1_4=no
2169 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2170 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
2171 [HAVE_SOUNDTOUCH=yes],
2172 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
2173 [HAVE_SOUNDTOUCH=yes
2174 HAVE_SOUNDTOUCH_1_4=no
2175 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2176 HAVE_SOUNDTOUCH=no)])])])])
2177 AC_SUBST(SOUNDTOUCH_CFLAGS)
2178 AC_SUBST(SOUNDTOUCH_LIBS)
2179 if test "x$HAVE_CXX" != "xyes"; then
2180 USE_SOUNDTOUCH=false
2181 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
2183 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
2184 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
2185 [Defined if the available libSoundTouch is >= 1.4])
2190 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
2191 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
2192 AC_CHECK_HEADER(openspc.h, [
2193 AC_CHECK_LIB(openspc, OSPC_Init, [
2194 SPC_LIBS="-lopenspc"
2206 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
2207 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
2208 AC_CHECK_HEADER(gme/gme.h, [
2209 AC_CHECK_LIB(gme, gme_new_emu, [
2220 if test "x$HAVE_GME" = "xyes"; then
2221 AC_CHECK_LIB(gme, gme_enable_accuracy, [
2222 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
2228 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
2229 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
2230 AC_MSG_CHECKING([Checking for up to date dvb installation])
2231 AC_CHECK_HEADER(linux/dvb/version.h, [
2232 AC_MSG_CHECKING([for up-to-date dvb API])
2233 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
2234 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
2235 #error "Incompatible dvb API"
2237 ]])], [ AC_MSG_RESULT(yes)
2239 ], [ AC_MSG_RESULT(no)
2246 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
2247 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
2248 AC_MSG_CHECKING([Checking for ACM support])
2249 AC_CHECK_HEADERS([windows.h msacm.h],
2251 AC_SUBST(ACMENC_CFLAGS)
2252 AC_SUBST(ACMMP3DEC_CFLAGS)
2254 [AC_INCLUDES_DEFAULT
2255 #include <windows.h>])
2259 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
2260 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
2265 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
2267 if test "$HAVE_VDPAU" = "no"; then
2268 saved_CPPFLAGS="$CPPFLAGS"
2269 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2271 if test -z "$HAVE_VDPAU_H"; then
2272 dnl Didn't find VDPAU header straight away.
2273 dnl Try /usr/include/nvidia. Need to clear caching vars first
2274 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
2275 unset ac_cv_header_vdpau_vdpau_h
2276 unset ac_cv_header_vdpau_vdpau_x11_h
2277 VDPAU_CFLAGS="-I/usr/include/nvidia"
2278 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
2279 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
2280 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
2283 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
2285 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
2286 dnl Found the headers - look for the lib
2287 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
2289 LIBS="$VDPAU_LIBS $saved_LIBS"
2290 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
2296 if test "$HAVE_VDPAU" = "yes"; then
2297 AC_MSG_NOTICE([Found up to date VDPAU installation])
2298 AC_SUBST(VDPAU_CFLAGS)
2299 AC_SUBST(VDPAU_LIBS)
2304 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
2305 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
2306 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
2309 dnl *** schroedinger ***
2310 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
2311 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
2312 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
2316 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
2317 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
2318 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
2322 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
2323 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
2324 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
2328 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
2329 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
2330 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
2331 HAVE_SPANDSP="yes" ], [
2335 AC_SUBST(SPANDSP_CFLAGS)
2336 AC_SUBST(SPANDSP_LIBS)
2338 dnl *** hls-crypto ***
2339 AC_ARG_WITH([hls-crypto],
2340 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
2341 which cryptographic library version to compile against for hls (default: auto)
2343 AS_CASE([$with_hls_crypto],
2347 [with_hls_crypto=auto]
2353 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
2354 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
2355 AS_CASE([$with_hls_crypto],
2357 PKG_CHECK_MODULES(NETTLE, nettle, [
2358 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
2360 ],[AC_MSG_ERROR([Could not find nettle library])])
2363 AM_PATH_LIBGCRYPT([1.2.0], [
2364 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
2366 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
2369 PKG_CHECK_MODULES(OPENSSL, openssl, [
2370 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
2372 ],[AC_MSG_ERROR([Could not find openssl library])])
2375 dnl Try to find a valid crypto library
2376 PKG_CHECK_MODULES(NETTLE, nettle, [
2377 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
2380 AM_PATH_LIBGCRYPT([1.2.0], [
2381 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
2384 PKG_CHECK_MODULES(OPENSSL, openssl, [
2385 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
2396 dnl *** x265 (H.265/HEVC encoder) ***
2397 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
2398 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
2399 AG_GST_PKG_CHECK_MODULES(X265, x265)
2402 dnl *** WebRTC Audio Processing ***
2403 dnl Note: We test for a specific version as there is no API stability
2404 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
2405 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
2407 AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
2409 # On Android, C++ headers comes with the STL implementation
2410 AS_CASE(["${host}"],
2413 PKG_CHECK_MODULES(GNUSTL, gnustl, [
2414 WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
2415 WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
2417 AC_SUBST([WEBRTCDSP_CFLAGS])
2418 AC_SUBST([WEBRTCDSP_LIBS])
2421 old_CPPFLAGS=$CPPFLAGS
2422 CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
2423 AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
2424 CPPFLAGS=$old_CPPFLAGS
2429 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTC, true)
2430 AG_GST_CHECK_FEATURE(WEBRTC, [WebRTC], webrtc, [
2431 AG_GST_PKG_CHECK_MODULES(GST_SDP, gstreamer-sdp-1.0)
2432 PKG_CHECK_MODULES(NICE, nice >= 0.1, [
2433 HAVE_WEBRTC="yes" ], [
2440 dnl not building plugins with external dependencies,
2441 dnl but we still need to set the conditionals
2443 AM_CONDITIONAL(USE_ASSRENDER, false)
2444 AM_CONDITIONAL(USE_AOM, false)
2445 AM_CONDITIONAL(USE_VOAMRWBENC, false)
2446 AM_CONDITIONAL(USE_VOAACENC, false)
2447 AM_CONDITIONAL(USE_BS2B, false)
2448 AM_CONDITIONAL(USE_BZ2, false)
2449 AM_CONDITIONAL(USE_CHROMAPRINT, false)
2450 AM_CONDITIONAL(USE_CURL, false)
2451 AM_CONDITIONAL(USE_SSH2, false)
2452 AM_CONDITIONAL(USE_DASH, false)
2453 AM_CONDITIONAL(USE_DC1394, false)
2454 AM_CONDITIONAL(USE_DECKLINK, false)
2455 AM_CONDITIONAL(DECKLINK_OSX, false)
2456 AM_CONDITIONAL(USE_DIRECTFB, false)
2457 AM_CONDITIONAL(USE_WAYLAND, false)
2458 AM_CONDITIONAL(USE_DAALA, false)
2459 AM_CONDITIONAL(USE_DTS, false)
2460 AM_CONDITIONAL(USE_EXIF, false)
2461 AM_CONDITIONAL(USE_RESINDVD, false)
2462 AM_CONDITIONAL(USE_FAAC, false)
2463 AM_CONDITIONAL(USE_FAAD, false)
2464 AM_CONDITIONAL(USE_FBDEV, false)
2465 AM_CONDITIONAL(USE_FDK_AAC, false)
2466 AM_CONDITIONAL(USE_FLITE, false)
2467 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
2468 AM_CONDITIONAL(USE_GSM, false)
2469 AM_CONDITIONAL(USE_GTK3, false)
2470 AM_CONDITIONAL(USE_GTK3_GL, false)
2471 AM_CONDITIONAL(USE_HLS, false)
2472 AM_CONDITIONAL(USE_IQA, false)
2473 AM_CONDITIONAL(USE_KATE, false)
2474 AM_CONDITIONAL(USE_KMS, false)
2475 AM_CONDITIONAL(USE_TIGER, false)
2476 AM_CONDITIONAL(USE_LADSPA, false)
2477 AM_CONDITIONAL(USE_LCMS2, false)
2478 AM_CONDITIONAL(USE_LV2, false)
2479 AM_CONDITIONAL(USE_LIBDE265, false)
2480 AM_CONDITIONAL(USE_LIBMMS, false)
2481 AM_CONDITIONAL(USE_MODPLUG, false)
2482 AM_CONDITIONAL(USE_MPEG2ENC, false)
2483 AM_CONDITIONAL(USE_MPLEX, false)
2484 AM_CONDITIONAL(USE_MUSEPACK, false)
2485 AM_CONDITIONAL(USE_NEON, false)
2486 AM_CONDITIONAL(USE_OFA, false)
2487 AM_CONDITIONAL(USE_OPENAL, false)
2488 AM_CONDITIONAL(USE_OPENCV, false)
2489 AM_CONDITIONAL(USE_OPENEXR, false)
2490 AM_CONDITIONAL(USE_OPENJPEG, false)
2491 AM_CONDITIONAL(USE_OPENMPT, false)
2492 AM_CONDITIONAL(USE_OPENNI2, false)
2493 AM_CONDITIONAL(USE_OPUS, false)
2494 AM_CONDITIONAL(USE_QT, false)
2495 AM_CONDITIONAL(USE_WILDMIDI, false)
2496 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
2497 AM_CONDITIONAL(USE_SNDFILE, false)
2498 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
2499 AM_CONDITIONAL(USE_SPANDSP, false)
2500 AM_CONDITIONAL(USE_SPC, false)
2501 AM_CONDITIONAL(USE_SRTP, false)
2502 AM_CONDITIONAL(USE_GME, false)
2503 AM_CONDITIONAL(USE_DVB, false)
2504 AM_CONDITIONAL(USE_ACM, false)
2505 AM_CONDITIONAL(USE_VDPAU, false)
2506 AM_CONDITIONAL(USE_SBC, false)
2507 AM_CONDITIONAL(USE_SCHRO, false)
2508 AM_CONDITIONAL(USE_ZBAR, false)
2509 AM_CONDITIONAL(USE_RSVG, false)
2510 AM_CONDITIONAL(USE_RTMP, false)
2511 AM_CONDITIONAL(USE_TELETEXTDEC, false)
2512 AM_CONDITIONAL(USE_UVCH264, false)
2513 AM_CONDITIONAL(USE_WEBP, false)
2514 AM_CONDITIONAL(USE_WEBRTC, false)
2515 AM_CONDITIONAL(USE_WEBRTCDSP, false)
2516 AM_CONDITIONAL(USE_OPENH264, false)
2517 AM_CONDITIONAL(USE_X265, false)
2518 AM_CONDITIONAL(USE_DTLS, false)
2519 AM_CONDITIONAL(USE_VULKAN, false)
2520 AM_CONDITIONAL(USE_TTML, false)
2522 fi dnl of EXT plugins
2524 dnl *** finalize CFLAGS, LDFLAGS, LIBS
2527 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
2528 dnl GST_*: flags shared by built objects to link against GStreamer
2529 dnl GST_ALL_LDFLAGS: linker flags shared by all
2530 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
2531 dnl GST_LT_LDFLAGS: library versioning of our libraries
2532 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
2534 dnl GST_OPTION_CFLAGS
2535 if test "x$USE_DEBUG" = xyes; then
2538 AC_SUBST(PROFILE_CFLAGS)
2540 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
2541 dnl Define _only_ during CVS (not pre-releases or releases)
2542 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
2544 DEPRECATED_CFLAGS=""
2546 AC_SUBST(DEPRECATED_CFLAGS)
2548 VISIBILITY_CFLAGS=""
2549 AS_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"])
2550 AC_SUBST(VISIBILITY_CFLAGS)
2552 VISIBILITY_CXXFLAGS=""
2553 if test "x$HAVE_CXX" = "xyes"; then
2554 AS_CXX_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=hidden"])
2556 AC_SUBST(VISIBILITY_CXXFLAGS)
2558 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
2559 dnl at make time with e.g. make ERROR_CFLAGS=""
2560 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2561 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2562 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
2563 AC_SUBST(GST_OPTION_CFLAGS)
2564 AC_SUBST(GST_OPTION_CXXFLAGS)
2565 AC_SUBST(GST_OPTION_OBJCFLAGS)
2567 dnl FIXME: do we want to rename to GST_ALL_* ?
2568 dnl prefer internal headers to already installed ones
2569 dnl also add builddir include for enumtypes and marshal
2570 dnl add GST_OPTION_CFLAGS, but overridable
2571 GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
2572 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(VISIBILITY_CXXFLAGS)"
2573 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS) \$(VISIBILITY_CFLAGS)"
2574 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS) \$(VISIBILITY_CFLAGS)"
2575 AC_SUBST(GST_CFLAGS)
2576 AC_SUBST(GST_CXXFLAGS)
2577 AC_SUBST(GST_OBJCFLAGS)
2579 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2580 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2581 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
2582 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
2583 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
2584 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
2586 dnl LDFLAGS really should only contain flags, not libs - they get added before
2587 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2588 GST_ALL_LDFLAGS="-no-undefined"
2589 if test "x${enable_Bsymbolic}" = "xyes"; then
2590 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
2592 AC_SUBST(GST_ALL_LDFLAGS)
2595 dnl linker flags shared by all libraries
2596 dnl LDFLAGS modifier defining exported symbols from built libraries
2597 dnl (export _gst_foo but not __gst_foo)
2599 AC_SUBST(GST_LIB_LDFLAGS)
2601 dnl this really should only contain flags, not libs - they get added before
2602 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
2603 GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS"
2604 AC_SUBST(GST_PLUGIN_LDFLAGS)
2606 dnl *** output files ***
2608 $MKDIR_P tests/check/orc
2617 gst/accurip/Makefile
2618 gst/adpcmdec/Makefile
2619 gst/adpcmenc/Makefile
2621 gst/videoframe_audiolevel/Makefile
2623 gst/audiobuffersplit/Makefile
2624 gst/audiofxbad/Makefile
2625 gst/audiomixer/Makefile
2626 gst/audiomixmatrix/Makefile
2627 gst/audiovisualizers/Makefile
2628 gst/autoconvert/Makefile
2630 gst/camerabin2/Makefile
2631 gst/coloreffects/Makefile
2632 gst/debugutils/Makefile
2633 gst/dvbsuboverlay/Makefile
2635 gst/faceoverlay/Makefile
2636 gst/festival/Makefile
2637 gst/fieldanalysis/Makefile
2638 gst/freeverb/Makefile
2640 gst/gaudieffects/Makefile
2641 gst/geometrictransform/Makefile
2645 gst/interlace/Makefile
2646 gst/ivfparse/Makefile
2648 gst/jp2kdecimator/Makefile
2649 gst/jpegformat/Makefile
2652 gst/mpegdemux/Makefile
2653 gst/mpegtsdemux/Makefile
2654 gst/mpegtsmux/Makefile
2655 gst/mpegtsmux/tsmux/Makefile
2656 gst/mpegpsmux/Makefile
2660 gst/pcapparse/Makefile
2662 gst/rawparse/Makefile
2663 gst/removesilence/Makefile
2665 gst/segmentclip/Makefile
2671 gst/timecode/Makefile
2672 gst/videofilters/Makefile
2673 gst/videoparsers/Makefile
2674 gst/videosignal/Makefile
2678 gst/compositor/Makefile
2680 gst-libs/gst/Makefile
2681 gst-libs/gst/adaptivedemux/Makefile
2682 gst-libs/gst/basecamerabinsrc/Makefile
2683 gst-libs/gst/insertbin/Makefile
2684 gst-libs/gst/interfaces/Makefile
2685 gst-libs/gst/isoff/Makefile
2686 gst-libs/gst/codecparsers/Makefile
2687 gst-libs/gst/mpegts/Makefile
2688 gst-libs/gst/uridownloader/Makefile
2689 gst-libs/gst/wayland/Makefile
2690 gst-libs/gst/webrtc/Makefile
2691 gst-libs/gst/player/Makefile
2692 gst-libs/gst/video/Makefile
2693 gst-libs/gst/audio/Makefile
2694 gst-libs/gst/opencv/Makefile
2696 sys/dshowdecwrapper/Makefile
2698 sys/acmmp3dec/Makefile
2699 sys/androidmedia/Makefile
2700 sys/applemedia/Makefile
2702 sys/d3dvideosink/Makefile
2703 sys/decklink/Makefile
2704 sys/directsound/Makefile
2705 sys/dshowsrcwrapper/Makefile
2706 sys/dshowvideosink/Makefile
2709 sys/ipcpipeline/Makefile
2714 sys/opensles/Makefile
2716 sys/tinyalsa/Makefile
2717 sys/uvch264/Makefile
2722 sys/winscreencap/Makefile
2724 tests/check/Makefile
2725 tests/files/Makefile
2726 tests/examples/Makefile
2727 tests/examples/avsamplesink/Makefile
2728 tests/examples/camerabin2/Makefile
2729 tests/examples/codecparsers/Makefile
2730 tests/examples/directfb/Makefile
2731 tests/examples/audiomixmatrix/Makefile
2732 tests/examples/gtk/Makefile
2733 tests/examples/ipcpipeline/Makefile
2734 tests/examples/mpegts/Makefile
2735 tests/examples/mxf/Makefile
2736 tests/examples/opencv/Makefile
2737 tests/examples/uvch264/Makefile
2738 tests/examples/waylandsink/Makefile
2739 tests/examples/webrtc/Makefile
2740 tests/icles/Makefile
2741 ext/voamrwbenc/Makefile
2742 ext/voaacenc/Makefile
2743 ext/assrender/Makefile
2747 ext/chromaprint/Makefile
2748 ext/colormanagement/Makefile
2752 ext/directfb/Makefile
2753 ext/wayland/Makefile
2761 ext/fluidsynth/Makefile
2769 ext/libde265/Makefile
2772 ext/modplug/Makefile
2773 ext/mpeg2enc/Makefile
2775 ext/musepack/Makefile
2780 ext/openexr/Makefile
2781 ext/openh264/Makefile
2782 ext/openjpeg/Makefile
2783 ext/openmpt/Makefile
2784 ext/openni2/Makefile
2788 ext/resindvd/Makefile
2791 ext/schroedinger/Makefile
2792 ext/smoothstreaming/Makefile
2793 ext/sndfile/Makefile
2794 ext/soundtouch/Makefile
2795 ext/spandsp/Makefile
2798 ext/teletextdec/Makefile
2801 ext/wildmidi/Makefile
2803 ext/vulkan/xcb/Makefile
2804 ext/vulkan/wayland/Makefile
2810 ext/webrtcdsp/Makefile
2814 docs/plugins/Makefile
2816 docs/version.entities
2818 pkgconfig/gstreamer-plugins-bad.pc
2819 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
2820 pkgconfig/gstreamer-codecparsers.pc
2821 pkgconfig/gstreamer-codecparsers-uninstalled.pc
2822 pkgconfig/gstreamer-insertbin.pc
2823 pkgconfig/gstreamer-insertbin-uninstalled.pc
2824 pkgconfig/gstreamer-mpegts.pc
2825 pkgconfig/gstreamer-mpegts-uninstalled.pc
2826 pkgconfig/gstreamer-player.pc
2827 pkgconfig/gstreamer-player-uninstalled.pc
2828 pkgconfig/gstreamer-wayland.pc
2829 pkgconfig/gstreamer-wayland-uninstalled.pc
2830 pkgconfig/gstreamer-webrtc.pc
2831 pkgconfig/gstreamer-webrtc-uninstalled.pc
2832 pkgconfig/gstreamer-bad-video.pc
2833 pkgconfig/gstreamer-bad-video-uninstalled.pc
2834 pkgconfig/gstreamer-bad-audio.pc
2835 pkgconfig/gstreamer-bad-audio-uninstalled.pc
2842 AG_GST_OUTPUT_PLUGINS