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(dccp)
504 AG_GST_CHECK_PLUGIN(debugutils)
505 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
506 AG_GST_CHECK_PLUGIN(dvdspu)
507 AG_GST_CHECK_PLUGIN(faceoverlay)
508 AG_GST_CHECK_PLUGIN(festival)
509 AG_GST_CHECK_PLUGIN(fieldanalysis)
510 AG_GST_CHECK_PLUGIN(freeverb)
511 AG_GST_CHECK_PLUGIN(frei0r)
512 AG_GST_CHECK_PLUGIN(gaudieffects)
513 AG_GST_CHECK_PLUGIN(geometrictransform)
514 AG_GST_CHECK_PLUGIN(gdp)
515 AG_GST_CHECK_PLUGIN(hdvparse)
516 AG_GST_CHECK_PLUGIN(id3tag)
517 AG_GST_CHECK_PLUGIN(inter)
518 AG_GST_CHECK_PLUGIN(interlace)
519 AG_GST_CHECK_PLUGIN(ivfparse)
520 AG_GST_CHECK_PLUGIN(ivtc)
521 AG_GST_CHECK_PLUGIN(jp2kdecimator)
522 AG_GST_CHECK_PLUGIN(jpegformat)
523 AG_GST_CHECK_PLUGIN(librfb)
524 AG_GST_CHECK_PLUGIN(midi)
525 AG_GST_CHECK_PLUGIN(mpegdemux)
526 AG_GST_CHECK_PLUGIN(mpegtsdemux)
527 AG_GST_CHECK_PLUGIN(mpegtsmux)
528 AG_GST_CHECK_PLUGIN(mpegpsmux)
529 AG_GST_CHECK_PLUGIN(mve)
530 AG_GST_CHECK_PLUGIN(mxf)
531 AG_GST_CHECK_PLUGIN(netsim)
532 AG_GST_CHECK_PLUGIN(nuvdemux)
533 AG_GST_CHECK_PLUGIN(onvif)
534 AG_GST_CHECK_PLUGIN(patchdetect)
535 AG_GST_CHECK_PLUGIN(pcapparse)
536 AG_GST_CHECK_PLUGIN(pnm)
537 AG_GST_CHECK_PLUGIN(rawparse)
538 AG_GST_CHECK_PLUGIN(removesilence)
539 AG_GST_CHECK_PLUGIN(sdi)
540 AG_GST_CHECK_PLUGIN(sdp)
541 AG_GST_CHECK_PLUGIN(segmentclip)
542 AG_GST_CHECK_PLUGIN(siren)
543 AG_GST_CHECK_PLUGIN(smooth)
544 AG_GST_CHECK_PLUGIN(speed)
545 AG_GST_CHECK_PLUGIN(subenc)
546 AG_GST_CHECK_PLUGIN(stereo)
547 AG_GST_CHECK_PLUGIN(timecode)
548 AG_GST_CHECK_PLUGIN(tta)
549 AG_GST_CHECK_PLUGIN(videofilters)
550 AG_GST_CHECK_PLUGIN(videoparsers)
551 AG_GST_CHECK_PLUGIN(videosignal)
552 AG_GST_CHECK_PLUGIN(vmnc)
553 AG_GST_CHECK_PLUGIN(y4m)
554 AG_GST_CHECK_PLUGIN(yadif)
556 dnl *** plug-ins to exclude ***
558 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
559 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
560 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
561 AC_CHECK_HEADER(QTKit/QTKit.h, HAVE_QTKIT="yes", HAVE_QTKIT="no", [-])
563 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
565 LIBS="$LIBS -framework VideoToolbox"
566 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
567 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
573 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
574 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
575 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
578 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
579 if test "x$HAVE_IOS" = "xyes"; then
580 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
583 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
584 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
585 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
588 AM_CONDITIONAL(HAVE_QTKIT, test "x$HAVE_QTKIT" = "xyes")
589 if test "x$HAVE_QTKIT" = "xyes"; then
590 AC_DEFINE(HAVE_QTKIT, 1, [Define if building with QTKit])
592 dnl disable gst plugins we might not be able to build on this
593 dnl platform: (ugly but minimally invasive)
594 dnl FIXME: maybe move to sys, or make work with winsock2
595 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
596 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
598 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
599 WINSOCK2_LIBS="-lws2_32"
600 AC_SUBST(WINSOCK2_LIBS)
603 if test "x$HAVE_PTHREAD_H" = "xyes"; then
604 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
607 AG_GST_DISABLE_PLUGIN(dccp)
611 AC_ARG_ENABLE([opengl],
612 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
613 [case "${enableval}" in
616 auto) NEED_GL=auto ;;
617 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
618 esac],[NEED_GL=auto])
620 AC_ARG_WITH([opengl-module-name],
621 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
622 if test x$with_opengl_module_name != x; then
623 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
626 AC_ARG_ENABLE([gles2],
627 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
628 [case "${enableval}" in
629 yes) NEED_GLES2=yes ;;
631 auto) NEED_GLES2=auto ;;
632 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
633 esac],[NEED_GLES2=auto])
635 AC_ARG_WITH([gles2-module-name],
636 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
637 if test x$with_gles2_module_name != x; then
638 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
642 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
643 [case "${enableval}" in
646 auto) NEED_EGL=auto ;;
647 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
648 esac],[NEED_EGL=auto])
650 AC_ARG_WITH([egl-module-name],
651 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
652 if test x$with_egl_module_name != x; then
653 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
657 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
658 [case "${enableval}" in
661 auto) NEED_WGL=auto ;;
662 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
663 esac],[NEED_WGL=auto])
666 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
667 [case "${enableval}" in
670 auto) NEED_GLX=auto ;;
671 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
672 esac],[NEED_GLX=auto])
674 AC_ARG_ENABLE([cocoa],
675 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
676 [case "${enableval}" in
677 yes) NEED_COCOA=yes ;;
679 auto) NEED_COCOA=auto ;;
680 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
681 esac],[NEED_COCOA=auto])
684 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
685 [case "${enableval}" in
688 auto) NEED_X11=auto ;;
689 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
690 esac],[NEED_X11=auto])
692 AC_ARG_ENABLE([wayland],
693 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
694 [case "${enableval}" in
695 yes) NEED_WAYLAND_EGL=yes ;;
696 no) NEED_WAYLAND_EGL=no ;;
697 auto) NEED_WAYLAND_EGL=auto ;;
698 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
699 esac],[NEED_WAYLAND_EGL=auto])
701 AC_ARG_ENABLE([dispmanx],
702 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
703 [case "${enableval}" in
704 yes) NEED_DISPMANX=yes ;;
705 no) NEED_DISPMANX=no ;;
706 auto) NEED_DISPMANX=auto ;;
707 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
708 esac],[NEED_DISPMANX=auto])
710 AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
711 save_CPPFLAGS="$CPPFLAGS"
724 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
725 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
726 if test "x$HAVE_WGLEXT" = "xyes"; then
732 if test "x$NEED_GL" != "xno"; then
733 AG_GST_PKG_CHECK_MODULES(GL, gl)
734 if test "x$HAVE_GL" != "xyes"; then
735 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
738 if test "x$NEED_GLES2" != "xno"; then
739 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
740 if test "x$HAVE_GLES2" != "xyes"; then
741 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
743 AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
745 if test "x$NEED_EGL" != "xno"; then
746 AG_GST_PKG_CHECK_MODULES(EGL, egl)
747 if test "x$HAVE_EGL" != "xyes"; then
748 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
755 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
756 AC_CHECK_HEADER([EGL/fbdev_window.h],
759 AC_CHECK_LIB([Mali], [mali_image_create],
762 AC_CHECK_LIB([GLESv2], [glEnable],
764 AC_CHECK_HEADER([GLES2/gl2.h],
766 AC_CHECK_LIB([EGL], [eglGetProcAddress],
768 AC_CHECK_HEADER([EGL/egl.h],
772 EGL_LIBS="-lMali -lUMP"
774 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
782 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
783 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
784 LIBS="$LIBS -lvcos -lvchiq_arm"
785 AC_CHECK_LIB([bcm_host], [bcm_host_init],
787 LIBS="$LIBS -lbcm_host"
788 AC_CHECK_HEADER(bcm_host.h,
790 LIBS="$LIBS -lGLESv2"
791 AC_CHECK_LIB([EGL], [eglGetProcAddress],
794 AC_CHECK_HEADER([EGL/egl.h],
796 AC_CHECK_LIB([GLESv2], [glEnable],
798 AC_CHECK_HEADER([GLES2/gl2.h],
803 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
805 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
816 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)
818 # OS X and iOS always have GL available
821 if test "x$HAVE_IOS" = "xyes"; then
831 CPPFLAGS="$save_CPPFLAGS"
845 dnl Check for what the user asked for and what we could find
846 if test "x$HAVE_EGL" = "xno"; then
847 if test "x$NEED_EGL" = "xyes"; then
848 AC_MSG_ERROR([Could not find the required EGL libraries])
852 if test "x$HAVE_GL" = "xno"; then
853 if test "x$NEED_GL" = "xyes"; then
854 AC_MSG_ERROR([Could not find the required OpenGL libraries])
858 if test "x$HAVE_GLES2" = "xno"; then
859 if test "x$NEED_GLES2" = "xyes"; then
860 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
864 dnl X, GLX and OpenGL
865 if test "x$HAVE_X11_XCB" = "xno"; then
866 if test "x$NEED_GLX" = "xyes"; then
867 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
869 if test "x$NEED_X11" = "xyes"; then
870 AC_MSG_ERROR([Could not find X11 development libraries])
873 if test "x$NEED_GL" != "xno"; then
874 if test "x$HAVE_GL" = "xno"; then
875 if test "x$NEED_GLX" = "xyes"; then
876 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
880 if test "x$NEED_GLX" != "xno"; then
887 dnl check for DMABUF support
888 HAVE_DRM_FOURCC_HEADER=no
889 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
890 HAVE_DRM_FOURCC_HEADER=yes, )
892 HAVE_GST_ALLOCATORS=no
893 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
894 HAVE_GST_ALLOCATORS=yes, )
897 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
898 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
899 "x$HAVE_EGL" = "xyes"; then
903 dnl check if we can include both GL and GLES2 at the same time
904 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
906 if test "x$HAVE_GLES3_H" == "xyes"; then
911 # pragma GCC diagnostic push
912 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
914 #ifndef GL_GLEXT_PROTOTYPES
915 #define GL_GLEXT_PROTOTYPES 1
918 # include <OpenGLES/ES2/gl.h>
919 # include <OpenGLES/ES2/glext.h>
922 # include <GLES3/gl3.h>
923 # include <GLES3/gl3ext.h>
925 # include <GLES2/gl2.h>
926 # include <GLES2/gl2ext.h>
930 # include <OpenGL/OpenGL.h>
931 # include <OpenGL/gl.h>
932 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
933 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
934 # include <OpenGL/gl3.h>
938 # if __WIN32__ || _WIN32
939 # include <GL/glext.h>
942 int main (int argc, char **argv) { return 0; }
944 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
945 save_CFLAGS="$CFLAGS"
946 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
947 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
948 #if !defined(GL_FALSE)
949 #error Failed to include GL headers
951 ]])],[ AC_MSG_RESULT(yes)
953 if test "x$NEED_GLES2" = "xyes"; then
954 if test "x$NEED_GL" = "xyes"; then
955 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
957 AC_MSG_WARN([Disabling Desktop GL support])
961 AC_MSG_WARN([Disabling GL|ES 2.0 support])
966 CFLAGS="$save_CFLAGS"
969 #dnl Check for OpenGL
973 if test "x$NEED_WGL" = "xyes"; then
974 AC_MSG_ERROR([WGL is not available on Android])
976 if test "x$NEED_GLX" = "xyes"; then
977 AC_MSG_ERROR([GLX is not available on Android])
979 if test "x$NEED_GL" = "xyes"; then
980 AC_MSG_ERROR([GL is not available on Android])
982 if test "x$NEED_X11" = "xyes"; then
983 AC_MSG_ERROR([X11 is not available on Android])
985 if test "x$NEED_COCOA" = "xyes"; then
986 AC_MSG_ERROR([Cocoa is not available on Android])
990 if test "x$HAVE_GLES2" = "xyes"; then
991 if test "x$NEED_GLES2" != "xno"; then
992 GL_LIBS="$GL_LIBS -lGLESv2"
998 if test "x$HAVE_EGL" = "xyes"; then
999 if test "x$NEED_EGL" != "xno"; then
1000 GL_LIBS="$GL_LIBS -lEGL"
1005 if test "x$USE_EGL" != "xyes"; then
1006 AC_MSG_ERROR([Need EGL on Android])
1009 if test "x$USE_GLES2" != "xyes"; then
1010 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
1013 HAVE_WINDOW_ANDROID=yes
1015 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
1016 if test "x$NEED_WGL" = "xyes"; then
1017 AC_MSG_ERROR([WGL is not available on unix])
1020 if test "x$HAVE_X11_XCB" = "xno"; then
1021 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
1022 AC_MSG_WARN([X or Wayland is required for OpenGL support])
1026 dnl check Desktop OpenGL
1027 if test "x$HAVE_GL" = "xyes"; then
1028 if test "x$NEED_GL" != "xno"; then
1029 GL_LIBS="$GL_LIBS -lGL"
1034 if test "x$HAVE_GLES2" = "xyes"; then
1035 if test "x$NEED_GLES2" != "xno"; then
1036 GL_LIBS="$GL_LIBS -lGLESv2"
1041 if test "x$HAVE_X11_XCB" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
1042 if test "x$NEED_X11" != "xno"; then
1043 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1044 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1049 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
1050 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
1051 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
1053 if test "x$NEED_WAYLAND_EGL" != "xno"; then
1054 HAVE_WINDOW_WAYLAND=yes
1055 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1056 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1061 if test "x$HAVE_EGL_RPI" = "xyes"; then
1062 if test "x$NEED_DISPMANX" != "xno"; then
1063 HAVE_WINDOW_DISPMANX=yes
1069 if test "x$HAVE_EGL" = "xno"; then
1070 if test "x$HAVE_GL" = "xno"; then
1071 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1074 if test "x$NEED_EGL" != "xno"; then
1075 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1076 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1077 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1084 if test "x$HAVE_IOS" = "xyes"; then
1085 if test "x$NEED_WGL" = "xyes"; then
1086 AC_MSG_ERROR([WGL is not available on iOS])
1088 if test "x$NEED_GLX" = "xyes"; then
1089 AC_MSG_ERROR([GLX is not available on iOS])
1091 if test "x$NEED_GL" = "xyes"; then
1092 AC_MSG_ERROR([GL is not available on iOS])
1094 if test "x$NEED_X11" = "xyes"; then
1095 AC_MSG_ERROR([X11 is not available on iOS])
1097 if test "x$NEED_COCOA" = "xyes"; then
1098 AC_MSG_ERROR([Cocoa is not available on iOS])
1100 if test "x$NEED_EGL" = "xyes"; then
1101 AC_MSG_ERROR([EGL is not available on iOS])
1104 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1105 GL_CFLAGS="$GL_CFLAGS"
1108 HAVE_WINDOW_EAGL=yes
1110 ac_cv_type_GLsizeiptr=yes
1111 ac_cv_type_GLintptr=yes
1112 ac_cv_type_GLchar=yes
1114 dnl Only osx supports cocoa.
1115 if test "x$NEED_WGL" = "xyes"; then
1116 AC_MSG_ERROR([WGL is not available on Mac OS X])
1119 if test "x$NEED_COCOA" != "xno"; then
1120 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1121 GL_CFLAGS="$GL_CFLAGS"
1123 HAVE_WINDOW_COCOA=yes
1127 if test "x$USE_GLX" = "xyes"; then
1128 if test "x$HAVE_X11_XCB" = "xyes"; then
1129 if test "x$NEED_X11" != "xno"; then
1130 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1131 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1136 if test "x$HAVE_GL" = "xyes"; then
1137 if test "x$NEED_GL" != "xno"; then
1138 GL_LIBS="$GL_LIBS -lGL"
1144 if test "x$HAVE_EGL" = "xyes"; then
1145 if test "x$NEED_EGL" != "xno"; then
1146 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1147 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1148 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1155 if test "x$HAVE_GLES2" = "xyes"; then
1156 if test "x$NEED_GLES2" != "xno"; then
1157 GL_LIBS="$GL_LIBS -lGLESv2"
1164 if test "x$NEED_GLX" = "xyes"; then
1165 AC_MSG_ERROR([GLX is not available on Windows])
1167 if test "x$NEED_GLES2" = "xyes"; then
1168 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1171 if test "x$HAVE_GL" = "xyes"; then
1172 if test "x$NEED_GL" != "xno"; then
1173 if test "x$HAVE_WGL" = "xyes"; then
1174 if test "$NEED_WGL" != "xno"; then
1175 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1176 HAVE_WINDOW_WIN32=yes
1185 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1196 GST_GL_HAVE_OPENGL=0
1200 if test "x$USE_OPENGL" = "xyes"; then
1201 GL_APIS="gl $GL_APIS"
1202 GST_GL_HAVE_OPENGL=1
1204 if test "x$USE_GLES2" = "xyes"; then
1205 GL_APIS="gles2 $GL_APIS"
1207 if test "x$HAVE_GLES3_H" = "xyes"; then
1212 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1213 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1214 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1215 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1220 GST_GL_HAVE_WINDOW_X11=0
1221 GST_GL_HAVE_WINDOW_COCOA=0
1222 GST_GL_HAVE_WINDOW_WIN32=0
1223 GST_GL_HAVE_WINDOW_WAYLAND=0
1224 GST_GL_HAVE_WINDOW_ANDROID=0
1225 GST_GL_HAVE_WINDOW_DISPMANX=0
1226 GST_GL_HAVE_WINDOW_EAGL=0
1228 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1229 GL_WINDOWS="x11 $GL_WINDOWS"
1230 GST_GL_HAVE_WINDOW_X11=1
1232 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1233 GL_WINDOWS="cocoa $GL_WINDOWS"
1234 GST_GL_HAVE_WINDOW_COCOA=1
1236 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1237 GL_WINDOWS="win32 $GL_WINDOWS"
1238 GST_GL_HAVE_WINDOW_WIN32=1
1240 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1241 GL_WINDOWS="wayland $GL_WINDOWS"
1242 GST_GL_HAVE_WINDOW_WAYLAND=1
1244 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1245 GL_WINDOWS="android $GL_WINDOWS"
1246 GST_GL_HAVE_WINDOW_ANDROID=1
1248 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1249 GL_WINDOWS="dispmanx $GL_WINDOWS"
1250 GST_GL_HAVE_WINDOW_DISPMANX=1
1252 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1253 GL_WINDOWS="eagl $GL_WINDOWS"
1254 GST_GL_HAVE_WINDOW_EAGL=1
1257 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1258 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1259 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1260 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1261 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1262 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1263 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1264 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1269 GST_GL_HAVE_PLATFORM_EGL=0
1270 GST_GL_HAVE_PLATFORM_GLX=0
1271 GST_GL_HAVE_PLATFORM_WGL=0
1272 GST_GL_HAVE_PLATFORM_CGL=0
1273 GST_GL_HAVE_PLATFORM_EAGL=0
1275 if test "x$USE_EGL" = "xyes"; then
1276 GL_PLATFORMS="egl $GL_PLATFORMS"
1277 GST_GL_HAVE_PLATFORM_EGL=1
1279 if test "x$USE_GLX" = "xyes"; then
1280 GL_PLATFORMS="glx $GL_PLATFORMS"
1281 GST_GL_HAVE_PLATFORM_GLX=1
1283 if test "x$USE_WGL" = "xyes"; then
1284 GL_PLATFORMS="wgl $GL_PLATFORMS"
1285 GST_GL_HAVE_PLATFORM_WGL=1
1287 if test "x$USE_COCOA" = "xyes"; then
1288 GL_PLATFORMS="cgl $GL_PLATFORMS"
1289 GST_GL_HAVE_PLATFORM_CGL=1
1291 if test "x$USE_EAGL" = "xyes"; then
1292 GL_PLATFORMS="eagl $GL_PLATFORMS"
1293 GST_GL_HAVE_PLATFORM_EAGL=1
1296 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1297 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1298 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1299 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1300 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1301 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1304 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1305 #define GST_GL_HAVE_DMABUF $GST_GL_HAVE_DMABUF
1308 dnl Check for no platforms/window systems
1309 if test "x$GL_APIS" = "x"; then
1310 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1312 if test "x$GL_PLATFORMS" = "x"; then
1313 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1315 if test "x$GL_WINDOWS" = "x"; then
1316 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1319 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1334 HAVE_WINDOW_WIN32=no
1335 HAVE_WINDOW_DISPMANX=no
1336 HAVE_WINDOW_WAYLAND=no
1337 HAVE_WINDOW_ANDROID=no
1338 HAVE_WINDOW_COCOA=no
1344 AC_SUBST(GL_OBJCFLAGS)
1345 AC_SUBST(USE_OPENGL)
1348 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1349 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1350 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1351 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1352 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1353 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1354 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1356 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1357 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1358 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1359 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1360 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1361 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1362 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1363 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1364 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1366 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1368 dnl Check for some types that are not always present
1370 if test "x$USE_GLES2" = "xyes"; then
1371 GL_INCLUDES="$GL_INCLUDES
1372 #ifndef GL_GLEXT_PROTOTYPES
1373 #define GL_GLEXT_PROTOTYPES 1
1376 # include <OpenGLES/ES2/gl.h>
1377 # include <OpenGLES/ES2/glext.h>
1379 # if $GST_GL_HAVE_GLES3
1380 # include <GLES3/gl3.h>
1381 # include <GLES3/gl3ext.h>
1383 # include <GLES2/gl2.h>
1384 # include <GLES2/gl2ext.h>
1390 if test "x$USE_OPENGL" = "xyes"; then
1391 GL_INCLUDES="$GL_INCLUDES
1393 # include <OpenGL/OpenGL.h>
1394 # include <OpenGL/gl.h>
1397 # if __WIN32__ || _WIN32
1398 # include <GL/glext.h>
1404 GST_GL_HAVE_GLEGLIMAGEOES=0
1405 GST_GL_HAVE_GLCHAR=0
1406 GST_GL_HAVE_GLSIZEIPTR=0
1407 GST_GL_HAVE_GLINTPTR=0
1408 GST_GL_HAVE_GLSYNC=0
1409 GST_GL_HAVE_GLUINT64=0
1410 GST_GL_HAVE_GLINT64=0
1411 GST_GL_HAVE_EGLATTRIB=0
1414 CFLAGS="$GL_CFLAGS $CFLAGS"
1416 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1417 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1418 GST_GL_HAVE_GLEGLIMAGEOES=1
1421 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1422 if test "x$ac_cv_type_GLchar" = "xyes"; then
1423 GST_GL_HAVE_GLCHAR=1
1426 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1427 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1428 GST_GL_HAVE_GLSIZEIPTR=1
1431 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1432 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1433 GST_GL_HAVE_GLINTPTR=1
1436 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1437 if test "x$ac_cv_type_GLsync" = "xyes"; then
1438 GST_GL_HAVE_GLSYNC=1
1441 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1442 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1443 GST_GL_HAVE_GLUINT64=1
1446 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1447 if test "x$ac_cv_type_GLint64" = "xyes"; then
1448 GST_GL_HAVE_GLINT64=1
1451 if test "x$USE_EGL" = "xyes"; then
1452 EGL_INCLUDES="$GL_INCLUDES
1453 #include <EGL/egl.h>
1454 #include <EGL/eglext.h>
1456 AC_CHECK_TYPES(EGLAttrib, [], [], [[$EGL_INCLUDES]])
1457 if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
1458 GST_GL_HAVE_EGLATTRIB=1
1464 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1465 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1466 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1467 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1468 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1469 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1470 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1471 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1472 #define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
1475 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1476 outfile=gstglconfig.h-tmp
1477 cat > $outfile <<\_______EOF
1480 * This is a generated file. Please modify `configure.ac'
1483 #ifndef __GST_GL_CONFIG_H__
1484 #define __GST_GL_CONFIG_H__
1486 #include <gst/gst.h>
1492 cat >>$outfile <<_______EOF
1496 cat >>$outfile <<_______EOF
1500 #endif /* __GST_GL_CONFIG_H__ */
1504 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1505 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1508 mv $outfile gst-libs/gst/gl/gstglconfig.h
1511 gl_config_defines='$GL_CONFIG_DEFINES'
1514 dnl libpng is optional
1515 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1516 if test "x$HAVE_PNG" = "xyes"; then
1517 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1520 AC_SUBST(LIBPNG_LIBS)
1521 AC_SUBST(LIBPNG_CFLAGS)
1522 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1524 dnl libjpeg is optional
1525 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1527 if test x$with_jpeg_mmx != x; then
1528 LIBS="$LIBS -L$with_jpeg_mmx"
1530 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1531 JPEG_LIBS="$LIBS -ljpeg-mmx"
1533 if test x$HAVE_JPEG != xyes; then
1535 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1538 if test x$HAVE_JPEG = xyes; then
1539 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1541 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1546 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1549 PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
1550 AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
1552 PKG_CHECK_MODULES(VULKAN_WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
1553 AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
1554 VULKAN_CONFIG_DEFINES="
1555 #define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
1556 #define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
1558 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
1559 outfile=vkconfig.h-tmp
1560 cat > $outfile <<\_______EOF
1563 * This is a generated file. Please modify `configure.ac'
1566 #ifndef __GST_VULKAN_CONFIG_H__
1567 #define __GST_VULKAN_CONFIG_H__
1569 #include <gst/gst.h>
1575 cat >>$outfile <<_______EOF
1576 $vulkan_config_defines
1579 cat >>$outfile <<_______EOF
1583 #endif /* __GST_VULKAN_CONFIG_H__ */
1587 if cmp -s $outfile ext/vulkan/vkconfig.h; then
1588 AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
1591 mv $outfile ext/vulkan/vkconfig.h
1594 vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
1597 dnl *** sys plug-ins ***
1600 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1601 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1602 HAVE_DIRECTSOUND="no"
1603 save_CFLAGS="$CFLAGS"
1604 save_LDFLAGS="$LDFLAGS"
1606 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1607 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1608 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1609 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1610 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1611 #include <windows.h>
1614 #include <mmsystem.h>
1616 DXGetErrorString9 (0);
1617 DirectSoundCreate(NULL, NULL, NULL);
1619 [HAVE_DIRECTSOUND="yes"],
1620 [HAVE_DIRECTSOUND="no"])
1621 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1623 LDFLAGS=$save_LDFLAGS
1626 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1627 dnl this is much more than we want
1628 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1629 AC_SUBST(DIRECTX_CFLAGS)
1630 AC_SUBST(DIRECTX_LDFLAGS)
1631 AC_SUBST(DIRECTSOUND_LIBS)
1633 AC_SUBST(HAVE_DIRECTSOUND)
1637 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1638 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1640 save_CFLAGS="$CFLAGS"
1641 save_LDFLAGS="$LDFLAGS"
1643 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1644 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1645 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1646 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1647 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1648 #include <windows.h>
1650 #include <mmsystem.h>
1651 #include <mmdeviceapi.h>
1657 hr = CoInitialize(NULL);
1659 printf("CoInitialize failed: hr = 0x%08x", hr);
1664 // result = do_everything(argc, argv);
1670 [HAVE_WASAPI="yes"],
1672 AC_MSG_RESULT($HAVE_WASAPI)
1674 LDFLAGS=$save_LDFLAGS
1677 if test "x$HAVE_WASAPI" = "xyes"; then
1678 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1679 AC_SUBST(WASAPI_LIBS)
1681 AC_SUBST(HAVE_WASAPI)
1685 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1686 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1688 save_CFLAGS="$CFLAGS"
1689 save_LDFLAGS="$LDFLAGS"
1691 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1692 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1693 LIBS="$LIBS -ld3d9 -lgdi32"
1694 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1695 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1696 #include <windows.h>
1699 Direct3DCreate9(D3D_SDK_VERSION);
1701 [HAVE_DIRECT3D="yes"],
1702 [HAVE_DIRECT3D="no"])
1703 AC_MSG_RESULT($HAVE_DIRECT3D)
1705 LDFLAGS=$save_LDFLAGS
1708 if test "x$HAVE_DIRECT3D" = "xyes"; then
1709 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1710 AC_SUBST(DIRECT3D_LIBS)
1712 AC_SUBST(HAVE_DIRECT3D)
1716 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1717 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1718 HAVE_WINSCREENCAP="no"
1719 save_CFLAGS="$CFLAGS"
1720 save_LDFLAGS="$LDFLAGS"
1722 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1723 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1724 LIBS="$LIBS -ld3d9 -lgdi32"
1725 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1726 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1727 #include <windows.h>
1730 Direct3DCreate9(D3D_SDK_VERSION);
1732 [HAVE_WINSCREENCAP="yes"],
1733 [HAVE_WINSCREENCAP="no"])
1734 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1736 LDFLAGS=$save_LDFLAGS
1739 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1740 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1741 AC_SUBST(WINSCREENCAP_LIBS)
1743 AC_SUBST(HAVE_WINSCREENCAP)
1747 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1748 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1750 save_CFLAGS="$CFLAGS"
1751 save_LDFLAGS="$LDFLAGS"
1753 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1754 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1755 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1756 AC_MSG_CHECKING(for Winks LDFLAGS)
1757 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1758 #include <windows.h>
1763 IGraphBuilder *pGraph = NULL;
1764 HRESULT hr = CoInitialize(NULL);
1765 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1766 &IID_IGraphBuilder, (void **)&pGraph);
1773 AC_MSG_RESULT($HAVE_WINKS)
1775 LDFLAGS=$save_LDFLAGS
1778 if test "x$HAVE_WINKS" = "xyes"; then
1779 dnl this is much more than we want
1780 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1781 AC_SUBST(DIRECTX_CFLAGS)
1782 AC_SUBST(DIRECTX_LDFLAGS)
1783 AC_SUBST(WINKS_LIBS)
1785 AC_SUBST(HAVE_WINKS)
1788 dnl *** Android Media ***
1789 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1790 HAVE_ANDROID_MEDIA="no"
1791 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1794 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1797 HAVE_ANDROID_MEDIA="no"
1802 dnl *** AppleMedia (OS X and iOS) ***
1803 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1804 HAVE_APPLE_MEDIA="no"
1805 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1806 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1807 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1808 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1809 if test "x$HAVE_IOS" = "xno"; then
1810 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1814 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1819 HAVE_APPLE_MEDIA="no"
1824 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1825 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1826 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1827 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1828 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1830 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1839 dnl *** OS/X AVCVideoServices ***
1840 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1842 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1844 save_CPPFLAGS="$CPPFLAGS"
1845 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1847 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1848 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1850 CPPFLAGS=$save_CPPFLAGS
1853 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1862 dnl check for shm_open (for shm plugin)
1863 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1864 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1865 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1867 *-darwin* | *-macos10*)
1868 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1875 AC_CHECK_LIB([rt], [shm_open],
1876 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1877 #include <sys/socket.h>
1880 AC_SUBST(SHM_LIBS, "-lrt")
1888 dnl check for Video CD
1889 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1890 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1891 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1894 dnl check for OpenSL ES
1895 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1896 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1897 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1900 dnl *** UVC H264 ***
1901 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1902 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1903 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1904 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1905 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1908 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1909 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1910 HAVE_LIBUSB="yes" ],
1912 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1913 test "x$HAVE_GUDEV" = "xyes" && \
1914 test "x$HAVE_LIBUSB" = "xyes"; then
1920 AC_SUBST(LIBUDEV_CFLAGS)
1921 AC_SUBST(LIBUDEV_LIBS)
1922 AC_SUBST(LIBUSB_CFLAGS)
1923 AC_SUBST(LIBUSB_LIBS)
1926 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1927 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1928 AC_ARG_WITH([cuda-prefix],
1929 AS_HELP_STRING([--with-cuda-prefix],
1930 [Use the provided prefix for detecting the cuda installation]),
1931 [AS_IF([test "x$with_cuda_prefix" != "x"],
1932 [CUDA_PREFIX="$with_cuda_prefix"])],
1936 if test "x$CUDA_PREFIX" != "x"; then
1937 dnl only override if not already set
1938 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1939 dnl this is an educated guess, user can always override these
1940 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1941 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1944 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1945 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1946 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1947 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1952 save_CPPFLAGS="$CPPFLAGS"
1953 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1954 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1955 AC_MSG_WARN([Could not find cuda.h]))
1956 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1957 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1958 CPPFLAGS=$save_CPPFLAGS
1960 dnl libcuda and libcudart libraries
1962 LIBS="$CUDA_LIBS $save_LIBS"
1963 HAVE_CUDART_LIB="no"
1964 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1965 AC_MSG_WARN([Could not find cudart library])])
1967 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1968 AC_MSG_WARN([Could not find cuda library])])
1971 dnl nvEncodeAPI.h header
1972 HAVE_NVENCODEAPI_H=no
1973 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1974 save_CPPFLAGS="$CPPFLAGS"
1975 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1976 AC_CHECK_HEADER([nvEncodeAPI.h], [
1977 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1978 #if NVENCAPI_MAJOR_VERSION < 5
1979 #error "Need nvEncodeAPI.h >= 5.0"
1982 HAVE_NVENCODEAPI_H=yes
1984 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1987 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1988 AC_SUBST(NVENCODE_CFLAGS)
1989 CPPFLAGS="$save_CPPFLAGS"
1991 dnl libnvnidia-encode library
1992 HAVE_NVENCODE_LIB=no
1993 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1995 LIBS="$NVENCODE_LIBS $saved_LIBS"
1996 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1997 AC_MSG_WARN([Could not find library nvidia-encode]))
1998 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1999 AC_SUBST(NVENCODE_LIBS)
2003 if test "x$HAVE_CUDA_H" = "xyes" \
2004 -a "x$HAVE_CUDART_H" = "xyes" \
2005 -a "x$HAVE_CUDA_LIB" = "xyes" \
2006 -a "x$HAVE_CUDART_LIB" = "xyes" \
2007 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
2008 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
2010 if test x"$USE_OPENGL" = x"yes"; then
2011 dnl cuda-gl interop header
2012 save_CPPFLAGS="$CPPFLAGS"
2013 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
2014 AC_CHECK_HEADER([cuda_gl_interop.h], [
2015 USE_NVENC_GST_GL="yes"
2016 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
2018 CPPFLAGS="$save_CPPFLAGS"
2024 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
2026 dnl check for tinyalsa
2027 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
2028 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
2029 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
2032 dnl check for intel mediasdk
2033 translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
2034 AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
2035 AC_ARG_WITH([msdk-prefix],
2036 AS_HELP_STRING([--with-msdk-prefix],
2037 [Use the provided prefix for detecting the Intel MediaSDK]),
2038 [AS_IF([test "x$with_msdk_prefix" != "x"],
2039 [MSDK_PREFIX="$with_msdk_prefix"])],
2040 [AS_IF([test "x$MFX_HOME" != "x"],
2041 [MSDK_PREFIX="$MFX_HOME"],
2042 [MSDK_PREFIX="/opt/intel/media"])])
2043 MSDK_CFLAGS="-I$MSDK_PREFIX/include"
2044 MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
2045 AC_SUBST(MSDK_CFLAGS)
2048 save_CPPFLAGS="$CPPFLAGS"
2049 CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
2050 AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
2051 CPPFLAGS="$save_CPPFLAGS"
2054 LIBS="$MSDK_LIBS $LIBS"
2056 AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
2060 PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
2062 if test "x$HAVE_MFXDEFS_H" = "xyes" \
2063 -a "x$HAVE_MFX_LIB" = "xyes" \
2064 -a "x$HAVE_LIBVA_DRM" = "xyes"; then
2070 AM_CONDITIONAL(USE_MSDK_LIBVA,
2071 test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
2073 dnl *** ext plug-ins ***
2074 dnl keep this list sorted alphabetically !
2076 if test "x$BUILD_EXTERNAL" = "xyes"; then
2078 dnl *** assrender ***
2079 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
2080 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
2081 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
2082 HAVE_ASSRENDER="yes" ], [
2086 AC_SUBST(ASSRENDER_CFLAGS)
2087 AC_SUBST(ASSRENDER_LIBS)
2089 dnl *** vo-amrwbenc ***
2090 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
2091 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
2092 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
2095 dnl *** vo-aacenc ***
2096 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
2097 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
2098 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
2101 dnl *** apexsink ***
2102 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
2103 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
2104 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
2108 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
2109 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
2110 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
2112 AC_SUBST(APEXSINK_CFLAGS)
2113 AC_SUBST(APEXSINK_LIBS)
2120 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
2121 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
2122 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
2125 AC_SUBST(BS2B_CFLAGS)
2130 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
2131 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
2134 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
2135 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
2136 AC_MSG_RESULT($HAVE_BZ2)
2138 if test "x$HAVE_BZ2" = "xyes"; then
2146 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
2147 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
2148 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
2151 # AC_SUBST(CAIRO_CFLAGS)
2152 # AC_SUBST(CAIRO_LIBS)
2155 dnl *** chromaprint ***
2156 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
2157 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
2158 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
2159 HAVE_CHROMAPRINT="no"
2161 AC_SUBST(CHROMAPRINT_CFLAGS)
2162 AC_SUBST(CHROMAPRINT_LIBS)
2166 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
2167 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
2168 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
2170 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2171 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2173 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2174 [[#ifdef HAVE_SYS_TYPES_H
2175 # include <sys/types.h>
2177 #ifdef HAVE_NETINET_IN_H
2178 # include <netinet/in.h>
2181 AC_MSG_CHECKING([for socket support needed by curlsink])
2182 AC_MSG_RESULT($HAVE_CURL)
2186 AC_SUBST(CURL_CFLAGS)
2188 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2190 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2194 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2195 AC_SUBST(SSH2_CFLAGS)
2197 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2200 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2201 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2202 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2203 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2205 AC_SUBST(LIBXML2_CFLAGS)
2206 AC_SUBST(LIBXML2_LIBS)
2210 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2211 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2212 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2213 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2222 AC_SUBST(LIBDC1394_CFLAGS)
2223 AC_SUBST(LIBDC1394_LIBS)
2226 dnl *** decklink ***
2227 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2228 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2235 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2236 AC_CHECK_LIB(dl, dlopen,
2240 DECKLINK_LIBS="-lpthread -ldl"
2245 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2246 AC_CHECK_LIB(dl, dlopen,
2250 DECKLINK_LIBS="-lpthread -ldl"
2251 HAVE_DECKLINK_OSX=yes
2260 AC_SUBST(DECKLINK_CXXFLAGS)
2261 AC_SUBST(DECKLINK_LIBS)
2263 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2265 dnl **** DirectFB ****
2266 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2267 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2268 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2273 dnl **** Wayland ****
2274 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2275 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2276 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2277 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [
2278 if test "x$wayland_scanner" != "x"; then
2280 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2282 AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
2291 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2292 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2293 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2294 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2296 AC_SUBST(WEBP_CFLAGS)
2301 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2302 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2303 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2304 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2309 AC_SUBST(DAALA_CFLAGS)
2310 AC_SUBST(DAALA_LIBS)
2315 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2316 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2318 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2319 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2320 if test $HAVE_DTS = "no"; then
2321 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2322 [ DTS_LIBS="-ldts_pic $LIBM"
2323 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2329 dnl *** resindvd ***
2330 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2331 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2332 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2337 dnl **** Free AAC Encoder (FAAC) ****
2338 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2339 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2340 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2341 FAAC_LIBS="-lfaac $LIBM")
2345 dnl **** Free AAC Decoder (FAAD2) ****
2346 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2347 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2348 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2349 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2350 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2352 #elif !defined(LATM)
2353 #error Not faad2 >= 2.7
2359 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2369 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2370 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2371 if test "x$HAVE_FBDEV" != "xyes"; then
2372 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2377 translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
2378 AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
2379 PKG_CHECK_MODULES(FDK_AAC, fdk-aac >= 0.1.14, [
2381 HAVE_FDK_AAC_0_1_14="yes"
2382 AC_DEFINE(HAVE_FDK_AAC_0_1_14 1, [Define if we have fdk-aac >= 0.1.14])
2384 PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", HAVE_FDK_AAC="no")
2389 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2390 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2391 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2392 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2394 AC_SUBST(FLITE_CFLAGS)
2395 AC_SUBST(FLITE_LIBS)
2399 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2400 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2401 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2402 if test $HAVE_GSM != "yes"; then
2403 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2404 if test $HAVE_GSM = "yes"; then
2405 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2411 dnl *** fluidSynth ***
2412 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2413 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2414 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2415 HAVE_FLUIDSYNTH="no"
2420 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2421 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2422 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2425 AC_SUBST(KATE_CFLAGS)
2427 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2430 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2436 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2437 AC_SUBST(TIGER_CFLAGS)
2438 AC_SUBST(TIGER_LIBS)
2439 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2442 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
2443 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
2444 AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
2445 PKG_CHECK_MODULES([KMS_DRM], [libdrm >= 2.4.55], HAVE_KMS=yes, HAVE_KMS=no)
2449 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2450 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2451 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2453 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2454 if test $HAVE_LRDF = "yes"; then
2455 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2458 AC_SUBST(LRDF_CFLAGS)
2462 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2463 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2464 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
2466 HAVE_LILV_0_22="yes"
2467 AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
2469 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
2471 AC_SUBST(LILV_CFLAGS)
2475 dnl *** libde265 ***
2476 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2477 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2478 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2479 AC_SUBST(LIBDE265_CFLAGS)
2480 AC_SUBST(LIBDE265_LIBS)
2484 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2485 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2486 dnl check with pkg-config first
2487 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2491 AC_SUBST(LIBMMS_LIBS)
2495 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2496 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2497 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2498 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2501 AC_SUBST(SRTP_CFLAGS)
2505 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2506 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2507 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2509 AC_SUBST(DTLS_CFLAGS)
2517 translit(dnm, m, l) AM_CONDITIONAL(USE_TTML, true)
2518 AG_GST_CHECK_FEATURE(TTML, [TTML plugin], ttml, [
2519 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2520 PKG_CHECK_MODULES(TTML, [ libxml-2.0 >= 2.9.2 pango cairo pangocairo ], [
2529 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2530 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2542 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2543 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2544 if test "x$HAVE_CXX" != "xyes"; then
2545 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2548 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2550 AC_SUBST(MODPLUG_CFLAGS)
2551 AC_SUBST(MODPLUG_LIBS)
2554 dnl *** mjpegtools version info ***
2555 dnl some may prefer older version (given quirks above)
2556 dnl hm, no version info seems available within mjpegtools headers
2557 dnl and API really moves along
2559 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2560 mjpegtools_api=10601
2562 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2563 mjpegtools_api=10800
2565 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2566 mjpegtools_api=20000
2568 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2569 dnl logging API changed in release candidates
2570 OLD_CFLAGS="$CFLAGS"
2572 CFLAGS="$MJPEG_CFLAGS"
2573 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2574 AC_CHECK_FUNC(mjpeg_loglev_t, [
2575 mjpegtools_api=10903
2577 mjpegtools_api=10900
2579 CFLAGS="$OLD_CFLAGS"
2587 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2588 [mjpegtools API evolution])
2590 dnl *** mpeg2enc ***
2591 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2592 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2594 dnl we require a c++ compiler for this one
2595 if [ test x$HAVE_CXX = xyes ]; then
2596 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2597 dnl since many distros include mjpegtools specifically without mplex
2598 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2599 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2600 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2602 dnl switch over to c++ to test things
2604 OLD_CPPFLAGS="$CPPFLAGS"
2606 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2607 CPPFLAGS="$CPPFLAGS_GOOD -I."
2609 mpeg2enc_headers_ok=no
2610 AC_CHECK_HEADER([mpeg2encoder.hh], [
2611 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2613 LIBS="$LIBS $MPEG2ENC_LIBS"
2614 AC_MSG_CHECKING([for valid mpeg2enc objects])
2615 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2616 #include <mpeg2encoder.hh>
2617 #include <mpeg2encoptions.hh>
2623 MPEG2EncOptions *options = new MPEG2EncOptions ();
2624 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2629 dnl so far so good, let's check more things:
2630 dnl mjpegtools-1.8.0 does not install the required
2631 dnl mpeg2syntaxcodes.h header by default, and a new release
2632 dnl is not in sight, so check for this oversight in case
2633 dnl distros or folks have fixed this themselves
2634 if test "$mjpegtools_api" -ge "10800"; then
2635 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2636 mpeg2enc_headers_ok=yes
2638 mpeg2enc_headers_ok=no
2641 mpeg2enc_headers_ok=yes
2643 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2646 CPPFLAGS="$CPPFLAGS_GOOD"
2647 AC_SUBST(MPEG2ENC_CFLAGS)
2648 AC_SUBST(MPEG2ENC_LIBS)
2655 CPPFLAGS="$OLD_CPPFLAGS"
2664 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2665 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2667 dnl we require a c++ compiler for this one
2668 if [ test x$HAVE_CXX = xyes ]; then
2669 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2670 dnl since many distros include mjpegtools specifically without mplex
2671 dnl and mpeg2enc, we check for mplex on its own, too.
2672 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2673 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2674 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2676 dnl switch over to c++ to test things
2678 OLD_CPPFLAGS="$CPPFLAGS"
2680 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2681 CPPFLAGS="$CPPFLAGS_GOOD -I."
2682 AC_CHECK_HEADER(interact.hpp, [
2683 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2685 LIBS="$LIBS $MPLEX_LIBS"
2686 OLD_LDFLAGS="$LDFLAGS"
2687 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2688 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2689 dnl don't want this here
2690 AC_MSG_CHECKING([for valid mplex objects])
2691 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2693 #include <interact.hpp>
2694 #include <outputstrm.hpp>
2695 #include <multiplexor.hpp>
2700 class TestOutputStream : public OutputStream {
2702 TestOutputStream () : OutputStream () { }
2703 void Write (uint8_t *a, unsigned int b) { }
2704 void NextSegment () { }
2705 uint64_t SegmentSize () { }
2709 MultiplexJob *job = new MultiplexJob ();
2710 vector<IBitStream *> inputs;
2711 job->SetupInputStreams (inputs);
2712 TestOutputStream *out = new TestOutputStream ();
2713 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2718 CPPFLAGS="$CPPFLAGS_GOOD"
2719 AC_SUBST(MPLEX_CFLAGS)
2720 AC_SUBST(MPLEX_LIBS)
2721 AC_SUBST(MPLEX_LDFLAGS)
2723 ],[AC_MSG_RESULT(no)],[])
2725 LDFLAGS="$OLD_LDFLAGS"
2727 CPPFLAGS="$OLD_CPPFLAGS"
2733 dnl *** musepack ***
2734 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2735 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2736 AC_CHECK_HEADER([mpc/mpcdec.h], [
2738 MUSEPACK_LIBS="-lmpcdec"
2739 AC_SUBST(MUSEPACK_LIBS)
2740 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2742 MUSEPACK_LIBS="-lmpcdec"
2743 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2744 AC_SUBST(MUSEPACK_LIBS)
2745 ], [HAVE_MUSEPACK="no"])])
2749 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2750 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2752 if test "x$HAVE_X" = "xyes"; then
2753 save_cppflags=$CFLAGS
2754 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2755 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2756 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2757 CPPFLAGS="$save_cppflags"
2759 AC_SUBST(NAS_CFLAGS)
2764 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2765 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2766 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2769 AC_SUBST(NEON_CFLAGS)
2774 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2775 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2776 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2779 AC_SUBST(OFA_CFLAGS)
2784 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2785 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2786 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2789 AC_SUBST(OPENAL_CFLAGS)
2790 AC_SUBST(OPENAL_LIBS)
2794 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2795 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2796 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2797 dnl and don't want the build to break when a new opencv version comes out.
2798 dnl Need to adjust this upwards once we know that our code compiles fine with
2799 dnl a new version and the no-backward-compatibility define. (There doesn't
2800 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2802 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv <= 3.1.0 , [
2805 OLD_CPPFLAGS=$CPPFLAGS
2806 CPPFLAGS=$OPENCV_CFLAGS
2807 something_not_found=no
2808 AC_CHECK_HEADERS([opencv2/core/core_c.h \
2809 opencv2/core/version.hpp \
2810 opencv2/highgui/highgui_c.h \
2811 opencv2/imgproc/imgproc.hpp \
2812 opencv2/imgproc/imgproc_c.h \
2813 opencv2/objdetect/objdetect.hpp \
2814 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2815 dnl check opencv_contrib headers (not always present in opencv distributions)
2816 AC_CHECK_HEADERS([opencv2/bgsegm.hpp], [], [something_not_found=yes])
2817 CPPFLAGS=$OLD_CPPFLAGS
2820 if test $something_not_found = "yes"; then
2821 AC_MSG_RESULT([not all opencv2 headers were found])
2829 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2830 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2831 AC_SUBST(OPENCV_PREFIX)
2832 AC_SUBST(OPENCV_CFLAGS)
2833 AC_SUBST(OPENCV_LIBS)
2834 dnl the OpenCV prefix is used at runtime for some object properties, and also
2835 dnl used here to detect which directory is the correct one. For the second
2836 dnl case, make sure the right sysroot is used, ensuring correct behavior
2837 dnl during cross compilation.
2838 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2839 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2841 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2846 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2847 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2848 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2851 dnl *** openh264 ***
2852 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2853 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2854 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2857 dnl *** OpenJPEG ***
2858 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2859 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2861 AG_GST_PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= 2.0)
2862 if test x"$HAVE_OPENJPEG" = x"yes"; then
2863 dnl minor API changes in v2.1
2864 AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1)
2865 if test x"$HAVE_OPENJPEG" = x"yes"; then
2866 AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used])
2871 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2872 HAVE_OPENJPEG="yes",
2873 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2875 if test x"$HAVE_OPENJPEG" = x"yes"; then
2876 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2879 AC_SUBST(OPENJPEG_CFLAGS)
2880 AC_SUBST(OPENJPEG_LIBS)
2884 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2885 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2886 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2887 AC_SUBST(OPENNI2_CFLAGS)
2888 AC_SUBST(OPENNI2_LIBS)
2892 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2893 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2894 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2895 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2900 AC_SUBST(OPUS_CFLAGS)
2905 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2906 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2907 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2908 AC_SUBST(PVR_CFLAGS)
2912 AC_ARG_WITH([pvr-external-headers],
2913 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2914 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2915 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2916 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2919 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2920 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2921 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2925 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2926 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2929 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2936 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2937 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2938 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2939 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2944 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2946 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2947 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2948 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2949 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2951 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2953 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2954 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2955 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2956 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2958 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2960 if test "x$GDK_WINDOWING" = "xyes"; then
2961 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2968 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2971 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2972 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2973 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2974 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2975 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2976 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2977 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2978 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2979 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2980 AC_MSG_WARN([One of the required qt build programs was not found])
2984 HAVE_QT_WINDOWING="no"
2985 QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
2986 QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
2987 AS_IF([test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
2988 QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
2989 HAVE_QT_QPA_HEADER="yes"
2990 ], [AC_MSG_NOTICE([Cannot find QPA])])
2991 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2992 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2993 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2994 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2995 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2996 HAVE_QT_WINDOWING="yes"
2997 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2999 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
3000 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
3001 AC_DEFINE([HAVE_QT_WAYLAND], [],
3002 [Define if Qt Wayland integration is installed])
3003 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
3004 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
3005 HAVE_QT_WINDOWING="yes"
3006 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
3008 if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
3009 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
3010 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
3011 # c++ on android requires a standard library and there are multiple
3012 # choices. cerbero provides a pkg-config file the describes a choice
3013 # so try to use that. Outside cerbero one has to pass these flags
3014 # manually for the library one is using
3015 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3016 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
3017 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
3019 AC_MSG_NOTICE([Could not find Standard C++ library])])
3020 AC_DEFINE([HAVE_QT_EGLFS], [],
3021 [Define if Qt eglfs integration is installed])
3022 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
3023 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
3024 HAVE_QT_WINDOWING="yes"
3025 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
3027 AC_DEFINE([HAVE_QT_EGLFS], [],
3028 [Define if Qt eglfs integration is installed])
3029 HAVE_QT_WINDOWING="yes"
3032 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
3033 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
3034 AC_DEFINE([HAVE_QT_MAC], [],
3035 [Define if Qt Mac integration is installed])
3036 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
3037 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
3038 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
3039 HAVE_QT_WINDOWING="yes"
3040 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
3042 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
3043 if test "x$HAVE_IOS" = "xyes"; then
3044 # iOS doesn't have its own extras package so if we have the core
3045 # modules we are good to go
3046 AC_DEFINE([HAVE_QT_IOS], [],
3047 [Define if Qt iOS integration is installed])
3048 HAVE_QT_WINDOWING="yes"
3051 if test "x$HAVE_QT_WINDOWING" = "xno"; then
3052 AC_MSG_WARN([Could not find any Qt Windowing integration])
3055 AC_SUBST([QT_CFLAGS])
3064 translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
3065 AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
3066 AC_CHECK_HEADER(vulkan/vulkan.h, [
3067 AC_CHECK_LIB(vulkan, vkCreateDevice, [
3068 VULKAN_LIBS="-lvulkan"
3069 AC_SUBST(VULKAN_LIBS)
3070 if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
3073 if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
3080 dnl *** libvisual ***
3081 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
3082 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
3083 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
3084 if test x$HAVE_LIBVISUAL = xyes; then
3085 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
3087 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
3088 if test x$LIBVIS_PLUGINSDIR != x; then
3089 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
3090 "$LIBVIS_PLUGINSDIR",
3091 [directory in which the detected libvisual's plugins are located])
3095 dnl *** timidity ***
3096 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
3097 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
3098 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
3099 HAVE_TIMIDITY="yes",
3100 AC_MSG_CHECKING([for timidity.cfg])
3102 if test -r /etc/timidity.cfg; then
3103 timidity_cfg=/etc/timidity.cfg
3104 elif test -r /etc/timidity/timidity.cfg; then
3105 timidity_cfg=/etc/timidity/timidity.cfg
3106 elif test -r /usr/share/timidity/timidity.cfg; then
3107 timidity_cfg=/usr/share/timidity/timidity.cfg
3108 elif test -r /usr/local/share/timidity/timidity.cfg; then
3109 timidity_cfg=/usr/local/share/timidity/timidity.cfg
3111 if test "x$timidity_cfg" != "x"; then
3112 AC_MSG_RESULT($timidity_cfg)
3113 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
3115 AC_MSG_RESULT([not found])
3120 AC_SUBST(TIMIDITY_CFLAGS)
3121 AC_SUBST(TIMIDITY_LIBS)
3124 dnl *** teletextdec ***
3125 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
3126 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
3127 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
3130 dnl *** wildmidi ***
3131 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
3132 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
3133 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
3136 WILDMIDI_LIBS="-lWildMidi")
3137 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
3139 if test "x$HAVE_WILDMIDI" = "xyes"; then
3141 WILDMIDI_LIBS=-lWildMidi
3142 AC_MSG_NOTICE(compiling gstWildMidi)
3146 AC_MSG_WARN(no WildMidi library found (libWildMidi))
3148 AC_SUBST(WILDMIDI_CFLAGS)
3149 AC_SUBST(WILDMIDI_LIBS)
3153 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
3154 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
3155 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
3158 dnl **** Smooth Streaming ****
3159 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
3160 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
3161 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
3163 HAVE_SMOOTHSTREAMING="yes"],
3165 HAVE_SMOOTHSTREAMING="no"])
3166 AC_SUBST(LIBXML2_CFLAGS)
3167 AC_SUBST(LIBXML2_LIBS)
3171 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
3172 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
3173 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
3174 AC_SUBST(SNDFILE_CFLAGS)
3175 AC_SUBST(SNDFILE_LIBS)
3178 dnl *** soundtouch ***
3179 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
3180 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
3181 dnl We only need -lBPM on soundtouch < 1.4
3182 dnl We check for libSoundTouch since Debian used it before upstream
3183 dnl added a pkgconfig file.
3184 HAVE_SOUNDTOUCH_1_4=yes
3185 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
3186 [HAVE_SOUNDTOUCH=yes],
3187 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
3188 [HAVE_SOUNDTOUCH=yes],
3189 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
3190 [HAVE_SOUNDTOUCH=yes
3191 HAVE_SOUNDTOUCH_1_4=no
3192 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3193 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
3194 [HAVE_SOUNDTOUCH=yes],
3195 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
3196 [HAVE_SOUNDTOUCH=yes
3197 HAVE_SOUNDTOUCH_1_4=no
3198 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3199 HAVE_SOUNDTOUCH=no)])])])])
3200 AC_SUBST(SOUNDTOUCH_CFLAGS)
3201 AC_SUBST(SOUNDTOUCH_LIBS)
3202 if test "x$HAVE_CXX" != "xyes"; then
3203 USE_SOUNDTOUCH=false
3204 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
3206 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
3207 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
3208 [Defined if the available libSoundTouch is >= 1.4])
3213 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
3214 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
3215 AC_CHECK_HEADER(openspc.h, [
3216 AC_CHECK_LIB(openspc, OSPC_Init, [
3217 SPC_LIBS="-lopenspc"
3229 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3230 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3231 AC_CHECK_HEADER(gme/gme.h, [
3232 AC_CHECK_LIB(gme, gme_new_emu, [
3243 if test "x$HAVE_GME" = "xyes"; then
3244 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3245 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3251 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3252 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3254 AC_CHECK_HEADER(xvid.h, [
3256 LIBS="$PTHREAD_LIBS $LIBM"
3257 AC_CHECK_LIB(xvidcore, xvid_encore, [
3258 AC_CHECK_LIB(xvidcore, xvid_decore, [
3259 AC_CHECK_LIB(xvidcore, xvid_global, [
3260 AC_MSG_CHECKING([for up-to-date XviD API version])
3261 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3262 #if XVID_API_MAJOR(XVID_API) != 4
3263 #error "Incompatible XviD API version"
3265 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3266 #error "Incompatible XviD API version"
3268 ]])],[ AC_MSG_RESULT(yes)
3269 XVID_LIBS="-lxvidcore $LIBM"
3272 ],[AC_MSG_RESULT(no) ])
3281 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3282 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3283 AC_MSG_CHECKING([Checking for up to date dvb installation])
3284 AC_CHECK_HEADER(linux/dvb/version.h, [
3285 AC_MSG_CHECKING([for up-to-date dvb API])
3286 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3287 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3288 #error "Incompatible dvb API"
3290 ]])], [ AC_MSG_RESULT(yes)
3292 ], [ AC_MSG_RESULT(no)
3299 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3300 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3301 AC_MSG_CHECKING([Checking for windows internet support])
3302 AC_CHECK_HEADERS([windows.h wininet.h],
3303 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3304 [AC_INCLUDES_DEFAULT
3305 #include <windows.h>])
3309 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3310 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3311 AC_MSG_CHECKING([Checking for ACM support])
3312 AC_CHECK_HEADERS([windows.h msacm.h],
3314 AC_SUBST(ACMENC_CFLAGS)
3315 AC_SUBST(ACMMP3DEC_CFLAGS)
3317 [AC_INCLUDES_DEFAULT
3318 #include <windows.h>])
3322 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3323 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3328 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3330 if test "$HAVE_VDPAU" = "no"; then
3331 saved_CPPFLAGS="$CPPFLAGS"
3332 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3334 if test -z "$HAVE_VDPAU_H"; then
3335 dnl Didn't find VDPAU header straight away.
3336 dnl Try /usr/include/nvidia. Need to clear caching vars first
3337 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3338 unset ac_cv_header_vdpau_vdpau_h
3339 unset ac_cv_header_vdpau_vdpau_x11_h
3340 VDPAU_CFLAGS="-I/usr/include/nvidia"
3341 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3342 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3343 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3346 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3348 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3349 dnl Found the headers - look for the lib
3350 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3352 LIBS="$VDPAU_LIBS $saved_LIBS"
3353 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3359 if test "$HAVE_VDPAU" = "yes"; then
3360 AC_MSG_NOTICE([Found up to date VDPAU installation])
3361 AC_SUBST(VDPAU_CFLAGS)
3362 AC_SUBST(VDPAU_LIBS)
3367 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3368 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3369 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3372 dnl *** schroedinger ***
3373 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3374 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3375 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3379 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3380 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3381 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3385 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3386 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3387 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3391 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3392 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3393 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3394 HAVE_SPANDSP="yes" ], [
3398 AC_SUBST(SPANDSP_CFLAGS)
3399 AC_SUBST(SPANDSP_LIBS)
3402 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3403 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3404 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3405 if test "x$HAVE_SNDIO" = "xyes"; then
3406 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3407 if test "x$HAVE_SNDIO" = "xyes"; then
3409 AC_SUBST(SNDIO_LIBS)
3414 dnl *** hls-crypto ***
3415 AC_ARG_WITH([hls-crypto],
3416 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3417 which cryptographic library version to compile against for hls (default: auto)
3419 AS_CASE([$with_hls_crypto],
3423 [with_hls_crypto=auto]
3429 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3430 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3431 AS_CASE([$with_hls_crypto],
3433 PKG_CHECK_MODULES(NETTLE, nettle, [
3434 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3436 ],[AC_MSG_ERROR([Could not find nettle library])])
3439 AM_PATH_LIBGCRYPT([1.2.0], [
3440 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3442 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3445 PKG_CHECK_MODULES(OPENSSL, openssl, [
3446 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3448 ],[AC_MSG_ERROR([Could not find openssl library])])
3451 dnl Try to find a valid crypto library
3452 PKG_CHECK_MODULES(NETTLE, nettle, [
3453 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3456 AM_PATH_LIBGCRYPT([1.2.0], [
3457 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3460 PKG_CHECK_MODULES(OPENSSL, openssl, [
3461 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3472 dnl *** x265 (H.265/HEVC encoder) ***
3473 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3474 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3475 AG_GST_PKG_CHECK_MODULES(X265, x265)
3478 dnl *** WebRTC Audio Processing ***
3479 dnl Note: We test for a specific version as there is no API stability
3480 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
3481 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
3483 AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
3485 # On Android, C++ headers comes with the STL implementation
3486 AS_CASE(["${host}"],
3489 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3490 WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
3491 WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
3493 AC_SUBST([WEBRTCDSP_CFLAGS])
3494 AC_SUBST([WEBRTCDSP_LIBS])
3497 old_CPPFLAGS=$CPPFLAGS
3498 CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
3499 AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
3500 CPPFLAGS=$old_CPPFLAGS
3506 dnl not building plugins with external dependencies,
3507 dnl but we still need to set the conditionals
3509 AM_CONDITIONAL(USE_ASSRENDER, false)
3510 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3511 AM_CONDITIONAL(USE_VOAACENC, false)
3512 AM_CONDITIONAL(USE_APEXSINK, false)
3513 AM_CONDITIONAL(USE_BS2B, false)
3514 AM_CONDITIONAL(USE_BZ2, false)
3515 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3516 AM_CONDITIONAL(USE_CURL, false)
3517 AM_CONDITIONAL(USE_SSH2, false)
3518 AM_CONDITIONAL(USE_DASH, false)
3519 AM_CONDITIONAL(USE_DC1394, false)
3520 AM_CONDITIONAL(USE_DECKLINK, false)
3521 AM_CONDITIONAL(DECKLINK_OSX, false)
3522 AM_CONDITIONAL(USE_DIRECTFB, false)
3523 AM_CONDITIONAL(USE_WAYLAND, false)
3524 AM_CONDITIONAL(USE_DAALA, false)
3525 AM_CONDITIONAL(USE_DTS, false)
3526 AM_CONDITIONAL(USE_EXIF, false)
3527 AM_CONDITIONAL(USE_RESINDVD, false)
3528 AM_CONDITIONAL(USE_FAAC, false)
3529 AM_CONDITIONAL(USE_FAAD, false)
3530 AM_CONDITIONAL(USE_FBDEV, false)
3531 AM_CONDITIONAL(USE_FDK_AAC, false)
3532 AM_CONDITIONAL(USE_FLITE, false)
3533 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3534 AM_CONDITIONAL(USE_GL, false)
3535 AM_CONDITIONAL(USE_GSM, false)
3536 AM_CONDITIONAL(USE_GTK3, false)
3537 AM_CONDITIONAL(USE_GTK3_GL, false)
3538 AM_CONDITIONAL(USE_HLS, false)
3539 AM_CONDITIONAL(USE_IQA, false)
3540 AM_CONDITIONAL(USE_KATE, false)
3541 AM_CONDITIONAL(USE_KMS, false)
3542 AM_CONDITIONAL(USE_TIGER, false)
3543 AM_CONDITIONAL(USE_LADSPA, false)
3544 AM_CONDITIONAL(USE_LV2, false)
3545 AM_CONDITIONAL(USE_LIBDE265, false)
3546 AM_CONDITIONAL(USE_LIBMMS, false)
3547 AM_CONDITIONAL(USE_LINSYS, false)
3548 AM_CONDITIONAL(USE_MODPLUG, false)
3549 AM_CONDITIONAL(USE_MPEG2ENC, false)
3550 AM_CONDITIONAL(USE_MPLEX, false)
3551 AM_CONDITIONAL(USE_MUSEPACK, false)
3552 AM_CONDITIONAL(USE_NAS, false)
3553 AM_CONDITIONAL(USE_NEON, false)
3554 AM_CONDITIONAL(USE_OFA, false)
3555 AM_CONDITIONAL(USE_OPENAL, false)
3556 AM_CONDITIONAL(USE_OPENCV, false)
3557 AM_CONDITIONAL(USE_OPENEXR, false)
3558 AM_CONDITIONAL(USE_OPENJPEG, false)
3559 AM_CONDITIONAL(USE_OPENNI2, false)
3560 AM_CONDITIONAL(USE_OPUS, false)
3561 AM_CONDITIONAL(USE_PVR, false)
3562 AM_CONDITIONAL(USE_QT, false)
3563 AM_CONDITIONAL(USE_LIBVISUAL, false)
3564 AM_CONDITIONAL(USE_TIMIDITY, false)
3565 AM_CONDITIONAL(USE_WILDMIDI, false)
3566 AM_CONDITIONAL(USE_SDL, false)
3567 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3568 AM_CONDITIONAL(USE_SNDFILE, false)
3569 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3570 AM_CONDITIONAL(USE_SPANDSP, false)
3571 AM_CONDITIONAL(USE_SPC, false)
3572 AM_CONDITIONAL(USE_SRTP, false)
3573 AM_CONDITIONAL(USE_GME, false)
3574 AM_CONDITIONAL(USE_XVID, false)
3575 AM_CONDITIONAL(USE_DVB, false)
3576 AM_CONDITIONAL(USE_WININET, false)
3577 AM_CONDITIONAL(USE_ACM, false)
3578 AM_CONDITIONAL(USE_VDPAU, false)
3579 AM_CONDITIONAL(USE_SBC, false)
3580 AM_CONDITIONAL(USE_SCHRO, false)
3581 AM_CONDITIONAL(USE_ZBAR, false)
3582 AM_CONDITIONAL(USE_RSVG, false)
3583 AM_CONDITIONAL(USE_RTMP, false)
3584 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3585 AM_CONDITIONAL(USE_SNDIO, false)
3586 AM_CONDITIONAL(USE_UVCH264, false)
3587 AM_CONDITIONAL(USE_WEBP, false)
3588 AM_CONDITIONAL(USE_WEBRTCDSP, false)
3589 AM_CONDITIONAL(USE_OPENH264, false)
3590 AM_CONDITIONAL(USE_X265, false)
3591 AM_CONDITIONAL(USE_DTLS, false)
3592 AM_CONDITIONAL(USE_VULKAN, false)
3593 AM_CONDITIONAL(USE_TTML, false)
3595 fi dnl of EXT plugins
3597 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3600 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3601 dnl GST_*: flags shared by built objects to link against GStreamer
3602 dnl GST_ALL_LDFLAGS: linker flags shared by all
3603 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3604 dnl GST_LT_LDFLAGS: library versioning of our libraries
3605 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3607 dnl GST_OPTION_CFLAGS
3608 if test "x$USE_DEBUG" = xyes; then
3611 AC_SUBST(PROFILE_CFLAGS)
3613 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3614 dnl Define _only_ during CVS (not pre-releases or releases)
3615 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3617 DEPRECATED_CFLAGS=""
3619 AC_SUBST(DEPRECATED_CFLAGS)
3621 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3622 dnl at make time with e.g. make ERROR_CFLAGS=""
3623 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3624 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3625 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3626 AC_SUBST(GST_OPTION_CFLAGS)
3627 AC_SUBST(GST_OPTION_CXXFLAGS)
3628 AC_SUBST(GST_OPTION_OBJCFLAGS)
3630 dnl FIXME: do we want to rename to GST_ALL_* ?
3631 dnl prefer internal headers to already installed ones
3632 dnl also add builddir include for enumtypes and marshal
3633 dnl add GST_OPTION_CFLAGS, but overridable
3634 GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
3635 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3636 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3637 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3638 AC_SUBST(GST_CFLAGS)
3639 AC_SUBST(GST_CXXFLAGS)
3640 AC_SUBST(GST_OBJCFLAGS)
3642 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3643 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3644 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3645 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3646 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3647 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3649 dnl LDFLAGS really should only contain flags, not libs - they get added before
3650 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3651 GST_ALL_LDFLAGS="-no-undefined"
3652 if test "x${enable_Bsymbolic}" = "xyes"; then
3653 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3655 AC_SUBST(GST_ALL_LDFLAGS)
3658 dnl linker flags shared by all libraries
3659 dnl LDFLAGS modifier defining exported symbols from built libraries
3660 dnl (export _gst_foo but not __gst_foo)
3661 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3662 AC_SUBST(GST_LIB_LDFLAGS)
3664 dnl this really should only contain flags, not libs - they get added before
3665 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3666 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3667 AC_SUBST(GST_PLUGIN_LDFLAGS)
3669 dnl *** output files ***
3671 $MKDIR_P tests/check/orc
3680 gst/accurip/Makefile
3681 gst/adpcmdec/Makefile
3682 gst/adpcmenc/Makefile
3684 gst/videoframe_audiolevel/Makefile
3686 gst/audiobuffersplit/Makefile
3687 gst/audiofxbad/Makefile
3688 gst/audiomixer/Makefile
3689 gst/audiovisualizers/Makefile
3690 gst/autoconvert/Makefile
3692 gst/camerabin2/Makefile
3693 gst/cdxaparse/Makefile
3694 gst/coloreffects/Makefile
3696 gst/debugutils/Makefile
3697 gst/dvbsuboverlay/Makefile
3699 gst/faceoverlay/Makefile
3700 gst/festival/Makefile
3701 gst/fieldanalysis/Makefile
3702 gst/freeverb/Makefile
3704 gst/gaudieffects/Makefile
3705 gst/geometrictransform/Makefile
3707 gst/hdvparse/Makefile
3710 gst/interlace/Makefile
3711 gst/ivfparse/Makefile
3713 gst/jp2kdecimator/Makefile
3714 gst/jpegformat/Makefile
3717 gst/mpegdemux/Makefile
3718 gst/mpegtsdemux/Makefile
3719 gst/mpegtsmux/Makefile
3720 gst/mpegtsmux/tsmux/Makefile
3721 gst/mpegpsmux/Makefile
3725 gst/nuvdemux/Makefile
3727 gst/patchdetect/Makefile
3728 gst/pcapparse/Makefile
3730 gst/rawparse/Makefile
3731 gst/removesilence/Makefile
3734 gst/segmentclip/Makefile
3741 gst/timecode/Makefile
3742 gst/videofilters/Makefile
3743 gst/videoparsers/Makefile
3744 gst/videosignal/Makefile
3748 gst/compositor/Makefile
3750 gst-libs/gst/Makefile
3751 gst-libs/gst/adaptivedemux/Makefile
3752 gst-libs/gst/basecamerabinsrc/Makefile
3753 gst-libs/gst/gl/Makefile
3754 gst-libs/gst/gl/android/Makefile
3755 gst-libs/gst/gl/cocoa/Makefile
3756 gst-libs/gst/gl/dispmanx/Makefile
3757 gst-libs/gst/gl/glprototypes/Makefile
3758 gst-libs/gst/gl/eagl/Makefile
3759 gst-libs/gst/gl/egl/Makefile
3760 gst-libs/gst/gl/wayland/Makefile
3761 gst-libs/gst/gl/win32/Makefile
3762 gst-libs/gst/gl/x11/Makefile
3763 gst-libs/gst/insertbin/Makefile
3764 gst-libs/gst/interfaces/Makefile
3765 gst-libs/gst/codecparsers/Makefile
3766 gst-libs/gst/mpegts/Makefile
3767 gst-libs/gst/uridownloader/Makefile
3768 gst-libs/gst/wayland/Makefile
3769 gst-libs/gst/base/Makefile
3770 gst-libs/gst/player/Makefile
3771 gst-libs/gst/video/Makefile
3772 gst-libs/gst/audio/Makefile
3773 gst-libs/gst/opencv/Makefile
3775 sys/dshowdecwrapper/Makefile
3777 sys/acmmp3dec/Makefile
3778 sys/androidmedia/Makefile
3779 sys/applemedia/Makefile
3782 sys/d3dvideosink/Makefile
3783 sys/decklink/Makefile
3784 sys/directsound/Makefile
3785 sys/dshowsrcwrapper/Makefile
3786 sys/dshowvideosink/Makefile
3793 sys/opensles/Makefile
3795 sys/tinyalsa/Makefile
3796 sys/uvch264/Makefile
3801 sys/wininet/Makefile
3803 sys/winscreencap/Makefile
3805 tests/check/Makefile
3806 tests/files/Makefile
3807 tests/examples/Makefile
3808 tests/examples/avsamplesink/Makefile
3809 tests/examples/camerabin2/Makefile
3810 tests/examples/codecparsers/Makefile
3811 tests/examples/directfb/Makefile
3812 tests/examples/gl/Makefile
3813 tests/examples/gl/cocoa/Makefile
3814 tests/examples/gl/clutter/Makefile
3815 tests/examples/gl/generic/Makefile
3816 tests/examples/gl/generic/cube/Makefile
3817 tests/examples/gl/generic/cubeyuv/Makefile
3818 tests/examples/gl/generic/doublecube/Makefile
3819 tests/examples/gl/generic/recordgraphic/Makefile
3820 tests/examples/gl/gtk/Makefile
3821 tests/examples/gl/gtk/3dvideo/Makefile
3822 tests/examples/gl/gtk/filternovideooverlay/Makefile
3823 tests/examples/gl/gtk/filtervideooverlay/Makefile
3824 tests/examples/gl/gtk/fxtest/Makefile
3825 tests/examples/gl/gtk/switchvideooverlay/Makefile
3826 tests/examples/gl/qt/Makefile
3827 tests/examples/gl/sdl/Makefile
3828 tests/examples/gtk/Makefile
3829 tests/examples/mpegts/Makefile
3830 tests/examples/mxf/Makefile
3831 tests/examples/opencv/Makefile
3832 tests/examples/uvch264/Makefile
3833 tests/examples/waylandsink/Makefile
3834 tests/icles/Makefile
3835 ext/voamrwbenc/Makefile
3836 ext/voaacenc/Makefile
3837 ext/assrender/Makefile
3838 ext/apexsink/Makefile
3841 ext/chromaprint/Makefile
3845 ext/directfb/Makefile
3846 ext/wayland/Makefile
3855 ext/fluidsynth/Makefile
3862 ext/libde265/Makefile
3864 ext/libvisual/Makefile
3866 ext/modplug/Makefile
3867 ext/mpeg2enc/Makefile
3869 ext/musepack/Makefile
3875 ext/openexr/Makefile
3876 ext/openh264/Makefile
3877 ext/openjpeg/Makefile
3878 ext/openni2/Makefile
3882 ext/resindvd/Makefile
3885 ext/schroedinger/Makefile
3887 ext/smoothstreaming/Makefile
3888 ext/sndfile/Makefile
3889 ext/soundtouch/Makefile
3890 ext/spandsp/Makefile
3893 ext/teletextdec/Makefile
3896 ext/timidity/Makefile
3898 ext/vulkan/xcb/Makefile
3899 ext/vulkan/wayland/Makefile
3905 ext/webrtcdsp/Makefile
3909 docs/plugins/Makefile
3911 docs/version.entities
3913 pkgconfig/gstreamer-plugins-bad.pc
3914 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3915 pkgconfig/gstreamer-codecparsers.pc
3916 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3917 pkgconfig/gstreamer-insertbin.pc
3918 pkgconfig/gstreamer-insertbin-uninstalled.pc
3919 pkgconfig/gstreamer-gl.pc
3920 pkgconfig/gstreamer-gl-uninstalled.pc
3921 pkgconfig/gstreamer-mpegts.pc
3922 pkgconfig/gstreamer-mpegts-uninstalled.pc
3923 pkgconfig/gstreamer-player.pc
3924 pkgconfig/gstreamer-player-uninstalled.pc
3925 pkgconfig/gstreamer-wayland.pc
3926 pkgconfig/gstreamer-wayland-uninstalled.pc
3927 pkgconfig/gstreamer-bad-base.pc
3928 pkgconfig/gstreamer-bad-base-uninstalled.pc
3929 pkgconfig/gstreamer-bad-video.pc
3930 pkgconfig/gstreamer-bad-video-uninstalled.pc
3931 pkgconfig/gstreamer-bad-audio.pc
3932 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3937 dnl Create the config.h file for Visual Studio builds
3938 dnl Beware of spaces and /'s in some of the shell variable contents.
3940 -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"/' \
3941 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3942 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3943 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3944 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3945 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3946 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3947 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3948 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3949 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3950 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3951 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3952 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3953 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3954 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3955 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3956 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3957 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3958 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3959 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3960 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3961 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3962 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3963 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3964 -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/' \
3965 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3966 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3967 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3968 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3969 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3970 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3971 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3972 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3973 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3974 config.h.in >win32/common/config.h-new
3978 AG_GST_OUTPUT_PLUGINS