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.7.1.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, 701, 0, 701)
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 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
206 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
208 dnl check for uninstalled plugin directories for unit tests
209 AG_GST_CHECK_UNINSTALLED_SETUP([
210 AG_GST_CHECK_GST_PLUGINS_GOOD($GST_API_VERSION, [0.11.0])
211 AG_GST_CHECK_GST_PLUGINS_UGLY($GST_API_VERSION, [0.11.0])
212 AG_GST_CHECK_GST_PLUGINS_LIBAV($GST_API_VERSION, [0.11.0])
215 dnl Check for documentation xrefs
216 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
217 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
218 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
219 AC_SUBST(GLIB_PREFIX)
221 AC_SUBST(GSTPB_PREFIX)
223 dnl GTK is optional and used in examples
227 if test "x$BUILD_EXAMPLES" = "xyes"; then
228 AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
230 AS_HELP_STRING([--with-gtk=3.0|2.0],[which gtk+ version to compile against (default: 2.0)]),
232 2.0) GTK_REQ=$GTK2_REQ ;;
233 3.0) GTK_REQ=$GTK3_REQ ;;
234 *) AC_MSG_ERROR([invalid gtk+ version specified]);;
238 AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
239 PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
243 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
245 dnl Check for -Bsymbolic-functions linker flag used to avoid
246 dnl intra-library PLT jumps, if available.
247 AC_ARG_ENABLE(Bsymbolic,
248 [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
249 [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
250 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
251 LDFLAGS=-Wl,-Bsymbolic-functions
253 AC_TRY_LINK([], [return 0],
255 enable_Bsymbolic=yes,
258 LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
260 dnl *** set variables based on configure arguments ***
262 dnl GTK is optional and used in examples
264 if test "x$BUILD_EXAMPLES" = "xyes"; then
265 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.4, HAVE_GTK3=yes, HAVE_GTK3=no)
266 if test "x$HAVE_GTK3" = "xyes"; then
268 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
269 AC_SUBST(GTK_VERSION)
270 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
271 AC_SUBST(GTK_BASE_DIR)
275 AC_SUBST(GTK3_CFLAGS)
277 AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes")
279 dnl clutter is optional and used in examples
283 if test "x$BUILD_EXAMPLES" = "xyes"; then
284 PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= 1.8, HAVE_CLUTTER=yes, HAVE_CLUTTER=no)
285 AC_SUBST(CLUTTER_LIBS)
286 AC_SUBST(CLUTTER_CFLAGS)
287 AC_SUBST(HAVE_CLUTTER)
289 PKG_CHECK_MODULES(CLUTTER_GLX, clutter-glx-1.0 >= 1.8, HAVE_CLUTTER_GLX=yes, HAVE_CLUTTER_GLX=no)
290 AC_SUBST(CLUTTER_GLX_LIBS)
291 AC_SUBST(CLUTTER_GLX_CFLAGS)
292 AC_SUBST(HAVE_CLUTTER_GLX)
294 PKG_CHECK_MODULES(CLUTTER_X11, clutter-x11-1.0 >= 1.8, HAVE_CLUTTER_X11=yes, HAVE_CLUTTER_X11=no)
295 AC_SUBST(CLUTTER_X11_LIBS)
296 AC_SUBST(CLUTTER_X11_CFLAGS)
297 AC_SUBST(HAVE_CLUTTER_X11)
299 AM_CONDITIONAL(HAVE_CLUTTER, test "x$HAVE_CLUTTER" = "xyes")
300 AM_CONDITIONAL(HAVE_CLUTTER_GLX, test "x$HAVE_CLUTTER_GLX" = "xyes")
301 AM_CONDITIONAL(HAVE_CLUTTER_X11, test "x$HAVE_CLUTTER_X11" = "xyes")
303 dnl used in the gl/clutteractor example
304 if test "x$BUILD_EXAMPLES" = "xyes"; then
305 PKG_CHECK_MODULES(XCOMPOSITE, xcomposite, HAVE_XCOMPOSITE=yes, HAVE_XCOMPOSITE=no)
306 AC_SUBST(XCOMPOSITE_CFLAGS)
307 AC_SUBST(XCOMPOSITE_LIBS)
309 AM_CONDITIONAL(HAVE_XCOMPOSITE, test "x$HAVE_XCOMPOSITE" = "xyes")
311 dnl graphene-1.0 is optional and used in gltransformation
313 PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.0.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
314 if test "x$HAVE_GRAPHENE" = "xyes"; then
315 AC_DEFINE(HAVE_GRAPHENE, [1] , [Use graphene])
317 AC_SUBST(HAVE_GRAPHENE)
318 AC_SUBST(GRAPHENE_LIBS)
319 AC_SUBST(GRAPHENE_CFLAGS)
320 AM_CONDITIONAL(HAVE_GRAPHENE, test "x$HAVE_GRAPHENE" = "xyes")
323 dnl sdl is optional and used in examples
325 if test "x$BUILD_EXAMPLES" = "xyes"; then
326 PKG_CHECK_MODULES(SDL, sdl >= 1.2.0, HAVE_SDL=yes, HAVE_SDL=no)
329 AC_SUBST(SDL_CLUTTER)
331 AM_CONDITIONAL(HAVE_SDL, test "x$HAVE_SDL" = "xyes")
334 dnl Needed for GtkBuilder to autoconnect signals
335 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
337 dnl Needed by plugins that use g_module_*() API
338 PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
340 dnl x11 is optional for librfb
342 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
346 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
347 if test "x$HAVE_X11" = "xyes"; then
348 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
351 dnl exif (used on jifmux tests) ****
352 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
354 AC_SUBST(EXIF_CFLAGS)
355 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
360 dnl set license and copyright notice
362 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
363 AC_SUBST(GST_LICENSE)
365 dnl define LIBDIR so we can inform people where we live
366 AS_AC_EXPAND(LIBDIR, $libdir)
367 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
369 dnl set location of plugin directory
372 dnl set release date/time
373 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
374 ["${srcdir}/gst-plugins-bad.doap"],
375 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
377 dnl build static plugins or not
378 AC_MSG_CHECKING([whether to build static plugins or not])
382 [--enable-static-plugins],
383 [build static plugins @<:@default=no@:>@]),
385 [$enableval], [no], [], [yes], [],
386 [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
387 [enable_static_plugins=no])
388 AC_MSG_RESULT([$enable_static_plugins])
389 if test "x$enable_static_plugins" = xyes; then
390 AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
391 [Define if static plugins should be built])
392 GST_PLUGIN_LIBTOOLFLAGS=""
394 GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
396 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
397 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
399 AC_ARG_WITH([player-tests],
400 AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
401 if test x$with_player_tests = xyes; then
402 AC_PATH_PROG([WGET], [wget], no)
403 if test x$WGET = xno; then
404 AC_MSG_WARN([wget required for GstPlayer tests but not found - disabling])
408 AM_CONDITIONAL(WITH_GST_PLAYER_TESTS, test "x$with_player_tests" = "xyes")
410 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
411 dnl make sure it doesn't complain about unused variables if debugging is disabled
413 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
415 dnl define an ERROR_CFLAGS Makefile variable
416 dnl -Waggregate-return - libexif returns aggregates
417 dnl -Wundef - Windows headers check _MSC_VER unconditionally
418 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
419 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
420 -Wwrite-strings -Wformat-security -Wold-style-definition
421 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
422 -Wnested-externs $NO_WARNINGS])
424 dnl define an ERROR_CXXFLAGS Makefile variable
425 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
426 -Wmissing-declarations -Wredundant-decls
427 -Wwrite-strings -Wformat-nonliteral -Wformat-security
428 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
430 dnl define an ERROR_OBJCFLAGS Makefile variable
431 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
432 -Wmissing-declarations -Wredundant-decls
433 -Wwrite-strings -Wformat-nonliteral -Wformat-security
434 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
436 dnl define correct level for debugging messages
437 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
440 AG_GST_DEFAULT_ELEMENTS
442 dnl *** plug-ins to include ***
443 dnl Non ported plugins (non-dependant, then dependant)
444 dnl Make sure you have a space before and after all plugins
445 GST_PLUGINS_NONPORTED=" cdxaparse \
454 musepack nas sdl timidity \
456 xvid lv2 sndio libvisual"
457 AC_SUBST(GST_PLUGINS_NONPORTED)
459 dnl these are all the gst plug-ins, compilable without additional libs
460 AG_GST_CHECK_PLUGIN(accurip)
461 AG_GST_CHECK_PLUGIN(adpcmdec)
462 AG_GST_CHECK_PLUGIN(adpcmenc)
463 AG_GST_CHECK_PLUGIN(aiff)
464 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
465 AG_GST_CHECK_PLUGIN(asfmux)
466 AG_GST_CHECK_PLUGIN(audiofxbad)
467 AG_GST_CHECK_PLUGIN(audiomixer)
468 AG_GST_CHECK_PLUGIN(compositor)
469 AG_GST_CHECK_PLUGIN(audiovisualizers)
470 AG_GST_CHECK_PLUGIN(autoconvert)
471 AG_GST_CHECK_PLUGIN(bayer)
472 AG_GST_CHECK_PLUGIN(camerabin2)
473 AG_GST_CHECK_PLUGIN(cdxaparse)
474 AG_GST_CHECK_PLUGIN(coloreffects)
475 AG_GST_CHECK_PLUGIN(dataurisrc)
476 AG_GST_CHECK_PLUGIN(dccp)
477 AG_GST_CHECK_PLUGIN(debugutils)
478 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
479 AG_GST_CHECK_PLUGIN(dvdspu)
480 AG_GST_CHECK_PLUGIN(faceoverlay)
481 AG_GST_CHECK_PLUGIN(festival)
482 AG_GST_CHECK_PLUGIN(fieldanalysis)
483 AG_GST_CHECK_PLUGIN(freeverb)
484 AG_GST_CHECK_PLUGIN(frei0r)
485 AG_GST_CHECK_PLUGIN(gaudieffects)
486 AG_GST_CHECK_PLUGIN(geometrictransform)
487 AG_GST_CHECK_PLUGIN(gdp)
488 AG_GST_CHECK_PLUGIN(hdvparse)
489 AG_GST_CHECK_PLUGIN(id3tag)
490 AG_GST_CHECK_PLUGIN(inter)
491 AG_GST_CHECK_PLUGIN(interlace)
492 AG_GST_CHECK_PLUGIN(ivfparse)
493 AG_GST_CHECK_PLUGIN(ivtc)
494 AG_GST_CHECK_PLUGIN(jp2kdecimator)
495 AG_GST_CHECK_PLUGIN(jpegformat)
496 AG_GST_CHECK_PLUGIN(librfb)
497 AG_GST_CHECK_PLUGIN(midi)
498 AG_GST_CHECK_PLUGIN(mpegdemux)
499 AG_GST_CHECK_PLUGIN(mpegtsdemux)
500 AG_GST_CHECK_PLUGIN(mpegtsmux)
501 AG_GST_CHECK_PLUGIN(mpegpsmux)
502 AG_GST_CHECK_PLUGIN(mve)
503 AG_GST_CHECK_PLUGIN(mxf)
504 AG_GST_CHECK_PLUGIN(netsim)
505 AG_GST_CHECK_PLUGIN(nuvdemux)
506 AG_GST_CHECK_PLUGIN(onvif)
507 AG_GST_CHECK_PLUGIN(patchdetect)
508 AG_GST_CHECK_PLUGIN(pcapparse)
509 AG_GST_CHECK_PLUGIN(pnm)
510 AG_GST_CHECK_PLUGIN(rawparse)
511 AG_GST_CHECK_PLUGIN(removesilence)
512 AG_GST_CHECK_PLUGIN(sdi)
513 AG_GST_CHECK_PLUGIN(sdp)
514 AG_GST_CHECK_PLUGIN(segmentclip)
515 AG_GST_CHECK_PLUGIN(siren)
516 AG_GST_CHECK_PLUGIN(smooth)
517 AG_GST_CHECK_PLUGIN(speed)
518 AG_GST_CHECK_PLUGIN(subenc)
519 AG_GST_CHECK_PLUGIN(stereo)
520 AG_GST_CHECK_PLUGIN(tta)
521 AG_GST_CHECK_PLUGIN(videofilters)
522 AG_GST_CHECK_PLUGIN(videomeasure)
523 AG_GST_CHECK_PLUGIN(videoparsers)
524 AG_GST_CHECK_PLUGIN(videosignal)
525 AG_GST_CHECK_PLUGIN(vmnc)
526 AG_GST_CHECK_PLUGIN(y4m)
527 AG_GST_CHECK_PLUGIN(yadif)
529 dnl *** plug-ins to exclude ***
531 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
532 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
533 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
535 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
537 LIBS="$LIBS -framework VideoToolbox"
538 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
539 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
545 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
546 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
547 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
550 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
551 if test "x$HAVE_IOS" = "xyes"; then
552 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
555 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
556 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
557 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
560 dnl disable gst plugins we might not be able to build on this
561 dnl platform: (ugly but minimally invasive)
562 dnl FIXME: maybe move to sys, or make work with winsock2
563 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
564 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
566 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
567 WINSOCK2_LIBS="-lws2_32"
568 AC_SUBST(WINSOCK2_LIBS)
571 if test "x$HAVE_PTHREAD_H" = "xyes"; then
572 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
575 AG_GST_DISABLE_PLUGIN(dccp)
579 AC_ARG_ENABLE([opengl],
580 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
581 [case "${enableval}" in
584 auto) NEED_GL=auto ;;
585 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
586 esac],[NEED_GL=auto])
588 AC_ARG_WITH([opengl-module-name],
589 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
590 if test x$with_opengl_module_name != x; then
591 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
594 AC_ARG_ENABLE([gles2],
595 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
596 [case "${enableval}" in
597 yes) NEED_GLES2=yes ;;
599 auto) NEED_GLES2=auto ;;
600 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
601 esac],[NEED_GLES2=auto])
603 AC_ARG_WITH([gles2-module-name],
604 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
605 if test x$with_gles2_module_name != x; then
606 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
610 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
611 [case "${enableval}" in
614 auto) NEED_EGL=auto ;;
615 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
616 esac],[NEED_EGL=auto])
618 AC_ARG_WITH([egl-module-name],
619 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
620 if test x$with_egl_module_name != x; then
621 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
625 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
626 [case "${enableval}" in
629 auto) NEED_WGL=auto ;;
630 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
631 esac],[NEED_WGL=auto])
634 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
635 [case "${enableval}" in
638 auto) NEED_GLX=auto ;;
639 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
640 esac],[NEED_GLX=auto])
642 AC_ARG_ENABLE([cocoa],
643 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
644 [case "${enableval}" in
645 yes) NEED_COCOA=yes ;;
647 auto) NEED_COCOA=auto ;;
648 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
649 esac],[NEED_COCOA=auto])
652 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
653 [case "${enableval}" in
656 auto) NEED_X11=auto ;;
657 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
658 esac],[NEED_X11=auto])
660 AC_ARG_ENABLE([wayland],
661 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
662 [case "${enableval}" in
663 yes) NEED_WAYLAND_EGL=yes ;;
664 no) NEED_WAYLAND_EGL=no ;;
665 auto) NEED_WAYLAND_EGL=auto ;;
666 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
667 esac],[NEED_WAYLAND_EGL=auto])
669 AC_ARG_ENABLE([dispmanx],
670 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
671 [case "${enableval}" in
672 yes) NEED_DISPMANX=yes ;;
673 no) NEED_DISPMANX=no ;;
674 auto) NEED_DISPMANX=auto ;;
675 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
676 esac],[NEED_DISPMANX=auto])
678 AG_GST_PKG_CHECK_MODULES(X, x11)
679 save_CPPFLAGS="$CPPFLAGS"
691 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
692 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
693 if test "x$HAVE_WGLEXT" = "xyes"; then
699 if test "x$NEED_GL" != "xno"; then
700 AG_GST_PKG_CHECK_MODULES(GL, gl)
701 if test "x$HAVE_GL" != "xyes"; then
702 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
705 if test "x$NEED_GLES2" != "xno"; then
706 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
707 if test "x$HAVE_GLES2" != "xyes"; then
708 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
711 if test "x$NEED_EGL" != "xno"; then
712 AG_GST_PKG_CHECK_MODULES(EGL, egl)
713 if test "x$HAVE_EGL" != "xyes"; then
714 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
721 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
722 AC_CHECK_HEADER([EGL/fbdev_window.h],
725 AC_CHECK_LIB([Mali], [mali_image_create],
728 AC_CHECK_LIB([GLESv2], [glEnable],
730 AC_CHECK_HEADER([GLES2/gl2.h],
732 AC_CHECK_LIB([EGL], [eglGetProcAddress],
734 AC_CHECK_HEADER([EGL/egl.h],
738 EGL_LIBS="-lMali -lUMP"
740 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
748 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
749 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
750 LIBS="$LIBS -lvcos -lvchiq_arm"
751 AC_CHECK_LIB([bcm_host], [bcm_host_init],
753 LIBS="$LIBS -lbcm_host"
754 AC_CHECK_HEADER(bcm_host.h,
756 LIBS="$LIBS -lGLESv2"
757 AC_CHECK_LIB([EGL], [eglGetProcAddress],
760 AC_CHECK_HEADER([EGL/egl.h],
762 AC_CHECK_LIB([GLESv2], [glEnable],
764 AC_CHECK_HEADER([GLES2/gl2.h],
769 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
771 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
782 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)
786 CPPFLAGS="$save_CPPFLAGS"
800 dnl Check for what the user asked for and what we could find
801 if test "x$HAVE_EGL" = "xno"; then
802 if test "x$NEED_EGL" = "xyes"; then
803 AC_MSG_ERROR([Could not find the required EGL libraries])
807 if test "x$HAVE_GL" = "xno"; then
808 if test "x$NEED_GL" = "xyes"; then
809 AC_MSG_ERROR([Could not find the required OpenGL libraries])
813 if test "x$HAVE_GLES2" = "xno"; then
814 if test "x$NEED_GLES2" = "xyes"; then
815 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
819 dnl X, GLX and OpenGL
820 if test "x$HAVE_X" = "xno"; then
821 if test "x$NEED_GLX" = "xyes"; then
822 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
824 if test "x$NEED_X11" = "xyes"; then
825 AC_MSG_ERROR([Could not find X11 development libraries])
828 if test "x$NEED_GL" != "xno"; then
829 if test "x$HAVE_GL" = "xno"; then
830 if test "x$NEED_GLX" = "xyes"; then
831 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
835 if test "x$NEED_GLX" != "xno"; then
842 dnl check for DMABUF support
843 HAVE_DRM_FOURCC_HEADER=no
844 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
845 HAVE_DRM_FOURCC_HEADER=yes, )
847 HAVE_GST_ALLOCATORS=no
848 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
849 HAVE_GST_ALLOCATORS=yes, )
851 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
852 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
853 "x$HAVE_EGL" = "xyes"; then
854 AC_DEFINE(GST_GL_HAVE_DMABUF, [1] , [DMABUF available for gl plugins])
857 dnl check if we can include both GL and GLES2 at the same time
858 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
861 # pragma GCC diagnostic push
862 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
864 #ifndef GL_GLEXT_PROTOTYPES
865 #define GL_GLEXT_PROTOTYPES 1
868 # include <OpenGLES/ES2/gl.h>
869 # include <OpenGLES/ES2/glext.h>
871 # include <GLES2/gl2.h>
872 # include <GLES2/gl2ext.h>
875 # include <OpenGL/OpenGL.h>
876 # include <OpenGL/gl.h>
877 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
878 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
879 # include <OpenGL/gl3.h>
883 # if __WIN32__ || _WIN32
884 # include <GL/glext.h>
887 int main (int argc, char **argv) { return 0; }
889 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
890 save_CFLAGS="$CFLAGS"
891 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
892 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
893 #if !defined(GL_FALSE)
894 #error Failed to include GL headers
896 ]])],[ AC_MSG_RESULT(yes)
898 if test "x$NEED_GLES2" = "xyes"; then
899 if test "x$NEED_GL" = "xyes"; then
900 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
902 AC_MSG_WARN([Disabling Desktop GL support])
906 AC_MSG_WARN([Disabling GL|ES 2.0 support])
910 CFLAGS="$save_CFLAGS"
913 #dnl Check for OpenGL
917 if test "x$NEED_WGL" = "xyes"; then
918 AC_MSG_ERROR([WGL is not available on Android])
920 if test "x$NEED_GLX" = "xyes"; then
921 AC_MSG_ERROR([GLX is not available on Android])
923 if test "x$NEED_GL" = "xyes"; then
924 AC_MSG_ERROR([GL is not available on Android])
926 if test "x$NEED_X11" = "xyes"; then
927 AC_MSG_ERROR([X11 is not available on Android])
929 if test "x$NEED_COCOA" = "xyes"; then
930 AC_MSG_ERROR([Cocoa is not available on Android])
934 if test "x$HAVE_GLES2" = "xyes"; then
935 if test "x$NEED_GLES2" != "xno"; then
936 GL_LIBS="$GL_LIBS -lGLESv2"
942 if test "x$HAVE_EGL" = "xyes"; then
943 if test "x$NEED_EGL" != "xno"; then
944 GL_LIBS="$GL_LIBS -lEGL"
949 if test "x$USE_EGL" != "xyes"; then
950 AC_MSG_ERROR([Need EGL on Android])
953 if test "x$USE_GLES2" != "xyes"; then
954 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
957 HAVE_WINDOW_ANDROID=yes
959 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
960 if test "x$NEED_WGL" = "xyes"; then
961 AC_MSG_ERROR([WGL is not available on unix])
964 if test "x$HAVE_X" = "xno"; then
965 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
966 AC_MSG_WARN([X or Wayland is required for OpenGL support])
970 dnl check Desktop OpenGL
971 if test "x$HAVE_GL" = "xyes"; then
972 if test "x$NEED_GL" != "xno"; then
973 GL_LIBS="$GL_LIBS -lGL"
978 if test "x$HAVE_GLES2" = "xyes"; then
979 if test "x$NEED_GLES2" != "xno"; then
980 GL_LIBS="$GL_LIBS -lGLESv2"
985 if test "x$HAVE_X" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
986 if test "x$NEED_X11" != "xno"; then
987 GL_LIBS="$GL_LIBS $X_LIBS"
988 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
993 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
994 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
995 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
997 if test "x$NEED_WAYLAND_EGL" != "xno"; then
998 HAVE_WINDOW_WAYLAND=yes
999 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1000 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1005 if test "x$HAVE_EGL_RPI" = "xyes"; then
1006 if test "x$NEED_DISPMANX" != "xno"; then
1007 HAVE_WINDOW_DISPMANX=yes
1013 if test "x$HAVE_EGL" = "xno"; then
1014 if test "x$HAVE_GL" = "xno"; then
1015 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1018 if test "x$NEED_EGL" != "xno"; then
1019 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1020 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1021 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1028 if test "x$HAVE_IOS" = "xyes"; then
1029 if test "x$NEED_WGL" = "xyes"; then
1030 AC_MSG_ERROR([WGL is not available on iOS])
1032 if test "x$NEED_GLX" = "xyes"; then
1033 AC_MSG_ERROR([GLX is not available on iOS])
1035 if test "x$NEED_GL" = "xyes"; then
1036 AC_MSG_ERROR([GL is not available on iOS])
1038 if test "x$NEED_X11" = "xyes"; then
1039 AC_MSG_ERROR([X11 is not available on iOS])
1041 if test "x$NEED_COCOA" = "xyes"; then
1042 AC_MSG_ERROR([Cocoa is not available on iOS])
1044 if test "x$NEED_EGL" = "xyes"; then
1045 AC_MSG_ERROR([EGL is not available on iOS])
1048 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1049 GL_CFLAGS="$GL_CFLAGS"
1052 HAVE_WINDOW_EAGL=yes
1054 ac_cv_type_GLsizeiptr=yes
1055 ac_cv_type_GLintptr=yes
1056 ac_cv_type_GLchar=yes
1058 dnl Only osx supports cocoa.
1059 if test "x$NEED_WGL" = "xyes"; then
1060 AC_MSG_ERROR([WGL is not available on Mac OS X])
1063 if test "x$NEED_COCOA" != "xno"; then
1064 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1065 GL_CFLAGS="$GL_CFLAGS"
1067 HAVE_WINDOW_COCOA=yes
1071 if test "x$USE_GLX" = "xyes"; then
1072 if test "x$HAVE_X" = "xyes"; then
1073 if test "x$NEED_X11" != "xno"; then
1074 GL_LIBS="$GL_LIBS $X_LIBS"
1075 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
1080 if test "x$HAVE_GL" = "xyes"; then
1081 if test "x$NEED_GL" != "xno"; then
1082 GL_LIBS="$GL_LIBS -lGL"
1088 if test "x$HAVE_EGL" = "xyes"; then
1089 if test "x$NEED_EGL" != "xno"; then
1090 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1091 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1092 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1099 if test "x$HAVE_GLES2" = "xyes"; then
1100 if test "x$NEED_GLES2" != "xno"; then
1101 GL_LIBS="$GL_LIBS -lGLESv2"
1108 if test "x$NEED_GLX" = "xyes"; then
1109 AC_MSG_ERROR([GLX is not available on Windows])
1111 if test "x$NEED_GLES2" = "xyes"; then
1112 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1115 if test "x$HAVE_GL" = "xyes"; then
1116 if test "x$NEED_GL" != "xno"; then
1117 if test "x$HAVE_WGL" = "xyes"; then
1118 if test "$NEED_WGL" != "xno"; then
1119 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1120 HAVE_WINDOW_WIN32=yes
1129 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1140 GST_GL_HAVE_OPENGL=0
1144 if test "x$USE_OPENGL" = "xyes"; then
1145 GL_APIS="gl $GL_APIS"
1146 GST_GL_HAVE_OPENGL=1
1148 if test "x$USE_GLES2" = "xyes"; then
1149 GL_APIS="gles2 $GL_APIS"
1153 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1154 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1155 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1156 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1161 GST_GL_HAVE_WINDOW_X11=0
1162 GST_GL_HAVE_WINDOW_COCOA=0
1163 GST_GL_HAVE_WINDOW_WIN32=0
1164 GST_GL_HAVE_WINDOW_WAYLAND=0
1165 GST_GL_HAVE_WINDOW_ANDROID=0
1166 GST_GL_HAVE_WINDOW_DISPMANX=0
1167 GST_GL_HAVE_WINDOW_EAGL=0
1169 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1170 GL_WINDOWS="x11 $GL_WINDOWS"
1171 GST_GL_HAVE_WINDOW_X11=1
1173 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1174 GL_WINDOWS="cocoa $GL_WINDOWS"
1175 GST_GL_HAVE_WINDOW_COCOA=1
1177 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1178 GL_WINDOWS="win32 $GL_WINDOWS"
1179 GST_GL_HAVE_WINDOW_WIN32=1
1181 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1182 GL_WINDOWS="wayland $GL_WINDOWS"
1183 GST_GL_HAVE_WINDOW_WAYLAND=1
1185 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1186 GL_WINDOWS="android $GL_WINDOWS"
1187 GST_GL_HAVE_WINDOW_ANDROID=1
1189 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1190 GL_WINDOWS="dispmanx $GL_WINDOWS"
1191 GST_GL_HAVE_WINDOW_DISPMANX=1
1193 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1194 GL_WINDOWS="eagl $GL_WINDOWS"
1195 GST_GL_HAVE_WINDOW_EAGL=1
1198 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1199 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1200 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1201 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1202 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1203 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1204 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1205 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1210 GST_GL_HAVE_PLATFORM_EGL=0
1211 GST_GL_HAVE_PLATFORM_GLX=0
1212 GST_GL_HAVE_PLATFORM_WGL=0
1213 GST_GL_HAVE_PLATFORM_CGL=0
1214 GST_GL_HAVE_PLATFORM_EAGL=0
1216 if test "x$USE_EGL" = "xyes"; then
1217 GL_PLATFORMS="egl $GL_PLATFORMS"
1218 GST_GL_HAVE_PLATFORM_EGL=1
1220 if test "x$USE_GLX" = "xyes"; then
1221 GL_PLATFORMS="glx $GL_PLATFORMS"
1222 GST_GL_HAVE_PLATFORM_GLX=1
1224 if test "x$USE_WGL" = "xyes"; then
1225 GL_PLATFORMS="wgl $GL_PLATFORMS"
1226 GST_GL_HAVE_PLATFORM_WGL=1
1228 if test "x$USE_COCOA" = "xyes"; then
1229 GL_PLATFORMS="cgl $GL_PLATFORMS"
1230 GST_GL_HAVE_PLATFORM_CGL=1
1232 if test "x$USE_EAGL" = "xyes"; then
1233 GL_PLATFORMS="eagl $GL_PLATFORMS"
1234 GST_GL_HAVE_PLATFORM_EAGL=1
1237 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1238 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1239 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1240 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1241 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1242 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1245 dnl Check for no platforms/window systems
1246 if test "x$GL_APIS" = "x"; then
1247 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1249 if test "x$GL_PLATFORMS" = "x"; then
1250 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1252 if test "x$GL_WINDOWS" = "x"; then
1253 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1256 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1271 HAVE_WINDOW_WIN32=no
1272 HAVE_WINDOW_DISPMANX=no
1273 HAVE_WINDOW_WAYLAND=no
1274 HAVE_WINDOW_ANDROID=no
1275 HAVE_WINDOW_COCOA=no
1281 AC_SUBST(GL_OBJCFLAGS)
1282 AC_SUBST(USE_OPENGL)
1285 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1286 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1287 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1288 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1289 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1290 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1291 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1293 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1294 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1295 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1296 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1297 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1298 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1299 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1300 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1301 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1303 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1305 dnl Check for some types that are not always present
1307 if test "x$USE_GLES2" = "xyes"; then
1308 GL_INCLUDES="$GL_INCLUDES
1309 #ifndef GL_GLEXT_PROTOTYPES
1310 #define GL_GLEXT_PROTOTYPES 1
1313 # include <OpenGLES/ES2/gl.h>
1314 # include <OpenGLES/ES2/glext.h>
1316 # include <GLES2/gl2.h>
1317 # include <GLES2/gl2ext.h>
1322 if test "x$USE_OPENGL" = "xyes"; then
1323 GL_INCLUDES="$GL_INCLUDES
1325 # include <OpenGL/OpenGL.h>
1326 # include <OpenGL/gl.h>
1329 # if __WIN32__ || _WIN32
1330 # include <GL/glext.h>
1336 GST_GL_HAVE_GLEGLIMAGEOES=0
1337 GST_GL_HAVE_GLCHAR=0
1338 GST_GL_HAVE_GLSIZEIPTR=0
1339 GST_GL_HAVE_GLINTPTR=0
1340 GST_GL_HAVE_GLSYNC=0
1341 GST_GL_HAVE_GLUINT64=0
1342 GST_GL_HAVE_GLINT64=0
1345 CFLAGS="$GL_CFLAGS $CFLAGS"
1347 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1348 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1349 GST_GL_HAVE_GLEGLIMAGEOES=1
1352 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1353 if test "x$ac_cv_type_GLchar" = "xyes"; then
1354 GST_GL_HAVE_GLCHAR=1
1357 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1358 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1359 GST_GL_HAVE_GLSIZEIPTR=1
1362 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1363 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1364 GST_GL_HAVE_GLINTPTR=1
1367 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1368 if test "x$ac_cv_type_GLsync" = "xyes"; then
1369 GST_GL_HAVE_GLSYNC=1
1372 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1373 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1374 GST_GL_HAVE_GLUINT64=1
1377 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1378 if test "x$ac_cv_type_GLint64" = "xyes"; then
1379 GST_GL_HAVE_GLINT64=1
1384 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1385 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1386 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1387 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1388 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1389 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1390 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1391 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1394 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1395 outfile=gstglconfig.h-tmp
1396 cat > $outfile <<\_______EOF
1399 * This is a generated file. Please modify `configure.ac'
1402 #ifndef __GST_GL_CONFIG_H__
1403 #define __GST_GL_CONFIG_H__
1405 #include <gst/gst.h>
1411 cat >>$outfile <<_______EOF
1415 cat >>$outfile <<_______EOF
1419 #endif /* __GST_GL_CONFIG_H__ */
1423 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1424 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1427 mv $outfile gst-libs/gst/gl/gstglconfig.h
1430 gl_config_defines='$GL_CONFIG_DEFINES'
1433 dnl libpng is optional
1434 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1435 if test "x$HAVE_PNG" = "xyes"; then
1436 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1439 AC_SUBST(LIBPNG_LIBS)
1440 AC_SUBST(LIBPNG_CFLAGS)
1441 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1443 dnl libjpeg is optional
1444 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1446 if test x$with_jpeg_mmx != x; then
1447 LIBS="$LIBS -L$with_jpeg_mmx"
1449 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1450 JPEG_LIBS="$LIBS -ljpeg-mmx"
1452 if test x$HAVE_JPEG != xyes; then
1454 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1457 if test x$HAVE_JPEG = xyes; then
1458 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1460 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1465 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1468 dnl *** sys plug-ins ***
1471 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1472 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1473 HAVE_DIRECTSOUND="no"
1474 save_CFLAGS="$CFLAGS"
1475 save_LDFLAGS="$LDFLAGS"
1477 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1478 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1479 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1480 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1481 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1482 #include <windows.h>
1485 #include <mmsystem.h>
1487 DXGetErrorString9 (0);
1488 DirectSoundCreate(NULL, NULL, NULL);
1490 [HAVE_DIRECTSOUND="yes"],
1491 [HAVE_DIRECTSOUND="no"])
1492 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1494 LDFLAGS=$save_LDFLAGS
1497 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1498 dnl this is much more than we want
1499 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1500 AC_SUBST(DIRECTX_CFLAGS)
1501 AC_SUBST(DIRECTX_LDFLAGS)
1502 AC_SUBST(DIRECTSOUND_LIBS)
1504 AC_SUBST(HAVE_DIRECTSOUND)
1508 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1509 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1511 save_CFLAGS="$CFLAGS"
1512 save_LDFLAGS="$LDFLAGS"
1514 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1515 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1516 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1517 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1518 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1519 #include <windows.h>
1521 #include <mmsystem.h>
1522 #include <mmdeviceapi.h>
1528 hr = CoInitialize(NULL);
1530 printf("CoInitialize failed: hr = 0x%08x", hr);
1535 // result = do_everything(argc, argv);
1541 [HAVE_WASAPI="yes"],
1543 AC_MSG_RESULT($HAVE_WASAPI)
1545 LDFLAGS=$save_LDFLAGS
1548 if test "x$HAVE_WASAPI" = "xyes"; then
1549 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1550 AC_SUBST(WASAPI_LIBS)
1552 AC_SUBST(HAVE_WASAPI)
1556 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1557 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1559 save_CFLAGS="$CFLAGS"
1560 save_LDFLAGS="$LDFLAGS"
1562 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1563 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1564 LIBS="$LIBS -ld3d9 -lgdi32"
1565 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1566 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1567 #include <windows.h>
1570 Direct3DCreate9(D3D_SDK_VERSION);
1572 [HAVE_DIRECT3D="yes"],
1573 [HAVE_DIRECT3D="no"])
1574 AC_MSG_RESULT($HAVE_DIRECT3D)
1576 LDFLAGS=$save_LDFLAGS
1579 if test "x$HAVE_DIRECT3D" = "xyes"; then
1580 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1581 AC_SUBST(DIRECT3D_LIBS)
1583 AC_SUBST(HAVE_DIRECT3D)
1587 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1588 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1589 HAVE_WINSCREENCAP="no"
1590 save_CFLAGS="$CFLAGS"
1591 save_LDFLAGS="$LDFLAGS"
1593 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1594 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1595 LIBS="$LIBS -ld3d9 -lgdi32"
1596 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1597 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1598 #include <windows.h>
1601 Direct3DCreate9(D3D_SDK_VERSION);
1603 [HAVE_WINSCREENCAP="yes"],
1604 [HAVE_WINSCREENCAP="no"])
1605 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1607 LDFLAGS=$save_LDFLAGS
1610 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1611 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1612 AC_SUBST(WINSCREENCAP_LIBS)
1614 AC_SUBST(HAVE_WINSCREENCAP)
1618 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1619 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1621 save_CFLAGS="$CFLAGS"
1622 save_LDFLAGS="$LDFLAGS"
1624 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1625 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1626 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1627 AC_MSG_CHECKING(for Winks LDFLAGS)
1628 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1629 #include <windows.h>
1634 IGraphBuilder *pGraph = NULL;
1635 HRESULT hr = CoInitialize(NULL);
1636 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1637 &IID_IGraphBuilder, (void **)&pGraph);
1644 AC_MSG_RESULT($HAVE_WINKS)
1646 LDFLAGS=$save_LDFLAGS
1649 if test "x$HAVE_WINKS" = "xyes"; then
1650 dnl this is much more than we want
1651 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1652 AC_SUBST(DIRECTX_CFLAGS)
1653 AC_SUBST(DIRECTX_LDFLAGS)
1654 AC_SUBST(WINKS_LIBS)
1656 AC_SUBST(HAVE_WINKS)
1659 dnl *** Android Media ***
1660 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1661 HAVE_ANDROID_MEDIA="no"
1662 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1665 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1668 HAVE_ANDROID_MEDIA="no"
1673 dnl *** AppleMedia (OS X and iOS) ***
1674 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1675 HAVE_APPLE_MEDIA="no"
1676 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1677 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1678 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1679 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1680 if test "x$HAVE_IOS" = "xno"; then
1681 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1685 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1690 HAVE_APPLE_MEDIA="no"
1695 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1696 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1697 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1698 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1699 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1701 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1710 dnl *** OS/X AVCVideoServices ***
1711 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1713 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1715 save_CPPFLAGS="$CPPFLAGS"
1716 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1718 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1719 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1721 CPPFLAGS=$save_CPPFLAGS
1724 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1733 dnl check for shm_open (for shm plugin)
1734 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1735 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1736 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1738 *-darwin* | *-macos10*)
1739 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1743 AC_CHECK_LIB([rt], [shm_open],
1744 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1745 #include <sys/socket.h>
1748 AC_SUBST(SHM_LIBS, "-lrt")
1756 dnl check for Video CD
1757 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1758 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1759 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1762 dnl check for OpenSL ES
1763 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1764 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1765 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1768 dnl *** UVC H264 ***
1769 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1770 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1771 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1772 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1773 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1776 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1777 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1778 HAVE_LIBUSB="yes" ],
1780 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1781 test "x$HAVE_GUDEV" = "xyes" && \
1782 test "x$HAVE_LIBUSB" = "xyes"; then
1788 AC_SUBST(LIBUDEV_CFLAGS)
1789 AC_SUBST(LIBUDEV_LIBS)
1790 AC_SUBST(LIBUSB_CFLAGS)
1791 AC_SUBST(LIBUSB_LIBS)
1794 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1795 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1796 AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
1797 AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-1.0)
1798 AC_ARG_WITH([cuda-prefix],
1799 AS_HELP_STRING([--with-cuda-prefix],
1800 [Use the provided prefix for detecting the cuda installation]),
1801 [AS_IF([test "x$with_cuda_prefix" != "x"],
1802 [CUDA_PREFIX="$with_cuda_prefix"])],
1806 if test "x$CUDA_PREFIX" != "x"; then
1807 dnl only override if not already set
1808 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1809 dnl this is an educated guess, user can always override these
1810 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1811 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1814 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1815 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1816 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1817 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1822 save_CPPFLAGS="$CPPFLAGS"
1823 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1824 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1825 AC_MSG_WARN([Could not find cuda.h]))
1826 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1827 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1828 CPPFLAGS=$save_CPPFLAGS
1830 dnl libcuda and libcudart libraries
1832 LIBS="$CUDA_LIBS $save_LIBS"
1833 HAVE_CUDART_LIB="no"
1834 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1835 AC_MSG_WARN([Could not find cudart library])])
1837 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1838 AC_MSG_WARN([Could not find cuda library])])
1841 dnl nvEncodeAPI.h header
1842 HAVE_NVENCODEAPI_H=no
1843 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1844 save_CPPFLAGS="$CPPFLAGS"
1845 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1846 AC_CHECK_HEADER([nvEncodeAPI.h], [
1847 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1848 #if NVENCAPI_MAJOR_VERSION < 5
1849 #error "Need nvEncodeAPI.h >= 5.0"
1852 HAVE_NVENCODEAPI_H=yes
1854 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1857 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1858 AC_SUBST(NVENCODE_CFLAGS)
1859 CPPFLAGS="$save_CPPFLAGS"
1861 dnl libnvnidia-encode library
1862 HAVE_NVENCODE_LIB=no
1863 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1865 LIBS="$NVENCODE_LIBS $saved_LIBS"
1866 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1867 AC_MSG_WARN([Could not find library nvidia-encode]))
1868 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1869 AC_SUBST(NVENCODE_LIBS)
1873 if test "x$HAVE_CUDA_H" = "xyes" \
1874 -a "x$HAVE_CUDART_H" = "xyes" \
1875 -a "x$HAVE_CUDA_LIB" = "xyes" \
1876 -a "x$HAVE_CUDART_LIB" = "xyes" \
1877 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
1878 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
1880 if test x"$USE_OPENGL" = x"yes"; then
1881 dnl cuda-gl interop header
1882 save_CPPFLAGS="$CPPFLAGS"
1883 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
1884 AC_CHECK_HEADER([cuda_gl_interop.h], [
1885 USE_NVENC_GST_GL="yes"
1886 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
1888 CPPFLAGS="$save_CPPFLAGS"
1894 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
1896 dnl check for tinyalsa
1897 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
1898 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
1899 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
1902 dnl *** ext plug-ins ***
1903 dnl keep this list sorted alphabetically !
1905 if test "x$BUILD_EXTERNAL" = "xyes"; then
1907 dnl *** assrender ***
1908 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
1909 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
1910 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
1911 HAVE_ASSRENDER="yes" ], [
1915 AC_SUBST(ASSRENDER_CFLAGS)
1916 AC_SUBST(ASSRENDER_LIBS)
1918 dnl *** vo-amrwbenc ***
1919 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
1920 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
1921 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
1924 dnl *** vo-aacenc ***
1925 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
1926 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
1927 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
1930 dnl *** apexsink ***
1931 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
1932 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
1933 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
1937 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
1938 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
1939 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
1941 AC_SUBST(APEXSINK_CFLAGS)
1942 AC_SUBST(APEXSINK_LIBS)
1949 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
1950 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
1951 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
1954 AC_SUBST(BS2B_CFLAGS)
1959 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
1960 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
1963 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
1964 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
1965 AC_MSG_RESULT($HAVE_BZ2)
1967 if test "x$HAVE_BZ2" = "xyes"; then
1975 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
1976 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
1977 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
1980 # AC_SUBST(CAIRO_CFLAGS)
1981 # AC_SUBST(CAIRO_LIBS)
1984 dnl *** chromaprint ***
1985 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
1986 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
1987 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
1988 HAVE_CHROMAPRINT="no"
1990 AC_SUBST(CHROMAPRINT_CFLAGS)
1991 AC_SUBST(CHROMAPRINT_LIBS)
1995 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
1996 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
1997 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
1999 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2000 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2002 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2003 [[#ifdef HAVE_SYS_TYPES_H
2004 # include <sys/types.h>
2006 #ifdef HAVE_NETINET_IN_H
2007 # include <netinet/in.h>
2010 AC_MSG_CHECKING([for socket support needed by curlsink])
2011 AC_MSG_RESULT($HAVE_CURL)
2015 AC_SUBST(CURL_CFLAGS)
2017 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2019 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2023 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2024 AC_SUBST(SSH2_CFLAGS)
2026 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2029 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2030 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2031 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2032 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2034 AC_SUBST(LIBXML2_CFLAGS)
2035 AC_SUBST(LIBXML2_LIBS)
2039 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2040 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2041 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2042 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2051 AC_SUBST(LIBDC1394_CFLAGS)
2052 AC_SUBST(LIBDC1394_LIBS)
2055 dnl *** decklink ***
2056 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2057 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2064 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2065 AC_CHECK_LIB(dl, dlopen,
2069 DECKLINK_LIBS="-lpthread -ldl"
2074 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2075 AC_CHECK_LIB(dl, dlopen,
2079 DECKLINK_LIBS="-lpthread -ldl"
2080 HAVE_DECKLINK_OSX=yes
2089 AC_SUBST(DECKLINK_CXXFLAGS)
2090 AC_SUBST(DECKLINK_LIBS)
2092 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2094 dnl **** DirectFB ****
2095 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2096 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2097 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2102 dnl **** Wayland ****
2103 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2104 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2105 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 wayland-scanner, [
2106 HAVE_WAYLAND="yes" ], [ HAVE_WAYLAND="no"
2110 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2113 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2114 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2115 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2116 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2118 AC_SUBST(WEBP_CFLAGS)
2123 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2124 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2125 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2126 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2131 AC_SUBST(DAALA_CFLAGS)
2132 AC_SUBST(DAALA_LIBS)
2137 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2138 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2140 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2141 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2142 if test $HAVE_DTS = "no"; then
2143 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2144 [ DTS_LIBS="-ldts_pic $LIBM"
2145 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2151 dnl *** resindvd ***
2152 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2153 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2154 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2159 dnl **** Free AAC Encoder (FAAC) ****
2160 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2161 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2162 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2163 FAAC_LIBS="-lfaac $LIBM")
2167 dnl **** Free AAC Decoder (FAAD2) ****
2168 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2169 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2170 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2171 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2172 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2174 #elif !defined(LATM)
2175 #error Not faad2 >= 2.7
2181 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2191 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2192 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2193 if test "x$HAVE_FBDEV" != "xyes"; then
2194 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2199 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2200 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2201 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2202 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2204 AC_SUBST(FLITE_CFLAGS)
2205 AC_SUBST(FLITE_LIBS)
2209 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2210 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2211 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2212 if test $HAVE_GSM != "yes"; then
2213 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2214 if test $HAVE_GSM = "yes"; then
2215 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2221 dnl *** fluidSynth ***
2222 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2223 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2224 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2225 HAVE_FLUIDSYNTH="no"
2230 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2231 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2232 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2235 AC_SUBST(KATE_CFLAGS)
2237 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2240 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2246 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2247 AC_SUBST(TIGER_CFLAGS)
2248 AC_SUBST(TIGER_LIBS)
2249 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2252 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2253 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2254 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2256 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2257 if test $HAVE_LRDF = "yes"; then
2258 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2261 AC_SUBST(LRDF_CFLAGS)
2265 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2266 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2267 PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
2268 AC_SUBST(SLV2_CFLAGS)
2272 dnl *** libde265 ***
2273 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2274 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2275 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2276 AC_SUBST(LIBDE265_CFLAGS)
2277 AC_SUBST(LIBDE265_LIBS)
2281 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2282 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2283 dnl check with pkg-config first
2284 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2288 AC_SUBST(LIBMMS_LIBS)
2292 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2293 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2294 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2295 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2298 AC_SUBST(SRTP_CFLAGS)
2302 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2303 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2304 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2306 AC_SUBST(DTLS_CFLAGS)
2314 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2315 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2327 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2328 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2329 if test "x$HAVE_CXX" != "xyes"; then
2330 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2333 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2335 AC_SUBST(MODPLUG_CFLAGS)
2336 AC_SUBST(MODPLUG_LIBS)
2340 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
2341 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
2343 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
2344 HAVE_MIMIC=yes, HAVE_MIMIC=no)
2345 AC_SUBST(MIMIC_CFLAGS)
2346 AC_SUBST(MIMIC_LIBS)
2349 dnl *** mjpegtools version info ***
2350 dnl some may prefer older version (given quirks above)
2351 dnl hm, no version info seems available within mjpegtools headers
2352 dnl and API really moves along
2354 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2355 mjpegtools_api=10601
2357 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2358 mjpegtools_api=10800
2360 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2361 mjpegtools_api=20000
2363 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2364 dnl logging API changed in release candidates
2365 OLD_CFLAGS="$CFLAGS"
2367 CFLAGS="$MJPEG_CFLAGS"
2368 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2369 AC_CHECK_FUNC(mjpeg_loglev_t, [
2370 mjpegtools_api=10903
2372 mjpegtools_api=10900
2374 CFLAGS="$OLD_CFLAGS"
2382 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2383 [mjpegtools API evolution])
2385 dnl *** mpeg2enc ***
2386 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2387 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2389 dnl we require a c++ compiler for this one
2390 if [ test x$HAVE_CXX = xyes ]; then
2391 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2392 dnl since many distros include mjpegtools specifically without mplex
2393 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2394 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2395 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2397 dnl switch over to c++ to test things
2399 OLD_CPPFLAGS="$CPPFLAGS"
2401 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2402 CPPFLAGS="$CPPFLAGS_GOOD -I."
2404 mpeg2enc_headers_ok=no
2405 AC_CHECK_HEADER([mpeg2encoder.hh], [
2406 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2408 LIBS="$LIBS $MPEG2ENC_LIBS"
2409 AC_MSG_CHECKING([for valid mpeg2enc objects])
2410 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2411 #include <mpeg2encoder.hh>
2412 #include <mpeg2encoptions.hh>
2418 MPEG2EncOptions *options = new MPEG2EncOptions ();
2419 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2424 dnl so far so good, let's check more things:
2425 dnl mjpegtools-1.8.0 does not install the required
2426 dnl mpeg2syntaxcodes.h header by default, and a new release
2427 dnl is not in sight, so check for this oversight in case
2428 dnl distros or folks have fixed this themselves
2429 if test "$mjpegtools_api" -ge "10800"; then
2430 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2431 mpeg2enc_headers_ok=yes
2433 mpeg2enc_headers_ok=no
2436 mpeg2enc_headers_ok=yes
2438 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2441 CPPFLAGS="$CPPFLAGS_GOOD"
2442 AC_SUBST(MPEG2ENC_CFLAGS)
2443 AC_SUBST(MPEG2ENC_LIBS)
2450 CPPFLAGS="$OLD_CPPFLAGS"
2459 translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
2460 AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
2461 PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
2462 AC_SUBST(MPG123_CFLAGS)
2463 AC_SUBST(MPG123_LIBS)
2467 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2468 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2470 dnl we require a c++ compiler for this one
2471 if [ test x$HAVE_CXX = xyes ]; then
2472 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2473 dnl since many distros include mjpegtools specifically without mplex
2474 dnl and mpeg2enc, we check for mplex on its own, too.
2475 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2476 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2477 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2479 dnl switch over to c++ to test things
2481 OLD_CPPFLAGS="$CPPFLAGS"
2483 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2484 CPPFLAGS="$CPPFLAGS_GOOD -I."
2485 AC_CHECK_HEADER(interact.hpp, [
2486 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2488 LIBS="$LIBS $MPLEX_LIBS"
2489 OLD_LDFLAGS="$LDFLAGS"
2490 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2491 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2492 dnl don't want this here
2493 AC_MSG_CHECKING([for valid mplex objects])
2494 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2496 #include <interact.hpp>
2497 #include <outputstrm.hpp>
2498 #include <multiplexor.hpp>
2503 class TestOutputStream : public OutputStream {
2505 TestOutputStream () : OutputStream () { }
2506 void Write (uint8_t *a, unsigned int b) { }
2507 void NextSegment () { }
2508 uint64_t SegmentSize () { }
2512 MultiplexJob *job = new MultiplexJob ();
2513 vector<IBitStream *> inputs;
2514 job->SetupInputStreams (inputs);
2515 TestOutputStream *out = new TestOutputStream ();
2516 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2521 CPPFLAGS="$CPPFLAGS_GOOD"
2522 AC_SUBST(MPLEX_CFLAGS)
2523 AC_SUBST(MPLEX_LIBS)
2524 AC_SUBST(MPLEX_LDFLAGS)
2526 ],[AC_MSG_RESULT(no)],[])
2528 LDFLAGS="$OLD_LDFLAGS"
2530 CPPFLAGS="$OLD_CPPFLAGS"
2536 dnl *** musepack ***
2537 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2538 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2539 AC_CHECK_HEADER([mpc/mpcdec.h], [
2541 MUSEPACK_LIBS="-lmpcdec"
2542 AC_SUBST(MUSEPACK_LIBS)
2543 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2545 MUSEPACK_LIBS="-lmpcdec"
2546 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2547 AC_SUBST(MUSEPACK_LIBS)
2548 ], [HAVE_MUSEPACK="no"])])
2552 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2553 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2555 if test "x$HAVE_X" = "xyes"; then
2556 save_cppflags=$CFLAGS
2557 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2558 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2559 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2560 CPPFLAGS="$save_cppflags"
2562 AC_SUBST(NAS_CFLAGS)
2567 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2568 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2569 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2572 AC_SUBST(NEON_CFLAGS)
2577 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2578 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2579 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2582 AC_SUBST(OFA_CFLAGS)
2587 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2588 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2589 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2592 AC_SUBST(OPENAL_CFLAGS)
2593 AC_SUBST(OPENAL_LIBS)
2597 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2598 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2599 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2600 dnl and don't want the build to break when a new opencv version comes out.
2601 dnl Need to adjust this upwards once we know that our code compiles fine with
2602 dnl a new version and the no-backward-compatibility define. (There doesn't
2603 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2605 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv < 2.5.0 , [
2608 OLD_CPPFLAGS=$CPPFLAGS
2609 CPPFLAGS=$OPENCV_CFLAGS
2610 something_not_found=no
2611 AC_CHECK_HEADERS([opencv2/contrib/contrib.hpp \
2612 opencv2/core/core_c.h \
2613 opencv2/core/types_c.h \
2614 opencv2/core/version.hpp \
2615 opencv2/highgui/highgui_c.h \
2616 opencv2/imgproc/imgproc.hpp \
2617 opencv2/imgproc/imgproc_c.h \
2618 opencv2/legacy/compat.hpp \
2619 opencv2/legacy/legacy.hpp \
2620 opencv2/objdetect/objdetect.hpp \
2621 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2622 CPPFLAGS=$OLD_CPPFLAGS
2625 if test $something_not_found = "yes"; then
2626 AC_MSG_RESULT([not all opencv2 headers were found])
2634 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2635 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2636 AC_SUBST(OPENCV_PREFIX)
2637 AC_SUBST(OPENCV_CFLAGS)
2638 AC_SUBST(OPENCV_LIBS)
2639 dnl the OpenCV prefix is used at runtime for some object properties, and also
2640 dnl used here to detect which directory is the correct one. For the second
2641 dnl case, make sure the right sysroot is used, ensuring correct behavior
2642 dnl during cross compilation.
2643 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2644 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2646 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2651 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2652 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2653 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2656 dnl *** openh264 ***
2657 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2658 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2659 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2662 dnl *** OpenJPEG ***
2663 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2664 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2668 save_CFLAGS="$CFLAGS"
2669 OPENJPEG_LIBS="-lopenjp2"
2670 LIBS="$LIBS $OPENJPEG_LIBS"
2671 CFLAGS="$CFLAGS $OPENJPEG_CFLAGS"
2673 AC_LANG_PROGRAM([#include <openjpeg-2.0/openjpeg.h>],
2674 [return (int) *opj_version ();])
2675 ], [HAVE_OPENJPEG=yes], [HAVE_OPENJPEG=no])
2677 CFLAGS="$save_CFLAGS"
2679 if test x"$HAVE_OPENJPEG" = x"no"; then
2681 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2682 HAVE_OPENJPEG="yes",
2683 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2685 if test x"$HAVE_OPENJPEG" = x"yes"; then
2686 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2689 AC_SUBST(OPENJPEG_CFLAGS)
2690 AC_SUBST(OPENJPEG_LIBS)
2694 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2695 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2696 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2697 AC_SUBST(OPENNI2_CFLAGS)
2698 AC_SUBST(OPENNI2_LIBS)
2702 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2703 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2704 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2705 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2710 AC_SUBST(OPUS_CFLAGS)
2715 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2716 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2717 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2718 AC_SUBST(PVR_CFLAGS)
2722 AC_ARG_WITH([pvr-external-headers],
2723 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2724 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2725 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2726 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2729 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2730 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2731 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2735 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2736 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2739 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2746 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2747 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2748 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2749 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2754 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2756 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2757 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2758 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2759 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2761 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2763 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2764 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2765 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2766 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2768 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2770 if test "x$GDK_WINDOWING" = "xyes"; then
2771 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2778 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2781 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2782 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2783 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2784 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2785 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2786 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2787 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2788 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2789 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2790 AC_MSG_WARN([One of the required qt build programs was not found])
2794 HAVE_QT_WINDOWING="no"
2795 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2796 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2797 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2798 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2799 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2800 HAVE_QT_WINDOWING="yes"
2801 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2803 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2804 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2805 AC_DEFINE([HAVE_QT_WAYLAND], [],
2806 [Define if Qt Wayland integration is installed])
2807 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2808 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
2809 HAVE_QT_WINDOWING="yes"
2810 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
2812 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2813 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
2814 # c++ on android requires a standard library and there are multiple
2815 # choices. cerbero provides a pkg-config file the describes a choice
2816 # so try to use that. Outside cerbero one has to pass these flags
2817 # manually for the library one is using
2818 PKG_CHECK_MODULES(GNUSTL, gnustl, [
2819 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
2820 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
2822 AC_MSG_NOTICE([Could not find Standard C++ library])])
2824 AC_DEFINE([HAVE_QT_ANDROID], [],
2825 [Define if Qt Android integration is installed])
2826 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
2827 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
2828 HAVE_QT_WINDOWING="yes"
2829 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
2831 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
2832 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
2833 AC_DEFINE([HAVE_QT_MAC], [],
2834 [Define if Qt Mac integration is installed])
2835 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
2836 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
2837 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
2838 HAVE_QT_WINDOWING="yes"
2839 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
2841 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
2842 if test "x$HAVE_IOS" = "xyes"; then
2843 # iOS doesn't have its own extras package so if we have the core
2844 # modules we are good to go
2845 AC_DEFINE([HAVE_QT_IOS], [],
2846 [Define if Qt iOS integration is installed])
2847 HAVE_QT_WINDOWING="yes"
2850 if test "x$HAVE_QT_WINDOWING" = "xno"; then
2851 AC_MSG_WARN([Could not find any Qt Windowing integration])
2854 AC_SUBST([QT_CFLAGS])
2862 dnl *** libvisual ***
2863 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
2864 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
2865 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
2866 if test x$HAVE_LIBVISUAL = xyes; then
2867 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
2869 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
2870 if test x$LIBVIS_PLUGINSDIR != x; then
2871 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
2872 "$LIBVIS_PLUGINSDIR",
2873 [directory in which the detected libvisual's plugins are located])
2877 dnl *** timidity ***
2878 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
2879 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
2880 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
2881 HAVE_TIMIDITY="yes",
2882 AC_MSG_CHECKING([for timidity.cfg])
2884 if test -r /etc/timidity.cfg; then
2885 timidity_cfg=/etc/timidity.cfg
2886 elif test -r /etc/timidity/timidity.cfg; then
2887 timidity_cfg=/etc/timidity/timidity.cfg
2888 elif test -r /usr/share/timidity/timidity.cfg; then
2889 timidity_cfg=/usr/share/timidity/timidity.cfg
2890 elif test -r /usr/local/share/timidity/timidity.cfg; then
2891 timidity_cfg=/usr/local/share/timidity/timidity.cfg
2893 if test "x$timidity_cfg" != "x"; then
2894 AC_MSG_RESULT($timidity_cfg)
2895 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
2897 AC_MSG_RESULT([not found])
2902 AC_SUBST(TIMIDITY_CFLAGS)
2903 AC_SUBST(TIMIDITY_LIBS)
2906 dnl *** teletextdec ***
2907 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
2908 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
2909 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
2912 dnl *** wildmidi ***
2913 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
2914 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
2915 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
2918 WILDMIDI_LIBS="-lWildMidi")
2919 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
2921 if test "x$HAVE_WILDMIDI" = "xyes"; then
2923 WILDMIDI_LIBS=-lWildMidi
2924 AC_MSG_NOTICE(compiling gstWildMidi)
2928 AC_MSG_WARN(no WildMidi library found (libWildMidi))
2930 AC_SUBST(WILDMIDI_CFLAGS)
2931 AC_SUBST(WILDMIDI_LIBS)
2935 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
2936 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
2937 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
2940 dnl **** Smooth Streaming ****
2941 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
2942 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
2943 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
2945 HAVE_SMOOTHSTREAMING="yes"],
2947 HAVE_SMOOTHSTREAMING="no"])
2948 AC_SUBST(LIBXML2_CFLAGS)
2949 AC_SUBST(LIBXML2_LIBS)
2953 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
2954 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
2955 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
2956 AC_SUBST(SNDFILE_CFLAGS)
2957 AC_SUBST(SNDFILE_LIBS)
2960 dnl *** soundtouch ***
2961 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
2962 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
2963 dnl We only need -lBPM on soundtouch < 1.4
2964 dnl We check for libSoundTouch since Debian used it before upstream
2965 dnl added a pkgconfig file.
2966 HAVE_SOUNDTOUCH_1_4=yes
2967 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
2968 [HAVE_SOUNDTOUCH=yes],
2969 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
2970 [HAVE_SOUNDTOUCH=yes],
2971 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
2972 [HAVE_SOUNDTOUCH=yes
2973 HAVE_SOUNDTOUCH_1_4=no
2974 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2975 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
2976 [HAVE_SOUNDTOUCH=yes],
2977 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
2978 [HAVE_SOUNDTOUCH=yes
2979 HAVE_SOUNDTOUCH_1_4=no
2980 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2981 HAVE_SOUNDTOUCH=no)])])])])
2982 AC_SUBST(SOUNDTOUCH_CFLAGS)
2983 AC_SUBST(SOUNDTOUCH_LIBS)
2984 if test "x$HAVE_CXX" != "xyes"; then
2985 USE_SOUNDTOUCH=false
2986 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
2988 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
2989 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
2990 [Defined if the available libSoundTouch is >= 1.4])
2995 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
2996 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
2997 AC_CHECK_HEADER(openspc.h, [
2998 AC_CHECK_LIB(openspc, OSPC_Init, [
2999 SPC_LIBS="-lopenspc"
3011 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3012 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3013 AC_CHECK_HEADER(gme/gme.h, [
3014 AC_CHECK_LIB(gme, gme_new_emu, [
3025 if test "x$HAVE_GME" = "xyes"; then
3026 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3027 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3033 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3034 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3036 AC_CHECK_HEADER(xvid.h, [
3038 LIBS="$PTHREAD_LIBS $LIBM"
3039 AC_CHECK_LIB(xvidcore, xvid_encore, [
3040 AC_CHECK_LIB(xvidcore, xvid_decore, [
3041 AC_CHECK_LIB(xvidcore, xvid_global, [
3042 AC_MSG_CHECKING([for up-to-date XviD API version])
3043 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3044 #if XVID_API_MAJOR(XVID_API) != 4
3045 #error "Incompatible XviD API version"
3047 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3048 #error "Incompatible XviD API version"
3050 ]])],[ AC_MSG_RESULT(yes)
3051 XVID_LIBS="-lxvidcore $LIBM"
3054 ],[AC_MSG_RESULT(no) ])
3063 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3064 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3065 AC_MSG_CHECKING([Checking for up to date dvb installation])
3066 AC_CHECK_HEADER(linux/dvb/version.h, [
3067 AC_MSG_CHECKING([for up-to-date dvb API])
3068 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3069 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3070 #error "Incompatible dvb API"
3072 ]])], [ AC_MSG_RESULT(yes)
3074 ], [ AC_MSG_RESULT(no)
3081 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3082 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3083 AC_MSG_CHECKING([Checking for windows internet support])
3084 AC_CHECK_HEADERS([windows.h wininet.h],
3085 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3086 [AC_INCLUDES_DEFAULT
3087 #include <windows.h>])
3091 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3092 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3093 AC_MSG_CHECKING([Checking for ACM support])
3094 AC_CHECK_HEADERS([windows.h msacm.h],
3096 AC_SUBST(ACMENC_CFLAGS)
3097 AC_SUBST(ACMMP3DEC_CFLAGS)
3099 [AC_INCLUDES_DEFAULT
3100 #include <windows.h>])
3104 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3105 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3110 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3112 if test "$HAVE_VDPAU" = "no"; then
3113 saved_CPPFLAGS="$CPPFLAGS"
3114 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3116 if test -z "$HAVE_VDPAU_H"; then
3117 dnl Didn't find VDPAU header straight away.
3118 dnl Try /usr/include/nvidia. Need to clear caching vars first
3119 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3120 unset ac_cv_header_vdpau_vdpau_h
3121 unset ac_cv_header_vdpau_vdpau_x11_h
3122 VDPAU_CFLAGS="-I/usr/include/nvidia"
3123 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3124 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3125 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3128 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3130 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3131 dnl Found the headers - look for the lib
3132 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3134 LIBS="$VDPAU_LIBS $saved_LIBS"
3135 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3141 if test "$HAVE_VDPAU" = "yes"; then
3142 AC_MSG_NOTICE([Found up to date VDPAU installation])
3143 AC_SUBST(VDPAU_CFLAGS)
3144 AC_SUBST(VDPAU_LIBS)
3149 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3150 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3151 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3154 dnl *** schroedinger ***
3155 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3156 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3157 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3161 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3162 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3163 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3167 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3168 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3169 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3173 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3174 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3175 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3176 HAVE_SPANDSP="yes" ], [
3180 AC_SUBST(SPANDSP_CFLAGS)
3181 AC_SUBST(SPANDSP_LIBS)
3184 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3185 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3186 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3187 if test "x$HAVE_SNDIO" = "xyes"; then
3188 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3189 if test "x$HAVE_SNDIO" = "xyes"; then
3191 AC_SUBST(SNDIO_LIBS)
3196 dnl *** hls-crypto ***
3197 AC_ARG_WITH([hls-crypto],
3198 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3199 which cryptographic library version to compile against for hls (default: auto)
3201 AS_CASE([$with_hls_crypto],
3205 [with_hls_crypto=auto]
3211 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3212 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3213 AS_CASE([$with_hls_crypto],
3215 PKG_CHECK_MODULES(NETTLE, nettle, [
3216 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3218 ],[AC_MSG_ERROR([Could not find nettle library])])
3221 AM_PATH_LIBGCRYPT([1.2.0], [
3222 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3224 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3227 PKG_CHECK_MODULES(OPENSSL, openssl, [
3228 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3230 ],[AC_MSG_ERROR([Could not find openssl library])])
3233 dnl Try to find a valid crypto library
3234 PKG_CHECK_MODULES(NETTLE, nettle, [
3235 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3238 AM_PATH_LIBGCRYPT([1.2.0], [
3239 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3242 PKG_CHECK_MODULES(OPENSSL, openssl, [
3243 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3254 dnl *** x265 (H.265/HEVC encoder) ***
3255 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3256 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3257 AG_GST_PKG_CHECK_MODULES(X265, x265)
3262 dnl not building plugins with external dependencies,
3263 dnl but we still need to set the conditionals
3265 AM_CONDITIONAL(USE_ASSRENDER, false)
3266 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3267 AM_CONDITIONAL(USE_VOAACENC, false)
3268 AM_CONDITIONAL(USE_APEXSINK, false)
3269 AM_CONDITIONAL(USE_BS2B, false)
3270 AM_CONDITIONAL(USE_BZ2, false)
3271 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3272 AM_CONDITIONAL(USE_CURL, false)
3273 AM_CONDITIONAL(USE_SSH2, false)
3274 AM_CONDITIONAL(USE_DASH, false)
3275 AM_CONDITIONAL(USE_DC1394, false)
3276 AM_CONDITIONAL(USE_DECKLINK, false)
3277 AM_CONDITIONAL(DECKLINK_OSX, false)
3278 AM_CONDITIONAL(USE_DIRECTFB, false)
3279 AM_CONDITIONAL(USE_WAYLAND, false)
3280 AM_CONDITIONAL(USE_DAALA, false)
3281 AM_CONDITIONAL(USE_DTS, false)
3282 AM_CONDITIONAL(USE_EXIF, false)
3283 AM_CONDITIONAL(USE_RESINDVD, false)
3284 AM_CONDITIONAL(USE_FAAC, false)
3285 AM_CONDITIONAL(USE_FAAD, false)
3286 AM_CONDITIONAL(USE_FBDEV, false)
3287 AM_CONDITIONAL(USE_FLITE, false)
3288 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3289 AM_CONDITIONAL(USE_GL, false)
3290 AM_CONDITIONAL(USE_GSM, false)
3291 AM_CONDITIONAL(USE_GTK3, false)
3292 AM_CONDITIONAL(USE_GTK3_GL, false)
3293 AM_CONDITIONAL(USE_HLS, false)
3294 AM_CONDITIONAL(USE_KATE, false)
3295 AM_CONDITIONAL(USE_TIGER, false)
3296 AM_CONDITIONAL(USE_LADSPA, false)
3297 AM_CONDITIONAL(USE_LV2, false)
3298 AM_CONDITIONAL(USE_LIBDE265, false)
3299 AM_CONDITIONAL(USE_LIBMMS, false)
3300 AM_CONDITIONAL(USE_LINSYS, false)
3301 AM_CONDITIONAL(USE_MODPLUG, false)
3302 AM_CONDITIONAL(USE_MIMIC, false)
3303 AM_CONDITIONAL(USE_MPEG2ENC, false)
3304 AM_CONDITIONAL(USE_MPG123, false)
3305 AM_CONDITIONAL(USE_MPLEX, false)
3306 AM_CONDITIONAL(USE_MUSEPACK, false)
3307 AM_CONDITIONAL(USE_NAS, false)
3308 AM_CONDITIONAL(USE_NEON, false)
3309 AM_CONDITIONAL(USE_OFA, false)
3310 AM_CONDITIONAL(USE_OPENAL, false)
3311 AM_CONDITIONAL(USE_OPENCV, false)
3312 AM_CONDITIONAL(USE_OPENEXR, false)
3313 AM_CONDITIONAL(USE_OPENJPEG, false)
3314 AM_CONDITIONAL(USE_OPENNI2, false)
3315 AM_CONDITIONAL(USE_OPUS, false)
3316 AM_CONDITIONAL(USE_PVR, false)
3317 AM_CONDITIONAL(USE_QT, false)
3318 AM_CONDITIONAL(USE_LIBVISUAL, false)
3319 AM_CONDITIONAL(USE_TIMIDITY, false)
3320 AM_CONDITIONAL(USE_WILDMIDI, false)
3321 AM_CONDITIONAL(USE_SDL, false)
3322 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3323 AM_CONDITIONAL(USE_SNDFILE, false)
3324 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3325 AM_CONDITIONAL(USE_SPANDSP, false)
3326 AM_CONDITIONAL(USE_SPC, false)
3327 AM_CONDITIONAL(USE_SRTP, false)
3328 AM_CONDITIONAL(USE_GME, false)
3329 AM_CONDITIONAL(USE_XVID, false)
3330 AM_CONDITIONAL(USE_DVB, false)
3331 AM_CONDITIONAL(USE_WININET, false)
3332 AM_CONDITIONAL(USE_ACM, false)
3333 AM_CONDITIONAL(USE_VDPAU, false)
3334 AM_CONDITIONAL(USE_SBC, false)
3335 AM_CONDITIONAL(USE_SCHRO, false)
3336 AM_CONDITIONAL(USE_ZBAR, false)
3337 AM_CONDITIONAL(USE_RSVG, false)
3338 AM_CONDITIONAL(USE_RTMP, false)
3339 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3340 AM_CONDITIONAL(USE_SNDIO, false)
3341 AM_CONDITIONAL(USE_UVCH264, false)
3342 AM_CONDITIONAL(USE_WEBP, false)
3343 AM_CONDITIONAL(USE_OPENH264, false)
3344 AM_CONDITIONAL(USE_X265, false)
3345 AM_CONDITIONAL(USE_DTLS, false)
3347 fi dnl of EXT plugins
3349 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3352 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3353 dnl GST_*: flags shared by built objects to link against GStreamer
3354 dnl GST_ALL_LDFLAGS: linker flags shared by all
3355 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3356 dnl GST_LT_LDFLAGS: library versioning of our libraries
3357 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3359 dnl GST_OPTION_CFLAGS
3360 if test "x$USE_DEBUG" = xyes; then
3363 AC_SUBST(PROFILE_CFLAGS)
3365 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3366 dnl Define _only_ during CVS (not pre-releases or releases)
3367 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3369 DEPRECATED_CFLAGS=""
3371 AC_SUBST(DEPRECATED_CFLAGS)
3373 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3374 dnl at make time with e.g. make ERROR_CFLAGS=""
3375 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3376 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3377 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3378 AC_SUBST(GST_OPTION_CFLAGS)
3379 AC_SUBST(GST_OPTION_CXXFLAGS)
3380 AC_SUBST(GST_OPTION_OBJCFLAGS)
3382 dnl FIXME: do we want to rename to GST_ALL_* ?
3383 dnl prefer internal headers to already installed ones
3384 dnl also add builddir include for enumtypes and marshal
3385 dnl add GST_OPTION_CFLAGS, but overridable
3386 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
3387 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3388 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3389 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3390 AC_SUBST(GST_CFLAGS)
3391 AC_SUBST(GST_CXXFLAGS)
3392 AC_SUBST(GST_OBJCFLAGS)
3394 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3395 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3396 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3397 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3398 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3399 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3401 dnl LDFLAGS really should only contain flags, not libs - they get added before
3402 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3403 GST_ALL_LDFLAGS="-no-undefined"
3404 if test "x${enable_Bsymbolic}" = "xyes"; then
3405 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3407 AC_SUBST(GST_ALL_LDFLAGS)
3410 dnl linker flags shared by all libraries
3411 dnl LDFLAGS modifier defining exported symbols from built libraries
3412 dnl (export _gst_foo but not __gst_foo)
3413 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3414 AC_SUBST(GST_LIB_LDFLAGS)
3416 dnl this really should only contain flags, not libs - they get added before
3417 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3418 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3419 AC_SUBST(GST_PLUGIN_LDFLAGS)
3421 dnl *** output files ***
3423 $MKDIR_P tests/check/orc
3431 gst-plugins-bad.spec
3433 gst/accurip/Makefile
3434 gst/adpcmdec/Makefile
3435 gst/adpcmenc/Makefile
3437 gst/videoframe_audiolevel/Makefile
3439 gst/audiofxbad/Makefile
3440 gst/audiomixer/Makefile
3441 gst/audiovisualizers/Makefile
3442 gst/autoconvert/Makefile
3444 gst/camerabin2/Makefile
3445 gst/cdxaparse/Makefile
3446 gst/coloreffects/Makefile
3447 gst/dataurisrc/Makefile
3449 gst/debugutils/Makefile
3450 gst/dvbsuboverlay/Makefile
3452 gst/faceoverlay/Makefile
3453 gst/festival/Makefile
3454 gst/fieldanalysis/Makefile
3455 gst/freeverb/Makefile
3457 gst/gaudieffects/Makefile
3458 gst/geometrictransform/Makefile
3460 gst/hdvparse/Makefile
3463 gst/interlace/Makefile
3464 gst/ivfparse/Makefile
3466 gst/jp2kdecimator/Makefile
3467 gst/jpegformat/Makefile
3470 gst/mpegdemux/Makefile
3471 gst/mpegtsdemux/Makefile
3472 gst/mpegtsmux/Makefile
3473 gst/mpegtsmux/tsmux/Makefile
3474 gst/mpegpsmux/Makefile
3478 gst/nuvdemux/Makefile
3480 gst/patchdetect/Makefile
3481 gst/pcapparse/Makefile
3483 gst/rawparse/Makefile
3484 gst/removesilence/Makefile
3487 gst/segmentclip/Makefile
3494 gst/videofilters/Makefile
3495 gst/videomeasure/Makefile
3496 gst/videoparsers/Makefile
3497 gst/videosignal/Makefile
3501 gst/compositor/Makefile
3503 gst-libs/gst/Makefile
3504 gst-libs/gst/adaptivedemux/Makefile
3505 gst-libs/gst/basecamerabinsrc/Makefile
3506 gst-libs/gst/gl/Makefile
3507 gst-libs/gst/gl/android/Makefile
3508 gst-libs/gst/gl/cocoa/Makefile
3509 gst-libs/gst/gl/dispmanx/Makefile
3510 gst-libs/gst/gl/glprototypes/Makefile
3511 gst-libs/gst/gl/eagl/Makefile
3512 gst-libs/gst/gl/egl/Makefile
3513 gst-libs/gst/gl/wayland/Makefile
3514 gst-libs/gst/gl/win32/Makefile
3515 gst-libs/gst/gl/x11/Makefile
3516 gst-libs/gst/insertbin/Makefile
3517 gst-libs/gst/interfaces/Makefile
3518 gst-libs/gst/codecparsers/Makefile
3519 gst-libs/gst/mpegts/Makefile
3520 gst-libs/gst/uridownloader/Makefile
3521 gst-libs/gst/wayland/Makefile
3522 gst-libs/gst/base/Makefile
3523 gst-libs/gst/player/Makefile
3524 gst-libs/gst/video/Makefile
3525 gst-libs/gst/audio/Makefile
3527 sys/dshowdecwrapper/Makefile
3529 sys/acmmp3dec/Makefile
3530 sys/androidmedia/Makefile
3531 sys/applemedia/Makefile
3532 sys/applemedia-nonpublic/Makefile
3535 sys/d3dvideosink/Makefile
3536 sys/decklink/Makefile
3537 sys/directsound/Makefile
3538 sys/dshowsrcwrapper/Makefile
3539 sys/dshowvideosink/Makefile
3544 sys/opensles/Makefile
3546 sys/tinyalsa/Makefile
3547 sys/uvch264/Makefile
3552 sys/wininet/Makefile
3554 sys/winscreencap/Makefile
3556 tests/check/Makefile
3557 tests/files/Makefile
3558 tests/examples/Makefile
3559 tests/examples/avsamplesink/Makefile
3560 tests/examples/camerabin2/Makefile
3561 tests/examples/codecparsers/Makefile
3562 tests/examples/directfb/Makefile
3563 tests/examples/gl/Makefile
3564 tests/examples/gl/cocoa/Makefile
3565 tests/examples/gl/clutter/Makefile
3566 tests/examples/gl/generic/Makefile
3567 tests/examples/gl/generic/cube/Makefile
3568 tests/examples/gl/generic/cubeyuv/Makefile
3569 tests/examples/gl/generic/doublecube/Makefile
3570 tests/examples/gl/generic/recordgraphic/Makefile
3571 tests/examples/gl/gtk/Makefile
3572 tests/examples/gl/gtk/gtkvideooverlay/Makefile
3573 tests/examples/gl/gtk/3dvideo/Makefile
3574 tests/examples/gl/gtk/filternovideooverlay/Makefile
3575 tests/examples/gl/gtk/filtervideooverlay/Makefile
3576 tests/examples/gl/gtk/fxtest/Makefile
3577 tests/examples/gl/gtk/switchvideooverlay/Makefile
3578 tests/examples/gl/qt/Makefile
3579 tests/examples/gl/sdl/Makefile
3580 tests/examples/gtk/Makefile
3581 tests/examples/mpegts/Makefile
3582 tests/examples/mxf/Makefile
3583 tests/examples/opencv/Makefile
3584 tests/examples/uvch264/Makefile
3585 tests/examples/waylandsink/Makefile
3586 tests/icles/Makefile
3587 ext/voamrwbenc/Makefile
3588 ext/voaacenc/Makefile
3589 ext/assrender/Makefile
3590 ext/apexsink/Makefile
3593 ext/chromaprint/Makefile
3597 ext/directfb/Makefile
3598 ext/wayland/Makefile
3606 ext/fluidsynth/Makefile
3612 ext/libde265/Makefile
3614 ext/libvisual/Makefile
3616 ext/modplug/Makefile
3617 ext/mpeg2enc/Makefile
3621 ext/musepack/Makefile
3627 ext/openexr/Makefile
3628 ext/openh264/Makefile
3629 ext/openjpeg/Makefile
3630 ext/openni2/Makefile
3634 ext/resindvd/Makefile
3637 ext/schroedinger/Makefile
3639 ext/smoothstreaming/Makefile
3640 ext/sndfile/Makefile
3641 ext/soundtouch/Makefile
3642 ext/spandsp/Makefile
3645 ext/teletextdec/Makefile
3648 ext/timidity/Makefile
3656 docs/plugins/Makefile
3658 docs/version.entities
3660 pkgconfig/gstreamer-plugins-bad.pc
3661 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3662 pkgconfig/gstreamer-codecparsers.pc
3663 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3664 pkgconfig/gstreamer-insertbin.pc
3665 pkgconfig/gstreamer-insertbin-uninstalled.pc
3666 pkgconfig/gstreamer-gl.pc
3667 pkgconfig/gstreamer-gl-uninstalled.pc
3668 pkgconfig/gstreamer-mpegts.pc
3669 pkgconfig/gstreamer-mpegts-uninstalled.pc
3670 pkgconfig/gstreamer-player.pc
3671 pkgconfig/gstreamer-player-uninstalled.pc
3672 pkgconfig/gstreamer-wayland.pc
3673 pkgconfig/gstreamer-wayland-uninstalled.pc
3674 pkgconfig/gstreamer-bad-base.pc
3675 pkgconfig/gstreamer-bad-base-uninstalled.pc
3676 pkgconfig/gstreamer-bad-video.pc
3677 pkgconfig/gstreamer-bad-video-uninstalled.pc
3678 pkgconfig/gstreamer-bad-audio.pc
3679 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3684 dnl Create the config.h file for Visual Studio builds
3685 dnl Beware of spaces and /'s in some of the shell variable contents.
3687 -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"/' \
3688 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3689 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3690 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3691 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3692 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3693 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3694 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3695 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3696 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3697 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3698 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3699 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3700 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3701 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3702 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3703 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3704 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3705 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3706 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3707 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3708 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3709 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3710 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3711 -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/' \
3712 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3713 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3714 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3715 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3716 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3717 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3718 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3719 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3720 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3721 config.h.in >win32/common/config.h-new
3725 AG_GST_OUTPUT_PLUGINS