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 \
483 xvid sndio libvisual"
485 AC_SUBST(GST_PLUGINS_NONPORTED)
487 dnl these are all the gst plug-ins, compilable without additional libs
488 AG_GST_CHECK_PLUGIN(accurip)
489 AG_GST_CHECK_PLUGIN(adpcmdec)
490 AG_GST_CHECK_PLUGIN(adpcmenc)
491 AG_GST_CHECK_PLUGIN(aiff)
492 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
493 AG_GST_CHECK_PLUGIN(asfmux)
494 AG_GST_CHECK_PLUGIN(audiofxbad)
495 AG_GST_CHECK_PLUGIN(audiomixer)
496 AG_GST_CHECK_PLUGIN(compositor)
497 AG_GST_CHECK_PLUGIN(audiovisualizers)
498 AG_GST_CHECK_PLUGIN(autoconvert)
499 AG_GST_CHECK_PLUGIN(bayer)
500 AG_GST_CHECK_PLUGIN(camerabin2)
501 AG_GST_CHECK_PLUGIN(cdxaparse)
502 AG_GST_CHECK_PLUGIN(coloreffects)
503 AG_GST_CHECK_PLUGIN(dataurisrc)
504 AG_GST_CHECK_PLUGIN(dccp)
505 AG_GST_CHECK_PLUGIN(debugutils)
506 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
507 AG_GST_CHECK_PLUGIN(dvdspu)
508 AG_GST_CHECK_PLUGIN(faceoverlay)
509 AG_GST_CHECK_PLUGIN(festival)
510 AG_GST_CHECK_PLUGIN(fieldanalysis)
511 AG_GST_CHECK_PLUGIN(freeverb)
512 AG_GST_CHECK_PLUGIN(frei0r)
513 AG_GST_CHECK_PLUGIN(gaudieffects)
514 AG_GST_CHECK_PLUGIN(geometrictransform)
515 AG_GST_CHECK_PLUGIN(gdp)
516 AG_GST_CHECK_PLUGIN(hdvparse)
517 AG_GST_CHECK_PLUGIN(id3tag)
518 AG_GST_CHECK_PLUGIN(inter)
519 AG_GST_CHECK_PLUGIN(interlace)
520 AG_GST_CHECK_PLUGIN(ivfparse)
521 AG_GST_CHECK_PLUGIN(ivtc)
522 AG_GST_CHECK_PLUGIN(jp2kdecimator)
523 AG_GST_CHECK_PLUGIN(jpegformat)
524 AG_GST_CHECK_PLUGIN(librfb)
525 AG_GST_CHECK_PLUGIN(midi)
526 AG_GST_CHECK_PLUGIN(mpegdemux)
527 AG_GST_CHECK_PLUGIN(mpegtsdemux)
528 AG_GST_CHECK_PLUGIN(mpegtsmux)
529 AG_GST_CHECK_PLUGIN(mpegpsmux)
530 AG_GST_CHECK_PLUGIN(mve)
531 AG_GST_CHECK_PLUGIN(mxf)
532 AG_GST_CHECK_PLUGIN(netsim)
533 AG_GST_CHECK_PLUGIN(nuvdemux)
534 AG_GST_CHECK_PLUGIN(onvif)
535 AG_GST_CHECK_PLUGIN(patchdetect)
536 AG_GST_CHECK_PLUGIN(pcapparse)
537 AG_GST_CHECK_PLUGIN(pnm)
538 AG_GST_CHECK_PLUGIN(rawparse)
539 AG_GST_CHECK_PLUGIN(removesilence)
540 AG_GST_CHECK_PLUGIN(sdi)
541 AG_GST_CHECK_PLUGIN(sdp)
542 AG_GST_CHECK_PLUGIN(segmentclip)
543 AG_GST_CHECK_PLUGIN(siren)
544 AG_GST_CHECK_PLUGIN(smooth)
545 AG_GST_CHECK_PLUGIN(speed)
546 AG_GST_CHECK_PLUGIN(subenc)
547 AG_GST_CHECK_PLUGIN(stereo)
548 AG_GST_CHECK_PLUGIN(timecode)
549 AG_GST_CHECK_PLUGIN(tta)
550 AG_GST_CHECK_PLUGIN(videofilters)
551 AG_GST_CHECK_PLUGIN(videomeasure)
552 AG_GST_CHECK_PLUGIN(videoparsers)
553 AG_GST_CHECK_PLUGIN(videosignal)
554 AG_GST_CHECK_PLUGIN(vmnc)
555 AG_GST_CHECK_PLUGIN(y4m)
556 AG_GST_CHECK_PLUGIN(yadif)
558 dnl *** plug-ins to exclude ***
560 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
561 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
562 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
563 AC_CHECK_HEADER(QTKit/QTKit.h, HAVE_QTKIT="yes", HAVE_QTKIT="no", [-])
565 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
567 LIBS="$LIBS -framework VideoToolbox"
568 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
569 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
575 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
576 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
577 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
580 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
581 if test "x$HAVE_IOS" = "xyes"; then
582 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
585 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
586 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
587 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
590 AM_CONDITIONAL(HAVE_QTKIT, test "x$HAVE_QTKIT" = "xyes")
591 if test "x$HAVE_QTKIT" = "xyes"; then
592 AC_DEFINE(HAVE_QTKIT, 1, [Define if building with QTKit])
594 dnl disable gst plugins we might not be able to build on this
595 dnl platform: (ugly but minimally invasive)
596 dnl FIXME: maybe move to sys, or make work with winsock2
597 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
598 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
600 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
601 WINSOCK2_LIBS="-lws2_32"
602 AC_SUBST(WINSOCK2_LIBS)
605 if test "x$HAVE_PTHREAD_H" = "xyes"; then
606 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
609 AG_GST_DISABLE_PLUGIN(dccp)
613 AC_ARG_ENABLE([opengl],
614 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
615 [case "${enableval}" in
618 auto) NEED_GL=auto ;;
619 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
620 esac],[NEED_GL=auto])
622 AC_ARG_WITH([opengl-module-name],
623 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
624 if test x$with_opengl_module_name != x; then
625 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
628 AC_ARG_ENABLE([gles2],
629 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
630 [case "${enableval}" in
631 yes) NEED_GLES2=yes ;;
633 auto) NEED_GLES2=auto ;;
634 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
635 esac],[NEED_GLES2=auto])
637 AC_ARG_WITH([gles2-module-name],
638 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
639 if test x$with_gles2_module_name != x; then
640 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
644 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
645 [case "${enableval}" in
648 auto) NEED_EGL=auto ;;
649 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
650 esac],[NEED_EGL=auto])
652 AC_ARG_WITH([egl-module-name],
653 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
654 if test x$with_egl_module_name != x; then
655 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
659 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
660 [case "${enableval}" in
663 auto) NEED_WGL=auto ;;
664 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
665 esac],[NEED_WGL=auto])
668 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
669 [case "${enableval}" in
672 auto) NEED_GLX=auto ;;
673 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
674 esac],[NEED_GLX=auto])
676 AC_ARG_ENABLE([cocoa],
677 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
678 [case "${enableval}" in
679 yes) NEED_COCOA=yes ;;
681 auto) NEED_COCOA=auto ;;
682 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
683 esac],[NEED_COCOA=auto])
686 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
687 [case "${enableval}" in
690 auto) NEED_X11=auto ;;
691 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
692 esac],[NEED_X11=auto])
694 AC_ARG_ENABLE([wayland],
695 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
696 [case "${enableval}" in
697 yes) NEED_WAYLAND_EGL=yes ;;
698 no) NEED_WAYLAND_EGL=no ;;
699 auto) NEED_WAYLAND_EGL=auto ;;
700 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
701 esac],[NEED_WAYLAND_EGL=auto])
703 AC_ARG_ENABLE([dispmanx],
704 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
705 [case "${enableval}" in
706 yes) NEED_DISPMANX=yes ;;
707 no) NEED_DISPMANX=no ;;
708 auto) NEED_DISPMANX=auto ;;
709 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
710 esac],[NEED_DISPMANX=auto])
712 AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
713 save_CPPFLAGS="$CPPFLAGS"
726 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
727 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
728 if test "x$HAVE_WGLEXT" = "xyes"; then
734 if test "x$NEED_GL" != "xno"; then
735 AG_GST_PKG_CHECK_MODULES(GL, gl)
736 if test "x$HAVE_GL" != "xyes"; then
737 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
740 if test "x$NEED_GLES2" != "xno"; then
741 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
742 if test "x$HAVE_GLES2" != "xyes"; then
743 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
745 AC_CHECK_HEADER([GLES3/gl3.h], [HAVE_GLES3_H=yes])
747 if test "x$NEED_EGL" != "xno"; then
748 AG_GST_PKG_CHECK_MODULES(EGL, egl)
749 if test "x$HAVE_EGL" != "xyes"; then
750 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
757 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
758 AC_CHECK_HEADER([EGL/fbdev_window.h],
761 AC_CHECK_LIB([Mali], [mali_image_create],
764 AC_CHECK_LIB([GLESv2], [glEnable],
766 AC_CHECK_HEADER([GLES2/gl2.h],
768 AC_CHECK_LIB([EGL], [eglGetProcAddress],
770 AC_CHECK_HEADER([EGL/egl.h],
774 EGL_LIBS="-lMali -lUMP"
776 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
784 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
785 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
786 LIBS="$LIBS -lvcos -lvchiq_arm"
787 AC_CHECK_LIB([bcm_host], [bcm_host_init],
789 LIBS="$LIBS -lbcm_host"
790 AC_CHECK_HEADER(bcm_host.h,
792 LIBS="$LIBS -lGLESv2"
793 AC_CHECK_LIB([EGL], [eglGetProcAddress],
796 AC_CHECK_HEADER([EGL/egl.h],
798 AC_CHECK_LIB([GLESv2], [glEnable],
800 AC_CHECK_HEADER([GLES2/gl2.h],
805 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
807 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
818 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)
820 # OS X and iOS always have GL available
823 if test "x$HAVE_IOS" = "xyes"; then
833 CPPFLAGS="$save_CPPFLAGS"
847 dnl Check for what the user asked for and what we could find
848 if test "x$HAVE_EGL" = "xno"; then
849 if test "x$NEED_EGL" = "xyes"; then
850 AC_MSG_ERROR([Could not find the required EGL libraries])
854 if test "x$HAVE_GL" = "xno"; then
855 if test "x$NEED_GL" = "xyes"; then
856 AC_MSG_ERROR([Could not find the required OpenGL libraries])
860 if test "x$HAVE_GLES2" = "xno"; then
861 if test "x$NEED_GLES2" = "xyes"; then
862 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
866 dnl X, GLX and OpenGL
867 if test "x$HAVE_X11_XCB" = "xno"; then
868 if test "x$NEED_GLX" = "xyes"; then
869 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
871 if test "x$NEED_X11" = "xyes"; then
872 AC_MSG_ERROR([Could not find X11 development libraries])
875 if test "x$NEED_GL" != "xno"; then
876 if test "x$HAVE_GL" = "xno"; then
877 if test "x$NEED_GLX" = "xyes"; then
878 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
882 if test "x$NEED_GLX" != "xno"; then
889 dnl check for DMABUF support
890 HAVE_DRM_FOURCC_HEADER=no
891 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
892 HAVE_DRM_FOURCC_HEADER=yes, )
894 HAVE_GST_ALLOCATORS=no
895 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
896 HAVE_GST_ALLOCATORS=yes, )
899 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
900 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
901 "x$HAVE_EGL" = "xyes"; then
905 dnl check if we can include both GL and GLES2 at the same time
906 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
908 if test "x$HAVE_GLES3_H" == "xyes"; then
913 # pragma GCC diagnostic push
914 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
916 #ifndef GL_GLEXT_PROTOTYPES
917 #define GL_GLEXT_PROTOTYPES 1
920 # include <OpenGLES/ES2/gl.h>
921 # include <OpenGLES/ES2/glext.h>
924 # include <GLES3/gl3.h>
925 # include <GLES3/gl3ext.h>
927 # include <GLES2/gl2.h>
928 # include <GLES2/gl2ext.h>
932 # include <OpenGL/OpenGL.h>
933 # include <OpenGL/gl.h>
934 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
935 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
936 # include <OpenGL/gl3.h>
940 # if __WIN32__ || _WIN32
941 # include <GL/glext.h>
944 int main (int argc, char **argv) { return 0; }
946 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
947 save_CFLAGS="$CFLAGS"
948 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
949 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
950 #if !defined(GL_FALSE)
951 #error Failed to include GL headers
953 ]])],[ AC_MSG_RESULT(yes)
955 if test "x$NEED_GLES2" = "xyes"; then
956 if test "x$NEED_GL" = "xyes"; then
957 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
959 AC_MSG_WARN([Disabling Desktop GL support])
963 AC_MSG_WARN([Disabling GL|ES 2.0 support])
968 CFLAGS="$save_CFLAGS"
971 #dnl Check for OpenGL
975 if test "x$NEED_WGL" = "xyes"; then
976 AC_MSG_ERROR([WGL is not available on Android])
978 if test "x$NEED_GLX" = "xyes"; then
979 AC_MSG_ERROR([GLX is not available on Android])
981 if test "x$NEED_GL" = "xyes"; then
982 AC_MSG_ERROR([GL is not available on Android])
984 if test "x$NEED_X11" = "xyes"; then
985 AC_MSG_ERROR([X11 is not available on Android])
987 if test "x$NEED_COCOA" = "xyes"; then
988 AC_MSG_ERROR([Cocoa is not available on Android])
992 if test "x$HAVE_GLES2" = "xyes"; then
993 if test "x$NEED_GLES2" != "xno"; then
994 GL_LIBS="$GL_LIBS -lGLESv2"
1000 if test "x$HAVE_EGL" = "xyes"; then
1001 if test "x$NEED_EGL" != "xno"; then
1002 GL_LIBS="$GL_LIBS -lEGL"
1007 if test "x$USE_EGL" != "xyes"; then
1008 AC_MSG_ERROR([Need EGL on Android])
1011 if test "x$USE_GLES2" != "xyes"; then
1012 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
1015 HAVE_WINDOW_ANDROID=yes
1017 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
1018 if test "x$NEED_WGL" = "xyes"; then
1019 AC_MSG_ERROR([WGL is not available on unix])
1022 if test "x$HAVE_X11_XCB" = "xno"; then
1023 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
1024 AC_MSG_WARN([X or Wayland is required for OpenGL support])
1028 dnl check Desktop OpenGL
1029 if test "x$HAVE_GL" = "xyes"; then
1030 if test "x$NEED_GL" != "xno"; then
1031 GL_LIBS="$GL_LIBS -lGL"
1036 if test "x$HAVE_GLES2" = "xyes"; then
1037 if test "x$NEED_GLES2" != "xno"; then
1038 GL_LIBS="$GL_LIBS -lGLESv2"
1043 if test "x$HAVE_X11_XCB" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
1044 if test "x$NEED_X11" != "xno"; then
1045 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1046 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1051 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
1052 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
1053 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
1055 if test "x$NEED_WAYLAND_EGL" != "xno"; then
1056 HAVE_WINDOW_WAYLAND=yes
1057 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1058 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1063 if test "x$HAVE_EGL_RPI" = "xyes"; then
1064 if test "x$NEED_DISPMANX" != "xno"; then
1065 HAVE_WINDOW_DISPMANX=yes
1071 if test "x$HAVE_EGL" = "xno"; then
1072 if test "x$HAVE_GL" = "xno"; then
1073 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1076 if test "x$NEED_EGL" != "xno"; then
1077 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1078 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1079 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1086 if test "x$HAVE_IOS" = "xyes"; then
1087 if test "x$NEED_WGL" = "xyes"; then
1088 AC_MSG_ERROR([WGL is not available on iOS])
1090 if test "x$NEED_GLX" = "xyes"; then
1091 AC_MSG_ERROR([GLX is not available on iOS])
1093 if test "x$NEED_GL" = "xyes"; then
1094 AC_MSG_ERROR([GL is not available on iOS])
1096 if test "x$NEED_X11" = "xyes"; then
1097 AC_MSG_ERROR([X11 is not available on iOS])
1099 if test "x$NEED_COCOA" = "xyes"; then
1100 AC_MSG_ERROR([Cocoa is not available on iOS])
1102 if test "x$NEED_EGL" = "xyes"; then
1103 AC_MSG_ERROR([EGL is not available on iOS])
1106 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1107 GL_CFLAGS="$GL_CFLAGS"
1110 HAVE_WINDOW_EAGL=yes
1112 ac_cv_type_GLsizeiptr=yes
1113 ac_cv_type_GLintptr=yes
1114 ac_cv_type_GLchar=yes
1116 dnl Only osx supports cocoa.
1117 if test "x$NEED_WGL" = "xyes"; then
1118 AC_MSG_ERROR([WGL is not available on Mac OS X])
1121 if test "x$NEED_COCOA" != "xno"; then
1122 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1123 GL_CFLAGS="$GL_CFLAGS"
1125 HAVE_WINDOW_COCOA=yes
1129 if test "x$USE_GLX" = "xyes"; then
1130 if test "x$HAVE_X11_XCB" = "xyes"; then
1131 if test "x$NEED_X11" != "xno"; then
1132 GL_LIBS="$GL_LIBS $X11_XCB_LIBS"
1133 GL_CFLAGS="$GL_CFLAGS $X11_XCB_CFLAGS"
1138 if test "x$HAVE_GL" = "xyes"; then
1139 if test "x$NEED_GL" != "xno"; then
1140 GL_LIBS="$GL_LIBS -lGL"
1146 if test "x$HAVE_EGL" = "xyes"; then
1147 if test "x$NEED_EGL" != "xno"; then
1148 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1149 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1150 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1157 if test "x$HAVE_GLES2" = "xyes"; then
1158 if test "x$NEED_GLES2" != "xno"; then
1159 GL_LIBS="$GL_LIBS -lGLESv2"
1166 if test "x$NEED_GLX" = "xyes"; then
1167 AC_MSG_ERROR([GLX is not available on Windows])
1169 if test "x$NEED_GLES2" = "xyes"; then
1170 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1173 if test "x$HAVE_GL" = "xyes"; then
1174 if test "x$NEED_GL" != "xno"; then
1175 if test "x$HAVE_WGL" = "xyes"; then
1176 if test "$NEED_WGL" != "xno"; then
1177 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1178 HAVE_WINDOW_WIN32=yes
1187 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1198 GST_GL_HAVE_OPENGL=0
1202 if test "x$USE_OPENGL" = "xyes"; then
1203 GL_APIS="gl $GL_APIS"
1204 GST_GL_HAVE_OPENGL=1
1206 if test "x$USE_GLES2" = "xyes"; then
1207 GL_APIS="gles2 $GL_APIS"
1209 if test "x$HAVE_GLES3_H" = "xyes"; then
1214 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1215 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1216 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1217 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1222 GST_GL_HAVE_WINDOW_X11=0
1223 GST_GL_HAVE_WINDOW_COCOA=0
1224 GST_GL_HAVE_WINDOW_WIN32=0
1225 GST_GL_HAVE_WINDOW_WAYLAND=0
1226 GST_GL_HAVE_WINDOW_ANDROID=0
1227 GST_GL_HAVE_WINDOW_DISPMANX=0
1228 GST_GL_HAVE_WINDOW_EAGL=0
1230 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1231 GL_WINDOWS="x11 $GL_WINDOWS"
1232 GST_GL_HAVE_WINDOW_X11=1
1234 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1235 GL_WINDOWS="cocoa $GL_WINDOWS"
1236 GST_GL_HAVE_WINDOW_COCOA=1
1238 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1239 GL_WINDOWS="win32 $GL_WINDOWS"
1240 GST_GL_HAVE_WINDOW_WIN32=1
1242 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1243 GL_WINDOWS="wayland $GL_WINDOWS"
1244 GST_GL_HAVE_WINDOW_WAYLAND=1
1246 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1247 GL_WINDOWS="android $GL_WINDOWS"
1248 GST_GL_HAVE_WINDOW_ANDROID=1
1250 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1251 GL_WINDOWS="dispmanx $GL_WINDOWS"
1252 GST_GL_HAVE_WINDOW_DISPMANX=1
1254 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1255 GL_WINDOWS="eagl $GL_WINDOWS"
1256 GST_GL_HAVE_WINDOW_EAGL=1
1259 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1260 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1261 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1262 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1263 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1264 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1265 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1266 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1271 GST_GL_HAVE_PLATFORM_EGL=0
1272 GST_GL_HAVE_PLATFORM_GLX=0
1273 GST_GL_HAVE_PLATFORM_WGL=0
1274 GST_GL_HAVE_PLATFORM_CGL=0
1275 GST_GL_HAVE_PLATFORM_EAGL=0
1277 if test "x$USE_EGL" = "xyes"; then
1278 GL_PLATFORMS="egl $GL_PLATFORMS"
1279 GST_GL_HAVE_PLATFORM_EGL=1
1281 if test "x$USE_GLX" = "xyes"; then
1282 GL_PLATFORMS="glx $GL_PLATFORMS"
1283 GST_GL_HAVE_PLATFORM_GLX=1
1285 if test "x$USE_WGL" = "xyes"; then
1286 GL_PLATFORMS="wgl $GL_PLATFORMS"
1287 GST_GL_HAVE_PLATFORM_WGL=1
1289 if test "x$USE_COCOA" = "xyes"; then
1290 GL_PLATFORMS="cgl $GL_PLATFORMS"
1291 GST_GL_HAVE_PLATFORM_CGL=1
1293 if test "x$USE_EAGL" = "xyes"; then
1294 GL_PLATFORMS="eagl $GL_PLATFORMS"
1295 GST_GL_HAVE_PLATFORM_EAGL=1
1298 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1299 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1300 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1301 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1302 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1303 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1306 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1307 #define GST_GL_HAVE_DMABUF $GST_GL_HAVE_DMABUF
1310 dnl Check for no platforms/window systems
1311 if test "x$GL_APIS" = "x"; then
1312 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1314 if test "x$GL_PLATFORMS" = "x"; then
1315 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1317 if test "x$GL_WINDOWS" = "x"; then
1318 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1321 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1336 HAVE_WINDOW_WIN32=no
1337 HAVE_WINDOW_DISPMANX=no
1338 HAVE_WINDOW_WAYLAND=no
1339 HAVE_WINDOW_ANDROID=no
1340 HAVE_WINDOW_COCOA=no
1346 AC_SUBST(GL_OBJCFLAGS)
1347 AC_SUBST(USE_OPENGL)
1350 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1351 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1352 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1353 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1354 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1355 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1356 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1358 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1359 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1360 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1361 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1362 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1363 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1364 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1365 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1366 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1368 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1370 dnl Check for some types that are not always present
1372 if test "x$USE_GLES2" = "xyes"; then
1373 GL_INCLUDES="$GL_INCLUDES
1374 #ifndef GL_GLEXT_PROTOTYPES
1375 #define GL_GLEXT_PROTOTYPES 1
1378 # include <OpenGLES/ES2/gl.h>
1379 # include <OpenGLES/ES2/glext.h>
1381 # if $GST_GL_HAVE_GLES3
1382 # include <GLES3/gl3.h>
1383 # include <GLES3/gl3ext.h>
1385 # include <GLES2/gl2.h>
1386 # include <GLES2/gl2ext.h>
1392 if test "x$USE_OPENGL" = "xyes"; then
1393 GL_INCLUDES="$GL_INCLUDES
1395 # include <OpenGL/OpenGL.h>
1396 # include <OpenGL/gl.h>
1399 # if __WIN32__ || _WIN32
1400 # include <GL/glext.h>
1406 GST_GL_HAVE_GLEGLIMAGEOES=0
1407 GST_GL_HAVE_GLCHAR=0
1408 GST_GL_HAVE_GLSIZEIPTR=0
1409 GST_GL_HAVE_GLINTPTR=0
1410 GST_GL_HAVE_GLSYNC=0
1411 GST_GL_HAVE_GLUINT64=0
1412 GST_GL_HAVE_GLINT64=0
1413 GST_GL_HAVE_EGLATTRIB=0
1416 CFLAGS="$GL_CFLAGS $CFLAGS"
1418 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1419 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1420 GST_GL_HAVE_GLEGLIMAGEOES=1
1423 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1424 if test "x$ac_cv_type_GLchar" = "xyes"; then
1425 GST_GL_HAVE_GLCHAR=1
1428 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1429 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1430 GST_GL_HAVE_GLSIZEIPTR=1
1433 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1434 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1435 GST_GL_HAVE_GLINTPTR=1
1438 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1439 if test "x$ac_cv_type_GLsync" = "xyes"; then
1440 GST_GL_HAVE_GLSYNC=1
1443 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1444 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1445 GST_GL_HAVE_GLUINT64=1
1448 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1449 if test "x$ac_cv_type_GLint64" = "xyes"; then
1450 GST_GL_HAVE_GLINT64=1
1453 if test "x$USE_EGL" = "xyes"; then
1454 EGL_INCLUDES="$GL_INCLUDES
1455 #include <EGL/egl.h>
1456 #include <EGL/eglext.h>
1458 AC_CHECK_TYPES(EGLAttrib, [], [], [[$EGL_INCLUDES]])
1459 if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
1460 GST_GL_HAVE_EGLATTRIB=1
1466 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1467 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1468 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1469 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1470 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1471 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1472 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1473 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1474 #define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
1477 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1478 outfile=gstglconfig.h-tmp
1479 cat > $outfile <<\_______EOF
1482 * This is a generated file. Please modify `configure.ac'
1485 #ifndef __GST_GL_CONFIG_H__
1486 #define __GST_GL_CONFIG_H__
1488 #include <gst/gst.h>
1494 cat >>$outfile <<_______EOF
1498 cat >>$outfile <<_______EOF
1502 #endif /* __GST_GL_CONFIG_H__ */
1506 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1507 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1510 mv $outfile gst-libs/gst/gl/gstglconfig.h
1513 gl_config_defines='$GL_CONFIG_DEFINES'
1516 dnl libpng is optional
1517 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1518 if test "x$HAVE_PNG" = "xyes"; then
1519 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1522 AC_SUBST(LIBPNG_LIBS)
1523 AC_SUBST(LIBPNG_CFLAGS)
1524 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1526 dnl libjpeg is optional
1527 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1529 if test x$with_jpeg_mmx != x; then
1530 LIBS="$LIBS -L$with_jpeg_mmx"
1532 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1533 JPEG_LIBS="$LIBS -ljpeg-mmx"
1535 if test x$HAVE_JPEG != xyes; then
1537 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1540 if test x$HAVE_JPEG = xyes; then
1541 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1543 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1548 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1551 PKG_CHECK_MODULES(XCB, xcb >= 1.10, GST_VULKAN_HAVE_WINDOW_XCB=1, GST_VULKAN_HAVE_WINDOW_XCB=0)
1552 AM_CONDITIONAL(USE_XCB, test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1")
1554 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4, GST_VULKAN_HAVE_WINDOW_WAYLAND=1, GST_VULKAN_HAVE_WINDOW_WAYLAND=0)
1555 AM_CONDITIONAL(USE_WAYLAND, test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1")
1556 VULKAN_CONFIG_DEFINES="
1557 #define GST_VULKAN_HAVE_WINDOW_XCB $GST_VULKAN_HAVE_WINDOW_XCB
1558 #define GST_VULKAN_HAVE_WINDOW_WAYLAND $GST_VULKAN_HAVE_WINDOW_WAYLAND"
1560 AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
1561 outfile=vkconfig.h-tmp
1562 cat > $outfile <<\_______EOF
1565 * This is a generated file. Please modify `configure.ac'
1568 #ifndef __GST_VULKAN_CONFIG_H__
1569 #define __GST_VULKAN_CONFIG_H__
1571 #include <gst/gst.h>
1577 cat >>$outfile <<_______EOF
1578 $vulkan_config_defines
1581 cat >>$outfile <<_______EOF
1585 #endif /* __GST_VULKAN_CONFIG_H__ */
1589 if cmp -s $outfile ext/vulkan/vkconfig.h; then
1590 AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
1593 mv $outfile ext/vulkan/vkconfig.h
1596 vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
1599 dnl *** sys plug-ins ***
1602 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1603 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1604 HAVE_DIRECTSOUND="no"
1605 save_CFLAGS="$CFLAGS"
1606 save_LDFLAGS="$LDFLAGS"
1608 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1609 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1610 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1611 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1612 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1613 #include <windows.h>
1616 #include <mmsystem.h>
1618 DXGetErrorString9 (0);
1619 DirectSoundCreate(NULL, NULL, NULL);
1621 [HAVE_DIRECTSOUND="yes"],
1622 [HAVE_DIRECTSOUND="no"])
1623 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1625 LDFLAGS=$save_LDFLAGS
1628 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1629 dnl this is much more than we want
1630 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1631 AC_SUBST(DIRECTX_CFLAGS)
1632 AC_SUBST(DIRECTX_LDFLAGS)
1633 AC_SUBST(DIRECTSOUND_LIBS)
1635 AC_SUBST(HAVE_DIRECTSOUND)
1639 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1640 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1642 save_CFLAGS="$CFLAGS"
1643 save_LDFLAGS="$LDFLAGS"
1645 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1646 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1647 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1648 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1649 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1650 #include <windows.h>
1652 #include <mmsystem.h>
1653 #include <mmdeviceapi.h>
1659 hr = CoInitialize(NULL);
1661 printf("CoInitialize failed: hr = 0x%08x", hr);
1666 // result = do_everything(argc, argv);
1672 [HAVE_WASAPI="yes"],
1674 AC_MSG_RESULT($HAVE_WASAPI)
1676 LDFLAGS=$save_LDFLAGS
1679 if test "x$HAVE_WASAPI" = "xyes"; then
1680 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1681 AC_SUBST(WASAPI_LIBS)
1683 AC_SUBST(HAVE_WASAPI)
1687 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1688 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1690 save_CFLAGS="$CFLAGS"
1691 save_LDFLAGS="$LDFLAGS"
1693 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1694 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1695 LIBS="$LIBS -ld3d9 -lgdi32"
1696 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1697 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1698 #include <windows.h>
1701 Direct3DCreate9(D3D_SDK_VERSION);
1703 [HAVE_DIRECT3D="yes"],
1704 [HAVE_DIRECT3D="no"])
1705 AC_MSG_RESULT($HAVE_DIRECT3D)
1707 LDFLAGS=$save_LDFLAGS
1710 if test "x$HAVE_DIRECT3D" = "xyes"; then
1711 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1712 AC_SUBST(DIRECT3D_LIBS)
1714 AC_SUBST(HAVE_DIRECT3D)
1718 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1719 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1720 HAVE_WINSCREENCAP="no"
1721 save_CFLAGS="$CFLAGS"
1722 save_LDFLAGS="$LDFLAGS"
1724 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1725 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1726 LIBS="$LIBS -ld3d9 -lgdi32"
1727 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1728 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1729 #include <windows.h>
1732 Direct3DCreate9(D3D_SDK_VERSION);
1734 [HAVE_WINSCREENCAP="yes"],
1735 [HAVE_WINSCREENCAP="no"])
1736 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1738 LDFLAGS=$save_LDFLAGS
1741 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1742 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1743 AC_SUBST(WINSCREENCAP_LIBS)
1745 AC_SUBST(HAVE_WINSCREENCAP)
1749 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1750 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1752 save_CFLAGS="$CFLAGS"
1753 save_LDFLAGS="$LDFLAGS"
1755 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1756 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1757 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1758 AC_MSG_CHECKING(for Winks LDFLAGS)
1759 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1760 #include <windows.h>
1765 IGraphBuilder *pGraph = NULL;
1766 HRESULT hr = CoInitialize(NULL);
1767 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1768 &IID_IGraphBuilder, (void **)&pGraph);
1775 AC_MSG_RESULT($HAVE_WINKS)
1777 LDFLAGS=$save_LDFLAGS
1780 if test "x$HAVE_WINKS" = "xyes"; then
1781 dnl this is much more than we want
1782 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1783 AC_SUBST(DIRECTX_CFLAGS)
1784 AC_SUBST(DIRECTX_LDFLAGS)
1785 AC_SUBST(WINKS_LIBS)
1787 AC_SUBST(HAVE_WINKS)
1790 dnl *** Android Media ***
1791 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1792 HAVE_ANDROID_MEDIA="no"
1793 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1796 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1799 HAVE_ANDROID_MEDIA="no"
1804 dnl *** AppleMedia (OS X and iOS) ***
1805 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1806 HAVE_APPLE_MEDIA="no"
1807 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1808 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1809 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1810 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1811 if test "x$HAVE_IOS" = "xno"; then
1812 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1816 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1821 HAVE_APPLE_MEDIA="no"
1826 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1827 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1828 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1829 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1830 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1832 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1841 dnl *** OS/X AVCVideoServices ***
1842 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1844 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1846 save_CPPFLAGS="$CPPFLAGS"
1847 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1849 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1850 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1852 CPPFLAGS=$save_CPPFLAGS
1855 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1864 dnl check for shm_open (for shm plugin)
1865 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1866 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1867 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1869 *-darwin* | *-macos10*)
1870 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1877 AC_CHECK_LIB([rt], [shm_open],
1878 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1879 #include <sys/socket.h>
1882 AC_SUBST(SHM_LIBS, "-lrt")
1890 dnl check for Video CD
1891 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1892 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1893 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1896 dnl check for OpenSL ES
1897 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1898 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1899 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1902 dnl *** UVC H264 ***
1903 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1904 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1905 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1906 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1907 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1910 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1911 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1912 HAVE_LIBUSB="yes" ],
1914 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1915 test "x$HAVE_GUDEV" = "xyes" && \
1916 test "x$HAVE_LIBUSB" = "xyes"; then
1922 AC_SUBST(LIBUDEV_CFLAGS)
1923 AC_SUBST(LIBUDEV_LIBS)
1924 AC_SUBST(LIBUSB_CFLAGS)
1925 AC_SUBST(LIBUSB_LIBS)
1928 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1929 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1930 AC_ARG_WITH([cuda-prefix],
1931 AS_HELP_STRING([--with-cuda-prefix],
1932 [Use the provided prefix for detecting the cuda installation]),
1933 [AS_IF([test "x$with_cuda_prefix" != "x"],
1934 [CUDA_PREFIX="$with_cuda_prefix"])],
1938 if test "x$CUDA_PREFIX" != "x"; then
1939 dnl only override if not already set
1940 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1941 dnl this is an educated guess, user can always override these
1942 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1943 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1946 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1947 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1948 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1949 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1954 save_CPPFLAGS="$CPPFLAGS"
1955 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1956 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1957 AC_MSG_WARN([Could not find cuda.h]))
1958 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1959 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1960 CPPFLAGS=$save_CPPFLAGS
1962 dnl libcuda and libcudart libraries
1964 LIBS="$CUDA_LIBS $save_LIBS"
1965 HAVE_CUDART_LIB="no"
1966 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1967 AC_MSG_WARN([Could not find cudart library])])
1969 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1970 AC_MSG_WARN([Could not find cuda library])])
1973 dnl nvEncodeAPI.h header
1974 HAVE_NVENCODEAPI_H=no
1975 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1976 save_CPPFLAGS="$CPPFLAGS"
1977 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1978 AC_CHECK_HEADER([nvEncodeAPI.h], [
1979 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1980 #if NVENCAPI_MAJOR_VERSION < 5
1981 #error "Need nvEncodeAPI.h >= 5.0"
1984 HAVE_NVENCODEAPI_H=yes
1986 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1989 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1990 AC_SUBST(NVENCODE_CFLAGS)
1991 CPPFLAGS="$save_CPPFLAGS"
1993 dnl libnvnidia-encode library
1994 HAVE_NVENCODE_LIB=no
1995 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1997 LIBS="$NVENCODE_LIBS $saved_LIBS"
1998 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1999 AC_MSG_WARN([Could not find library nvidia-encode]))
2000 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
2001 AC_SUBST(NVENCODE_LIBS)
2005 if test "x$HAVE_CUDA_H" = "xyes" \
2006 -a "x$HAVE_CUDART_H" = "xyes" \
2007 -a "x$HAVE_CUDA_LIB" = "xyes" \
2008 -a "x$HAVE_CUDART_LIB" = "xyes" \
2009 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
2010 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
2012 if test x"$USE_OPENGL" = x"yes"; then
2013 dnl cuda-gl interop header
2014 save_CPPFLAGS="$CPPFLAGS"
2015 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
2016 AC_CHECK_HEADER([cuda_gl_interop.h], [
2017 USE_NVENC_GST_GL="yes"
2018 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
2020 CPPFLAGS="$save_CPPFLAGS"
2026 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
2028 dnl check for tinyalsa
2029 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
2030 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
2031 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
2034 dnl check for intel mediasdk
2035 translit(dnm, m, l) AM_CONDITIONAL(USE_MSDK, true)
2036 AG_GST_CHECK_FEATURE(MSDK, [Intel MediaSDK], msdk, [
2037 AC_ARG_WITH([msdk-prefix],
2038 AS_HELP_STRING([--with-msdk-prefix],
2039 [Use the provided prefix for detecting the Intel MediaSDK]),
2040 [AS_IF([test "x$with_msdk_prefix" != "x"],
2041 [MSDK_PREFIX="$with_msdk_prefix"])],
2042 [AS_IF([test "x$MFX_HOME" != "x"],
2043 [MSDK_PREFIX="$MFX_HOME"],
2044 [MSDK_PREFIX="/opt/intel/media"])])
2045 MSDK_CFLAGS="-I$MSDK_PREFIX/include"
2046 MSDK_LIBS="-L$MSDK_PREFIX/lib/lin_x64 -lmfx -ldl"
2047 AC_SUBST(MSDK_CFLAGS)
2050 save_CPPFLAGS="$CPPFLAGS"
2051 CPPFLAGS="$MSDK_CFLAGS $save_CPPFLAGS"
2052 AC_CHECK_HEADER(mfxdefs.h, HAVE_MFXDEFS_H="yes", HAVE_MFXDEFS_H="no")
2053 CPPFLAGS="$save_CPPFLAGS"
2056 LIBS="$MSDK_LIBS $LIBS"
2058 AC_CHECK_LIB(mfx,MFXInit,HAVE_MFX_LIB="yes",HAVE_MFX_LIB="no")
2062 PKG_CHECK_MODULES(LIBVA_DRM, libva-drm, HAVE_LIBVA_DRM="yes", HAVE_LIBVA_DRM="no")
2064 if test "x$HAVE_MFXDEFS_H" = "xyes" \
2065 -a "x$HAVE_MFX_LIB" = "xyes" \
2066 -a "x$HAVE_LIBVA_DRM" = "xyes"; then
2072 AM_CONDITIONAL(USE_MSDK_LIBVA,
2073 test "x$HAVE_MSDK" = "xyes" -a "x$HAVE_LIBVA_DRM" = "xyes")
2075 dnl *** ext plug-ins ***
2076 dnl keep this list sorted alphabetically !
2078 if test "x$BUILD_EXTERNAL" = "xyes"; then
2080 dnl *** assrender ***
2081 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
2082 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
2083 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
2084 HAVE_ASSRENDER="yes" ], [
2088 AC_SUBST(ASSRENDER_CFLAGS)
2089 AC_SUBST(ASSRENDER_LIBS)
2091 dnl *** vo-amrwbenc ***
2092 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
2093 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
2094 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
2097 dnl *** vo-aacenc ***
2098 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
2099 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
2100 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
2103 dnl *** apexsink ***
2104 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
2105 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
2106 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
2110 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
2111 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
2112 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
2114 AC_SUBST(APEXSINK_CFLAGS)
2115 AC_SUBST(APEXSINK_LIBS)
2122 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
2123 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
2124 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
2127 AC_SUBST(BS2B_CFLAGS)
2132 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
2133 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
2136 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
2137 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
2138 AC_MSG_RESULT($HAVE_BZ2)
2140 if test "x$HAVE_BZ2" = "xyes"; then
2148 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
2149 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
2150 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
2153 # AC_SUBST(CAIRO_CFLAGS)
2154 # AC_SUBST(CAIRO_LIBS)
2157 dnl *** chromaprint ***
2158 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
2159 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
2160 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
2161 HAVE_CHROMAPRINT="no"
2163 AC_SUBST(CHROMAPRINT_CFLAGS)
2164 AC_SUBST(CHROMAPRINT_LIBS)
2168 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
2169 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
2170 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
2172 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2173 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2175 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2176 [[#ifdef HAVE_SYS_TYPES_H
2177 # include <sys/types.h>
2179 #ifdef HAVE_NETINET_IN_H
2180 # include <netinet/in.h>
2183 AC_MSG_CHECKING([for socket support needed by curlsink])
2184 AC_MSG_RESULT($HAVE_CURL)
2188 AC_SUBST(CURL_CFLAGS)
2190 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2192 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2196 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2197 AC_SUBST(SSH2_CFLAGS)
2199 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2202 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2203 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2204 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2205 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2207 AC_SUBST(LIBXML2_CFLAGS)
2208 AC_SUBST(LIBXML2_LIBS)
2212 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2213 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2214 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2215 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2224 AC_SUBST(LIBDC1394_CFLAGS)
2225 AC_SUBST(LIBDC1394_LIBS)
2228 dnl *** decklink ***
2229 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2230 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2237 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2238 AC_CHECK_LIB(dl, dlopen,
2242 DECKLINK_LIBS="-lpthread -ldl"
2247 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2248 AC_CHECK_LIB(dl, dlopen,
2252 DECKLINK_LIBS="-lpthread -ldl"
2253 HAVE_DECKLINK_OSX=yes
2262 AC_SUBST(DECKLINK_CXXFLAGS)
2263 AC_SUBST(DECKLINK_LIBS)
2265 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2267 dnl **** DirectFB ****
2268 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2269 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2270 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2275 dnl **** Wayland ****
2276 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2277 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2278 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2279 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [
2280 if test "x$wayland_scanner" != "x"; then
2282 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
2284 AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
2293 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2294 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2295 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2296 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2298 AC_SUBST(WEBP_CFLAGS)
2303 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2304 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2305 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2306 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2311 AC_SUBST(DAALA_CFLAGS)
2312 AC_SUBST(DAALA_LIBS)
2317 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2318 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2320 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2321 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2322 if test $HAVE_DTS = "no"; then
2323 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2324 [ DTS_LIBS="-ldts_pic $LIBM"
2325 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2331 dnl *** resindvd ***
2332 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2333 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2334 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2339 dnl **** Free AAC Encoder (FAAC) ****
2340 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2341 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2342 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2343 FAAC_LIBS="-lfaac $LIBM")
2347 dnl **** Free AAC Decoder (FAAD2) ****
2348 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2349 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2350 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2351 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2352 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2354 #elif !defined(LATM)
2355 #error Not faad2 >= 2.7
2361 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2371 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2372 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2373 if test "x$HAVE_FBDEV" != "xyes"; then
2374 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2379 translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
2380 AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
2381 PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", [
2387 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2388 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2389 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2390 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2392 AC_SUBST(FLITE_CFLAGS)
2393 AC_SUBST(FLITE_LIBS)
2397 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2398 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2399 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2400 if test $HAVE_GSM != "yes"; then
2401 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2402 if test $HAVE_GSM = "yes"; then
2403 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2409 dnl *** fluidSynth ***
2410 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2411 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2412 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2413 HAVE_FLUIDSYNTH="no"
2418 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2419 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2420 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2423 AC_SUBST(KATE_CFLAGS)
2425 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2428 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2434 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2435 AC_SUBST(TIGER_CFLAGS)
2436 AC_SUBST(TIGER_LIBS)
2437 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2440 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
2441 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
2442 AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
2443 PKG_CHECK_MODULES([KMS_DRM], [libdrm >= 2.4.55 libkms], HAVE_KMS=yes, HAVE_KMS=no)
2447 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2448 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2449 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2451 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2452 if test $HAVE_LRDF = "yes"; then
2453 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2456 AC_SUBST(LRDF_CFLAGS)
2460 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2461 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2462 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
2464 HAVE_LILV_0_22="yes"
2465 AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
2467 PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
2469 AC_SUBST(LILV_CFLAGS)
2473 dnl *** libde265 ***
2474 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2475 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2476 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2477 AC_SUBST(LIBDE265_CFLAGS)
2478 AC_SUBST(LIBDE265_LIBS)
2482 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2483 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2484 dnl check with pkg-config first
2485 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2489 AC_SUBST(LIBMMS_LIBS)
2493 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2494 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2495 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2496 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2499 AC_SUBST(SRTP_CFLAGS)
2503 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2504 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2505 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2507 AC_SUBST(DTLS_CFLAGS)
2515 translit(dnm, m, l) AM_CONDITIONAL(USE_TTML, true)
2516 AG_GST_CHECK_FEATURE(TTML, [TTML plugin], ttml, [
2517 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2518 PKG_CHECK_MODULES(TTML, [ libxml-2.0 >= 2.9.2 pango cairo pangocairo ], [
2527 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2528 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2540 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2541 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2542 if test "x$HAVE_CXX" != "xyes"; then
2543 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2546 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2548 AC_SUBST(MODPLUG_CFLAGS)
2549 AC_SUBST(MODPLUG_LIBS)
2553 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
2554 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
2556 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
2557 HAVE_MIMIC=yes, HAVE_MIMIC=no)
2558 AC_SUBST(MIMIC_CFLAGS)
2559 AC_SUBST(MIMIC_LIBS)
2562 dnl *** mjpegtools version info ***
2563 dnl some may prefer older version (given quirks above)
2564 dnl hm, no version info seems available within mjpegtools headers
2565 dnl and API really moves along
2567 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2568 mjpegtools_api=10601
2570 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2571 mjpegtools_api=10800
2573 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2574 mjpegtools_api=20000
2576 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2577 dnl logging API changed in release candidates
2578 OLD_CFLAGS="$CFLAGS"
2580 CFLAGS="$MJPEG_CFLAGS"
2581 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2582 AC_CHECK_FUNC(mjpeg_loglev_t, [
2583 mjpegtools_api=10903
2585 mjpegtools_api=10900
2587 CFLAGS="$OLD_CFLAGS"
2595 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2596 [mjpegtools API evolution])
2598 dnl *** mpeg2enc ***
2599 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2600 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2602 dnl we require a c++ compiler for this one
2603 if [ test x$HAVE_CXX = xyes ]; then
2604 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2605 dnl since many distros include mjpegtools specifically without mplex
2606 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2607 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2608 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2610 dnl switch over to c++ to test things
2612 OLD_CPPFLAGS="$CPPFLAGS"
2614 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2615 CPPFLAGS="$CPPFLAGS_GOOD -I."
2617 mpeg2enc_headers_ok=no
2618 AC_CHECK_HEADER([mpeg2encoder.hh], [
2619 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2621 LIBS="$LIBS $MPEG2ENC_LIBS"
2622 AC_MSG_CHECKING([for valid mpeg2enc objects])
2623 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2624 #include <mpeg2encoder.hh>
2625 #include <mpeg2encoptions.hh>
2631 MPEG2EncOptions *options = new MPEG2EncOptions ();
2632 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2637 dnl so far so good, let's check more things:
2638 dnl mjpegtools-1.8.0 does not install the required
2639 dnl mpeg2syntaxcodes.h header by default, and a new release
2640 dnl is not in sight, so check for this oversight in case
2641 dnl distros or folks have fixed this themselves
2642 if test "$mjpegtools_api" -ge "10800"; then
2643 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2644 mpeg2enc_headers_ok=yes
2646 mpeg2enc_headers_ok=no
2649 mpeg2enc_headers_ok=yes
2651 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2654 CPPFLAGS="$CPPFLAGS_GOOD"
2655 AC_SUBST(MPEG2ENC_CFLAGS)
2656 AC_SUBST(MPEG2ENC_LIBS)
2663 CPPFLAGS="$OLD_CPPFLAGS"
2672 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2673 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2675 dnl we require a c++ compiler for this one
2676 if [ test x$HAVE_CXX = xyes ]; then
2677 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2678 dnl since many distros include mjpegtools specifically without mplex
2679 dnl and mpeg2enc, we check for mplex on its own, too.
2680 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2681 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2682 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2684 dnl switch over to c++ to test things
2686 OLD_CPPFLAGS="$CPPFLAGS"
2688 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2689 CPPFLAGS="$CPPFLAGS_GOOD -I."
2690 AC_CHECK_HEADER(interact.hpp, [
2691 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2693 LIBS="$LIBS $MPLEX_LIBS"
2694 OLD_LDFLAGS="$LDFLAGS"
2695 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2696 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2697 dnl don't want this here
2698 AC_MSG_CHECKING([for valid mplex objects])
2699 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2701 #include <interact.hpp>
2702 #include <outputstrm.hpp>
2703 #include <multiplexor.hpp>
2708 class TestOutputStream : public OutputStream {
2710 TestOutputStream () : OutputStream () { }
2711 void Write (uint8_t *a, unsigned int b) { }
2712 void NextSegment () { }
2713 uint64_t SegmentSize () { }
2717 MultiplexJob *job = new MultiplexJob ();
2718 vector<IBitStream *> inputs;
2719 job->SetupInputStreams (inputs);
2720 TestOutputStream *out = new TestOutputStream ();
2721 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2726 CPPFLAGS="$CPPFLAGS_GOOD"
2727 AC_SUBST(MPLEX_CFLAGS)
2728 AC_SUBST(MPLEX_LIBS)
2729 AC_SUBST(MPLEX_LDFLAGS)
2731 ],[AC_MSG_RESULT(no)],[])
2733 LDFLAGS="$OLD_LDFLAGS"
2735 CPPFLAGS="$OLD_CPPFLAGS"
2741 dnl *** musepack ***
2742 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2743 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2744 AC_CHECK_HEADER([mpc/mpcdec.h], [
2746 MUSEPACK_LIBS="-lmpcdec"
2747 AC_SUBST(MUSEPACK_LIBS)
2748 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2750 MUSEPACK_LIBS="-lmpcdec"
2751 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2752 AC_SUBST(MUSEPACK_LIBS)
2753 ], [HAVE_MUSEPACK="no"])])
2757 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2758 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2760 if test "x$HAVE_X" = "xyes"; then
2761 save_cppflags=$CFLAGS
2762 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2763 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2764 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2765 CPPFLAGS="$save_cppflags"
2767 AC_SUBST(NAS_CFLAGS)
2772 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2773 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2774 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2777 AC_SUBST(NEON_CFLAGS)
2782 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2783 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2784 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2787 AC_SUBST(OFA_CFLAGS)
2792 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2793 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2794 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2797 AC_SUBST(OPENAL_CFLAGS)
2798 AC_SUBST(OPENAL_LIBS)
2802 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2803 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2804 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2805 dnl and don't want the build to break when a new opencv version comes out.
2806 dnl Need to adjust this upwards once we know that our code compiles fine with
2807 dnl a new version and the no-backward-compatibility define. (There doesn't
2808 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2810 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv <= 3.1.0 , [
2813 OLD_CPPFLAGS=$CPPFLAGS
2814 CPPFLAGS=$OPENCV_CFLAGS
2815 something_not_found=no
2816 AC_CHECK_HEADERS([opencv2/core/core_c.h \
2817 opencv2/core/version.hpp \
2818 opencv2/highgui/highgui_c.h \
2819 opencv2/imgproc/imgproc.hpp \
2820 opencv2/imgproc/imgproc_c.h \
2821 opencv2/objdetect/objdetect.hpp \
2822 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2823 CPPFLAGS=$OLD_CPPFLAGS
2826 if test $something_not_found = "yes"; then
2827 AC_MSG_RESULT([not all opencv2 headers were found])
2835 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2836 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2837 AC_SUBST(OPENCV_PREFIX)
2838 AC_SUBST(OPENCV_CFLAGS)
2839 AC_SUBST(OPENCV_LIBS)
2840 dnl the OpenCV prefix is used at runtime for some object properties, and also
2841 dnl used here to detect which directory is the correct one. For the second
2842 dnl case, make sure the right sysroot is used, ensuring correct behavior
2843 dnl during cross compilation.
2844 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2845 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2847 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2852 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2853 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2854 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2857 dnl *** openh264 ***
2858 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2859 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2860 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2863 dnl *** OpenJPEG ***
2864 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2865 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2867 AG_GST_PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= 2.0)
2868 if test x"$HAVE_OPENJPEG" = x"yes"; then
2869 dnl minor API changes in v2.1
2870 AG_GST_PKG_CHECK_MODULES(OPENJPEG_2_1, libopenjp2 >= 2.1)
2871 if test x"$HAVE_OPENJPEG" = x"yes"; then
2872 AC_DEFINE([HAVE_OPENJPEG_2_1], 1, [Define if OpenJPEG 2.1 is used])
2877 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2878 HAVE_OPENJPEG="yes",
2879 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2881 if test x"$HAVE_OPENJPEG" = x"yes"; then
2882 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2885 AC_SUBST(OPENJPEG_CFLAGS)
2886 AC_SUBST(OPENJPEG_LIBS)
2890 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2891 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2892 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2893 AC_SUBST(OPENNI2_CFLAGS)
2894 AC_SUBST(OPENNI2_LIBS)
2898 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2899 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2900 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2901 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2906 AC_SUBST(OPUS_CFLAGS)
2911 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2912 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2913 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2914 AC_SUBST(PVR_CFLAGS)
2918 AC_ARG_WITH([pvr-external-headers],
2919 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2920 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2921 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2922 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2925 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2926 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2927 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2931 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2932 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2935 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2942 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2943 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2944 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2945 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2950 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2952 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2953 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2954 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2955 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2957 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2959 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2960 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2961 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2962 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2964 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2966 if test "x$GDK_WINDOWING" = "xyes"; then
2967 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2974 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2977 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2978 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2979 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2980 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2981 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2982 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2983 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2984 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2985 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2986 AC_MSG_WARN([One of the required qt build programs was not found])
2990 HAVE_QT_WINDOWING="no"
2991 QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`"
2992 QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui
2993 AS_IF([test -f "$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [
2994 QT_CFLAGS="$QT_CFLAGS -I$QPA_INCLUDE_PATH"
2995 HAVE_QT_QPA_HEADER="yes"
2996 ], [AC_MSG_NOTICE([Cannot find QPA])])
2997 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2998 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2999 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
3000 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
3001 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
3002 HAVE_QT_WINDOWING="yes"
3003 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
3005 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
3006 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
3007 AC_DEFINE([HAVE_QT_WAYLAND], [],
3008 [Define if Qt Wayland integration is installed])
3009 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
3010 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
3011 HAVE_QT_WINDOWING="yes"
3012 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
3014 if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
3015 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then
3016 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
3017 # c++ on android requires a standard library and there are multiple
3018 # choices. cerbero provides a pkg-config file the describes a choice
3019 # so try to use that. Outside cerbero one has to pass these flags
3020 # manually for the library one is using
3021 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3022 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
3023 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
3025 AC_MSG_NOTICE([Could not find Standard C++ library])])
3026 AC_DEFINE([HAVE_QT_EGLFS], [],
3027 [Define if Qt eglfs integration is installed])
3028 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
3029 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
3030 HAVE_QT_WINDOWING="yes"
3031 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
3033 AC_DEFINE([HAVE_QT_EGLFS], [],
3034 [Define if Qt eglfs integration is installed])
3035 HAVE_QT_WINDOWING="yes"
3038 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
3039 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
3040 AC_DEFINE([HAVE_QT_MAC], [],
3041 [Define if Qt Mac integration is installed])
3042 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
3043 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
3044 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
3045 HAVE_QT_WINDOWING="yes"
3046 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
3048 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
3049 if test "x$HAVE_IOS" = "xyes"; then
3050 # iOS doesn't have its own extras package so if we have the core
3051 # modules we are good to go
3052 AC_DEFINE([HAVE_QT_IOS], [],
3053 [Define if Qt iOS integration is installed])
3054 HAVE_QT_WINDOWING="yes"
3057 if test "x$HAVE_QT_WINDOWING" = "xno"; then
3058 AC_MSG_WARN([Could not find any Qt Windowing integration])
3061 AC_SUBST([QT_CFLAGS])
3070 translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
3071 AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
3072 AC_CHECK_HEADER(vulkan/vulkan.h, [
3073 AC_CHECK_LIB(vulkan, vkCreateDevice, [
3074 VULKAN_LIBS="-lvulkan"
3075 AC_SUBST(VULKAN_LIBS)
3076 if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
3079 if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
3086 dnl *** libvisual ***
3087 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
3088 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
3089 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
3090 if test x$HAVE_LIBVISUAL = xyes; then
3091 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
3093 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
3094 if test x$LIBVIS_PLUGINSDIR != x; then
3095 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
3096 "$LIBVIS_PLUGINSDIR",
3097 [directory in which the detected libvisual's plugins are located])
3101 dnl *** timidity ***
3102 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
3103 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
3104 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
3105 HAVE_TIMIDITY="yes",
3106 AC_MSG_CHECKING([for timidity.cfg])
3108 if test -r /etc/timidity.cfg; then
3109 timidity_cfg=/etc/timidity.cfg
3110 elif test -r /etc/timidity/timidity.cfg; then
3111 timidity_cfg=/etc/timidity/timidity.cfg
3112 elif test -r /usr/share/timidity/timidity.cfg; then
3113 timidity_cfg=/usr/share/timidity/timidity.cfg
3114 elif test -r /usr/local/share/timidity/timidity.cfg; then
3115 timidity_cfg=/usr/local/share/timidity/timidity.cfg
3117 if test "x$timidity_cfg" != "x"; then
3118 AC_MSG_RESULT($timidity_cfg)
3119 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
3121 AC_MSG_RESULT([not found])
3126 AC_SUBST(TIMIDITY_CFLAGS)
3127 AC_SUBST(TIMIDITY_LIBS)
3130 dnl *** teletextdec ***
3131 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
3132 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
3133 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
3136 dnl *** wildmidi ***
3137 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
3138 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
3139 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
3142 WILDMIDI_LIBS="-lWildMidi")
3143 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
3145 if test "x$HAVE_WILDMIDI" = "xyes"; then
3147 WILDMIDI_LIBS=-lWildMidi
3148 AC_MSG_NOTICE(compiling gstWildMidi)
3152 AC_MSG_WARN(no WildMidi library found (libWildMidi))
3154 AC_SUBST(WILDMIDI_CFLAGS)
3155 AC_SUBST(WILDMIDI_LIBS)
3159 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
3160 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
3161 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
3164 dnl **** Smooth Streaming ****
3165 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
3166 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
3167 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
3169 HAVE_SMOOTHSTREAMING="yes"],
3171 HAVE_SMOOTHSTREAMING="no"])
3172 AC_SUBST(LIBXML2_CFLAGS)
3173 AC_SUBST(LIBXML2_LIBS)
3177 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
3178 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
3179 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
3180 AC_SUBST(SNDFILE_CFLAGS)
3181 AC_SUBST(SNDFILE_LIBS)
3184 dnl *** soundtouch ***
3185 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
3186 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
3187 dnl We only need -lBPM on soundtouch < 1.4
3188 dnl We check for libSoundTouch since Debian used it before upstream
3189 dnl added a pkgconfig file.
3190 HAVE_SOUNDTOUCH_1_4=yes
3191 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
3192 [HAVE_SOUNDTOUCH=yes],
3193 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
3194 [HAVE_SOUNDTOUCH=yes],
3195 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
3196 [HAVE_SOUNDTOUCH=yes
3197 HAVE_SOUNDTOUCH_1_4=no
3198 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3199 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
3200 [HAVE_SOUNDTOUCH=yes],
3201 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
3202 [HAVE_SOUNDTOUCH=yes
3203 HAVE_SOUNDTOUCH_1_4=no
3204 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
3205 HAVE_SOUNDTOUCH=no)])])])])
3206 AC_SUBST(SOUNDTOUCH_CFLAGS)
3207 AC_SUBST(SOUNDTOUCH_LIBS)
3208 if test "x$HAVE_CXX" != "xyes"; then
3209 USE_SOUNDTOUCH=false
3210 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
3212 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
3213 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
3214 [Defined if the available libSoundTouch is >= 1.4])
3219 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
3220 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
3221 AC_CHECK_HEADER(openspc.h, [
3222 AC_CHECK_LIB(openspc, OSPC_Init, [
3223 SPC_LIBS="-lopenspc"
3235 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3236 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3237 AC_CHECK_HEADER(gme/gme.h, [
3238 AC_CHECK_LIB(gme, gme_new_emu, [
3249 if test "x$HAVE_GME" = "xyes"; then
3250 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3251 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3257 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3258 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3260 AC_CHECK_HEADER(xvid.h, [
3262 LIBS="$PTHREAD_LIBS $LIBM"
3263 AC_CHECK_LIB(xvidcore, xvid_encore, [
3264 AC_CHECK_LIB(xvidcore, xvid_decore, [
3265 AC_CHECK_LIB(xvidcore, xvid_global, [
3266 AC_MSG_CHECKING([for up-to-date XviD API version])
3267 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3268 #if XVID_API_MAJOR(XVID_API) != 4
3269 #error "Incompatible XviD API version"
3271 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3272 #error "Incompatible XviD API version"
3274 ]])],[ AC_MSG_RESULT(yes)
3275 XVID_LIBS="-lxvidcore $LIBM"
3278 ],[AC_MSG_RESULT(no) ])
3287 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3288 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3289 AC_MSG_CHECKING([Checking for up to date dvb installation])
3290 AC_CHECK_HEADER(linux/dvb/version.h, [
3291 AC_MSG_CHECKING([for up-to-date dvb API])
3292 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3293 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3294 #error "Incompatible dvb API"
3296 ]])], [ AC_MSG_RESULT(yes)
3298 ], [ AC_MSG_RESULT(no)
3305 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3306 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3307 AC_MSG_CHECKING([Checking for windows internet support])
3308 AC_CHECK_HEADERS([windows.h wininet.h],
3309 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3310 [AC_INCLUDES_DEFAULT
3311 #include <windows.h>])
3315 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3316 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3317 AC_MSG_CHECKING([Checking for ACM support])
3318 AC_CHECK_HEADERS([windows.h msacm.h],
3320 AC_SUBST(ACMENC_CFLAGS)
3321 AC_SUBST(ACMMP3DEC_CFLAGS)
3323 [AC_INCLUDES_DEFAULT
3324 #include <windows.h>])
3328 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3329 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3334 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3336 if test "$HAVE_VDPAU" = "no"; then
3337 saved_CPPFLAGS="$CPPFLAGS"
3338 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3340 if test -z "$HAVE_VDPAU_H"; then
3341 dnl Didn't find VDPAU header straight away.
3342 dnl Try /usr/include/nvidia. Need to clear caching vars first
3343 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3344 unset ac_cv_header_vdpau_vdpau_h
3345 unset ac_cv_header_vdpau_vdpau_x11_h
3346 VDPAU_CFLAGS="-I/usr/include/nvidia"
3347 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3348 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3349 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3352 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3354 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3355 dnl Found the headers - look for the lib
3356 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3358 LIBS="$VDPAU_LIBS $saved_LIBS"
3359 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3365 if test "$HAVE_VDPAU" = "yes"; then
3366 AC_MSG_NOTICE([Found up to date VDPAU installation])
3367 AC_SUBST(VDPAU_CFLAGS)
3368 AC_SUBST(VDPAU_LIBS)
3373 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3374 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3375 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3378 dnl *** schroedinger ***
3379 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3380 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3381 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3385 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3386 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3387 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3391 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3392 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3393 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3397 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3398 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3399 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3400 HAVE_SPANDSP="yes" ], [
3404 AC_SUBST(SPANDSP_CFLAGS)
3405 AC_SUBST(SPANDSP_LIBS)
3408 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3409 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3410 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3411 if test "x$HAVE_SNDIO" = "xyes"; then
3412 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3413 if test "x$HAVE_SNDIO" = "xyes"; then
3415 AC_SUBST(SNDIO_LIBS)
3420 dnl *** hls-crypto ***
3421 AC_ARG_WITH([hls-crypto],
3422 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3423 which cryptographic library version to compile against for hls (default: auto)
3425 AS_CASE([$with_hls_crypto],
3429 [with_hls_crypto=auto]
3435 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3436 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3437 AS_CASE([$with_hls_crypto],
3439 PKG_CHECK_MODULES(NETTLE, nettle, [
3440 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3442 ],[AC_MSG_ERROR([Could not find nettle library])])
3445 AM_PATH_LIBGCRYPT([1.2.0], [
3446 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3448 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3451 PKG_CHECK_MODULES(OPENSSL, openssl, [
3452 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3454 ],[AC_MSG_ERROR([Could not find openssl library])])
3457 dnl Try to find a valid crypto library
3458 PKG_CHECK_MODULES(NETTLE, nettle, [
3459 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3462 AM_PATH_LIBGCRYPT([1.2.0], [
3463 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3466 PKG_CHECK_MODULES(OPENSSL, openssl, [
3467 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3478 dnl *** x265 (H.265/HEVC encoder) ***
3479 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3480 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3481 AG_GST_PKG_CHECK_MODULES(X265, x265)
3484 dnl *** WebRTC Audio Processing ***
3485 dnl Note: We test for a specific version as there is no API stability
3486 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
3487 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
3489 AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
3491 # On Android, C++ headers comes with the STL implementation
3492 AS_CASE(["${host}"],
3495 PKG_CHECK_MODULES(GNUSTL, gnustl, [
3496 WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
3497 WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
3499 AC_SUBST([WEBRTCDSP_CFLAGS])
3500 AC_SUBST([WEBRTCDSP_LIBS])
3503 old_CPPFLAGS=$CPPFLAGS
3504 CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
3505 AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
3506 CPPFLAGS=$old_CPPFLAGS
3512 dnl not building plugins with external dependencies,
3513 dnl but we still need to set the conditionals
3515 AM_CONDITIONAL(USE_ASSRENDER, false)
3516 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3517 AM_CONDITIONAL(USE_VOAACENC, false)
3518 AM_CONDITIONAL(USE_APEXSINK, false)
3519 AM_CONDITIONAL(USE_BS2B, false)
3520 AM_CONDITIONAL(USE_BZ2, false)
3521 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3522 AM_CONDITIONAL(USE_CURL, false)
3523 AM_CONDITIONAL(USE_SSH2, false)
3524 AM_CONDITIONAL(USE_DASH, false)
3525 AM_CONDITIONAL(USE_DC1394, false)
3526 AM_CONDITIONAL(USE_DECKLINK, false)
3527 AM_CONDITIONAL(DECKLINK_OSX, false)
3528 AM_CONDITIONAL(USE_DIRECTFB, false)
3529 AM_CONDITIONAL(USE_WAYLAND, false)
3530 AM_CONDITIONAL(USE_DAALA, false)
3531 AM_CONDITIONAL(USE_DTS, false)
3532 AM_CONDITIONAL(USE_EXIF, false)
3533 AM_CONDITIONAL(USE_RESINDVD, false)
3534 AM_CONDITIONAL(USE_FAAC, false)
3535 AM_CONDITIONAL(USE_FAAD, false)
3536 AM_CONDITIONAL(USE_FBDEV, false)
3537 AM_CONDITIONAL(USE_FDK_AAC, false)
3538 AM_CONDITIONAL(USE_FLITE, false)
3539 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3540 AM_CONDITIONAL(USE_GL, false)
3541 AM_CONDITIONAL(USE_GSM, false)
3542 AM_CONDITIONAL(USE_GTK3, false)
3543 AM_CONDITIONAL(USE_GTK3_GL, false)
3544 AM_CONDITIONAL(USE_HLS, false)
3545 AM_CONDITIONAL(USE_IQA, false)
3546 AM_CONDITIONAL(USE_KATE, false)
3547 AM_CONDITIONAL(USE_KMS, false)
3548 AM_CONDITIONAL(USE_TIGER, false)
3549 AM_CONDITIONAL(USE_LADSPA, false)
3550 AM_CONDITIONAL(USE_LV2, false)
3551 AM_CONDITIONAL(USE_LIBDE265, false)
3552 AM_CONDITIONAL(USE_LIBMMS, false)
3553 AM_CONDITIONAL(USE_LINSYS, false)
3554 AM_CONDITIONAL(USE_MODPLUG, false)
3555 AM_CONDITIONAL(USE_MIMIC, false)
3556 AM_CONDITIONAL(USE_MPEG2ENC, false)
3557 AM_CONDITIONAL(USE_MPLEX, false)
3558 AM_CONDITIONAL(USE_MUSEPACK, false)
3559 AM_CONDITIONAL(USE_NAS, false)
3560 AM_CONDITIONAL(USE_NEON, false)
3561 AM_CONDITIONAL(USE_OFA, false)
3562 AM_CONDITIONAL(USE_OPENAL, false)
3563 AM_CONDITIONAL(USE_OPENCV, false)
3564 AM_CONDITIONAL(USE_OPENEXR, false)
3565 AM_CONDITIONAL(USE_OPENJPEG, false)
3566 AM_CONDITIONAL(USE_OPENNI2, false)
3567 AM_CONDITIONAL(USE_OPUS, false)
3568 AM_CONDITIONAL(USE_PVR, false)
3569 AM_CONDITIONAL(USE_QT, false)
3570 AM_CONDITIONAL(USE_LIBVISUAL, false)
3571 AM_CONDITIONAL(USE_TIMIDITY, false)
3572 AM_CONDITIONAL(USE_WILDMIDI, false)
3573 AM_CONDITIONAL(USE_SDL, false)
3574 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3575 AM_CONDITIONAL(USE_SNDFILE, false)
3576 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3577 AM_CONDITIONAL(USE_SPANDSP, false)
3578 AM_CONDITIONAL(USE_SPC, false)
3579 AM_CONDITIONAL(USE_SRTP, false)
3580 AM_CONDITIONAL(USE_GME, false)
3581 AM_CONDITIONAL(USE_XVID, false)
3582 AM_CONDITIONAL(USE_DVB, false)
3583 AM_CONDITIONAL(USE_WININET, false)
3584 AM_CONDITIONAL(USE_ACM, false)
3585 AM_CONDITIONAL(USE_VDPAU, false)
3586 AM_CONDITIONAL(USE_SBC, false)
3587 AM_CONDITIONAL(USE_SCHRO, false)
3588 AM_CONDITIONAL(USE_ZBAR, false)
3589 AM_CONDITIONAL(USE_RSVG, false)
3590 AM_CONDITIONAL(USE_RTMP, false)
3591 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3592 AM_CONDITIONAL(USE_SNDIO, false)
3593 AM_CONDITIONAL(USE_UVCH264, false)
3594 AM_CONDITIONAL(USE_WEBP, false)
3595 AM_CONDITIONAL(USE_WEBRTCDSP, false)
3596 AM_CONDITIONAL(USE_OPENH264, false)
3597 AM_CONDITIONAL(USE_X265, false)
3598 AM_CONDITIONAL(USE_DTLS, false)
3599 AM_CONDITIONAL(USE_VULKAN, false)
3600 AM_CONDITIONAL(USE_TTML, false)
3602 fi dnl of EXT plugins
3604 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3607 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3608 dnl GST_*: flags shared by built objects to link against GStreamer
3609 dnl GST_ALL_LDFLAGS: linker flags shared by all
3610 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3611 dnl GST_LT_LDFLAGS: library versioning of our libraries
3612 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3614 dnl GST_OPTION_CFLAGS
3615 if test "x$USE_DEBUG" = xyes; then
3618 AC_SUBST(PROFILE_CFLAGS)
3620 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3621 dnl Define _only_ during CVS (not pre-releases or releases)
3622 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3624 DEPRECATED_CFLAGS=""
3626 AC_SUBST(DEPRECATED_CFLAGS)
3628 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3629 dnl at make time with e.g. make ERROR_CFLAGS=""
3630 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3631 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3632 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3633 AC_SUBST(GST_OPTION_CFLAGS)
3634 AC_SUBST(GST_OPTION_CXXFLAGS)
3635 AC_SUBST(GST_OPTION_OBJCFLAGS)
3637 dnl FIXME: do we want to rename to GST_ALL_* ?
3638 dnl prefer internal headers to already installed ones
3639 dnl also add builddir include for enumtypes and marshal
3640 dnl add GST_OPTION_CFLAGS, but overridable
3641 GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API"
3642 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3643 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3644 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3645 AC_SUBST(GST_CFLAGS)
3646 AC_SUBST(GST_CXXFLAGS)
3647 AC_SUBST(GST_OBJCFLAGS)
3649 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3650 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3651 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3652 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3653 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3654 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3656 dnl LDFLAGS really should only contain flags, not libs - they get added before
3657 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3658 GST_ALL_LDFLAGS="-no-undefined"
3659 if test "x${enable_Bsymbolic}" = "xyes"; then
3660 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3662 AC_SUBST(GST_ALL_LDFLAGS)
3665 dnl linker flags shared by all libraries
3666 dnl LDFLAGS modifier defining exported symbols from built libraries
3667 dnl (export _gst_foo but not __gst_foo)
3668 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3669 AC_SUBST(GST_LIB_LDFLAGS)
3671 dnl this really should only contain flags, not libs - they get added before
3672 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3673 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3674 AC_SUBST(GST_PLUGIN_LDFLAGS)
3676 dnl *** output files ***
3678 $MKDIR_P tests/check/orc
3686 gst-plugins-bad.spec
3688 gst/accurip/Makefile
3689 gst/adpcmdec/Makefile
3690 gst/adpcmenc/Makefile
3692 gst/videoframe_audiolevel/Makefile
3694 gst/audiofxbad/Makefile
3695 gst/audiomixer/Makefile
3696 gst/audiovisualizers/Makefile
3697 gst/autoconvert/Makefile
3699 gst/camerabin2/Makefile
3700 gst/cdxaparse/Makefile
3701 gst/coloreffects/Makefile
3702 gst/dataurisrc/Makefile
3704 gst/debugutils/Makefile
3705 gst/dvbsuboverlay/Makefile
3707 gst/faceoverlay/Makefile
3708 gst/festival/Makefile
3709 gst/fieldanalysis/Makefile
3710 gst/freeverb/Makefile
3712 gst/gaudieffects/Makefile
3713 gst/geometrictransform/Makefile
3715 gst/hdvparse/Makefile
3718 gst/interlace/Makefile
3719 gst/ivfparse/Makefile
3721 gst/jp2kdecimator/Makefile
3722 gst/jpegformat/Makefile
3725 gst/mpegdemux/Makefile
3726 gst/mpegtsdemux/Makefile
3727 gst/mpegtsmux/Makefile
3728 gst/mpegtsmux/tsmux/Makefile
3729 gst/mpegpsmux/Makefile
3733 gst/nuvdemux/Makefile
3735 gst/patchdetect/Makefile
3736 gst/pcapparse/Makefile
3738 gst/rawparse/Makefile
3739 gst/removesilence/Makefile
3742 gst/segmentclip/Makefile
3749 gst/timecode/Makefile
3750 gst/videofilters/Makefile
3751 gst/videomeasure/Makefile
3752 gst/videoparsers/Makefile
3753 gst/videosignal/Makefile
3757 gst/compositor/Makefile
3759 gst-libs/gst/Makefile
3760 gst-libs/gst/adaptivedemux/Makefile
3761 gst-libs/gst/basecamerabinsrc/Makefile
3762 gst-libs/gst/gl/Makefile
3763 gst-libs/gst/gl/android/Makefile
3764 gst-libs/gst/gl/cocoa/Makefile
3765 gst-libs/gst/gl/dispmanx/Makefile
3766 gst-libs/gst/gl/glprototypes/Makefile
3767 gst-libs/gst/gl/eagl/Makefile
3768 gst-libs/gst/gl/egl/Makefile
3769 gst-libs/gst/gl/wayland/Makefile
3770 gst-libs/gst/gl/win32/Makefile
3771 gst-libs/gst/gl/x11/Makefile
3772 gst-libs/gst/insertbin/Makefile
3773 gst-libs/gst/interfaces/Makefile
3774 gst-libs/gst/codecparsers/Makefile
3775 gst-libs/gst/mpegts/Makefile
3776 gst-libs/gst/uridownloader/Makefile
3777 gst-libs/gst/wayland/Makefile
3778 gst-libs/gst/base/Makefile
3779 gst-libs/gst/player/Makefile
3780 gst-libs/gst/video/Makefile
3781 gst-libs/gst/audio/Makefile
3782 gst-libs/gst/opencv/Makefile
3784 sys/dshowdecwrapper/Makefile
3786 sys/acmmp3dec/Makefile
3787 sys/androidmedia/Makefile
3788 sys/applemedia/Makefile
3791 sys/d3dvideosink/Makefile
3792 sys/decklink/Makefile
3793 sys/directsound/Makefile
3794 sys/dshowsrcwrapper/Makefile
3795 sys/dshowvideosink/Makefile
3802 sys/opensles/Makefile
3804 sys/tinyalsa/Makefile
3805 sys/uvch264/Makefile
3810 sys/wininet/Makefile
3812 sys/winscreencap/Makefile
3814 tests/check/Makefile
3815 tests/files/Makefile
3816 tests/examples/Makefile
3817 tests/examples/avsamplesink/Makefile
3818 tests/examples/camerabin2/Makefile
3819 tests/examples/codecparsers/Makefile
3820 tests/examples/directfb/Makefile
3821 tests/examples/gl/Makefile
3822 tests/examples/gl/cocoa/Makefile
3823 tests/examples/gl/clutter/Makefile
3824 tests/examples/gl/generic/Makefile
3825 tests/examples/gl/generic/cube/Makefile
3826 tests/examples/gl/generic/cubeyuv/Makefile
3827 tests/examples/gl/generic/doublecube/Makefile
3828 tests/examples/gl/generic/recordgraphic/Makefile
3829 tests/examples/gl/gtk/Makefile
3830 tests/examples/gl/gtk/3dvideo/Makefile
3831 tests/examples/gl/gtk/filternovideooverlay/Makefile
3832 tests/examples/gl/gtk/filtervideooverlay/Makefile
3833 tests/examples/gl/gtk/fxtest/Makefile
3834 tests/examples/gl/gtk/switchvideooverlay/Makefile
3835 tests/examples/gl/qt/Makefile
3836 tests/examples/gl/sdl/Makefile
3837 tests/examples/gtk/Makefile
3838 tests/examples/mpegts/Makefile
3839 tests/examples/mxf/Makefile
3840 tests/examples/opencv/Makefile
3841 tests/examples/uvch264/Makefile
3842 tests/examples/waylandsink/Makefile
3843 tests/icles/Makefile
3844 ext/voamrwbenc/Makefile
3845 ext/voaacenc/Makefile
3846 ext/assrender/Makefile
3847 ext/apexsink/Makefile
3850 ext/chromaprint/Makefile
3854 ext/directfb/Makefile
3855 ext/wayland/Makefile
3864 ext/fluidsynth/Makefile
3871 ext/libde265/Makefile
3873 ext/libvisual/Makefile
3875 ext/modplug/Makefile
3876 ext/mpeg2enc/Makefile
3879 ext/musepack/Makefile
3885 ext/openexr/Makefile
3886 ext/openh264/Makefile
3887 ext/openjpeg/Makefile
3888 ext/openni2/Makefile
3892 ext/resindvd/Makefile
3895 ext/schroedinger/Makefile
3897 ext/smoothstreaming/Makefile
3898 ext/sndfile/Makefile
3899 ext/soundtouch/Makefile
3900 ext/spandsp/Makefile
3903 ext/teletextdec/Makefile
3906 ext/timidity/Makefile
3908 ext/vulkan/xcb/Makefile
3909 ext/vulkan/wayland/Makefile
3915 ext/webrtcdsp/Makefile
3919 docs/plugins/Makefile
3921 docs/version.entities
3923 pkgconfig/gstreamer-plugins-bad.pc
3924 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3925 pkgconfig/gstreamer-codecparsers.pc
3926 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3927 pkgconfig/gstreamer-insertbin.pc
3928 pkgconfig/gstreamer-insertbin-uninstalled.pc
3929 pkgconfig/gstreamer-gl.pc
3930 pkgconfig/gstreamer-gl-uninstalled.pc
3931 pkgconfig/gstreamer-mpegts.pc
3932 pkgconfig/gstreamer-mpegts-uninstalled.pc
3933 pkgconfig/gstreamer-player.pc
3934 pkgconfig/gstreamer-player-uninstalled.pc
3935 pkgconfig/gstreamer-wayland.pc
3936 pkgconfig/gstreamer-wayland-uninstalled.pc
3937 pkgconfig/gstreamer-bad-base.pc
3938 pkgconfig/gstreamer-bad-base-uninstalled.pc
3939 pkgconfig/gstreamer-bad-video.pc
3940 pkgconfig/gstreamer-bad-video-uninstalled.pc
3941 pkgconfig/gstreamer-bad-audio.pc
3942 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3947 dnl Create the config.h file for Visual Studio builds
3948 dnl Beware of spaces and /'s in some of the shell variable contents.
3950 -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"/' \
3951 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3952 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3953 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3954 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3955 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3956 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3957 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3958 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3959 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3960 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3961 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3962 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3963 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3964 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3965 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3966 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3967 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3968 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3969 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3970 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3971 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3972 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3973 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3974 -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/' \
3975 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3976 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3977 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3978 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3979 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3980 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3981 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3982 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3983 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3984 config.h.in >win32/common/config.h-new
3988 AG_GST_OUTPUT_PLUGINS