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.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
10 dnl initialize automake
11 AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
13 dnl define PACKAGE_VERSION_* variables
16 dnl check if this is a release version
17 AS_NANO(GST_GIT="no", GST_GIT="yes")
19 dnl can autoconf find the source ?
20 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
22 dnl define the output header for config
23 AC_CONFIG_HEADERS([config.h])
25 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
26 AM_MAINTAINER_MODE([enable])
28 dnl sets host_* variables
31 dnl use pretty build output with automake >= 1.11
32 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
33 [AM_DEFAULT_VERBOSITY=1
34 AC_SUBST(AM_DEFAULT_VERBOSITY)])
36 dnl PKG_CONFIG_SYSROOT_DIR is a valid environment variable
37 m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
39 dnl our libraries and install dirs use GST_API_VERSION in the filename
40 dnl to allow side-by-side installation of different API versions
42 AC_SUBST(GST_API_VERSION)
43 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
44 [GStreamer API Version])
46 AG_GST_LIBTOOL_PREPARE
48 dnl CURRENT, REVISION, AGE
49 dnl - library source changed -> increment REVISION
50 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
51 dnl - interfaces added -> increment AGE
52 dnl - interfaces removed -> AGE = 0
53 dnl sets GST_LT_LDFLAGS
54 AS_LIBTOOL(GST, 700, 0, 700)
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")
246 dnl GTK is optional and used in examples
248 if test "x$BUILD_EXAMPLES" = "xyes"; then
249 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.4, HAVE_GTK3=yes, HAVE_GTK3=no)
250 if test "x$HAVE_GTK3" = "xyes"; then
252 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
253 AC_SUBST(GTK_VERSION)
254 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
255 AC_SUBST(GTK_BASE_DIR)
259 AC_SUBST(GTK3_CFLAGS)
261 AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes")
263 dnl clutter is optional and used in examples
267 if test "x$BUILD_EXAMPLES" = "xyes"; then
268 PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= 1.8, HAVE_CLUTTER=yes, HAVE_CLUTTER=no)
269 AC_SUBST(CLUTTER_LIBS)
270 AC_SUBST(CLUTTER_CFLAGS)
271 AC_SUBST(HAVE_CLUTTER)
273 PKG_CHECK_MODULES(CLUTTER_GLX, clutter-glx-1.0 >= 1.8, HAVE_CLUTTER_GLX=yes, HAVE_CLUTTER_GLX=no)
274 AC_SUBST(CLUTTER_GLX_LIBS)
275 AC_SUBST(CLUTTER_GLX_CFLAGS)
276 AC_SUBST(HAVE_CLUTTER_GLX)
278 PKG_CHECK_MODULES(CLUTTER_X11, clutter-x11-1.0 >= 1.8, HAVE_CLUTTER_X11=yes, HAVE_CLUTTER_X11=no)
279 AC_SUBST(CLUTTER_X11_LIBS)
280 AC_SUBST(CLUTTER_X11_CFLAGS)
281 AC_SUBST(HAVE_CLUTTER_X11)
283 AM_CONDITIONAL(HAVE_CLUTTER, test "x$HAVE_CLUTTER" = "xyes")
284 AM_CONDITIONAL(HAVE_CLUTTER_GLX, test "x$HAVE_CLUTTER_GLX" = "xyes")
285 AM_CONDITIONAL(HAVE_CLUTTER_X11, test "x$HAVE_CLUTTER_X11" = "xyes")
287 dnl used in the gl/clutteractor example
288 if test "x$BUILD_EXAMPLES" = "xyes"; then
289 PKG_CHECK_MODULES(XCOMPOSITE, xcomposite, HAVE_XCOMPOSITE=yes, HAVE_XCOMPOSITE=no)
290 AC_SUBST(XCOMPOSITE_CFLAGS)
291 AC_SUBST(XCOMPOSITE_LIBS)
293 AM_CONDITIONAL(HAVE_XCOMPOSITE, test "x$HAVE_XCOMPOSITE" = "xyes")
295 dnl graphene-1.0 is optional and used in gltransformation
297 PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.0.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
298 if test "x$HAVE_GRAPHENE" = "xyes"; then
299 AC_DEFINE(HAVE_GRAPHENE, [1] , [Use graphene])
301 AC_SUBST(HAVE_GRAPHENE)
302 AC_SUBST(GRAPHENE_LIBS)
303 AC_SUBST(GRAPHENE_CFLAGS)
304 AM_CONDITIONAL(HAVE_GRAPHENE, test "x$HAVE_GRAPHENE" = "xyes")
307 dnl sdl is optional and used in examples
309 if test "x$BUILD_EXAMPLES" = "xyes"; then
310 PKG_CHECK_MODULES(SDL, sdl >= 1.2.0, HAVE_SDL=yes, HAVE_SDL=no)
313 AC_SUBST(SDL_CLUTTER)
315 AM_CONDITIONAL(HAVE_SDL, test "x$HAVE_SDL" = "xyes")
318 dnl Needed for GtkBuilder to autoconnect signals
319 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
321 dnl Needed by plugins that use g_module_*() API
322 PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
324 dnl x11 is optional for librfb
326 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
330 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
331 if test "x$HAVE_X11" = "xyes"; then
332 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
335 dnl exif (used on jifmux tests) ****
336 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
338 AC_SUBST(EXIF_CFLAGS)
339 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
344 dnl set license and copyright notice
346 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
347 AC_SUBST(GST_LICENSE)
349 dnl define LIBDIR so we can inform people where we live
350 AS_AC_EXPAND(LIBDIR, $libdir)
351 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
353 dnl set location of plugin directory
356 dnl set release date/time
357 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
358 ["${srcdir}/gst-plugins-bad.doap"],
359 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
361 dnl build static plugins or not
362 AC_MSG_CHECKING([whether to build static plugins or not])
366 [--enable-static-plugins],
367 [build static plugins @<:@default=no@:>@]),
369 [$enableval], [no], [], [yes], [],
370 [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
371 [enable_static_plugins=no])
372 AC_MSG_RESULT([$enable_static_plugins])
373 if test "x$enable_static_plugins" = xyes; then
374 AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
375 [Define if static plugins should be built])
376 GST_PLUGIN_LIBTOOLFLAGS=""
378 GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
380 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
381 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
383 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
384 dnl make sure it doesn't complain about unused variables if debugging is disabled
386 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
388 dnl define an ERROR_CFLAGS Makefile variable
389 dnl -Waggregate-return - libexif returns aggregates
390 dnl -Wundef - Windows headers check _MSC_VER unconditionally
391 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
392 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
393 -Wwrite-strings -Wformat-security -Wold-style-definition
394 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
395 -Wnested-externs $NO_WARNINGS])
397 dnl define an ERROR_CXXFLAGS Makefile variable
398 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
399 -Wmissing-declarations -Wredundant-decls
400 -Wwrite-strings -Wformat-nonliteral -Wformat-security
401 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
403 dnl define an ERROR_OBJCFLAGS Makefile variable
404 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
405 -Wmissing-declarations -Wredundant-decls
406 -Wwrite-strings -Wformat-nonliteral -Wformat-security
407 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
409 dnl define correct level for debugging messages
410 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
413 AG_GST_DEFAULT_ELEMENTS
415 dnl *** plug-ins to include ***
416 dnl Non ported plugins (non-dependant, then dependant)
417 dnl Make sure you have a space before and after all plugins
418 GST_PLUGINS_NONPORTED=" cdxaparse \
428 musepack nas sdl timidity \
430 xvid lv2 teletextdec sndio libvisual"
431 AC_SUBST(GST_PLUGINS_NONPORTED)
433 dnl these are all the gst plug-ins, compilable without additional libs
434 AG_GST_CHECK_PLUGIN(accurip)
435 AG_GST_CHECK_PLUGIN(adpcmdec)
436 AG_GST_CHECK_PLUGIN(adpcmenc)
437 AG_GST_CHECK_PLUGIN(aiff)
438 AG_GST_CHECK_PLUGIN(asfmux)
439 AG_GST_CHECK_PLUGIN(audiofxbad)
440 AG_GST_CHECK_PLUGIN(audiomixer)
441 AG_GST_CHECK_PLUGIN(compositor)
442 AG_GST_CHECK_PLUGIN(audiovisualizers)
443 AG_GST_CHECK_PLUGIN(autoconvert)
444 AG_GST_CHECK_PLUGIN(bayer)
445 AG_GST_CHECK_PLUGIN(camerabin2)
446 AG_GST_CHECK_PLUGIN(cdxaparse)
447 AG_GST_CHECK_PLUGIN(coloreffects)
448 AG_GST_CHECK_PLUGIN(dataurisrc)
449 AG_GST_CHECK_PLUGIN(dccp)
450 AG_GST_CHECK_PLUGIN(debugutils)
451 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
452 AG_GST_CHECK_PLUGIN(dvdspu)
453 AG_GST_CHECK_PLUGIN(faceoverlay)
454 AG_GST_CHECK_PLUGIN(festival)
455 AG_GST_CHECK_PLUGIN(fieldanalysis)
456 AG_GST_CHECK_PLUGIN(freeverb)
457 AG_GST_CHECK_PLUGIN(frei0r)
458 AG_GST_CHECK_PLUGIN(gaudieffects)
459 AG_GST_CHECK_PLUGIN(geometrictransform)
460 AG_GST_CHECK_PLUGIN(gdp)
461 AG_GST_CHECK_PLUGIN(hdvparse)
462 AG_GST_CHECK_PLUGIN(id3tag)
463 AG_GST_CHECK_PLUGIN(inter)
464 AG_GST_CHECK_PLUGIN(interlace)
465 AG_GST_CHECK_PLUGIN(ivfparse)
466 AG_GST_CHECK_PLUGIN(ivtc)
467 AG_GST_CHECK_PLUGIN(jp2kdecimator)
468 AG_GST_CHECK_PLUGIN(jpegformat)
469 AG_GST_CHECK_PLUGIN(librfb)
470 AG_GST_CHECK_PLUGIN(midi)
471 AG_GST_CHECK_PLUGIN(mpegdemux)
472 AG_GST_CHECK_PLUGIN(mpegtsdemux)
473 AG_GST_CHECK_PLUGIN(mpegtsmux)
474 AG_GST_CHECK_PLUGIN(mpegpsmux)
475 AG_GST_CHECK_PLUGIN(mve)
476 AG_GST_CHECK_PLUGIN(mxf)
477 AG_GST_CHECK_PLUGIN(nuvdemux)
478 AG_GST_CHECK_PLUGIN(onvif)
479 AG_GST_CHECK_PLUGIN(patchdetect)
480 AG_GST_CHECK_PLUGIN(pcapparse)
481 AG_GST_CHECK_PLUGIN(pnm)
482 AG_GST_CHECK_PLUGIN(rawparse)
483 AG_GST_CHECK_PLUGIN(removesilence)
484 AG_GST_CHECK_PLUGIN(rtp)
485 AG_GST_CHECK_PLUGIN(sdi)
486 AG_GST_CHECK_PLUGIN(sdp)
487 AG_GST_CHECK_PLUGIN(segmentclip)
488 AG_GST_CHECK_PLUGIN(siren)
489 AG_GST_CHECK_PLUGIN(smooth)
490 AG_GST_CHECK_PLUGIN(speed)
491 AG_GST_CHECK_PLUGIN(subenc)
492 AG_GST_CHECK_PLUGIN(stereo)
493 AG_GST_CHECK_PLUGIN(tta)
494 AG_GST_CHECK_PLUGIN(videofilters)
495 AG_GST_CHECK_PLUGIN(videomeasure)
496 AG_GST_CHECK_PLUGIN(videoparsers)
497 AG_GST_CHECK_PLUGIN(videosignal)
498 AG_GST_CHECK_PLUGIN(vmnc)
499 AG_GST_CHECK_PLUGIN(y4m)
500 AG_GST_CHECK_PLUGIN(yadif)
502 dnl *** plug-ins to exclude ***
504 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
505 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
506 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
508 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
510 LIBS="$LIBS -framework VideoToolbox"
511 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
512 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
518 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
519 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
520 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
523 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
524 if test "x$HAVE_IOS" = "xyes"; then
525 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
528 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
529 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
530 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
533 dnl disable gst plugins we might not be able to build on this
534 dnl platform: (ugly but minimally invasive)
535 dnl FIXME: maybe move to sys, or make work with winsock2
536 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
537 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
539 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
540 WINSOCK2_LIBS="-lws2_32"
541 AC_SUBST(WINSOCK2_LIBS)
544 if test "x$HAVE_PTHREAD_H" = "xyes"; then
545 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
548 AG_GST_DISABLE_PLUGIN(dccp)
552 AC_ARG_ENABLE([opengl],
553 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
554 [case "${enableval}" in
557 auto) NEED_GL=auto ;;
558 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
559 esac],[NEED_GL=auto])
561 AC_ARG_WITH([opengl-module-name],
562 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
563 if test x$with_opengl_module_name != x; then
564 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
567 AC_ARG_ENABLE([gles2],
568 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
569 [case "${enableval}" in
570 yes) NEED_GLES2=yes ;;
572 auto) NEED_GLES2=auto ;;
573 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
574 esac],[NEED_GLES2=auto])
576 AC_ARG_WITH([gles2-module-name],
577 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
578 if test x$with_gles2_module_name != x; then
579 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
583 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
584 [case "${enableval}" in
587 auto) NEED_EGL=auto ;;
588 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
589 esac],[NEED_EGL=auto])
591 AC_ARG_WITH([egl-module-name],
592 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
593 if test x$with_egl_module_name != x; then
594 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
598 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
599 [case "${enableval}" in
602 auto) NEED_WGL=auto ;;
603 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
604 esac],[NEED_WGL=auto])
607 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
608 [case "${enableval}" in
611 auto) NEED_GLX=auto ;;
612 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
613 esac],[NEED_GLX=auto])
615 AC_ARG_ENABLE([cocoa],
616 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
617 [case "${enableval}" in
618 yes) NEED_COCOA=yes ;;
620 auto) NEED_COCOA=auto ;;
621 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
622 esac],[NEED_COCOA=auto])
625 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
626 [case "${enableval}" in
629 auto) NEED_X11=auto ;;
630 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
631 esac],[NEED_X11=auto])
633 AC_ARG_ENABLE([wayland],
634 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
635 [case "${enableval}" in
636 yes) NEED_WAYLAND_EGL=yes ;;
637 no) NEED_WAYLAND_EGL=no ;;
638 auto) NEED_WAYLAND_EGL=auto ;;
639 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
640 esac],[NEED_WAYLAND_EGL=auto])
642 AC_ARG_ENABLE([dispmanx],
643 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
644 [case "${enableval}" in
645 yes) NEED_DISPMANX=yes ;;
646 no) NEED_DISPMANX=no ;;
647 auto) NEED_DISPMANX=auto ;;
648 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
649 esac],[NEED_DISPMANX=auto])
651 AG_GST_PKG_CHECK_MODULES(X, x11)
652 save_CPPFLAGS="$CPPFLAGS"
664 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
665 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
666 if test "x$HAVE_WGLEXT" = "xyes"; then
672 if test "x$NEED_GL" != "xno"; then
673 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
675 if test "x$NEED_GLES2" != "xno"; then
676 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
678 if test "x$NEED_EGL" != "xno"; then
679 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
685 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
686 AC_CHECK_HEADER([EGL/fbdev_window.h],
689 AC_CHECK_LIB([Mali], [mali_image_create],
692 AC_CHECK_LIB([GLESv2], [glEnable],
694 AC_CHECK_HEADER([GLES2/gl2.h],
696 AC_CHECK_LIB([EGL], [eglGetProcAddress],
698 AC_CHECK_HEADER([EGL/egl.h],
702 EGL_LIBS="-lMali -lUMP"
704 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
712 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
713 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
714 LIBS="$LIBS -lvcos -lvchiq_arm"
715 AC_CHECK_LIB([bcm_host], [bcm_host_init],
717 LIBS="$LIBS -lbcm_host"
718 AC_CHECK_HEADER(bcm_host.h,
720 LIBS="$LIBS -lGLESv2"
721 AC_CHECK_LIB([EGL], [eglGetProcAddress],
724 AC_CHECK_HEADER([EGL/egl.h],
726 AC_CHECK_LIB([GLESv2], [glEnable],
728 AC_CHECK_HEADER([GLES2/gl2.h],
733 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
735 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
746 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)
750 CPPFLAGS="$save_CPPFLAGS"
764 dnl Check for what the user asked for and what we could find
765 if test "x$HAVE_EGL" = "xno"; then
766 if test "x$NEED_EGL" = "xyes"; then
767 AC_MSG_ERROR([Could not find the required EGL libraries])
771 if test "x$HAVE_GL" = "xno"; then
772 if test "x$NEED_GL" = "xyes"; then
773 AC_MSG_ERROR([Could not find the required OpenGL libraries])
777 if test "x$HAVE_GLES2" = "xno"; then
778 if test "x$NEED_GLES2" = "xyes"; then
779 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
783 dnl X, GLX and OpenGL
784 if test "x$HAVE_X" = "xno"; then
785 if test "x$NEED_GLX" = "xyes"; then
786 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
788 if test "x$NEED_X11" = "xyes"; then
789 AC_MSG_ERROR([Could not find X11 development libraries])
792 if test "x$NEED_GL" != "xno"; then
793 if test "x$HAVE_GL" = "xno"; then
794 if test "x$NEED_GLX" = "xyes"; then
795 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
799 if test "x$NEED_GLX" != "xno"; then
806 dnl check if we can include both GL and GLES2 at the same time
807 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
809 #ifndef GL_GLEXT_PROTOTYPES
810 #define GL_GLEXT_PROTOTYPES 1
813 # include <OpenGLES/ES2/gl.h>
814 # include <OpenGLES/ES2/glext.h>
816 # include <GLES2/gl2.h>
817 # include <GLES2/gl2ext.h>
820 # include <OpenGL/OpenGL.h>
821 # include <OpenGL/gl.h>
822 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
823 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
824 # include <OpenGL/gl3.h>
828 # if __WIN32__ || _WIN32
829 # include <GL/glext.h>
833 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
834 save_CPPFLAGS="$CPPFLAGS"
835 CPPFLAGS="$CPPFLAGS $ERROR_CFLAGS"
836 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$GL_INCLUDES]], [[
837 #if !defined(GL_FALSE)
838 #error Failed to include GL headers
840 ]])],[ AC_MSG_RESULT(yes)
842 if test "x$NEED_GLES2" = "xyes"; then
843 if test "x$NEED_GL" = "xyes"; then
844 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
846 AC_MSG_WARN([Disabling Desktop GL support])
850 AC_MSG_WARN([Disabling GL|ES 2.0 support])
854 CPPFLAGS="$save_CPPFLAGS"
857 #dnl Check for OpenGL
861 if test "x$NEED_WGL" = "xyes"; then
862 AC_MSG_ERROR([WGL is not available on Android])
864 if test "x$NEED_GLX" = "xyes"; then
865 AC_MSG_ERROR([GLX is not available on Android])
867 if test "x$NEED_GL" = "xyes"; then
868 AC_MSG_ERROR([GL is not available on Android])
870 if test "x$NEED_X11" = "xyes"; then
871 AC_MSG_ERROR([X11 is not available on Android])
873 if test "x$NEED_COCOA" = "xyes"; then
874 AC_MSG_ERROR([Cocoa is not available on Android])
878 if test "x$HAVE_GLES2" = "xyes"; then
879 if test "x$NEED_GLES2" != "xno"; then
880 GL_LIBS="$GL_LIBS -lGLESv2"
886 if test "x$HAVE_EGL" = "xyes"; then
887 if test "x$NEED_EGL" != "xno"; then
888 GL_LIBS="$GL_LIBS -lEGL"
893 if test "x$USE_EGL" != "xyes"; then
894 AC_MSG_ERROR([Need EGL on Android])
897 if test "x$USE_GLES2" != "xyes"; then
898 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
901 HAVE_WINDOW_ANDROID=yes
903 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
904 if test "x$NEED_WGL" = "xyes"; then
905 AC_MSG_ERROR([WGL is not available on unix])
908 if test "x$HAVE_X" = "xno"; then
909 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
910 AC_MSG_WARN([X or Wayland is required for OpenGL support])
914 dnl check Desktop OpenGL
915 if test "x$HAVE_GL" = "xyes"; then
916 if test "x$NEED_GL" != "xno"; then
917 GL_LIBS="$GL_LIBS -lGL"
922 if test "x$HAVE_GLES2" = "xyes"; then
923 if test "x$NEED_GLES2" != "xno"; then
924 GL_LIBS="$GL_LIBS -lGLESv2"
929 if test "x$HAVE_X" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
930 if test "x$NEED_X11" != "xno"; then
931 GL_LIBS="$GL_LIBS $X_LIBS"
932 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
937 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
938 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
939 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
941 if test "x$NEED_WAYLAND_EGL" != "xno"; then
942 HAVE_WINDOW_WAYLAND=yes
943 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
944 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
949 if test "x$HAVE_EGL_RPI" = "xyes"; then
950 if test "x$NEED_DISPMANX" != "xno"; then
951 HAVE_WINDOW_DISPMANX=yes
957 if test "x$HAVE_EGL" = "xno"; then
958 if test "x$HAVE_GL" = "xno"; then
959 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
962 if test "x$NEED_EGL" != "xno"; then
963 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
964 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
965 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
972 if test "x$HAVE_IOS" = "xyes"; then
973 if test "x$NEED_WGL" = "xyes"; then
974 AC_MSG_ERROR([WGL is not available on iOS])
976 if test "x$NEED_GLX" = "xyes"; then
977 AC_MSG_ERROR([GLX is not available on iOS])
979 if test "x$NEED_GL" = "xyes"; then
980 AC_MSG_ERROR([GL is not available on iOS])
982 if test "x$NEED_X11" = "xyes"; then
983 AC_MSG_ERROR([X11 is not available on iOS])
985 if test "x$NEED_COCOA" = "xyes"; then
986 AC_MSG_ERROR([Cocoa is not available on iOS])
988 if test "x$NEED_EGL" = "xyes"; then
989 AC_MSG_ERROR([EGL is not available on iOS])
992 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
993 GL_CFLAGS="$GL_CFLAGS"
998 ac_cv_type_GLsizeiptr=yes
999 ac_cv_type_GLintptr=yes
1000 ac_cv_type_GLchar=yes
1002 dnl Only osx supports cocoa.
1003 if test "x$NEED_WGL" = "xyes"; then
1004 AC_MSG_ERROR([WGL is not available on Mac OS X])
1007 if test "x$NEED_COCOA" != "xno"; then
1008 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1009 GL_CFLAGS="$GL_CFLAGS"
1011 HAVE_WINDOW_COCOA=yes
1015 if test "x$USE_GLX" = "xyes"; then
1016 if test "x$HAVE_X" = "xyes"; then
1017 if test "x$NEED_X11" != "xno"; then
1018 GL_LIBS="$GL_LIBS $X_LIBS"
1019 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
1024 if test "x$HAVE_GL" = "xyes"; then
1025 if test "x$NEED_GL" != "xno"; then
1026 GL_LIBS="$GL_LIBS -lGL"
1032 if test "x$HAVE_EGL" = "xyes"; then
1033 if test "x$NEED_EGL" != "xno"; then
1034 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1035 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1036 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1043 if test "x$HAVE_GLES2" = "xyes"; then
1044 if test "x$NEED_GLES2" != "xno"; then
1045 GL_LIBS="$GL_LIBS -lGLESv2"
1052 if test "x$NEED_GLX" = "xyes"; then
1053 AC_MSG_ERROR([GLX is not available on Windows])
1055 if test "x$NEED_GLES2" = "xyes"; then
1056 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1059 if test "x$HAVE_GL" = "xyes"; then
1060 if test "x$NEED_GL" != "xno"; then
1061 if test "x$HAVE_WGL" = "xyes"; then
1062 if test "$NEED_WGL" != "xno"; then
1063 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1064 HAVE_WINDOW_WIN32=yes
1073 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1084 GST_GL_HAVE_OPENGL=0
1088 if test "x$USE_OPENGL" = "xyes"; then
1089 GL_APIS="gl $GL_APIS"
1090 GST_GL_HAVE_OPENGL=1
1092 if test "x$USE_GLES2" = "xyes"; then
1093 GL_APIS="gles2 $GL_APIS"
1097 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1098 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1099 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1100 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1105 GST_GL_HAVE_WINDOW_X11=0
1106 GST_GL_HAVE_WINDOW_COCOA=0
1107 GST_GL_HAVE_WINDOW_WIN32=0
1108 GST_GL_HAVE_WINDOW_WAYLAND=0
1109 GST_GL_HAVE_WINDOW_ANDROID=0
1110 GST_GL_HAVE_WINDOW_DISPMANX=0
1111 GST_GL_HAVE_WINDOW_EAGL=0
1113 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1114 GL_WINDOWS="x11 $GL_WINDOWS"
1115 GST_GL_HAVE_WINDOW_X11=1
1117 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1118 GL_WINDOWS="cocoa $GL_WINDOWS"
1119 GST_GL_HAVE_WINDOW_COCOA=1
1121 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1122 GL_WINDOWS="win32 $GL_WINDOWS"
1123 GST_GL_HAVE_WINDOW_WIN32=1
1125 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1126 GL_WINDOWS="wayland $GL_WINDOWS"
1127 GST_GL_HAVE_WINDOW_WAYLAND=1
1129 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1130 GL_WINDOWS="android $GL_WINDOWS"
1131 GST_GL_HAVE_WINDOW_ANDROID=1
1133 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1134 GL_WINDOWS="dispmanx $GL_WINDOWS"
1135 GST_GL_HAVE_WINDOW_DISPMANX=1
1137 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1138 GL_WINDOWS="eagl $GL_WINDOWS"
1139 GST_GL_HAVE_WINDOW_EAGL=1
1142 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1143 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1144 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1145 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1146 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1147 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1148 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1149 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1154 GST_GL_HAVE_PLATFORM_EGL=0
1155 GST_GL_HAVE_PLATFORM_GLX=0
1156 GST_GL_HAVE_PLATFORM_WGL=0
1157 GST_GL_HAVE_PLATFORM_CGL=0
1158 GST_GL_HAVE_PLATFORM_EAGL=0
1160 if test "x$USE_EGL" = "xyes"; then
1161 GL_PLATFORMS="egl $GL_PLATFORMS"
1162 GST_GL_HAVE_PLATFORM_EGL=1
1164 if test "x$USE_GLX" = "xyes"; then
1165 GL_PLATFORMS="glx $GL_PLATFORMS"
1166 GST_GL_HAVE_PLATFORM_GLX=1
1168 if test "x$USE_WGL" = "xyes"; then
1169 GL_PLATFORMS="wgl $GL_PLATFORMS"
1170 GST_GL_HAVE_PLATFORM_WGL=1
1172 if test "x$USE_COCOA" = "xyes"; then
1173 GL_PLATFORMS="cgl $GL_PLATFORMS"
1174 GST_GL_HAVE_PLATFORM_CGL=1
1176 if test "x$USE_EAGL" = "xyes"; then
1177 GL_PLATFORMS="eagl $GL_PLATFORMS"
1178 GST_GL_HAVE_PLATFORM_EAGL=1
1181 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1182 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1183 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1184 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1185 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1186 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1189 dnl Check for no platforms/window systems
1190 if test "x$GL_APIS" = "x"; then
1191 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1193 if test "x$GL_PLATFORMS" = "x"; then
1194 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1196 if test "x$GL_WINDOWS" = "x"; then
1197 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1200 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1215 HAVE_WINDOW_WIN32=no
1216 HAVE_WINDOW_DISPMANX=no
1217 HAVE_WINDOW_WAYLAND=no
1218 HAVE_WINDOW_ANDROID=no
1219 HAVE_WINDOW_COCOA=no
1225 AC_SUBST(GL_OBJCFLAGS)
1226 AC_SUBST(USE_OPENGL)
1229 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1230 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1231 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1232 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1233 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1234 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1235 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1237 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1238 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1239 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1240 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1241 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1242 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1243 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1244 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1245 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1247 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1249 dnl Check for some types that are not always present
1251 if test "x$USE_GLES2" = "xyes"; then
1252 GL_INCLUDES="$GL_INCLUDES
1253 #ifndef GL_GLEXT_PROTOTYPES
1254 #define GL_GLEXT_PROTOTYPES 1
1257 # include <OpenGLES/ES2/gl.h>
1258 # include <OpenGLES/ES2/glext.h>
1260 # include <GLES2/gl2.h>
1261 # include <GLES2/gl2ext.h>
1266 if test "x$USE_OPENGL" = "xyes"; then
1267 GL_INCLUDES="$GL_INCLUDES
1269 # include <OpenGL/OpenGL.h>
1270 # include <OpenGL/gl.h>
1273 # if __WIN32__ || _WIN32
1274 # include <GL/glext.h>
1280 GST_GL_HAVE_GLEGLIMAGEOES=0
1281 GST_GL_HAVE_GLCHAR=0
1282 GST_GL_HAVE_GLSIZEIPTR=0
1283 GST_GL_HAVE_GLINTPTR=0
1284 GST_GL_HAVE_GLSYNC=0
1285 GST_GL_HAVE_GLUINT64=0
1288 CFLAGS="$GL_CFLAGS $CFLAGS"
1290 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1291 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1292 GST_GL_HAVE_GLEGLIMAGEOES=1
1295 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1296 if test "x$ac_cv_type_GLchar" = "xyes"; then
1297 GST_GL_HAVE_GLCHAR=1
1300 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1301 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1302 GST_GL_HAVE_GLSIZEIPTR=1
1305 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1306 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1307 GST_GL_HAVE_GLINTPTR=1
1310 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1311 if test "x$ac_cv_type_GLsync" = "xyes"; then
1312 GST_GL_HAVE_GLSYNC=1
1315 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1316 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1317 GST_GL_HAVE_GLUINT64=1
1322 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1323 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1324 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1325 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1326 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1327 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1328 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1331 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1332 outfile=gstglconfig.h-tmp
1333 cat > $outfile <<\_______EOF
1336 * This is a generated file. Please modify `configure.ac'
1339 #ifndef __GST_GL_CONFIG_H__
1340 #define __GST_GL_CONFIG_H__
1342 #include <gst/gst.h>
1348 cat >>$outfile <<_______EOF
1352 cat >>$outfile <<_______EOF
1356 #endif /* __GST_GL_CONFIG_H__ */
1360 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1361 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1364 mv $outfile gst-libs/gst/gl/gstglconfig.h
1367 gl_config_defines='$GL_CONFIG_DEFINES'
1370 dnl libpng is optional
1371 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1372 if test "x$HAVE_PNG" = "xyes"; then
1373 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1376 AC_SUBST(LIBPNG_LIBS)
1377 AC_SUBST(LIBPNG_CFLAGS)
1378 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1380 dnl libjpeg is optional
1381 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1383 if test x$with_jpeg_mmx != x; then
1384 LIBS="$LIBS -L$with_jpeg_mmx"
1386 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1387 JPEG_LIBS="$LIBS -ljpeg-mmx"
1389 if test x$HAVE_JPEG != xyes; then
1391 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1394 if test x$HAVE_JPEG = xyes; then
1395 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1397 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1402 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1405 dnl *** sys plug-ins ***
1408 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1409 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1410 HAVE_DIRECTSOUND="no"
1411 save_CFLAGS="$CFLAGS"
1412 save_LDFLAGS="$LDFLAGS"
1414 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1415 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1416 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1417 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1418 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1419 #include <windows.h>
1422 #include <mmsystem.h>
1424 DXGetErrorString9 (0);
1425 DirectSoundCreate(NULL, NULL, NULL);
1427 [HAVE_DIRECTSOUND="yes"],
1428 [HAVE_DIRECTSOUND="no"])
1429 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1431 LDFLAGS=$save_LDFLAGS
1434 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1435 dnl this is much more than we want
1436 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1437 AC_SUBST(DIRECTX_CFLAGS)
1438 AC_SUBST(DIRECTX_LDFLAGS)
1439 AC_SUBST(DIRECTSOUND_LIBS)
1441 AC_SUBST(HAVE_DIRECTSOUND)
1445 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1446 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1448 save_CFLAGS="$CFLAGS"
1449 save_LDFLAGS="$LDFLAGS"
1451 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1452 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1453 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1454 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1455 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1456 #include <windows.h>
1458 #include <mmsystem.h>
1459 #include <mmdeviceapi.h>
1465 hr = CoInitialize(NULL);
1467 printf("CoInitialize failed: hr = 0x%08x", hr);
1472 // result = do_everything(argc, argv);
1478 [HAVE_WASAPI="yes"],
1480 AC_MSG_RESULT($HAVE_WASAPI)
1482 LDFLAGS=$save_LDFLAGS
1485 if test "x$HAVE_WASAPI" = "xyes"; then
1486 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1487 AC_SUBST(WASAPI_LIBS)
1489 AC_SUBST(HAVE_WASAPI)
1493 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1494 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1496 save_CFLAGS="$CFLAGS"
1497 save_LDFLAGS="$LDFLAGS"
1499 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1500 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1501 LIBS="$LIBS -ld3d9 -lgdi32"
1502 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1503 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1504 #include <windows.h>
1507 Direct3DCreate9(D3D_SDK_VERSION);
1509 [HAVE_DIRECT3D="yes"],
1510 [HAVE_DIRECT3D="no"])
1511 AC_MSG_RESULT($HAVE_DIRECT3D)
1513 LDFLAGS=$save_LDFLAGS
1516 if test "x$HAVE_DIRECT3D" = "xyes"; then
1517 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1518 AC_SUBST(DIRECT3D_LIBS)
1520 AC_SUBST(HAVE_DIRECT3D)
1524 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1525 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1526 HAVE_WINSCREENCAP="no"
1527 save_CFLAGS="$CFLAGS"
1528 save_LDFLAGS="$LDFLAGS"
1530 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1531 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1532 LIBS="$LIBS -ld3d9 -lgdi32"
1533 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1534 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1535 #include <windows.h>
1538 Direct3DCreate9(D3D_SDK_VERSION);
1540 [HAVE_WINSCREENCAP="yes"],
1541 [HAVE_WINSCREENCAP="no"])
1542 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1544 LDFLAGS=$save_LDFLAGS
1547 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1548 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1549 AC_SUBST(WINSCREENCAP_LIBS)
1551 AC_SUBST(HAVE_WINSCREENCAP)
1555 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1556 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1558 save_CFLAGS="$CFLAGS"
1559 save_LDFLAGS="$LDFLAGS"
1561 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1562 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1563 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1564 AC_MSG_CHECKING(for Winks LDFLAGS)
1565 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1566 #include <windows.h>
1571 IGraphBuilder *pGraph = NULL;
1572 HRESULT hr = CoInitialize(NULL);
1573 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1574 &IID_IGraphBuilder, (void **)&pGraph);
1581 AC_MSG_RESULT($HAVE_WINKS)
1583 LDFLAGS=$save_LDFLAGS
1586 if test "x$HAVE_WINKS" = "xyes"; then
1587 dnl this is much more than we want
1588 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1589 AC_SUBST(DIRECTX_CFLAGS)
1590 AC_SUBST(DIRECTX_LDFLAGS)
1591 AC_SUBST(WINKS_LIBS)
1593 AC_SUBST(HAVE_WINKS)
1596 dnl *** Android Media ***
1597 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1598 HAVE_ANDROID_MEDIA="no"
1599 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1602 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1605 HAVE_ANDROID_MEDIA="no"
1610 dnl *** AppleMedia (OS X and iOS) ***
1611 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1612 HAVE_APPLE_MEDIA="no"
1613 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1614 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1615 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1616 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1617 if test "x$HAVE_IOS" = "xno"; then
1618 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1622 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1627 HAVE_APPLE_MEDIA="no"
1632 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1633 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1634 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1635 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1636 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1638 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1647 dnl *** OS/X AVCVideoServices ***
1648 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1650 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1652 save_CPPFLAGS="$CPPFLAGS"
1653 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1655 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1656 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1658 CPPFLAGS=$save_CPPFLAGS
1661 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1670 dnl check for shm_open (for shm plugin)
1671 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1672 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1673 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1675 *-darwin* | *-macos10*)
1676 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1680 AC_CHECK_LIB([rt], [shm_open],
1681 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1682 #include <sys/socket.h>
1685 AC_SUBST(SHM_LIBS, "-lrt")
1693 dnl check for Video CD
1694 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1695 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1696 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1699 dnl check for OpenSL ES
1700 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1701 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1702 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1705 dnl *** UVC H264 ***
1706 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1707 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1708 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1709 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1710 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1713 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1714 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1715 HAVE_LIBUSB="yes" ],
1717 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1718 test "x$HAVE_GUDEV" = "xyes" && \
1719 test "x$HAVE_LIBUSB" = "xyes"; then
1725 AC_SUBST(LIBUDEV_CFLAGS)
1726 AC_SUBST(LIBUDEV_LIBS)
1727 AC_SUBST(LIBUSB_CFLAGS)
1728 AC_SUBST(LIBUSB_LIBS)
1731 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1732 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1733 AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
1734 AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-1.0)
1735 AC_ARG_WITH([cuda-prefix],
1736 AS_HELP_STRING([--with-cuda-prefix],
1737 [Use the provided prefix for detecting the cuda installation]),
1738 [AS_IF([test "x$with_cuda_prefix" != "x"],
1739 [CUDA_PREFIX="$with_cuda_prefix"])],
1743 if test "x$CUDA_PREFIX" != "x"; then
1744 dnl only override if not already set
1745 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1746 dnl this is an educated guess, user can always override these
1747 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1748 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1751 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1752 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1753 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1754 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1759 save_CPPFLAGS="$CPPFLAGS"
1760 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1761 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1762 AC_MSG_WARN([Could not find cuda.h]))
1763 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1764 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1765 CPPFLAGS=$save_CPPFLAGS
1767 dnl libcuda and libcudart libraries
1769 LIBS="$CUDA_LIBS $save_LIBS"
1770 HAVE_CUDART_LIB="no"
1771 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1772 AC_MSG_WARN([Could not find cudart library])])
1774 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1775 AC_MSG_WARN([Could not find cuda library])])
1778 dnl nvEncodeAPI.h header
1779 HAVE_NVENCODEAPI_H=no
1780 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1781 save_CPPFLAGS="$CPPFLAGS"
1782 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1783 AC_CHECK_HEADER([nvEncodeAPI.h], [
1784 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1785 #if NVENCAPI_MAJOR_VERSION < 5
1786 #error "Need nvEncodeAPI.h >= 5.0"
1789 HAVE_NVENCODEAPI_H=yes
1791 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1794 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1795 AC_SUBST(NVENCODE_CFLAGS)
1796 CPPFLAGS="$save_CPPFLAGS"
1798 dnl libnvnidia-encode library
1799 HAVE_NVENCODE_LIB=no
1800 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1802 LIBS="$NVENCODE_LIBS $saved_LIBS"
1803 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1804 AC_MSG_WARN([Could not find library nvidia-encode]))
1805 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1806 AC_SUBST(NVENCODE_LIBS)
1810 if test "x$HAVE_CUDA_H" = "xyes" \
1811 -a "x$HAVE_CUDART_H" = "xyes" \
1812 -a "x$HAVE_CUDA_LIB" = "xyes" \
1813 -a "x$HAVE_CUDART_LIB" = "xyes" \
1814 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
1815 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
1817 if test x"$USE_OPENGL" = x"yes"; then
1818 dnl cuda-gl interop header
1819 save_CPPFLAGS="$CPPFLAGS"
1820 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
1821 AC_CHECK_HEADER([cuda_gl_interop.h], [
1822 USE_NVENC_GST_GL="yes"
1823 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
1825 CPPFLAGS="$save_CPPFLAGS"
1831 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
1833 dnl *** ext plug-ins ***
1834 dnl keep this list sorted alphabetically !
1836 if test "x$BUILD_EXTERNAL" = "xyes"; then
1838 dnl *** assrender ***
1839 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
1840 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
1841 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
1842 HAVE_ASSRENDER="yes" ], [
1846 AC_SUBST(ASSRENDER_CFLAGS)
1847 AC_SUBST(ASSRENDER_LIBS)
1849 dnl *** vo-amrwbenc ***
1850 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
1851 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
1852 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
1855 dnl *** vo-aacenc ***
1856 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
1857 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
1858 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
1861 dnl *** apexsink ***
1862 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
1863 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
1864 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
1868 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
1869 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
1870 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
1872 AC_SUBST(APEXSINK_CFLAGS)
1873 AC_SUBST(APEXSINK_LIBS)
1880 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
1881 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
1882 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
1885 AC_SUBST(BS2B_CFLAGS)
1890 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
1891 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
1894 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
1895 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
1896 AC_MSG_RESULT($HAVE_BZ2)
1898 if test "x$HAVE_BZ2" = "xyes"; then
1906 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
1907 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
1908 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
1911 # AC_SUBST(CAIRO_CFLAGS)
1912 # AC_SUBST(CAIRO_LIBS)
1915 dnl *** chromaprint ***
1916 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
1917 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
1918 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
1919 HAVE_CHROMAPRINT="no"
1921 AC_SUBST(CHROMAPRINT_CFLAGS)
1922 AC_SUBST(CHROMAPRINT_LIBS)
1926 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
1927 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
1928 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
1930 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
1931 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
1933 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
1934 [[#ifdef HAVE_SYS_TYPES_H
1935 # include <sys/types.h>
1937 #ifdef HAVE_NETINET_IN_H
1938 # include <netinet/in.h>
1941 AC_MSG_CHECKING([for socket support needed by curlsink])
1942 AC_MSG_RESULT($HAVE_CURL)
1946 AC_SUBST(CURL_CFLAGS)
1948 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
1950 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
1954 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
1955 AC_SUBST(SSH2_CFLAGS)
1957 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
1960 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
1961 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
1962 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
1963 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
1965 AC_SUBST(LIBXML2_CFLAGS)
1966 AC_SUBST(LIBXML2_LIBS)
1970 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
1971 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
1972 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
1973 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
1982 AC_SUBST(LIBDC1394_CFLAGS)
1983 AC_SUBST(LIBDC1394_LIBS)
1986 dnl *** decklink ***
1987 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
1988 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
1995 if test "x$HAVE_PTHREAD_H" = "xyes"; then
1996 AC_CHECK_LIB(dl, dlopen,
2000 DECKLINK_LIBS="-lpthread -ldl"
2005 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2006 AC_CHECK_LIB(dl, dlopen,
2010 DECKLINK_LIBS="-lpthread -ldl"
2011 HAVE_DECKLINK_OSX=yes
2020 AC_SUBST(DECKLINK_CXXFLAGS)
2021 AC_SUBST(DECKLINK_LIBS)
2023 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2025 dnl **** DirectFB ****
2026 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2027 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2028 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2033 dnl **** Wayland ****
2034 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2035 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2036 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 wayland-scanner, [
2037 HAVE_WAYLAND="yes" ], [ HAVE_WAYLAND="no"
2041 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2044 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2045 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2046 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2047 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2049 AC_SUBST(WEBP_CFLAGS)
2054 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2055 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2056 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2057 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2062 AC_SUBST(DAALA_CFLAGS)
2063 AC_SUBST(DAALA_LIBS)
2068 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2069 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2071 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2072 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2073 if test $HAVE_DTS = "no"; then
2074 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2075 [ DTS_LIBS="-ldts_pic $LIBM"
2076 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2082 dnl *** resindvd ***
2083 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2084 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2085 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2090 dnl **** Free AAC Encoder (FAAC) ****
2091 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2092 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2093 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2094 FAAC_LIBS="-lfaac $LIBM")
2098 dnl **** Free AAC Decoder (FAAD) ****
2099 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2100 AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
2103 AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, $LIBM, faad.h,
2104 FAAD_LIBS="-lfaad $LIBM", HAVE_FAAD="no")
2105 if test $HAVE_FAAD = "no"; then
2106 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h,
2107 [ FAAD_LIBS="-lfaad $LIBM"
2108 AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
2109 faad_hdr="neaacdec.h"
2116 if test $HAVE_FAAD = "yes"; then
2117 AC_MSG_CHECKING([Checking for FAAD >= 2.0])
2118 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2119 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2122 /* Release candidate of 2.0 is not good enough for us. This field
2123 * was added only in 2.0 final and does not exist in 2.0-RC3 */
2124 faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
2129 AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
2130 for minor in 10 9 8 7 6 5 0; do
2131 if test x$faad2_minor_version = "x"; then
2132 AC_EGREP_CPP([\"2\.$minor\"$], [
2133 #include <$faad_hdr>
2136 faad2_minor_version=$minor
2140 if test x$faad2_minor_version = "x"; then
2141 AC_MSG_RESULT([no idea])
2143 AC_MSG_RESULT([2.$faad2_minor_version])
2144 AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
2151 AC_SUBST(FAAD_IS_NEAAC)
2155 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2156 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2157 if test "x$HAVE_FBDEV" != "xyes"; then
2158 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2163 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2164 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2165 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2166 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2168 AC_SUBST(FLITE_CFLAGS)
2169 AC_SUBST(FLITE_LIBS)
2173 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2174 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2175 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2176 if test $HAVE_GSM != "yes"; then
2177 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2178 if test $HAVE_GSM = "yes"; then
2179 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2185 dnl *** fluidSynth ***
2186 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2187 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2188 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2189 HAVE_FLUIDSYNTH="no"
2194 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2195 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2196 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2199 AC_SUBST(KATE_CFLAGS)
2201 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2204 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2210 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2211 AC_SUBST(TIGER_CFLAGS)
2212 AC_SUBST(TIGER_LIBS)
2213 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2216 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2217 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2218 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2220 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2221 if test $HAVE_LRDF = "yes"; then
2222 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2225 AC_SUBST(LRDF_CFLAGS)
2229 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2230 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2231 PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
2232 AC_SUBST(SLV2_CFLAGS)
2236 dnl *** libde265 ***
2237 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2238 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2239 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2240 AC_SUBST(LIBDE265_CFLAGS)
2241 AC_SUBST(LIBDE265_LIBS)
2245 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2246 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2247 dnl check with pkg-config first
2248 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2252 AC_SUBST(LIBMMS_LIBS)
2256 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2257 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2258 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2259 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2262 AC_SUBST(SRTP_CFLAGS)
2266 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2267 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2268 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2270 AC_SUBST(DTLS_CFLAGS)
2278 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2279 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2291 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2292 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2293 if test "x$HAVE_CXX" != "xyes"; then
2294 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2297 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2299 AC_SUBST(MODPLUG_CFLAGS)
2300 AC_SUBST(MODPLUG_LIBS)
2304 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
2305 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
2307 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
2308 HAVE_MIMIC=yes, HAVE_MIMIC=no)
2309 AC_SUBST(MIMIC_CFLAGS)
2310 AC_SUBST(MIMIC_LIBS)
2313 dnl *** mjpegtools version info ***
2314 dnl some may prefer older version (given quirks above)
2315 dnl hm, no version info seems available within mjpegtools headers
2316 dnl and API really moves along
2318 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2319 mjpegtools_api=10601
2321 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2322 mjpegtools_api=10800
2324 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2325 mjpegtools_api=20000
2327 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2328 dnl logging API changed in release candidates
2329 OLD_CFLAGS="$CFLAGS"
2331 CFLAGS="$MJPEG_CFLAGS"
2332 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2333 AC_CHECK_FUNC(mjpeg_loglev_t, [
2334 mjpegtools_api=10903
2336 mjpegtools_api=10900
2338 CFLAGS="$OLD_CFLAGS"
2346 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2347 [mjpegtools API evolution])
2349 dnl *** mpeg2enc ***
2350 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2351 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2353 dnl we require a c++ compiler for this one
2354 if [ test x$HAVE_CXX = xyes ]; then
2355 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2356 dnl since many distros include mjpegtools specifically without mplex
2357 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2358 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2359 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2361 dnl switch over to c++ to test things
2363 OLD_CPPFLAGS="$CPPFLAGS"
2365 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2366 CPPFLAGS="$CPPFLAGS_GOOD -I."
2368 mpeg2enc_headers_ok=no
2369 AC_CHECK_HEADER([mpeg2encoder.hh], [
2370 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2372 LIBS="$LIBS $MPEG2ENC_LIBS"
2373 AC_MSG_CHECKING([for valid mpeg2enc objects])
2374 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2375 #include <mpeg2encoder.hh>
2376 #include <mpeg2encoptions.hh>
2382 MPEG2EncOptions *options = new MPEG2EncOptions ();
2383 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2388 dnl so far so good, let's check more things:
2389 dnl mjpegtools-1.8.0 does not install the required
2390 dnl mpeg2syntaxcodes.h header by default, and a new release
2391 dnl is not in sight, so check for this oversight in case
2392 dnl distros or folks have fixed this themselves
2393 if test "$mjpegtools_api" -ge "10800"; then
2394 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2395 mpeg2enc_headers_ok=yes
2397 mpeg2enc_headers_ok=no
2400 mpeg2enc_headers_ok=yes
2402 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2405 CPPFLAGS="$CPPFLAGS_GOOD"
2406 AC_SUBST(MPEG2ENC_CFLAGS)
2407 AC_SUBST(MPEG2ENC_LIBS)
2414 CPPFLAGS="$OLD_CPPFLAGS"
2423 translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
2424 AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
2425 PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
2426 AC_SUBST(MPG123_CFLAGS)
2427 AC_SUBST(MPG123_LIBS)
2431 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2432 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2434 dnl we require a c++ compiler for this one
2435 if [ test x$HAVE_CXX = xyes ]; then
2436 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2437 dnl since many distros include mjpegtools specifically without mplex
2438 dnl and mpeg2enc, we check for mplex on its own, too.
2439 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2440 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2441 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2443 dnl switch over to c++ to test things
2445 OLD_CPPFLAGS="$CPPFLAGS"
2447 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2448 CPPFLAGS="$CPPFLAGS_GOOD -I."
2449 AC_CHECK_HEADER(interact.hpp, [
2450 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2452 LIBS="$LIBS $MPLEX_LIBS"
2453 OLD_LDFLAGS="$LDFLAGS"
2454 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2455 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2456 dnl don't want this here
2457 AC_MSG_CHECKING([for valid mplex objects])
2458 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2460 #include <interact.hpp>
2461 #include <outputstrm.hpp>
2462 #include <multiplexor.hpp>
2467 class TestOutputStream : public OutputStream {
2469 TestOutputStream () : OutputStream () { }
2470 void Write (uint8_t *a, unsigned int b) { }
2471 void NextSegment () { }
2472 uint64_t SegmentSize () { }
2476 MultiplexJob *job = new MultiplexJob ();
2477 vector<IBitStream *> inputs;
2478 job->SetupInputStreams (inputs);
2479 TestOutputStream *out = new TestOutputStream ();
2480 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2485 CPPFLAGS="$CPPFLAGS_GOOD"
2486 AC_SUBST(MPLEX_CFLAGS)
2487 AC_SUBST(MPLEX_LIBS)
2488 AC_SUBST(MPLEX_LDFLAGS)
2490 ],[AC_MSG_RESULT(no)],[])
2492 LDFLAGS="$OLD_LDFLAGS"
2494 CPPFLAGS="$OLD_CPPFLAGS"
2500 dnl *** musepack ***
2501 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2502 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2503 AC_CHECK_HEADER([mpc/mpcdec.h], [
2505 MUSEPACK_LIBS="-lmpcdec"
2506 AC_SUBST(MUSEPACK_LIBS)
2507 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2509 MUSEPACK_LIBS="-lmpcdec"
2510 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2511 AC_SUBST(MUSEPACK_LIBS)
2512 ], [HAVE_MUSEPACK="no"])])
2516 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2517 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2519 if test "x$HAVE_X" = "xyes"; then
2520 save_cppflags=$CFLAGS
2521 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2522 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2523 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2524 CPPFLAGS="$save_cppflags"
2526 AC_SUBST(NAS_CFLAGS)
2531 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2532 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2533 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2536 AC_SUBST(NEON_CFLAGS)
2541 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2542 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2543 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2546 AC_SUBST(OFA_CFLAGS)
2551 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2552 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2553 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2556 AC_SUBST(OPENAL_CFLAGS)
2557 AC_SUBST(OPENAL_LIBS)
2561 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2562 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2563 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2564 dnl and don't want the build to break when a new opencv version comes out.
2565 dnl Need to adjust this upwards once we know that our code compiles fine with
2566 dnl a new version and the no-backward-compatibility define. (There doesn't
2567 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2569 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv < 2.5.0 , [
2572 OLD_CPPFLAGS=$CPPFLAGS
2573 CPPFLAGS=$OPENCV_CFLAGS
2574 something_not_found=no
2575 AC_CHECK_HEADERS([opencv2/contrib/contrib.hpp \
2576 opencv2/core/core_c.h \
2577 opencv2/core/types_c.h \
2578 opencv2/core/version.hpp \
2579 opencv2/highgui/highgui_c.h \
2580 opencv2/imgproc/imgproc.hpp \
2581 opencv2/imgproc/imgproc_c.h \
2582 opencv2/legacy/compat.hpp \
2583 opencv2/legacy/legacy.hpp \
2584 opencv2/objdetect/objdetect.hpp \
2585 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2586 CPPFLAGS=$OLD_CPPFLAGS
2589 if test $something_not_found = "yes"; then
2590 AC_MSG_RESULT([not all opencv2 headers were found])
2598 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2599 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2600 AC_SUBST(OPENCV_PREFIX)
2601 AC_SUBST(OPENCV_CFLAGS)
2602 AC_SUBST(OPENCV_LIBS)
2603 dnl the OpenCV prefix is used at runtime for some object properties, and also
2604 dnl used here to detect which directory is the correct one. For the second
2605 dnl case, make sure the right sysroot is used, ensuring correct behavior
2606 dnl during cross compilation.
2607 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2608 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2610 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2615 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2616 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2617 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2620 dnl *** openh264 ***
2621 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2622 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2623 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2626 dnl *** OpenJPEG ***
2627 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2628 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2632 save_CFLAGS="$CFLAGS"
2633 OPENJPEG_LIBS="-lopenjp2"
2634 LIBS="$LIBS $OPENJPEG_LIBS"
2635 CFLAGS="$CFLAGS $OPENJPEG_CFLAGS"
2637 AC_LANG_PROGRAM([#include <openjpeg-2.0/openjpeg.h>],
2638 [return (int) *opj_version ();])
2639 ], [HAVE_OPENJPEG=yes], [HAVE_OPENJPEG=no])
2641 CFLAGS="$save_CFLAGS"
2643 if test x"$HAVE_OPENJPEG" = x"no"; then
2645 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2646 HAVE_OPENJPEG="yes",
2647 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2649 if test x"$HAVE_OPENJPEG" = x"yes"; then
2650 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2653 AC_SUBST(OPENJPEG_CFLAGS)
2654 AC_SUBST(OPENJPEG_LIBS)
2658 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2659 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2660 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2661 AC_SUBST(OPENNI2_CFLAGS)
2662 AC_SUBST(OPENNI2_LIBS)
2666 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2667 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2668 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2669 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2674 AC_SUBST(OPUS_CFLAGS)
2679 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2680 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2681 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2682 AC_SUBST(PVR_CFLAGS)
2686 AC_ARG_WITH([pvr-external-headers],
2687 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2688 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2689 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2690 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2693 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2694 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2695 PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36 cairo, [
2697 PKG_CHECK_MODULES(RSVG_2_36_2, librsvg-2.0 >= 2.36.2, HAVE_RSVG_2_36_2="yes", HAVE_RSVG_2_36_2="no")
2698 if test "x$HAVE_RSVG_2_36_2" = "xyes"; then
2699 AC_DEFINE(HAVE_RSVG_2_36_2, [1], [Have RSVG 2.36.2 or newer])
2704 AC_SUBST(RSVG_CFLAGS)
2709 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2710 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2713 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2720 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2721 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2722 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2723 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2728 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2730 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2731 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2732 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2733 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2735 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2737 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2738 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2739 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2740 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2742 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2744 if test "x$GDK_WINDOWING" = "xyes"; then
2745 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2752 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2755 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2756 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2757 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2758 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2759 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2760 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2761 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2762 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2763 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2764 AC_MSG_WARN([One of the required qt build programs was not found])
2768 HAVE_QT_WINDOWING="no"
2769 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2770 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2771 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2772 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2773 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2774 HAVE_QT_WINDOWING="yes"
2775 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2777 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2778 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2779 AC_DEFINE([HAVE_QT_WAYLAND], [],
2780 [Define if Qt Wayland integration is installed])
2781 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2782 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
2783 HAVE_QT_WINDOWING="yes"
2784 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
2786 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2787 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
2788 # c++ on android requires a standard library and there are multiple
2789 # choices. cerbero provides a pkg-config file the describes a choice
2790 # so try to use that. Outside cerbero one has to pass these flags
2791 # manually for the library one is using
2792 PKG_CHECK_MODULES(GNUSTL, gnustl, [
2793 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
2794 QT_LIBS="$QT_CFLAGS $GNUSTL_LIBS"
2796 AC_MSG_NOTICE([Could not find Standard C++ library])])
2798 AC_DEFINE([HAVE_QT_ANDROID], [],
2799 [Define if Qt Android integration is installed])
2800 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
2801 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
2802 HAVE_QT_WINDOWING="yes"
2803 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
2805 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
2806 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
2807 AC_DEFINE([HAVE_QT_MAC], [],
2808 [Define if Qt Mac integration is installed])
2809 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
2810 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
2811 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
2812 HAVE_QT_WINDOWING="yes"
2813 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
2815 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
2816 if test "x$HAVE_IOS" = "xyes"; then
2817 # iOS doesn't have its own extras package so if we have the core
2818 # modules we are good to go
2819 AC_DEFINE([HAVE_QT_IOS], [],
2820 [Define if Qt iOS integration is installed])
2821 HAVE_QT_WINDOWING="yes"
2824 if test "x$HAVE_QT_WINDOWING" = "xno"; then
2825 AC_MSG_WARN([Could not find any Qt Windowing integration])
2828 AC_SUBST([QT_CFLAGS])
2836 dnl *** libvisual ***
2837 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
2838 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
2839 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
2840 if test x$HAVE_LIBVISUAL = xyes; then
2841 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
2843 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
2844 if test x$LIBVIS_PLUGINSDIR != x; then
2845 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
2846 "$LIBVIS_PLUGINSDIR",
2847 [directory in which the detected libvisual's plugins are located])
2851 dnl *** timidity ***
2852 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
2853 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
2854 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
2855 HAVE_TIMIDITY="yes",
2856 AC_MSG_CHECKING([for timidity.cfg])
2858 if test -r /etc/timidity.cfg; then
2859 timidity_cfg=/etc/timidity.cfg
2860 elif test -r /etc/timidity/timidity.cfg; then
2861 timidity_cfg=/etc/timidity/timidity.cfg
2862 elif test -r /usr/share/timidity/timidity.cfg; then
2863 timidity_cfg=/usr/share/timidity/timidity.cfg
2864 elif test -r /usr/local/share/timidity/timidity.cfg; then
2865 timidity_cfg=/usr/local/share/timidity/timidity.cfg
2867 if test "x$timidity_cfg" != "x"; then
2868 AC_MSG_RESULT($timidity_cfg)
2869 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
2871 AC_MSG_RESULT([not found])
2876 AC_SUBST(TIMIDITY_CFLAGS)
2877 AC_SUBST(TIMIDITY_LIBS)
2880 dnl *** teletextdec ***
2881 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
2882 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
2883 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
2886 dnl *** wildmidi ***
2887 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
2888 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
2889 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
2892 WILDMIDI_LIBS="-lWildMidi")
2893 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
2895 if test "x$HAVE_WILDMIDI" = "xyes"; then
2897 WILDMIDI_LIBS=-lWildMidi
2898 AC_MSG_NOTICE(compiling gstWildMidi)
2902 AC_MSG_WARN(no WildMidi library found (libWildMidi))
2904 AC_SUBST(WILDMIDI_CFLAGS)
2905 AC_SUBST(WILDMIDI_LIBS)
2909 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
2910 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
2911 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
2914 dnl **** Smooth Streaming ****
2915 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
2916 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
2917 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
2919 HAVE_SMOOTHSTREAMING="yes"],
2921 HAVE_SMOOTHSTREAMING="no"])
2922 AC_SUBST(LIBXML2_CFLAGS)
2923 AC_SUBST(LIBXML2_LIBS)
2927 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
2928 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
2929 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
2930 AC_SUBST(SNDFILE_CFLAGS)
2931 AC_SUBST(SNDFILE_LIBS)
2934 dnl *** soundtouch ***
2935 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
2936 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
2937 dnl We only need -lBPM on soundtouch < 1.4
2938 dnl We check for libSoundTouch since Debian used it before upstream
2939 dnl added a pkgconfig file.
2940 HAVE_SOUNDTOUCH_1_4=yes
2941 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
2942 [HAVE_SOUNDTOUCH=yes],
2943 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
2944 [HAVE_SOUNDTOUCH=yes],
2945 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
2946 [HAVE_SOUNDTOUCH=yes
2947 HAVE_SOUNDTOUCH_1_4=no
2948 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2949 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
2950 [HAVE_SOUNDTOUCH=yes],
2951 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
2952 [HAVE_SOUNDTOUCH=yes
2953 HAVE_SOUNDTOUCH_1_4=no
2954 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2955 HAVE_SOUNDTOUCH=no)])])])])
2956 AC_SUBST(SOUNDTOUCH_CFLAGS)
2957 AC_SUBST(SOUNDTOUCH_LIBS)
2958 if test "x$HAVE_CXX" != "xyes"; then
2959 USE_SOUNDTOUCH=false
2960 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
2962 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
2963 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
2964 [Defined if the available libSoundTouch is >= 1.4])
2969 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
2970 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
2971 AC_CHECK_HEADER(openspc.h, [
2972 AC_CHECK_LIB(openspc, OSPC_Init, [
2973 SPC_LIBS="-lopenspc"
2985 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
2986 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
2987 AC_CHECK_HEADER(gme/gme.h, [
2988 AC_CHECK_LIB(gme, gme_new_emu, [
2999 if test "x$HAVE_GME" = "xyes"; then
3000 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3001 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3007 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3008 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3010 AC_CHECK_HEADER(xvid.h, [
3012 LIBS="$PTHREAD_LIBS $LIBM"
3013 AC_CHECK_LIB(xvidcore, xvid_encore, [
3014 AC_CHECK_LIB(xvidcore, xvid_decore, [
3015 AC_CHECK_LIB(xvidcore, xvid_global, [
3016 AC_MSG_CHECKING([for up-to-date XviD API version])
3017 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3018 #if XVID_API_MAJOR(XVID_API) != 4
3019 #error "Incompatible XviD API version"
3021 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3022 #error "Incompatible XviD API version"
3024 ]])],[ AC_MSG_RESULT(yes)
3025 XVID_LIBS="-lxvidcore $LIBM"
3028 ],[AC_MSG_RESULT(no) ])
3037 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3038 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3039 AC_MSG_CHECKING([Checking for up to date dvb installation])
3040 AC_CHECK_HEADER(linux/dvb/version.h, [
3041 AC_MSG_CHECKING([for up-to-date dvb API])
3042 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3043 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3044 #error "Incompatible dvb API"
3046 ]])], [ AC_MSG_RESULT(yes)
3048 ], [ AC_MSG_RESULT(no)
3055 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3056 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3057 AC_MSG_CHECKING([Checking for windows internet support])
3058 AC_CHECK_HEADERS([windows.h wininet.h],
3059 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3060 [AC_INCLUDES_DEFAULT
3061 #include <windows.h>])
3065 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3066 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3067 AC_MSG_CHECKING([Checking for ACM support])
3068 AC_CHECK_HEADERS([windows.h msacm.h],
3070 AC_SUBST(ACMENC_CFLAGS)
3071 AC_SUBST(ACMMP3DEC_CFLAGS)
3073 [AC_INCLUDES_DEFAULT
3074 #include <windows.h>])
3078 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3079 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3084 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3086 if test "$HAVE_VDPAU" = "no"; then
3087 saved_CPPFLAGS="$CPPFLAGS"
3088 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3090 if test -z "$HAVE_VDPAU_H"; then
3091 dnl Didn't find VDPAU header straight away.
3092 dnl Try /usr/include/nvidia. Need to clear caching vars first
3093 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3094 unset ac_cv_header_vdpau_vdpau_h
3095 unset ac_cv_header_vdpau_vdpau_x11_h
3096 VDPAU_CFLAGS="-I/usr/include/nvidia"
3097 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3098 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3099 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3102 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3104 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3105 dnl Found the headers - look for the lib
3106 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3108 LIBS="$VDPAU_LIBS $saved_LIBS"
3109 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3115 if test "$HAVE_VDPAU" = "yes"; then
3116 AC_MSG_NOTICE([Found up to date VDPAU installation])
3117 AC_SUBST(VDPAU_CFLAGS)
3118 AC_SUBST(VDPAU_LIBS)
3123 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3124 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3125 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3128 dnl *** schroedinger ***
3129 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3130 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3131 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3135 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3136 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3137 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3141 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3142 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3143 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3147 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3148 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3149 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3150 HAVE_SPANDSP="yes" ], [
3154 AC_SUBST(SPANDSP_CFLAGS)
3155 AC_SUBST(SPANDSP_LIBS)
3157 dnl *** GSettings ***
3158 translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
3159 AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
3160 AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
3161 if test "x$HAVE_GSETTINGS" = "xyes"; then
3167 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3168 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3169 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3170 if test "x$HAVE_SNDIO" = "xyes"; then
3171 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3172 if test "x$HAVE_SNDIO" = "xyes"; then
3174 AC_SUBST(SNDIO_LIBS)
3179 dnl *** hls-crypto ***
3180 AC_ARG_WITH([hls-crypto],
3181 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3182 which cryptographic library version to compile against for hls (default: auto)
3184 AS_CASE([$with_hls_crypto],
3188 [with_hls_crypto=auto]
3194 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3195 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3196 AS_CASE([$with_hls_crypto],
3198 PKG_CHECK_MODULES(NETTLE, nettle, [
3199 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3201 ],[AC_MSG_ERROR([Could not find nettle library])])
3204 AM_PATH_LIBGCRYPT([1.2.0], [
3205 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3207 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3210 PKG_CHECK_MODULES(OPENSSL, openssl, [
3211 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3213 ],[AC_MSG_ERROR([Could not find openssl library])])
3216 dnl Try to find a valid crypto library
3217 PKG_CHECK_MODULES(NETTLE, nettle, [
3218 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3221 AM_PATH_LIBGCRYPT([1.2.0], [
3222 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3225 PKG_CHECK_MODULES(OPENSSL, openssl, [
3226 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3237 dnl *** x265 (H.265/HEVC encoder) ***
3238 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3239 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3240 AG_GST_PKG_CHECK_MODULES(X265, x265)
3245 dnl not building plugins with external dependencies,
3246 dnl but we still need to set the conditionals
3248 AM_CONDITIONAL(USE_ASSRENDER, false)
3249 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3250 AM_CONDITIONAL(USE_VOAACENC, false)
3251 AM_CONDITIONAL(USE_APEXSINK, false)
3252 AM_CONDITIONAL(USE_BS2B, false)
3253 AM_CONDITIONAL(USE_BZ2, false)
3254 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3255 AM_CONDITIONAL(USE_CURL, false)
3256 AM_CONDITIONAL(USE_SSH2, false)
3257 AM_CONDITIONAL(USE_DASH, false)
3258 AM_CONDITIONAL(USE_DC1394, false)
3259 AM_CONDITIONAL(USE_DECKLINK, false)
3260 AM_CONDITIONAL(DECKLINK_OSX, false)
3261 AM_CONDITIONAL(USE_DIRECTFB, false)
3262 AM_CONDITIONAL(USE_WAYLAND, false)
3263 AM_CONDITIONAL(USE_DAALA, false)
3264 AM_CONDITIONAL(USE_DTS, false)
3265 AM_CONDITIONAL(USE_EXIF, false)
3266 AM_CONDITIONAL(USE_RESINDVD, false)
3267 AM_CONDITIONAL(USE_FAAC, false)
3268 AM_CONDITIONAL(USE_FAAD, false)
3269 AM_CONDITIONAL(USE_FBDEV, false)
3270 AM_CONDITIONAL(USE_FLITE, false)
3271 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3272 AM_CONDITIONAL(USE_GL, false)
3273 AM_CONDITIONAL(USE_GSM, false)
3274 AM_CONDITIONAL(USE_GTK3, false)
3275 AM_CONDITIONAL(USE_GTK3_GL, false)
3276 AM_CONDITIONAL(USE_HLS, false)
3277 AM_CONDITIONAL(USE_KATE, false)
3278 AM_CONDITIONAL(USE_TIGER, false)
3279 AM_CONDITIONAL(USE_LADSPA, false)
3280 AM_CONDITIONAL(USE_LV2, false)
3281 AM_CONDITIONAL(USE_LIBDE265, false)
3282 AM_CONDITIONAL(USE_LIBMMS, false)
3283 AM_CONDITIONAL(USE_LINSYS, false)
3284 AM_CONDITIONAL(USE_MODPLUG, false)
3285 AM_CONDITIONAL(USE_MIMIC, false)
3286 AM_CONDITIONAL(USE_MPEG2ENC, false)
3287 AM_CONDITIONAL(USE_MPG123, false)
3288 AM_CONDITIONAL(USE_MPLEX, false)
3289 AM_CONDITIONAL(USE_MUSEPACK, false)
3290 AM_CONDITIONAL(USE_NAS, false)
3291 AM_CONDITIONAL(USE_NEON, false)
3292 AM_CONDITIONAL(USE_OFA, false)
3293 AM_CONDITIONAL(USE_OPENAL, false)
3294 AM_CONDITIONAL(USE_OPENCV, false)
3295 AM_CONDITIONAL(USE_OPENEXR, false)
3296 AM_CONDITIONAL(USE_OPENJPEG, false)
3297 AM_CONDITIONAL(USE_OPENNI2, false)
3298 AM_CONDITIONAL(USE_OPUS, false)
3299 AM_CONDITIONAL(USE_PVR, false)
3300 AM_CONDITIONAL(USE_QT, false)
3301 AM_CONDITIONAL(USE_LIBVISUAL, false)
3302 AM_CONDITIONAL(USE_TIMIDITY, false)
3303 AM_CONDITIONAL(USE_WILDMIDI, false)
3304 AM_CONDITIONAL(USE_SDL, false)
3305 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3306 AM_CONDITIONAL(USE_SNDFILE, false)
3307 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3308 AM_CONDITIONAL(USE_SPANDSP, false)
3309 AM_CONDITIONAL(USE_SPC, false)
3310 AM_CONDITIONAL(USE_SRTP, false)
3311 AM_CONDITIONAL(USE_GME, false)
3312 AM_CONDITIONAL(USE_GSETTINGS, false)
3313 AM_CONDITIONAL(USE_XVID, false)
3314 AM_CONDITIONAL(USE_DVB, false)
3315 AM_CONDITIONAL(USE_WININET, false)
3316 AM_CONDITIONAL(USE_ACM, false)
3317 AM_CONDITIONAL(USE_VDPAU, false)
3318 AM_CONDITIONAL(USE_SBC, false)
3319 AM_CONDITIONAL(USE_SCHRO, false)
3320 AM_CONDITIONAL(USE_ZBAR, false)
3321 AM_CONDITIONAL(USE_RSVG, false)
3322 AM_CONDITIONAL(USE_RTMP, false)
3323 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3324 AM_CONDITIONAL(USE_SNDIO, false)
3325 AM_CONDITIONAL(USE_UVCH264, false)
3326 AM_CONDITIONAL(USE_WEBP, false)
3327 AM_CONDITIONAL(USE_OPENH264, false)
3328 AM_CONDITIONAL(USE_X265, false)
3329 AM_CONDITIONAL(USE_DTLS, false)
3331 fi dnl of EXT plugins
3333 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3336 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3337 dnl GST_*: flags shared by built objects to link against GStreamer
3338 dnl GST_ALL_LDFLAGS: linker flags shared by all
3339 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3340 dnl GST_LT_LDFLAGS: library versioning of our libraries
3341 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3343 dnl GST_OPTION_CFLAGS
3344 if test "x$USE_DEBUG" = xyes; then
3347 AC_SUBST(PROFILE_CFLAGS)
3349 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3350 dnl Define _only_ during CVS (not pre-releases or releases)
3351 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3353 DEPRECATED_CFLAGS=""
3355 AC_SUBST(DEPRECATED_CFLAGS)
3357 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3358 dnl at make time with e.g. make ERROR_CFLAGS=""
3359 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3360 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3361 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3362 AC_SUBST(GST_OPTION_CFLAGS)
3363 AC_SUBST(GST_OPTION_CXXFLAGS)
3364 AC_SUBST(GST_OPTION_OBJCFLAGS)
3366 dnl FIXME: do we want to rename to GST_ALL_* ?
3367 dnl prefer internal headers to already installed ones
3368 dnl also add builddir include for enumtypes and marshal
3369 dnl add GST_OPTION_CFLAGS, but overridable
3370 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
3371 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3372 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3373 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3374 AC_SUBST(GST_CFLAGS)
3375 AC_SUBST(GST_CXXFLAGS)
3376 AC_SUBST(GST_OBJCFLAGS)
3378 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3379 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3380 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3381 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3382 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3383 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3385 dnl LDFLAGS really should only contain flags, not libs - they get added before
3386 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3387 GST_ALL_LDFLAGS="-no-undefined"
3388 AC_SUBST(GST_ALL_LDFLAGS)
3391 dnl linker flags shared by all libraries
3392 dnl LDFLAGS modifier defining exported symbols from built libraries
3393 dnl (export _gst_foo but not __gst_foo)
3394 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3395 AC_SUBST(GST_LIB_LDFLAGS)
3397 dnl this really should only contain flags, not libs - they get added before
3398 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3399 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3400 AC_SUBST(GST_PLUGIN_LDFLAGS)
3402 dnl *** output files ***
3404 $MKDIR_P tests/check/orc
3412 gst-plugins-bad.spec
3414 gst/accurip/Makefile
3415 gst/adpcmdec/Makefile
3416 gst/adpcmenc/Makefile
3419 gst/audiofxbad/Makefile
3420 gst/audiomixer/Makefile
3421 gst/audiovisualizers/Makefile
3422 gst/autoconvert/Makefile
3424 gst/camerabin2/Makefile
3425 gst/cdxaparse/Makefile
3426 gst/coloreffects/Makefile
3427 gst/dataurisrc/Makefile
3429 gst/debugutils/Makefile
3430 gst/dvbsuboverlay/Makefile
3432 gst/faceoverlay/Makefile
3433 gst/festival/Makefile
3434 gst/fieldanalysis/Makefile
3435 gst/freeverb/Makefile
3437 gst/gaudieffects/Makefile
3438 gst/geometrictransform/Makefile
3440 gst/hdvparse/Makefile
3443 gst/interlace/Makefile
3444 gst/ivfparse/Makefile
3446 gst/jp2kdecimator/Makefile
3447 gst/jpegformat/Makefile
3450 gst/mpegdemux/Makefile
3451 gst/mpegtsdemux/Makefile
3452 gst/mpegtsmux/Makefile
3453 gst/mpegtsmux/tsmux/Makefile
3454 gst/mpegpsmux/Makefile
3457 gst/nuvdemux/Makefile
3459 gst/patchdetect/Makefile
3460 gst/pcapparse/Makefile
3462 gst/rawparse/Makefile
3463 gst/removesilence/Makefile
3467 gst/segmentclip/Makefile
3474 gst/videofilters/Makefile
3475 gst/videomeasure/Makefile
3476 gst/videoparsers/Makefile
3477 gst/videosignal/Makefile
3481 gst/compositor/Makefile
3483 gst-libs/gst/Makefile
3484 gst-libs/gst/adaptivedemux/Makefile
3485 gst-libs/gst/basecamerabinsrc/Makefile
3486 gst-libs/gst/gl/Makefile
3487 gst-libs/gst/gl/android/Makefile
3488 gst-libs/gst/gl/cocoa/Makefile
3489 gst-libs/gst/gl/dispmanx/Makefile
3490 gst-libs/gst/gl/glprototypes/Makefile
3491 gst-libs/gst/gl/eagl/Makefile
3492 gst-libs/gst/gl/egl/Makefile
3493 gst-libs/gst/gl/wayland/Makefile
3494 gst-libs/gst/gl/win32/Makefile
3495 gst-libs/gst/gl/x11/Makefile
3496 gst-libs/gst/insertbin/Makefile
3497 gst-libs/gst/interfaces/Makefile
3498 gst-libs/gst/codecparsers/Makefile
3499 gst-libs/gst/mpegts/Makefile
3500 gst-libs/gst/uridownloader/Makefile
3501 gst-libs/gst/wayland/Makefile
3502 gst-libs/gst/base/Makefile
3503 gst-libs/gst/video/Makefile
3505 sys/dshowdecwrapper/Makefile
3507 sys/acmmp3dec/Makefile
3508 sys/androidmedia/Makefile
3509 sys/applemedia/Makefile
3510 sys/applemedia-nonpublic/Makefile
3513 sys/d3dvideosink/Makefile
3514 sys/decklink/Makefile
3515 sys/directsound/Makefile
3516 sys/dshowsrcwrapper/Makefile
3517 sys/dshowvideosink/Makefile
3522 sys/opensles/Makefile
3524 sys/uvch264/Makefile
3529 sys/wininet/Makefile
3531 sys/winscreencap/Makefile
3533 tests/check/Makefile
3534 tests/files/Makefile
3535 tests/examples/Makefile
3536 tests/examples/avsamplesink/Makefile
3537 tests/examples/camerabin2/Makefile
3538 tests/examples/codecparsers/Makefile
3539 tests/examples/directfb/Makefile
3540 tests/examples/gl/Makefile
3541 tests/examples/gl/cocoa/Makefile
3542 tests/examples/gl/clutter/Makefile
3543 tests/examples/gl/generic/Makefile
3544 tests/examples/gl/generic/cube/Makefile
3545 tests/examples/gl/generic/cubeyuv/Makefile
3546 tests/examples/gl/generic/doublecube/Makefile
3547 tests/examples/gl/generic/recordgraphic/Makefile
3548 tests/examples/gl/gtk/Makefile
3549 tests/examples/gl/gtk/gtkvideooverlay/Makefile
3550 tests/examples/gl/gtk/3dvideo/Makefile
3551 tests/examples/gl/gtk/filternovideooverlay/Makefile
3552 tests/examples/gl/gtk/filtervideooverlay/Makefile
3553 tests/examples/gl/gtk/fxtest/Makefile
3554 tests/examples/gl/gtk/switchvideooverlay/Makefile
3555 tests/examples/gl/qt/Makefile
3556 tests/examples/gl/sdl/Makefile
3557 tests/examples/gtk/Makefile
3558 tests/examples/mpegts/Makefile
3559 tests/examples/mxf/Makefile
3560 tests/examples/opencv/Makefile
3561 tests/examples/uvch264/Makefile
3562 tests/icles/Makefile
3563 ext/voamrwbenc/Makefile
3564 ext/voaacenc/Makefile
3565 ext/assrender/Makefile
3566 ext/apexsink/Makefile
3569 ext/chromaprint/Makefile
3573 ext/directfb/Makefile
3574 ext/wayland/Makefile
3582 ext/fluidsynth/Makefile
3588 ext/libde265/Makefile
3590 ext/libvisual/Makefile
3592 ext/modplug/Makefile
3593 ext/mpeg2enc/Makefile
3597 ext/musepack/Makefile
3603 ext/openexr/Makefile
3604 ext/openh264/Makefile
3605 ext/openjpeg/Makefile
3606 ext/openni2/Makefile
3610 ext/resindvd/Makefile
3613 ext/schroedinger/Makefile
3615 ext/smoothstreaming/Makefile
3616 ext/sndfile/Makefile
3617 ext/soundtouch/Makefile
3618 ext/spandsp/Makefile
3621 ext/teletextdec/Makefile
3623 ext/gsettings/Makefile
3624 ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
3626 ext/timidity/Makefile
3634 docs/plugins/Makefile
3636 docs/version.entities
3638 pkgconfig/gstreamer-plugins-bad.pc
3639 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3640 pkgconfig/gstreamer-codecparsers.pc
3641 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3642 pkgconfig/gstreamer-insertbin.pc
3643 pkgconfig/gstreamer-insertbin-uninstalled.pc
3644 pkgconfig/gstreamer-gl.pc
3645 pkgconfig/gstreamer-gl-uninstalled.pc
3646 pkgconfig/gstreamer-mpegts.pc
3647 pkgconfig/gstreamer-mpegts-uninstalled.pc
3648 pkgconfig/gstreamer-wayland.pc
3649 pkgconfig/gstreamer-wayland-uninstalled.pc
3650 pkgconfig/gstreamer-bad-base.pc
3651 pkgconfig/gstreamer-bad-base-uninstalled.pc
3652 pkgconfig/gstreamer-bad-video.pc
3653 pkgconfig/gstreamer-bad-video-uninstalled.pc
3658 dnl Create the config.h file for Visual Studio builds
3659 dnl Beware of spaces and /'s in some of the shell variable contents.
3661 -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"/' \
3662 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3663 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3664 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3665 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3666 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3667 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3668 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3669 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3670 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3671 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3672 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3673 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3674 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3675 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3676 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3677 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3678 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3679 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3680 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3681 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3682 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3683 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3684 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3685 -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/' \
3686 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3687 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3688 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3689 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3690 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3691 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3692 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3693 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3694 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3695 config.h.in >win32/common/config.h-new
3699 AG_GST_OUTPUT_PLUGINS