3 dnl initialize autoconf
4 dnl when going to/from release please set the nano (fourth number) right !
5 dnl releases only do Wall, git and prerelease does Werror too
6 AC_INIT([GStreamer Bad Plug-ins],[1.7.1.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
10 dnl initialize automake
11 AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
13 dnl define PACKAGE_VERSION_* variables
16 dnl check if this is a release version
17 AS_NANO(GST_GIT="no", GST_GIT="yes")
19 dnl can autoconf find the source ?
20 AC_CONFIG_SRCDIR([docs/plugins/gst-plugins-bad-plugins-docs.sgml])
22 dnl define the output header for config
23 AC_CONFIG_HEADERS([config.h])
25 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
26 AM_MAINTAINER_MODE([enable])
28 dnl sets host_* variables
31 dnl use pretty build output with automake >= 1.11
32 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
33 [AM_DEFAULT_VERBOSITY=1
34 AC_SUBST(AM_DEFAULT_VERBOSITY)])
36 dnl PKG_CONFIG_SYSROOT_DIR is a valid environment variable
37 m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
39 dnl our libraries and install dirs use GST_API_VERSION in the filename
40 dnl to allow side-by-side installation of different API versions
42 AC_SUBST(GST_API_VERSION)
43 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
44 [GStreamer API Version])
46 AG_GST_LIBTOOL_PREPARE
48 dnl CURRENT, REVISION, AGE
49 dnl - library source changed -> increment REVISION
50 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
51 dnl - interfaces added -> increment AGE
52 dnl - interfaces removed -> AGE = 0
53 dnl sets GST_LT_LDFLAGS
54 AS_LIBTOOL(GST, 701, 0, 701)
56 dnl *** required versions of GStreamer stuff ***
60 dnl *** autotools stuff ****
62 dnl allow for different autotools
63 AS_AUTOTOOLS_ALTERNATE
65 dnl Add parameters for aclocal
66 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
69 dnl the version check needs to stay here because autopoint greps for it
70 AM_GNU_GETTEXT_VERSION([0.17])
71 AM_GNU_GETTEXT([external])
72 AG_GST_GETTEXT([gst-plugins-bad-$GST_API_VERSION])
74 dnl *** check for arguments to configure ***
76 AG_GST_ARG_DISABLE_FATAL_WARNINGS
77 AG_GST_ARG_ENABLE_EXTRA_CHECKS
86 AG_GST_ARG_WITH_PKG_CONFIG_PATH
87 AG_GST_ARG_WITH_PACKAGE_NAME
88 AG_GST_ARG_WITH_PACKAGE_ORIGIN
90 AG_GST_ARG_WITH_PLUGINS
92 AG_GST_ARG_ENABLE_EXTERNAL
94 AG_GST_ARG_ENABLE_EXPERIMENTAL
96 AG_GST_PKG_CONFIG_PATH
98 dnl *** checks for platform ***
101 dnl * hardware/architecture *
103 dnl common/m4/gst-arch.m4
107 dnl Determine endianness
110 dnl *** checks for programs ***
116 dnl determine c++ compiler
118 dnl determine if c++ is available on this system
119 AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
123 dnl check if the compiler supports '-c' and '-o' options
126 dnl check if the compiler supports do while(0) macros
127 AG_GST_CHECK_DOWHILE_MACROS
129 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
130 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
132 dnl check for gobject-introspection
133 GOBJECT_INTROSPECTION_CHECK([1.31.1])
135 dnl check for documentation tools
136 GTK_DOC_CHECK([1.12])
137 AG_GST_PLUGIN_DOCS([1.12])
139 dnl *** checks for libraries ***
141 dnl check for libm, for sin() etc.
147 dnl check for pthreads
150 dnl *** checks for header files ***
152 AC_CHECK_HEADERS([unistd.h], HAVE_UNISTD_H=yes)
153 AM_CONDITIONAL(HAVE_UNISTD_H, test "x$HAVE_UNISTD_H" = "xyes")
155 if test "x$HAVE_UNISTD_H" != "xyes"; then
156 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/festival//`
159 AC_CHECK_HEADERS([sys/time.h])
164 AC_CHECK_HEADERS([pthread.h], HAVE_PTHREAD_H=yes)
165 AM_CONDITIONAL(HAVE_PTHREAD_H, test "x$HAVE_PTHREAD_H" = "xyes")
167 if test "x$HAVE_PTHREAD_H" != "xyes"; then
168 GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
171 dnl *** checks for types/defines ***
173 dnl Check for FIONREAD ioctl declaration
177 dnl *** checks for structures ***
179 dnl *** checks for compiler characteristics ***
181 dnl *** checks for library functions ***
182 AC_CHECK_FUNCS([gmtime_r])
184 dnl *** checks for headers ***
185 AC_CHECK_HEADERS([sys/utsname.h])
187 dnl *** checks for dependency libraries ***
189 dnl *** checks for socket and nsl libraries ***
190 AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
191 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
195 AG_GST_GLIB_CHECK([$GLIB_REQ])
197 dnl checks for gstreamer
198 dnl uninstalled is selected preferentially -- see pkg-config(1)
199 AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ], yes)
200 AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ], yes)
201 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
202 AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
203 AG_GST_CHECK_GST_NET($GST_API_VERSION, [$GST_REQ], yes)
204 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
206 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
208 dnl check for uninstalled plugin directories for unit tests
209 AG_GST_CHECK_UNINSTALLED_SETUP([
210 AG_GST_CHECK_GST_PLUGINS_GOOD($GST_API_VERSION, [0.11.0])
211 AG_GST_CHECK_GST_PLUGINS_UGLY($GST_API_VERSION, [0.11.0])
212 AG_GST_CHECK_GST_PLUGINS_LIBAV($GST_API_VERSION, [0.11.0])
215 dnl Check for documentation xrefs
216 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
217 GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
218 GSTPB_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-plugins-base-$GST_API_VERSION`"
219 AC_SUBST(GLIB_PREFIX)
221 AC_SUBST(GSTPB_PREFIX)
223 dnl GTK is optional and used in examples
227 if test "x$BUILD_EXAMPLES" = "xyes"; then
228 AC_MSG_CHECKING([which gtk+ version to compile examples against (optional)])
230 AS_HELP_STRING([--with-gtk=3.0|2.0],[which gtk+ version to compile against (default: 2.0)]),
232 2.0) GTK_REQ=$GTK2_REQ ;;
233 3.0) GTK_REQ=$GTK3_REQ ;;
234 *) AC_MSG_ERROR([invalid gtk+ version specified]);;
238 AC_MSG_RESULT([$with_gtk (>= $GTK_REQ)])
239 PKG_CHECK_MODULES(GTK, gtk+-x11-$with_gtk >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no)
243 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
245 dnl Check for -Bsymbolic-functions linker flag used to avoid
246 dnl intra-library PLT jumps, if available.
247 AC_ARG_ENABLE(Bsymbolic,
248 [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
249 [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
250 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
251 LDFLAGS=-Wl,-Bsymbolic-functions
253 AC_TRY_LINK([], [return 0],
255 enable_Bsymbolic=yes,
258 LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
260 dnl *** set variables based on configure arguments ***
262 dnl GTK is optional and used in examples
264 if test "x$BUILD_EXAMPLES" = "xyes"; then
265 PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.4, HAVE_GTK3=yes, HAVE_GTK3=no)
266 if test "x$HAVE_GTK3" = "xyes"; then
268 GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
269 AC_SUBST(GTK_VERSION)
270 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
271 AC_SUBST(GTK_BASE_DIR)
275 AC_SUBST(GTK3_CFLAGS)
277 AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes")
279 dnl clutter is optional and used in examples
283 if test "x$BUILD_EXAMPLES" = "xyes"; then
284 PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= 1.8, HAVE_CLUTTER=yes, HAVE_CLUTTER=no)
285 AC_SUBST(CLUTTER_LIBS)
286 AC_SUBST(CLUTTER_CFLAGS)
287 AC_SUBST(HAVE_CLUTTER)
289 PKG_CHECK_MODULES(CLUTTER_GLX, clutter-glx-1.0 >= 1.8, HAVE_CLUTTER_GLX=yes, HAVE_CLUTTER_GLX=no)
290 AC_SUBST(CLUTTER_GLX_LIBS)
291 AC_SUBST(CLUTTER_GLX_CFLAGS)
292 AC_SUBST(HAVE_CLUTTER_GLX)
294 PKG_CHECK_MODULES(CLUTTER_X11, clutter-x11-1.0 >= 1.8, HAVE_CLUTTER_X11=yes, HAVE_CLUTTER_X11=no)
295 AC_SUBST(CLUTTER_X11_LIBS)
296 AC_SUBST(CLUTTER_X11_CFLAGS)
297 AC_SUBST(HAVE_CLUTTER_X11)
299 AM_CONDITIONAL(HAVE_CLUTTER, test "x$HAVE_CLUTTER" = "xyes")
300 AM_CONDITIONAL(HAVE_CLUTTER_GLX, test "x$HAVE_CLUTTER_GLX" = "xyes")
301 AM_CONDITIONAL(HAVE_CLUTTER_X11, test "x$HAVE_CLUTTER_X11" = "xyes")
303 dnl used in the gl/clutteractor example
304 if test "x$BUILD_EXAMPLES" = "xyes"; then
305 PKG_CHECK_MODULES(XCOMPOSITE, xcomposite, HAVE_XCOMPOSITE=yes, HAVE_XCOMPOSITE=no)
306 AC_SUBST(XCOMPOSITE_CFLAGS)
307 AC_SUBST(XCOMPOSITE_LIBS)
309 AM_CONDITIONAL(HAVE_XCOMPOSITE, test "x$HAVE_XCOMPOSITE" = "xyes")
311 dnl graphene-1.0 is optional and used in gltransformation
313 PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.0.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
314 if test "x$HAVE_GRAPHENE" = "xyes"; then
315 AC_DEFINE(HAVE_GRAPHENE, [1] , [Use graphene])
317 AC_SUBST(HAVE_GRAPHENE)
318 AC_SUBST(GRAPHENE_LIBS)
319 AC_SUBST(GRAPHENE_CFLAGS)
320 AM_CONDITIONAL(HAVE_GRAPHENE, test "x$HAVE_GRAPHENE" = "xyes")
323 dnl sdl is optional and used in examples
325 if test "x$BUILD_EXAMPLES" = "xyes"; then
326 PKG_CHECK_MODULES(SDL, sdl >= 1.2.0, HAVE_SDL=yes, HAVE_SDL=no)
329 AC_SUBST(SDL_CLUTTER)
331 AM_CONDITIONAL(HAVE_SDL, test "x$HAVE_SDL" = "xyes")
334 dnl Needed for GtkBuilder to autoconnect signals
335 PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
337 dnl Needed by plugins that use g_module_*() API
338 PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
340 dnl x11 is optional for librfb
342 PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
346 AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
347 if test "x$HAVE_X11" = "xyes"; then
348 AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
351 dnl exif (used on jifmux tests) ****
352 PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
354 AC_SUBST(EXIF_CFLAGS)
355 AM_CONDITIONAL(USE_EXIF, test "x$HAVE_EXIF" = "xyes")
360 dnl set license and copyright notice
362 AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
363 AC_SUBST(GST_LICENSE)
365 dnl define LIBDIR so we can inform people where we live
366 AS_AC_EXPAND(LIBDIR, $libdir)
367 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
369 dnl set location of plugin directory
372 dnl set release date/time
373 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
374 ["${srcdir}/gst-plugins-bad.doap"],
375 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
377 dnl build static plugins or not
378 AC_MSG_CHECKING([whether to build static plugins or not])
382 [--enable-static-plugins],
383 [build static plugins @<:@default=no@:>@]),
385 [$enableval], [no], [], [yes], [],
386 [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
387 [enable_static_plugins=no])
388 AC_MSG_RESULT([$enable_static_plugins])
389 if test "x$enable_static_plugins" = xyes; then
390 AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
391 [Define if static plugins should be built])
392 GST_PLUGIN_LIBTOOLFLAGS=""
394 GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
396 AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
397 AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")
399 AC_ARG_WITH([player-tests],
400 AS_HELP_STRING([--with-player-tests],[Enable GstPlayer tests that need network access (default: no)]))
401 if test x$with_player_tests = xyes; then
402 AC_PATH_PROG([WGET], [wget], no)
403 if test x$WGET = xno; then
404 AC_MSG_WARN([wget required for GstPlayer tests but not found - disabling])
408 AM_CONDITIONAL(WITH_GST_PLAYER_TESTS, test "x$with_player_tests" = "xyes")
410 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
411 dnl make sure it doesn't complain about unused variables if debugging is disabled
413 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
415 dnl define an ERROR_CFLAGS Makefile variable
416 dnl -Waggregate-return - libexif returns aggregates
417 dnl -Wundef - Windows headers check _MSC_VER unconditionally
418 AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
419 -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
420 -Wwrite-strings -Wformat-security -Wold-style-definition
421 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar
422 -Wnested-externs $NO_WARNINGS])
424 dnl define an ERROR_CXXFLAGS Makefile variable
425 AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS, [
426 -Wmissing-declarations -Wredundant-decls
427 -Wwrite-strings -Wformat-nonliteral -Wformat-security
428 -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar $NO_WARNINGS])
430 dnl define an ERROR_OBJCFLAGS Makefile variable
431 AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
432 -Wmissing-declarations -Wredundant-decls
433 -Wwrite-strings -Wformat-nonliteral -Wformat-security
434 -Winit-self -Wmissing-include-dirs -Wno-multichar $NO_WARNINGS])
436 dnl define correct level for debugging messages
437 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
440 AG_GST_DEFAULT_ELEMENTS
442 dnl *** plug-ins to include ***
443 dnl Non ported plugins (non-dependant, then dependant)
444 dnl Make sure you have a space before and after all plugins
445 GST_PLUGINS_NONPORTED=" cdxaparse \
454 musepack nas sdl timidity \
456 xvid lv2 sndio libvisual"
457 AC_SUBST(GST_PLUGINS_NONPORTED)
459 dnl these are all the gst plug-ins, compilable without additional libs
460 AG_GST_CHECK_PLUGIN(accurip)
461 AG_GST_CHECK_PLUGIN(adpcmdec)
462 AG_GST_CHECK_PLUGIN(adpcmenc)
463 AG_GST_CHECK_PLUGIN(aiff)
464 AG_GST_CHECK_PLUGIN(videoframe_audiolevel)
465 AG_GST_CHECK_PLUGIN(asfmux)
466 AG_GST_CHECK_PLUGIN(audiofxbad)
467 AG_GST_CHECK_PLUGIN(audiomixer)
468 AG_GST_CHECK_PLUGIN(compositor)
469 AG_GST_CHECK_PLUGIN(audiovisualizers)
470 AG_GST_CHECK_PLUGIN(autoconvert)
471 AG_GST_CHECK_PLUGIN(bayer)
472 AG_GST_CHECK_PLUGIN(camerabin2)
473 AG_GST_CHECK_PLUGIN(cdxaparse)
474 AG_GST_CHECK_PLUGIN(coloreffects)
475 AG_GST_CHECK_PLUGIN(dataurisrc)
476 AG_GST_CHECK_PLUGIN(dccp)
477 AG_GST_CHECK_PLUGIN(debugutils)
478 AG_GST_CHECK_PLUGIN(dvbsuboverlay)
479 AG_GST_CHECK_PLUGIN(dvdspu)
480 AG_GST_CHECK_PLUGIN(faceoverlay)
481 AG_GST_CHECK_PLUGIN(festival)
482 AG_GST_CHECK_PLUGIN(fieldanalysis)
483 AG_GST_CHECK_PLUGIN(freeverb)
484 AG_GST_CHECK_PLUGIN(frei0r)
485 AG_GST_CHECK_PLUGIN(gaudieffects)
486 AG_GST_CHECK_PLUGIN(geometrictransform)
487 AG_GST_CHECK_PLUGIN(gdp)
488 AG_GST_CHECK_PLUGIN(hdvparse)
489 AG_GST_CHECK_PLUGIN(id3tag)
490 AG_GST_CHECK_PLUGIN(inter)
491 AG_GST_CHECK_PLUGIN(interlace)
492 AG_GST_CHECK_PLUGIN(ivfparse)
493 AG_GST_CHECK_PLUGIN(ivtc)
494 AG_GST_CHECK_PLUGIN(jp2kdecimator)
495 AG_GST_CHECK_PLUGIN(jpegformat)
496 AG_GST_CHECK_PLUGIN(librfb)
497 AG_GST_CHECK_PLUGIN(midi)
498 AG_GST_CHECK_PLUGIN(mpegdemux)
499 AG_GST_CHECK_PLUGIN(mpegtsdemux)
500 AG_GST_CHECK_PLUGIN(mpegtsmux)
501 AG_GST_CHECK_PLUGIN(mpegpsmux)
502 AG_GST_CHECK_PLUGIN(mve)
503 AG_GST_CHECK_PLUGIN(mxf)
504 AG_GST_CHECK_PLUGIN(netsim)
505 AG_GST_CHECK_PLUGIN(nuvdemux)
506 AG_GST_CHECK_PLUGIN(onvif)
507 AG_GST_CHECK_PLUGIN(patchdetect)
508 AG_GST_CHECK_PLUGIN(pcapparse)
509 AG_GST_CHECK_PLUGIN(pnm)
510 AG_GST_CHECK_PLUGIN(rawparse)
511 AG_GST_CHECK_PLUGIN(removesilence)
512 AG_GST_CHECK_PLUGIN(rtp)
513 AG_GST_CHECK_PLUGIN(sdi)
514 AG_GST_CHECK_PLUGIN(sdp)
515 AG_GST_CHECK_PLUGIN(segmentclip)
516 AG_GST_CHECK_PLUGIN(siren)
517 AG_GST_CHECK_PLUGIN(smooth)
518 AG_GST_CHECK_PLUGIN(speed)
519 AG_GST_CHECK_PLUGIN(subenc)
520 AG_GST_CHECK_PLUGIN(stereo)
521 AG_GST_CHECK_PLUGIN(tta)
522 AG_GST_CHECK_PLUGIN(videofilters)
523 AG_GST_CHECK_PLUGIN(videomeasure)
524 AG_GST_CHECK_PLUGIN(videoparsers)
525 AG_GST_CHECK_PLUGIN(videosignal)
526 AG_GST_CHECK_PLUGIN(vmnc)
527 AG_GST_CHECK_PLUGIN(y4m)
528 AG_GST_CHECK_PLUGIN(yadif)
530 dnl *** plug-ins to exclude ***
532 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
533 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
534 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
536 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
538 LIBS="$LIBS -framework VideoToolbox"
539 AC_CHECK_FUNC(VTCompressionSessionPrepareToEncodeFrames, [
540 AC_DEFINE(HAVE_VIDEOTOOLBOX_10_9_6, 1, [Define if building with VideoToolbox >= 10.9.6])
546 AM_CONDITIONAL(HAVE_AVFOUNDATION, test "x$HAVE_AVFOUNDATION" = "xyes")
547 if test "x$HAVE_AVFOUNDATION" = "xyes"; then
548 AC_DEFINE(HAVE_AVFOUNDATION, 1, [Define if building with AVFoundation])
551 AM_CONDITIONAL(HAVE_IOS, test "x$HAVE_IOS" = "xyes")
552 if test "x$HAVE_IOS" = "xyes"; then
553 AC_DEFINE(HAVE_IOS, 1, [Define if building for Apple iOS])
556 AM_CONDITIONAL(HAVE_VIDEOTOOLBOX, test "x$HAVE_VIDEOTOOLBOX" = "xyes")
557 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
558 AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
561 dnl disable gst plugins we might not be able to build on this
562 dnl platform: (ugly but minimally invasive)
563 dnl FIXME: maybe move to sys, or make work with winsock2
564 AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
565 AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
567 if test "x$HAVE_WINSOCK2_H" = "xyes"; then
568 WINSOCK2_LIBS="-lws2_32"
569 AC_SUBST(WINSOCK2_LIBS)
572 if test "x$HAVE_PTHREAD_H" = "xyes"; then
573 DCCP_LIBS="$DCCP_LIBS $PTHREAD_LIBS"
576 AG_GST_DISABLE_PLUGIN(dccp)
580 AC_ARG_ENABLE([opengl],
581 [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@],
582 [case "${enableval}" in
585 auto) NEED_GL=auto ;;
586 *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;;
587 esac],[NEED_GL=auto])
589 AC_ARG_WITH([opengl-module-name],
590 AS_HELP_STRING([--with-opengl-module-name],[library module name for OpenGL (default: libGL)]))
591 if test x$with_opengl_module_name != x; then
592 AC_DEFINE_UNQUOTED(GST_GL_LIBGL_MODULE_NAME, "$with_opengl_module_name", [OpenGL module name])
595 AC_ARG_ENABLE([gles2],
596 [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@],
597 [case "${enableval}" in
598 yes) NEED_GLES2=yes ;;
600 auto) NEED_GLES2=auto ;;
601 *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;;
602 esac],[NEED_GLES2=auto])
604 AC_ARG_WITH([gles2-module-name],
605 AS_HELP_STRING([--with-gles2-module-name],[library module name for GLES2 (default: libGLESv2)]))
606 if test x$with_gles2_module_name != x; then
607 AC_DEFINE_UNQUOTED(GST_GL_LIBGLESV2_MODULE_NAME, "$with_gles2_module_name", [GLES2 module name])
611 [ --enable-egl Enable EGL support @<:@default=auto@:>@],
612 [case "${enableval}" in
615 auto) NEED_EGL=auto ;;
616 *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;;
617 esac],[NEED_EGL=auto])
619 AC_ARG_WITH([egl-module-name],
620 AS_HELP_STRING([--with-egl-module-name],[library module name for EGL (default: libEGL)]))
621 if test x$with_egl_module_name != x; then
622 AC_DEFINE_UNQUOTED(GST_GL_LIBEGL_MODULE_NAME, "$with_egl_module_name", [EGL module name])
626 [ --enable-wgl Enable WGL support @<:@default=auto@:>@],
627 [case "${enableval}" in
630 auto) NEED_WGL=auto ;;
631 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;;
632 esac],[NEED_WGL=auto])
635 [ --enable-glx Enable GLX support @<:@default=auto@:>@],
636 [case "${enableval}" in
639 auto) NEED_GLX=auto ;;
640 *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;;
641 esac],[NEED_GLX=auto])
643 AC_ARG_ENABLE([cocoa],
644 [ --enable-cocoa Enable Cocoa support @<:@default=auto@:>@],
645 [case "${enableval}" in
646 yes) NEED_COCOA=yes ;;
648 auto) NEED_COCOA=auto ;;
649 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;;
650 esac],[NEED_COCOA=auto])
653 [ --enable-x11 Enable x11 support @<:@default=auto@:>@],
654 [case "${enableval}" in
657 auto) NEED_X11=auto ;;
658 *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;;
659 esac],[NEED_X11=auto])
661 AC_ARG_ENABLE([wayland],
662 [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@],
663 [case "${enableval}" in
664 yes) NEED_WAYLAND_EGL=yes ;;
665 no) NEED_WAYLAND_EGL=no ;;
666 auto) NEED_WAYLAND_EGL=auto ;;
667 *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;;
668 esac],[NEED_WAYLAND_EGL=auto])
670 AC_ARG_ENABLE([dispmanx],
671 [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@],
672 [case "${enableval}" in
673 yes) NEED_DISPMANX=yes ;;
674 no) NEED_DISPMANX=no ;;
675 auto) NEED_DISPMANX=auto ;;
676 *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
677 esac],[NEED_DISPMANX=auto])
679 AG_GST_PKG_CHECK_MODULES(X, x11)
680 save_CPPFLAGS="$CPPFLAGS"
692 AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h)
693 AC_CHECK_HEADER(GL/wglext.h, HAVE_WGLEXT="yes", HAVE_WGLEXT="no", [#include <GL/gl.h>])
694 if test "x$HAVE_WGLEXT" = "xyes"; then
700 if test "x$NEED_GL" != "xno"; then
701 AG_GST_PKG_CHECK_MODULES(GL, gl)
702 if test "x$HAVE_GL" != "xyes"; then
703 AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
706 if test "x$NEED_GLES2" != "xno"; then
707 AG_GST_PKG_CHECK_MODULES(GLES2, glesv2)
708 if test "x$HAVE_GLES2" != "xyes"; then
709 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
712 if test "x$NEED_EGL" != "xno"; then
713 AG_GST_PKG_CHECK_MODULES(EGL, egl)
714 if test "x$HAVE_EGL" != "xyes"; then
715 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
722 dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
723 AC_CHECK_HEADER([EGL/fbdev_window.h],
726 AC_CHECK_LIB([Mali], [mali_image_create],
729 AC_CHECK_LIB([GLESv2], [glEnable],
731 AC_CHECK_HEADER([GLES2/gl2.h],
733 AC_CHECK_LIB([EGL], [eglGetProcAddress],
735 AC_CHECK_HEADER([EGL/egl.h],
739 EGL_LIBS="-lMali -lUMP"
741 AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL platform])
749 dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
750 dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
751 LIBS="$LIBS -lvcos -lvchiq_arm"
752 AC_CHECK_LIB([bcm_host], [bcm_host_init],
754 LIBS="$LIBS -lbcm_host"
755 AC_CHECK_HEADER(bcm_host.h,
757 LIBS="$LIBS -lGLESv2"
758 AC_CHECK_LIB([EGL], [eglGetProcAddress],
761 AC_CHECK_HEADER([EGL/egl.h],
763 AC_CHECK_LIB([GLESv2], [glEnable],
765 AC_CHECK_HEADER([GLES2/gl2.h],
770 EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
772 AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
783 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)
787 CPPFLAGS="$save_CPPFLAGS"
801 dnl Check for what the user asked for and what we could find
802 if test "x$HAVE_EGL" = "xno"; then
803 if test "x$NEED_EGL" = "xyes"; then
804 AC_MSG_ERROR([Could not find the required EGL libraries])
808 if test "x$HAVE_GL" = "xno"; then
809 if test "x$NEED_GL" = "xyes"; then
810 AC_MSG_ERROR([Could not find the required OpenGL libraries])
814 if test "x$HAVE_GLES2" = "xno"; then
815 if test "x$NEED_GLES2" = "xyes"; then
816 AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries])
820 dnl X, GLX and OpenGL
821 if test "x$HAVE_X" = "xno"; then
822 if test "x$NEED_GLX" = "xyes"; then
823 AC_MSG_ERROR([Building the GLX backend without X11 is unsupported])
825 if test "x$NEED_X11" = "xyes"; then
826 AC_MSG_ERROR([Could not find X11 development libraries])
829 if test "x$NEED_GL" != "xno"; then
830 if test "x$HAVE_GL" = "xno"; then
831 if test "x$NEED_GLX" = "xyes"; then
832 AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported])
836 if test "x$NEED_GLX" != "xno"; then
843 dnl check for DMABUF support
844 HAVE_DRM_FOURCC_HEADER=no
845 AC_CHECK_HEADER(libdrm/drm_fourcc.h,
846 HAVE_DRM_FOURCC_HEADER=yes, )
848 HAVE_GST_ALLOCATORS=no
849 PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0,
850 HAVE_GST_ALLOCATORS=yes, )
852 if test "x$HAVE_DRM_FOURCC_HEADER" = "xyes" -a \
853 "x$HAVE_GST_ALLOCATORS" = "xyes" -a \
854 "x$HAVE_EGL" = "xyes"; then
855 AC_DEFINE(GST_GL_HAVE_DMABUF, [1] , [DMABUF available for gl plugins])
858 dnl check if we can include both GL and GLES2 at the same time
859 if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
862 # pragma GCC diagnostic push
863 # pragma GCC diagnostic ignored \"-Wredundant-decls\"
865 #ifndef GL_GLEXT_PROTOTYPES
866 #define GL_GLEXT_PROTOTYPES 1
869 # include <OpenGLES/ES2/gl.h>
870 # include <OpenGLES/ES2/glext.h>
872 # include <GLES2/gl2.h>
873 # include <GLES2/gl2ext.h>
876 # include <OpenGL/OpenGL.h>
877 # include <OpenGL/gl.h>
878 # if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
879 # define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
880 # include <OpenGL/gl3.h>
884 # if __WIN32__ || _WIN32
885 # include <GL/glext.h>
888 int main (int argc, char **argv) { return 0; }
890 AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
891 save_CFLAGS="$CFLAGS"
892 CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
893 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
894 #if !defined(GL_FALSE)
895 #error Failed to include GL headers
897 ]])],[ AC_MSG_RESULT(yes)
899 if test "x$NEED_GLES2" = "xyes"; then
900 if test "x$NEED_GL" = "xyes"; then
901 AC_MSG_ERROR([Cannot seem to include both GL and GLES2 headers. Try disabling one API])
903 AC_MSG_WARN([Disabling Desktop GL support])
907 AC_MSG_WARN([Disabling GL|ES 2.0 support])
911 CFLAGS="$save_CFLAGS"
914 #dnl Check for OpenGL
918 if test "x$NEED_WGL" = "xyes"; then
919 AC_MSG_ERROR([WGL is not available on Android])
921 if test "x$NEED_GLX" = "xyes"; then
922 AC_MSG_ERROR([GLX is not available on Android])
924 if test "x$NEED_GL" = "xyes"; then
925 AC_MSG_ERROR([GL is not available on Android])
927 if test "x$NEED_X11" = "xyes"; then
928 AC_MSG_ERROR([X11 is not available on Android])
930 if test "x$NEED_COCOA" = "xyes"; then
931 AC_MSG_ERROR([Cocoa is not available on Android])
935 if test "x$HAVE_GLES2" = "xyes"; then
936 if test "x$NEED_GLES2" != "xno"; then
937 GL_LIBS="$GL_LIBS -lGLESv2"
943 if test "x$HAVE_EGL" = "xyes"; then
944 if test "x$NEED_EGL" != "xno"; then
945 GL_LIBS="$GL_LIBS -lEGL"
950 if test "x$USE_EGL" != "xyes"; then
951 AC_MSG_ERROR([Need EGL on Android])
954 if test "x$USE_GLES2" != "xyes"; then
955 AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android])
958 HAVE_WINDOW_ANDROID=yes
960 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
961 if test "x$NEED_WGL" = "xyes"; then
962 AC_MSG_ERROR([WGL is not available on unix])
965 if test "x$HAVE_X" = "xno"; then
966 if test "x$HAVE_WAYLAND_EGL" = "xno"; then
967 AC_MSG_WARN([X or Wayland is required for OpenGL support])
971 dnl check Desktop OpenGL
972 if test "x$HAVE_GL" = "xyes"; then
973 if test "x$NEED_GL" != "xno"; then
974 GL_LIBS="$GL_LIBS -lGL"
979 if test "x$HAVE_GLES2" = "xyes"; then
980 if test "x$NEED_GLES2" != "xno"; then
981 GL_LIBS="$GL_LIBS -lGLESv2"
986 if test "x$HAVE_X" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then
987 if test "x$NEED_X11" != "xno"; then
988 GL_LIBS="$GL_LIBS $X_LIBS"
989 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
994 if test "x$HAVE_WAYLAND_EGL" = "xyes"; then
995 if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then
996 AC_MSG_WARN([EGL is required by the Wayland backend for OpenGL support])
998 if test "x$NEED_WAYLAND_EGL" != "xno"; then
999 HAVE_WINDOW_WAYLAND=yes
1000 GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS"
1001 GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS"
1006 if test "x$HAVE_EGL_RPI" = "xyes"; then
1007 if test "x$NEED_DISPMANX" != "xno"; then
1008 HAVE_WINDOW_DISPMANX=yes
1014 if test "x$HAVE_EGL" = "xno"; then
1015 if test "x$HAVE_GL" = "xno"; then
1016 AC_MSG_WARN([Building requires either EGL or GLX for OpenGL support])
1019 if test "x$NEED_EGL" != "xno"; then
1020 if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1021 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1022 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1029 if test "x$HAVE_IOS" = "xyes"; then
1030 if test "x$NEED_WGL" = "xyes"; then
1031 AC_MSG_ERROR([WGL is not available on iOS])
1033 if test "x$NEED_GLX" = "xyes"; then
1034 AC_MSG_ERROR([GLX is not available on iOS])
1036 if test "x$NEED_GL" = "xyes"; then
1037 AC_MSG_ERROR([GL is not available on iOS])
1039 if test "x$NEED_X11" = "xyes"; then
1040 AC_MSG_ERROR([X11 is not available on iOS])
1042 if test "x$NEED_COCOA" = "xyes"; then
1043 AC_MSG_ERROR([Cocoa is not available on iOS])
1045 if test "x$NEED_EGL" = "xyes"; then
1046 AC_MSG_ERROR([EGL is not available on iOS])
1049 GL_LIBS="$LIBS -framework OpenGLES -framework QuartzCore -framework UIKit -framework CoreGraphics -framework CoreFoundation -framework Foundation"
1050 GL_CFLAGS="$GL_CFLAGS"
1053 HAVE_WINDOW_EAGL=yes
1055 ac_cv_type_GLsizeiptr=yes
1056 ac_cv_type_GLintptr=yes
1057 ac_cv_type_GLchar=yes
1059 dnl Only osx supports cocoa.
1060 if test "x$NEED_WGL" = "xyes"; then
1061 AC_MSG_ERROR([WGL is not available on Mac OS X])
1064 if test "x$NEED_COCOA" != "xno"; then
1065 GL_LIBS="$LIBS -framework OpenGL -framework Cocoa -framework QuartzCore -framework CoreFoundation"
1066 GL_CFLAGS="$GL_CFLAGS"
1068 HAVE_WINDOW_COCOA=yes
1072 if test "x$USE_GLX" = "xyes"; then
1073 if test "x$HAVE_X" = "xyes"; then
1074 if test "x$NEED_X11" != "xno"; then
1075 GL_LIBS="$GL_LIBS $X_LIBS"
1076 GL_CFLAGS="$GL_CFLAGS $X_CFLAGS"
1081 if test "x$HAVE_GL" = "xyes"; then
1082 if test "x$NEED_GL" != "xno"; then
1083 GL_LIBS="$GL_LIBS -lGL"
1089 if test "x$HAVE_EGL" = "xyes"; then
1090 if test "x$NEED_EGL" != "xno"; then
1091 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1092 GL_LIBS="$GL_LIBS -lEGL $EGL_LIBS"
1093 GL_CFLAGS="$GL_CFLAGS $EGL_CFLAGS"
1100 if test "x$HAVE_GLES2" = "xyes"; then
1101 if test "x$NEED_GLES2" != "xno"; then
1102 GL_LIBS="$GL_LIBS -lGLESv2"
1109 if test "x$NEED_GLX" = "xyes"; then
1110 AC_MSG_ERROR([GLX is not available on Windows])
1112 if test "x$NEED_GLES2" = "xyes"; then
1113 AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet])
1116 if test "x$HAVE_GL" = "xyes"; then
1117 if test "x$NEED_GL" != "xno"; then
1118 if test "x$HAVE_WGL" = "xyes"; then
1119 if test "$NEED_WGL" != "xno"; then
1120 GL_LIBS="$GL_LIBS -lgdi32 -lopengl32"
1121 HAVE_WINDOW_WIN32=yes
1130 AC_MSG_WARN([Don't know how to check for OpenGL on your platform.])
1141 GST_GL_HAVE_OPENGL=0
1145 if test "x$USE_OPENGL" = "xyes"; then
1146 GL_APIS="gl $GL_APIS"
1147 GST_GL_HAVE_OPENGL=1
1149 if test "x$USE_GLES2" = "xyes"; then
1150 GL_APIS="gles2 $GL_APIS"
1154 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1155 #define GST_GL_HAVE_OPENGL $GST_GL_HAVE_OPENGL
1156 #define GST_GL_HAVE_GLES2 $GST_GL_HAVE_GLES2
1157 #define GST_GL_HAVE_GLES3 $GST_GL_HAVE_GLES3
1162 GST_GL_HAVE_WINDOW_X11=0
1163 GST_GL_HAVE_WINDOW_COCOA=0
1164 GST_GL_HAVE_WINDOW_WIN32=0
1165 GST_GL_HAVE_WINDOW_WAYLAND=0
1166 GST_GL_HAVE_WINDOW_ANDROID=0
1167 GST_GL_HAVE_WINDOW_DISPMANX=0
1168 GST_GL_HAVE_WINDOW_EAGL=0
1170 if test "x$HAVE_WINDOW_X11" = "xyes"; then
1171 GL_WINDOWS="x11 $GL_WINDOWS"
1172 GST_GL_HAVE_WINDOW_X11=1
1174 if test "x$HAVE_WINDOW_COCOA" = "xyes"; then
1175 GL_WINDOWS="cocoa $GL_WINDOWS"
1176 GST_GL_HAVE_WINDOW_COCOA=1
1178 if test "x$HAVE_WINDOW_WIN32" = "xyes"; then
1179 GL_WINDOWS="win32 $GL_WINDOWS"
1180 GST_GL_HAVE_WINDOW_WIN32=1
1182 if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then
1183 GL_WINDOWS="wayland $GL_WINDOWS"
1184 GST_GL_HAVE_WINDOW_WAYLAND=1
1186 if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then
1187 GL_WINDOWS="android $GL_WINDOWS"
1188 GST_GL_HAVE_WINDOW_ANDROID=1
1190 if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then
1191 GL_WINDOWS="dispmanx $GL_WINDOWS"
1192 GST_GL_HAVE_WINDOW_DISPMANX=1
1194 if test "x$HAVE_WINDOW_EAGL" = "xyes"; then
1195 GL_WINDOWS="eagl $GL_WINDOWS"
1196 GST_GL_HAVE_WINDOW_EAGL=1
1199 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1200 #define GST_GL_HAVE_WINDOW_X11 $GST_GL_HAVE_WINDOW_X11
1201 #define GST_GL_HAVE_WINDOW_COCOA $GST_GL_HAVE_WINDOW_COCOA
1202 #define GST_GL_HAVE_WINDOW_WIN32 $GST_GL_HAVE_WINDOW_WIN32
1203 #define GST_GL_HAVE_WINDOW_WAYLAND $GST_GL_HAVE_WINDOW_WAYLAND
1204 #define GST_GL_HAVE_WINDOW_ANDROID $GST_GL_HAVE_WINDOW_ANDROID
1205 #define GST_GL_HAVE_WINDOW_DISPMANX $GST_GL_HAVE_WINDOW_DISPMANX
1206 #define GST_GL_HAVE_WINDOW_EAGL $GST_GL_HAVE_WINDOW_EAGL
1211 GST_GL_HAVE_PLATFORM_EGL=0
1212 GST_GL_HAVE_PLATFORM_GLX=0
1213 GST_GL_HAVE_PLATFORM_WGL=0
1214 GST_GL_HAVE_PLATFORM_CGL=0
1215 GST_GL_HAVE_PLATFORM_EAGL=0
1217 if test "x$USE_EGL" = "xyes"; then
1218 GL_PLATFORMS="egl $GL_PLATFORMS"
1219 GST_GL_HAVE_PLATFORM_EGL=1
1221 if test "x$USE_GLX" = "xyes"; then
1222 GL_PLATFORMS="glx $GL_PLATFORMS"
1223 GST_GL_HAVE_PLATFORM_GLX=1
1225 if test "x$USE_WGL" = "xyes"; then
1226 GL_PLATFORMS="wgl $GL_PLATFORMS"
1227 GST_GL_HAVE_PLATFORM_WGL=1
1229 if test "x$USE_COCOA" = "xyes"; then
1230 GL_PLATFORMS="cgl $GL_PLATFORMS"
1231 GST_GL_HAVE_PLATFORM_CGL=1
1233 if test "x$USE_EAGL" = "xyes"; then
1234 GL_PLATFORMS="eagl $GL_PLATFORMS"
1235 GST_GL_HAVE_PLATFORM_EAGL=1
1238 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1239 #define GST_GL_HAVE_PLATFORM_EGL $GST_GL_HAVE_PLATFORM_EGL
1240 #define GST_GL_HAVE_PLATFORM_GLX $GST_GL_HAVE_PLATFORM_GLX
1241 #define GST_GL_HAVE_PLATFORM_WGL $GST_GL_HAVE_PLATFORM_WGL
1242 #define GST_GL_HAVE_PLATFORM_CGL $GST_GL_HAVE_PLATFORM_CGL
1243 #define GST_GL_HAVE_PLATFORM_EAGL $GST_GL_HAVE_PLATFORM_EAGL
1246 dnl Check for no platforms/window systems
1247 if test "x$GL_APIS" = "x"; then
1248 AC_MSG_WARN([Either OpenGL or OpenGL|ES is required for OpenGL support])
1250 if test "x$GL_PLATFORMS" = "x"; then
1251 AC_MSG_WARN([Could not find any OpenGL platforms to use such as CGL, WGL or GLX])
1253 if test "x$GL_WINDOWS" = "x"; then
1254 AC_MSG_WARN([Could not find any window systems to use such as Cocoa, Win32API or X11])
1257 if test "x$GL_APIS" = "x" -o "x$GL_PLATFORMS" = "x" -o "x$GL_WINDOWS" = "x"; then
1272 HAVE_WINDOW_WIN32=no
1273 HAVE_WINDOW_DISPMANX=no
1274 HAVE_WINDOW_WAYLAND=no
1275 HAVE_WINDOW_ANDROID=no
1276 HAVE_WINDOW_COCOA=no
1282 AC_SUBST(GL_OBJCFLAGS)
1283 AC_SUBST(USE_OPENGL)
1286 AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes")
1287 AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes")
1288 AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes")
1289 AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes")
1290 AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes")
1291 AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes")
1292 AM_CONDITIONAL(HAVE_WINDOW_EAGL, test "x$HAVE_WINDOW_EAGL" = "xyes")
1294 AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes")
1295 AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes")
1296 AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes")
1297 AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes")
1298 AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes")
1299 AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes")
1300 AM_CONDITIONAL(USE_EGL_MALI, test "x$USE_EGL_MALI" = "xyes")
1301 AM_CONDITIONAL(USE_EGL_RPI, test "x$USE_EGL_RPI" = "xyes")
1302 AM_CONDITIONAL(USE_EAGL, test "x$USE_EAGL" = "xyes")
1304 AM_CONDITIONAL(HAVE_GST_GL, test "x$USE_OPENGL" = "xyes" -o "x$USE_GLES2" = "xyes")
1306 dnl Check for some types that are not always present
1308 if test "x$USE_GLES2" = "xyes"; then
1309 GL_INCLUDES="$GL_INCLUDES
1310 #ifndef GL_GLEXT_PROTOTYPES
1311 #define GL_GLEXT_PROTOTYPES 1
1314 # include <OpenGLES/ES2/gl.h>
1315 # include <OpenGLES/ES2/glext.h>
1317 # include <GLES2/gl2.h>
1318 # include <GLES2/gl2ext.h>
1323 if test "x$USE_OPENGL" = "xyes"; then
1324 GL_INCLUDES="$GL_INCLUDES
1326 # include <OpenGL/OpenGL.h>
1327 # include <OpenGL/gl.h>
1330 # if __WIN32__ || _WIN32
1331 # include <GL/glext.h>
1337 GST_GL_HAVE_GLEGLIMAGEOES=0
1338 GST_GL_HAVE_GLCHAR=0
1339 GST_GL_HAVE_GLSIZEIPTR=0
1340 GST_GL_HAVE_GLINTPTR=0
1341 GST_GL_HAVE_GLSYNC=0
1342 GST_GL_HAVE_GLUINT64=0
1343 GST_GL_HAVE_GLINT64=0
1346 CFLAGS="$GL_CFLAGS $CFLAGS"
1348 AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]])
1349 if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then
1350 GST_GL_HAVE_GLEGLIMAGEOES=1
1353 AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]])
1354 if test "x$ac_cv_type_GLchar" = "xyes"; then
1355 GST_GL_HAVE_GLCHAR=1
1358 AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]])
1359 if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then
1360 GST_GL_HAVE_GLSIZEIPTR=1
1363 AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]])
1364 if test "x$ac_cv_type_GLintptr" = "xyes"; then
1365 GST_GL_HAVE_GLINTPTR=1
1368 AC_CHECK_TYPES(GLsync, [], [], [[$GL_INCLUDES]])
1369 if test "x$ac_cv_type_GLsync" = "xyes"; then
1370 GST_GL_HAVE_GLSYNC=1
1373 AC_CHECK_TYPES(GLuint64, [], [], [[$GL_INCLUDES]])
1374 if test "x$ac_cv_type_GLuint64" = "xyes"; then
1375 GST_GL_HAVE_GLUINT64=1
1378 AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
1379 if test "x$ac_cv_type_GLint64" = "xyes"; then
1380 GST_GL_HAVE_GLINT64=1
1385 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
1386 #define GST_GL_HAVE_GLEGLIMAGEOES $GST_GL_HAVE_GLEGLIMAGEOES
1387 #define GST_GL_HAVE_GLCHAR $GST_GL_HAVE_GLCHAR
1388 #define GST_GL_HAVE_GLSIZEIPTR $GST_GL_HAVE_GLSIZEIPTR
1389 #define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
1390 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
1391 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
1392 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
1395 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
1396 outfile=gstglconfig.h-tmp
1397 cat > $outfile <<\_______EOF
1400 * This is a generated file. Please modify `configure.ac'
1403 #ifndef __GST_GL_CONFIG_H__
1404 #define __GST_GL_CONFIG_H__
1406 #include <gst/gst.h>
1412 cat >>$outfile <<_______EOF
1416 cat >>$outfile <<_______EOF
1420 #endif /* __GST_GL_CONFIG_H__ */
1424 if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then
1425 AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged])
1428 mv $outfile gst-libs/gst/gl/gstglconfig.h
1431 gl_config_defines='$GL_CONFIG_DEFINES'
1434 dnl libpng is optional
1435 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
1436 if test "x$HAVE_PNG" = "xyes"; then
1437 AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
1440 AC_SUBST(LIBPNG_LIBS)
1441 AC_SUBST(LIBPNG_CFLAGS)
1442 AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
1444 dnl libjpeg is optional
1445 AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
1447 if test x$with_jpeg_mmx != x; then
1448 LIBS="$LIBS -L$with_jpeg_mmx"
1450 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1451 JPEG_LIBS="$LIBS -ljpeg-mmx"
1453 if test x$HAVE_JPEG != xyes; then
1455 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
1458 if test x$HAVE_JPEG = xyes; then
1459 AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
1461 AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg])
1466 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
1469 dnl *** sys plug-ins ***
1472 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSOUND, true)
1473 AG_GST_CHECK_FEATURE(DIRECTSOUND, [DirectSound], directsoundsrc, [
1474 HAVE_DIRECTSOUND="no"
1475 save_CFLAGS="$CFLAGS"
1476 save_LDFLAGS="$LDFLAGS"
1478 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1479 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1480 LIBS="$LIBS -lwinmm -ldsound -ldxerr9 -luser32"
1481 AC_MSG_CHECKING(for DirectSound LDFLAGS)
1482 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1483 #include <windows.h>
1486 #include <mmsystem.h>
1488 DXGetErrorString9 (0);
1489 DirectSoundCreate(NULL, NULL, NULL);
1491 [HAVE_DIRECTSOUND="yes"],
1492 [HAVE_DIRECTSOUND="no"])
1493 AC_MSG_RESULT($HAVE_DIRECTSOUND)
1495 LDFLAGS=$save_LDFLAGS
1498 if test "x$HAVE_DIRECTSOUND" = "xyes"; then
1499 dnl this is much more than we want
1500 DIRECTSOUND_LIBS="-lwinmm -ldsound -ldxerr9 -luser32"
1501 AC_SUBST(DIRECTX_CFLAGS)
1502 AC_SUBST(DIRECTX_LDFLAGS)
1503 AC_SUBST(DIRECTSOUND_LIBS)
1505 AC_SUBST(HAVE_DIRECTSOUND)
1509 translit(dnm, m, l) AM_CONDITIONAL(USE_WASAPI, true)
1510 AG_GST_CHECK_FEATURE(WASAPI, [WASAPI plug-in], wasapi, [
1512 save_CFLAGS="$CFLAGS"
1513 save_LDFLAGS="$LDFLAGS"
1515 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1516 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1517 LIBS="$LIBS -lole32 -lwinmm -lksuser"
1518 AC_MSG_CHECKING(for WASAPI LDFLAGS)
1519 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1520 #include <windows.h>
1522 #include <mmsystem.h>
1523 #include <mmdeviceapi.h>
1529 hr = CoInitialize(NULL);
1531 printf("CoInitialize failed: hr = 0x%08x", hr);
1536 // result = do_everything(argc, argv);
1542 [HAVE_WASAPI="yes"],
1544 AC_MSG_RESULT($HAVE_WASAPI)
1546 LDFLAGS=$save_LDFLAGS
1549 if test "x$HAVE_WASAPI" = "xyes"; then
1550 WASAPI_LIBS="-lole32 -lwinmm -lksuser"
1551 AC_SUBST(WASAPI_LIBS)
1553 AC_SUBST(HAVE_WASAPI)
1557 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECT3D, true)
1558 AG_GST_CHECK_FEATURE(DIRECT3D, [Direct3D plug-in], direct3dsink, [
1560 save_CFLAGS="$CFLAGS"
1561 save_LDFLAGS="$LDFLAGS"
1563 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1564 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1565 LIBS="$LIBS -ld3d9 -lgdi32"
1566 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1567 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1568 #include <windows.h>
1571 Direct3DCreate9(D3D_SDK_VERSION);
1573 [HAVE_DIRECT3D="yes"],
1574 [HAVE_DIRECT3D="no"])
1575 AC_MSG_RESULT($HAVE_DIRECT3D)
1577 LDFLAGS=$save_LDFLAGS
1580 if test "x$HAVE_DIRECT3D" = "xyes"; then
1581 DIRECT3D_LIBS="-ld3d9 -lgdi32"
1582 AC_SUBST(DIRECT3D_LIBS)
1584 AC_SUBST(HAVE_DIRECT3D)
1588 translit(dnm, m, l) AM_CONDITIONAL(USE_WINSCREENCAP, true)
1589 AG_GST_CHECK_FEATURE(WINSCREENCAP, [winscreencap plug-in], winscreencap, [
1590 HAVE_WINSCREENCAP="no"
1591 save_CFLAGS="$CFLAGS"
1592 save_LDFLAGS="$LDFLAGS"
1594 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1595 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1596 LIBS="$LIBS -ld3d9 -lgdi32"
1597 AC_MSG_CHECKING(for Direct3D LDFLAGS)
1598 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1599 #include <windows.h>
1602 Direct3DCreate9(D3D_SDK_VERSION);
1604 [HAVE_WINSCREENCAP="yes"],
1605 [HAVE_WINSCREENCAP="no"])
1606 AC_MSG_RESULT($HAVE_WINSCREENCAP)
1608 LDFLAGS=$save_LDFLAGS
1611 if test "x$HAVE_WINSCREENCAP" = "xyes"; then
1612 WINSCREENCAP_LIBS="-ld3d9 -lgdi32"
1613 AC_SUBST(WINSCREENCAP_LIBS)
1615 AC_SUBST(HAVE_WINSCREENCAP)
1619 translit(dnm, m, l) AM_CONDITIONAL(USE_WINKS, true)
1620 AG_GST_CHECK_FEATURE(WINKS, [Winks plug-in], winks, [
1622 save_CFLAGS="$CFLAGS"
1623 save_LDFLAGS="$LDFLAGS"
1625 CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
1626 LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
1627 LIBS="$LIBS -lole32 -luuid -lstrmiids"
1628 AC_MSG_CHECKING(for Winks LDFLAGS)
1629 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1630 #include <windows.h>
1635 IGraphBuilder *pGraph = NULL;
1636 HRESULT hr = CoInitialize(NULL);
1637 hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
1638 &IID_IGraphBuilder, (void **)&pGraph);
1645 AC_MSG_RESULT($HAVE_WINKS)
1647 LDFLAGS=$save_LDFLAGS
1650 if test "x$HAVE_WINKS" = "xyes"; then
1651 dnl this is much more than we want
1652 WINKS_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
1653 AC_SUBST(DIRECTX_CFLAGS)
1654 AC_SUBST(DIRECTX_LDFLAGS)
1655 AC_SUBST(WINKS_LIBS)
1657 AC_SUBST(HAVE_WINKS)
1660 dnl *** Android Media ***
1661 translit(dnm, m, l) AM_CONDITIONAL(USE_ANDROID_MEDIA, true)
1662 HAVE_ANDROID_MEDIA="no"
1663 AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [
1666 AC_CHECK_HEADER(jni.h, HAVE_ANDROID_MEDIA="yes", HAVE_ANDROID_MEDIA="no")
1669 HAVE_ANDROID_MEDIA="no"
1674 dnl *** AppleMedia (OS X and iOS) ***
1675 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
1676 HAVE_APPLE_MEDIA="no"
1677 dnl SystemConfiguration.h is common to OS X and iOS, so we check for that
1678 AG_GST_CHECK_FEATURE(APPLE_MEDIA, [Apple video], applemedia, [
1679 AC_CHECK_HEADER(SystemConfiguration/SystemConfiguration.h, HAVE_APPLE_MEDIA="yes", HAVE_APPLE_MEDIA="no")
1680 dnl OSX 10.7 and earlier lack VideoToolbox/VideoToolbox.h
1681 if test "x$HAVE_IOS" = "xno"; then
1682 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h,, HAVE_APPLE_MEDIA="no")
1686 dnl in case header SystemConfiguration/SystemConfiguration.h is found on other platforms
1691 HAVE_APPLE_MEDIA="no"
1696 translit(dnm, m, l) AM_CONDITIONAL(USE_BLUEZ, true)
1697 AG_GST_CHECK_FEATURE(BLUEZ, [Bluez], bluez, [
1698 PKG_CHECK_MODULES([BLUEZ5], [bluez >= 5.0], [
1699 PKG_CHECK_MODULES([GIO_UNIX], gio-unix-2.0 > 2.24, [
1700 AC_CHECK_PROG([GDBUS_CODEGEN],[gdbus-codegen],[gdbus-codegen])
1702 AC_DEFINE(HAVE_BLUEZ5,[1],[Bluez5 detected])
1711 dnl *** OS/X AVCVideoServices ***
1712 translit(dnm, m, l) AM_CONDITIONAL(USE_AVC, true)
1714 AG_GST_CHECK_FEATURE(AVC, [AVC Video Services], avcsrc, [
1716 save_CPPFLAGS="$CPPFLAGS"
1717 CPPFLAGS="$CPPFLAGS -framework AVCVideoServices -framework CoreFoundation"
1719 LIBS="$LIBS -framework AVCVideoServices -framework CoreFoundation"
1720 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[HAVE_AVC=yes],[HAVE_AVC=no])
1722 CPPFLAGS=$save_CPPFLAGS
1725 dnl in case header AVCVideoServices/AVCVideoServices.h is found on other platforms
1734 dnl check for shm_open (for shm plugin)
1735 translit(dnm, m, l) AM_CONDITIONAL(USE_SHM, true)
1736 AG_GST_CHECK_FEATURE(SHM, [POSIX shared memory source and sink], shm, [
1737 if test "x$HAVE_SYS_SOCKET_H" = "xyes"; then
1739 *-darwin* | *-macos10*)
1740 AC_DEFINE(HAVE_OSX,[1],[Apple Mac OS X operating system detected])
1744 AC_CHECK_LIB([rt], [shm_open],
1745 AC_CHECK_DECL([MSG_NOSIGNAL], HAVE_SHM=yes, HAVE_SHM=no, [
1746 #include <sys/socket.h>
1749 AC_SUBST(SHM_LIBS, "-lrt")
1757 dnl check for Video CD
1758 translit(dnm, m, l) AM_CONDITIONAL(USE_VCD, true)
1759 AG_GST_CHECK_FEATURE(VCD, [Video CD], vcdsrc, [
1760 AC_CHECK_HEADER(linux/cdrom.h, HAVE_VCD="yes", HAVE_VCD="no")
1763 dnl check for OpenSL ES
1764 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENSLES, true)
1765 AG_GST_CHECK_FEATURE(OPENSLES, [OpenSL ES], opensl, [
1766 AC_CHECK_HEADER(SLES/OpenSLES.h, HAVE_OPENSLES="yes", HAVE_OPENSLES="no")
1769 dnl *** UVC H264 ***
1770 translit(dnm, m, l) AM_CONDITIONAL(USE_UVCH264, true)
1771 AG_GST_CHECK_FEATURE(UVCH264, [UVC H264], uvch264, [
1772 AC_CHECK_HEADER(linux/uvcvideo.h, HAVE_UVCVIDEO_H=yes, HAVE_UVCVIDEO_H=no)
1773 PKG_CHECK_MODULES(G_UDEV, gudev-1.0 , [
1774 AC_DEFINE([HAVE_GUDEV], 1, [Define if gudev is installed])
1777 PKG_CHECK_MODULES(LIBUSB, libusb-1.0 , [
1778 AC_DEFINE([HAVE_LIBUSB], 1, [Define if libusb 1.x is installed])
1779 HAVE_LIBUSB="yes" ],
1781 if test "x$HAVE_UVCVIDEO_H" = "xyes" && \
1782 test "x$HAVE_GUDEV" = "xyes" && \
1783 test "x$HAVE_LIBUSB" = "xyes"; then
1789 AC_SUBST(LIBUDEV_CFLAGS)
1790 AC_SUBST(LIBUDEV_LIBS)
1791 AC_SUBST(LIBUSB_CFLAGS)
1792 AC_SUBST(LIBUSB_LIBS)
1795 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
1796 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
1797 AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
1798 AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-1.0)
1799 AC_ARG_WITH([cuda-prefix],
1800 AS_HELP_STRING([--with-cuda-prefix],
1801 [Use the provided prefix for detecting the cuda installation]),
1802 [AS_IF([test "x$with_cuda_prefix" != "x"],
1803 [CUDA_PREFIX="$with_cuda_prefix"])],
1807 if test "x$CUDA_PREFIX" != "x"; then
1808 dnl only override if not already set
1809 if test "x$CUDA_CFLAGS" = "x" -a "x$CUDA_LIBS" = "x"; then
1810 dnl this is an educated guess, user can always override these
1811 CUDA_CFLAGS="-I$CUDA_PREFIX/include"
1812 CUDA_LIBS="-L$CUDA_PREFIX/lib -L$CUDA_PREFIX/lib64 -L$CUDA_PREFIX/lib/stubs -L$CUDA_PREFIX/lib64/stubs -lcuda -lcudart"
1815 PKG_CHECK_MODULES([CUDA], [cuda-7.5 cudart-7.5],, [
1816 PKG_CHECK_MODULES([CUDA], [cuda-7.0 cudart-7.0],, [
1817 PKG_CHECK_MODULES([CUDA], [cuda-6.5 cudart-6.5],, [
1818 AC_MSG_WARN([Could not find cuda headers/libraries])])])])
1823 save_CPPFLAGS="$CPPFLAGS"
1824 CPPFLAGS="$CUDA_CFLAGS $save_CPPFLAGS "
1825 AC_CHECK_HEADER([cuda.h], [HAVE_CUDA_H=yes],
1826 AC_MSG_WARN([Could not find cuda.h]))
1827 AC_CHECK_HEADER([cuda_runtime_api.h], [HAVE_CUDART_H=yes],
1828 AC_MSG_WARN([Could not find cuda_runtime_api.h]))
1829 CPPFLAGS=$save_CPPFLAGS
1831 dnl libcuda and libcudart libraries
1833 LIBS="$CUDA_LIBS $save_LIBS"
1834 HAVE_CUDART_LIB="no"
1835 AC_CHECK_LIB(cudart,cudaGetErrorString,[HAVE_CUDART_LIB="yes"], [
1836 AC_MSG_WARN([Could not find cudart library])])
1838 AC_CHECK_LIB(cuda,cuInit,[HAVE_CUDA_LIB="yes"], [
1839 AC_MSG_WARN([Could not find cuda library])])
1842 dnl nvEncodeAPI.h header
1843 HAVE_NVENCODEAPI_H=no
1844 AC_ARG_VAR(NVENCODE_CFLAGS, [C compiler flags for NvEncodeAPI.h])
1845 save_CPPFLAGS="$CPPFLAGS"
1846 CPPFLAGS="$NVENCODE_CFLAGS $save_CPPFLAGS"
1847 AC_CHECK_HEADER([nvEncodeAPI.h], [
1848 AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <nvEncodeAPI.h>
1849 #if NVENCAPI_MAJOR_VERSION < 5
1850 #error "Need nvEncodeAPI.h >= 5.0"
1853 HAVE_NVENCODEAPI_H=yes
1855 AC_MSG_WARN([nvEncodeAPI.h must be >= 5.0])
1858 AC_MSG_WARN([Could not find nvEncodeAPI.h]))
1859 AC_SUBST(NVENCODE_CFLAGS)
1860 CPPFLAGS="$save_CPPFLAGS"
1862 dnl libnvnidia-encode library
1863 HAVE_NVENCODE_LIB=no
1864 AC_ARG_VAR(NVENCODE_LIBS, [linker flags for nvidia-encode])
1866 LIBS="$NVENCODE_LIBS $saved_LIBS"
1867 AC_CHECK_LIB(nvidia-encode, NvEncodeAPICreateInstance, [HAVE_NVENCODE_LIB="yes"],
1868 AC_MSG_WARN([Could not find library nvidia-encode]))
1869 NVENCODE_LIBS="$NVENCODE_LIBS -lnvidia-encode"
1870 AC_SUBST(NVENCODE_LIBS)
1874 if test "x$HAVE_CUDA_H" = "xyes" \
1875 -a "x$HAVE_CUDART_H" = "xyes" \
1876 -a "x$HAVE_CUDA_LIB" = "xyes" \
1877 -a "x$HAVE_CUDART_LIB" = "xyes" \
1878 -a "x$HAVE_NVENCODEAPI_H" = "xyes" \
1879 -a "x$HAVE_NVENCODE_LIB" = "xyes"; then
1881 if test x"$USE_OPENGL" = x"yes"; then
1882 dnl cuda-gl interop header
1883 save_CPPFLAGS="$CPPFLAGS"
1884 CPPFLAGS="$save_CPPFLAGS $CUDA_CFLAGS"
1885 AC_CHECK_HEADER([cuda_gl_interop.h], [
1886 USE_NVENC_GST_GL="yes"
1887 AC_DEFINE(HAVE_NVENC_GST_GL, [1] , [NVENC GStreamer OpenGL support available])
1889 CPPFLAGS="$save_CPPFLAGS"
1895 AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
1897 dnl check for tinyalsa
1898 translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
1899 AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
1900 AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
1903 dnl *** ext plug-ins ***
1904 dnl keep this list sorted alphabetically !
1906 if test "x$BUILD_EXTERNAL" = "xyes"; then
1908 dnl *** assrender ***
1909 translit(dnm, m, l) AM_CONDITIONAL(USE_ASSRENDER, true)
1910 AG_GST_CHECK_FEATURE(ASSRENDER, [ASS/SSA renderer], assrender, [
1911 PKG_CHECK_MODULES(ASSRENDER, libass >= 0.10.2, [
1912 HAVE_ASSRENDER="yes" ], [
1916 AC_SUBST(ASSRENDER_CFLAGS)
1917 AC_SUBST(ASSRENDER_LIBS)
1919 dnl *** vo-amrwbenc ***
1920 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAMRWBENC, true)
1921 AG_GST_CHECK_FEATURE(VOAMRWBENC, [vo-amrwbenc library], vo-amrwbenc, [
1922 AG_GST_PKG_CHECK_MODULES(VOAMRWBENC, vo-amrwbenc >= 0.1.0)
1925 dnl *** vo-aacenc ***
1926 translit(dnm, m, l) AM_CONDITIONAL(USE_VOAACENC, true)
1927 AG_GST_CHECK_FEATURE(VOAACENC, [vo-aacenc library], vo-aacenc, [
1928 AG_GST_PKG_CHECK_MODULES(VOAACENC, vo-aacenc >= 0.1.0)
1931 dnl *** apexsink ***
1932 translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
1933 AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
1934 PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
1938 AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
1939 AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
1940 APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
1942 AC_SUBST(APEXSINK_CFLAGS)
1943 AC_SUBST(APEXSINK_LIBS)
1950 translit(dnm, m, l) AM_CONDITIONAL(USE_BS2B, true)
1951 AG_GST_CHECK_FEATURE(BS2B, [bs2b], bs2b, [
1952 PKG_CHECK_MODULES(BS2B, libbs2b >= 3.1.0, HAVE_BS2B="yes", [
1955 AC_SUBST(BS2B_CFLAGS)
1960 translit(dnm, m, l) AM_CONDITIONAL(USE_BZ2, true)
1961 AG_GST_CHECK_FEATURE(BZ2, [bz2 library], bz2, [
1964 AC_MSG_CHECKING([for BZ2_bzlibVersion in -lbz2])
1965 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <bzlib.h>]], [[const char *version = BZ2_bzlibVersion ();]])],[HAVE_BZ2=yes],[HAVE_BZ2=no])
1966 AC_MSG_RESULT($HAVE_BZ2)
1968 if test "x$HAVE_BZ2" = "xyes"; then
1976 #translit(dnm, m, l) AM_CONDITIONAL(USE_CAIRO, true)
1977 #AG_GST_CHECK_FEATURE(CAIRO, [cairo plug-in], cairo, [
1978 # PKG_CHECK_MODULES(CAIRO, cairo >= 1.0 glitz-glx, HAVE_CAIRO=yes, [
1981 # AC_SUBST(CAIRO_CFLAGS)
1982 # AC_SUBST(CAIRO_LIBS)
1985 dnl *** chromaprint ***
1986 translit(dnm, m, l) AM_CONDITIONAL(USE_CHROMAPRINT, true)
1987 AG_GST_CHECK_FEATURE(CHROMAPRINT, [chromaprint], chromaprint, [
1988 PKG_CHECK_MODULES(CHROMAPRINT, libchromaprint, HAVE_CHROMAPRINT="yes", [
1989 HAVE_CHROMAPRINT="no"
1991 AC_SUBST(CHROMAPRINT_CFLAGS)
1992 AC_SUBST(CHROMAPRINT_LIBS)
1996 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
1997 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
1998 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
2000 AC_CHECK_HEADERS([unistd.h sys/socket.h sys/types.h netinet/in.h netinet/tcp.h fcntl.h], [ ], [
2001 AC_CHECK_HEADERS([unistd.h sys/types.h winsock2.h ws2tcpip.h fcntl.h], [ ], [HAVE_CURL="no"])
2003 AC_CHECK_HEADERS([netinet/ip.h], [], [HAVE_CURL="no"],
2004 [[#ifdef HAVE_SYS_TYPES_H
2005 # include <sys/types.h>
2007 #ifdef HAVE_NETINET_IN_H
2008 # include <netinet/in.h>
2011 AC_MSG_CHECKING([for socket support needed by curlsink])
2012 AC_MSG_RESULT($HAVE_CURL)
2016 AC_SUBST(CURL_CFLAGS)
2018 PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
2020 AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
2024 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
2025 AC_SUBST(SSH2_CFLAGS)
2027 ],,,[AM_CONDITIONAL(USE_SSH2, false)])
2030 translit(dnm, m, l) AM_CONDITIONAL(USE_DASH, true)
2031 AG_GST_CHECK_FEATURE(DASH, [DASH plug-in], dash, [
2032 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.8, [HAVE_LIBXML2="yes"
2033 HAVE_DASH="yes"], [HAVE_LIBXML2="no"
2035 AC_SUBST(LIBXML2_CFLAGS)
2036 AC_SUBST(LIBXML2_LIBS)
2040 translit(dnm, m, l) AM_CONDITIONAL(USE_DC1394, true)
2041 AG_GST_CHECK_FEATURE(DC1394, [libdc1394], dc1394, [
2042 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.0, [
2043 if test -z "`$PKG_CONFIG --modversion libdc1394-2 | grep 2.0.0-rc`"; then
2052 AC_SUBST(LIBDC1394_CFLAGS)
2053 AC_SUBST(LIBDC1394_LIBS)
2056 dnl *** decklink ***
2057 translit(dnm, m, l) AM_CONDITIONAL(USE_DECKLINK, true)
2058 AG_GST_CHECK_FEATURE(DECKLINK, [decklink], decklink, [
2065 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2066 AC_CHECK_LIB(dl, dlopen,
2070 DECKLINK_LIBS="-lpthread -ldl"
2075 if test "x$HAVE_PTHREAD_H" = "xyes"; then
2076 AC_CHECK_LIB(dl, dlopen,
2080 DECKLINK_LIBS="-lpthread -ldl"
2081 HAVE_DECKLINK_OSX=yes
2090 AC_SUBST(DECKLINK_CXXFLAGS)
2091 AC_SUBST(DECKLINK_LIBS)
2093 AM_CONDITIONAL(DECKLINK_OSX, test "x$HAVE_DECKLINK_OSX" = xyes)
2095 dnl **** DirectFB ****
2096 translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTFB, true)
2097 AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
2098 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.24, HAVE_DIRECTFB="yes", [
2103 dnl **** Wayland ****
2104 translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
2105 AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
2106 PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 wayland-scanner, [
2107 HAVE_WAYLAND="yes" ], [ HAVE_WAYLAND="no"
2111 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
2114 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
2115 AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
2116 PKG_CHECK_MODULES(WEBP, libwebp >= 0.2.1, [
2117 HAVE_WEBP="yes" ], [ HAVE_WEBP="no"
2119 AC_SUBST(WEBP_CFLAGS)
2124 translit(dnm, m, l) AM_CONDITIONAL(USE_DAALA, true)
2125 AG_GST_CHECK_FEATURE(DAALA, [daala], daala, [
2126 if test "x$BUILD_EXPERIMENTAL" = "xyes"; then
2127 PKG_CHECK_MODULES(DAALA, daalaenc daaladec, [
2132 AC_SUBST(DAALA_CFLAGS)
2133 AC_SUBST(DAALA_LIBS)
2138 translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
2139 AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
2141 AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, $LIBM, dca.h,
2142 DTS_LIBS="-ldca $LIBM", HAVE_DTS="no")
2143 if test $HAVE_DTS = "no"; then
2144 AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, $LIBM, dts.h,
2145 [ DTS_LIBS="-ldts_pic $LIBM"
2146 AC_DEFINE(DTS_OLD, 1, [Define if an old libdts is used])
2152 dnl *** resindvd ***
2153 translit(dnm, m, l) AM_CONDITIONAL(USE_RESINDVD, true)
2154 AG_GST_CHECK_FEATURE(RESINDVD, [resindvd plugin], resindvd, [
2155 PKG_CHECK_MODULES(DVDNAV, dvdnav >= 4.1.2 dvdread >= 4.1.2, HAVE_RESINDVD="yes", [
2160 dnl **** Free AAC Encoder (FAAC) ****
2161 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAC, true)
2162 AG_GST_CHECK_FEATURE(FAAC, [AAC encoder plug-in], faac, [
2163 AG_GST_CHECK_LIBHEADER(FAAC, faac, faacEncOpen, $LIBM, faac.h,
2164 FAAC_LIBS="-lfaac $LIBM")
2168 dnl **** Free AAC Decoder (FAAD2) ****
2169 translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
2170 AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
2171 AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
2172 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
2173 #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
2175 #elif !defined(LATM)
2176 #error Not faad2 >= 2.7
2182 AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
2192 translit(dnm, m, l) AM_CONDITIONAL(USE_FBDEV, true)
2193 AG_GST_CHECK_FEATURE(FBDEV, [linux framebuffer], fbdevsink, [
2194 if test "x$HAVE_FBDEV" != "xyes"; then
2195 AC_CHECK_HEADER([linux/fb.h], HAVE_FBDEV=yes, HAVE_FBDEV=no)
2200 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
2201 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
2202 AG_GST_CHECK_LIBHEADER(FLITE, flite, flite_init, $LIBM, flite/flite.h,
2203 FLITE_LIBS="-lflite -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex $LIBM")
2205 AC_SUBST(FLITE_CFLAGS)
2206 AC_SUBST(FLITE_LIBS)
2210 translit(dnm, m, l) AM_CONDITIONAL(USE_GSM, true)
2211 AG_GST_CHECK_FEATURE(GSM, [GSM library], gsmenc gsmdec, [
2212 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm.h, GSM_LIBS="-lgsm")
2213 if test $HAVE_GSM != "yes"; then
2214 AG_GST_CHECK_LIBHEADER(GSM, gsm, gsm_create, , gsm/gsm.h, GSM_LIBS="-lgsm")
2215 if test $HAVE_GSM = "yes"; then
2216 AC_DEFINE(GSM_HEADER_IN_SUBDIR, 1, [Define if GSM header in gsm/ subdir])
2222 dnl *** fluidSynth ***
2223 translit(dnm, m, l) AM_CONDITIONAL(USE_FLUIDSYNTH, true)
2224 AG_GST_CHECK_FEATURE(FLUIDSYNTH, [fluidsynth], fluidsynth, [
2225 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth >= 1.0, HAVE_FLUIDSYNTH="yes", [
2226 HAVE_FLUIDSYNTH="no"
2231 translit(dnm, m, l) AM_CONDITIONAL(USE_KATE, true)
2232 AG_GST_CHECK_FEATURE(KATE, [Kate], kate, [
2233 PKG_CHECK_MODULES(KATE, kate >= 0.1.7, HAVE_KATE="yes", [
2236 AC_SUBST(KATE_CFLAGS)
2238 PKG_CHECK_MODULES(TIGER, tiger >= 0.3.2,
2241 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available])
2247 AM_CONDITIONAL(USE_TIGER, test "x$HAVE_TIGER" = "xyes")
2248 AC_SUBST(TIGER_CFLAGS)
2249 AC_SUBST(TIGER_LIBS)
2250 ],,,[AM_CONDITIONAL(USE_TIGER, false)])
2253 translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
2254 AG_GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
2255 AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
2257 PKG_CHECK_MODULES(LRDF, lrdf, HAVE_LRDF=yes, HAVE_LRDF=no)
2258 if test $HAVE_LRDF = "yes"; then
2259 AC_DEFINE(HAVE_LRDF, 1, [Define if we have liblrdf])
2262 AC_SUBST(LRDF_CFLAGS)
2266 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
2267 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
2268 PKG_CHECK_MODULES(SLV2, slv2 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
2269 AC_SUBST(SLV2_CFLAGS)
2273 dnl *** libde265 ***
2274 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDE265, true)
2275 AG_GST_CHECK_FEATURE(LIBDE265, [libde265 HEVC/H.265 decoder], libde265, [
2276 PKG_CHECK_MODULES(LIBDE265, libde265 >= 0.9, HAVE_LIBDE265="yes", HAVE_LIBDE265="no")
2277 AC_SUBST(LIBDE265_CFLAGS)
2278 AC_SUBST(LIBDE265_LIBS)
2282 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBMMS, true)
2283 AG_GST_CHECK_FEATURE(LIBMMS, [mms protocol library], libmms, [
2284 dnl check with pkg-config first
2285 PKG_CHECK_MODULES(LIBMMS, libmms >= 0.4, HAVE_LIBMMS="yes", [
2289 AC_SUBST(LIBMMS_LIBS)
2293 translit(dnm, m, l) AM_CONDITIONAL(USE_SRTP, true)
2294 AG_GST_CHECK_FEATURE(SRTP, [srtp library], srtp, [
2295 PKG_CHECK_MODULES(SRTP, libsrtp, HAVE_SRTP="yes",
2296 AG_GST_CHECK_LIBHEADER(SRTP, srtp, srtp_init, , srtp/srtp.h, SRTP_LIBS="-lsrtp")
2299 AC_SUBST(SRTP_CFLAGS)
2303 translit(dnm, m, l) AM_CONDITIONAL(USE_DTLS, true)
2304 AG_GST_CHECK_FEATURE(DTLS, [DTLS plugin], dtls, [
2305 PKG_CHECK_MODULES(DTLS, [ openssl >= 1.0.1 libcrypto ], [
2307 AC_SUBST(DTLS_CFLAGS)
2315 translit(dnm, m, l) AM_CONDITIONAL(USE_LINSYS, true)
2316 AG_GST_CHECK_FEATURE(LINSYS, [Linear Systems SDI plugin], linsys, [
2328 translit(dnm, m, l) AM_CONDITIONAL(USE_MODPLUG, true)
2329 AG_GST_CHECK_FEATURE(MODPLUG, modplug, modplug, [
2330 if test "x$HAVE_CXX" != "xyes"; then
2331 AC_MSG_WARN([Not compiling modplug plugin as it requires a C++ compiler])
2334 PKG_CHECK_MODULES(MODPLUG, libmodplug, HAVE_MODPLUG="yes", HAVE_MODPLUG="no")
2336 AC_SUBST(MODPLUG_CFLAGS)
2337 AC_SUBST(MODPLUG_LIBS)
2341 translit(dnm, m, l) AM_CONDITIONAL(USE_MIMIC, true)
2342 AG_GST_CHECK_FEATURE(MIMIC, [libmimic library], mimic, [
2344 PKG_CHECK_MODULES(MIMIC, libmimic >= $MIMIC_REQUIRED,
2345 HAVE_MIMIC=yes, HAVE_MIMIC=no)
2346 AC_SUBST(MIMIC_CFLAGS)
2347 AC_SUBST(MIMIC_LIBS)
2350 dnl *** mjpegtools version info ***
2351 dnl some may prefer older version (given quirks above)
2352 dnl hm, no version info seems available within mjpegtools headers
2353 dnl and API really moves along
2355 PKG_CHECK_EXISTS(mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0, [
2356 mjpegtools_api=10601
2358 PKG_CHECK_EXISTS(mjpegtools >= 1.8.0 mjpegtools < 1.9.0, [
2359 mjpegtools_api=10800
2361 PKG_CHECK_EXISTS(mjpegtools >= 2.0.0, [
2362 mjpegtools_api=20000
2364 PKG_CHECK_MODULES(MJPEG, mjpegtools >= 1.9.0 mjpegtools < 2.0.0, [
2365 dnl logging API changed in release candidates
2366 OLD_CFLAGS="$CFLAGS"
2368 CFLAGS="$MJPEG_CFLAGS"
2369 LIBS="$LIBS $MJPEG_LIBS -lmjpegutils $LIBM $PTHREAD_LIBS"
2370 AC_CHECK_FUNC(mjpeg_loglev_t, [
2371 mjpegtools_api=10903
2373 mjpegtools_api=10900
2375 CFLAGS="$OLD_CFLAGS"
2383 AC_DEFINE_UNQUOTED(GST_MJPEGTOOLS_API, $mjpegtools_api,
2384 [mjpegtools API evolution])
2386 dnl *** mpeg2enc ***
2387 translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2ENC, true)
2388 AG_GST_CHECK_FEATURE(MPEG2ENC, [mpeg2enc], mpeg2enc, [
2390 dnl we require a c++ compiler for this one
2391 if [ test x$HAVE_CXX = xyes ]; then
2392 dnl libmpeg2enc was first included in mjpegtools-1.6.2-rc3 (1.6.1.92)
2393 dnl since many distros include mjpegtools specifically without mplex
2394 dnl and mpeg2enc, we check for mpeg2enc on its own, too.
2395 PKG_CHECK_MODULES(MPEG2ENC, mjpegtools >= 1.6.1.93, [
2396 dnl HACK because mpeg2enc 1.8.0 header files have a spurious 'include config.h'
2398 dnl switch over to c++ to test things
2400 OLD_CPPFLAGS="$CPPFLAGS"
2402 CPPFLAGS_GOOD="$CPPFLAGS $MPEG2ENC_CFLAGS"
2403 CPPFLAGS="$CPPFLAGS_GOOD -I."
2405 mpeg2enc_headers_ok=no
2406 AC_CHECK_HEADER([mpeg2encoder.hh], [
2407 MPEG2ENC_LIBS="$MPEG2ENC_LIBS -lmpeg2encpp $LIBM $PTHREAD_LIBS"
2409 LIBS="$LIBS $MPEG2ENC_LIBS"
2410 AC_MSG_CHECKING([for valid mpeg2enc objects])
2411 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2412 #include <mpeg2encoder.hh>
2413 #include <mpeg2encoptions.hh>
2419 MPEG2EncOptions *options = new MPEG2EncOptions ();
2420 MPEG2Encoder *encoder = new MPEG2Encoder (*options);
2425 dnl so far so good, let's check more things:
2426 dnl mjpegtools-1.8.0 does not install the required
2427 dnl mpeg2syntaxcodes.h header by default, and a new release
2428 dnl is not in sight, so check for this oversight in case
2429 dnl distros or folks have fixed this themselves
2430 if test "$mjpegtools_api" -ge "10800"; then
2431 AC_CHECK_HEADER([mpeg2syntaxcodes.h], [
2432 mpeg2enc_headers_ok=yes
2434 mpeg2enc_headers_ok=no
2437 mpeg2enc_headers_ok=yes
2439 if test "x$mpeg2enc_headers_ok" = "xyes"; then
2442 CPPFLAGS="$CPPFLAGS_GOOD"
2443 AC_SUBST(MPEG2ENC_CFLAGS)
2444 AC_SUBST(MPEG2ENC_LIBS)
2451 CPPFLAGS="$OLD_CPPFLAGS"
2460 translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
2461 AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
2462 PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
2463 AC_SUBST(MPG123_CFLAGS)
2464 AC_SUBST(MPG123_LIBS)
2468 translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
2469 AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
2471 dnl we require a c++ compiler for this one
2472 if [ test x$HAVE_CXX = xyes ]; then
2473 dnl libmplex was first included in mjpegtools-1.6.2-rc4 (1.6.1.93)
2474 dnl since many distros include mjpegtools specifically without mplex
2475 dnl and mpeg2enc, we check for mplex on its own, too.
2476 dnl libmplex < 1.9rc? has fuzzy ABI, valgrind and other problems
2477 PKG_CHECK_MODULES(MPLEX, mjpegtools >= 1.9.0, [
2478 dnl HACK because mplex 2.0.0 header files have a spurious 'include config.h'
2480 dnl switch over to c++ to test things
2482 OLD_CPPFLAGS="$CPPFLAGS"
2484 CPPFLAGS_GOOD="$CPPFLAGS $MPLEX_CFLAGS"
2485 CPPFLAGS="$CPPFLAGS_GOOD -I."
2486 AC_CHECK_HEADER(interact.hpp, [
2487 MPLEX_LIBS="$MPLEX_LIBS -lmplex2 $LIBM"
2489 LIBS="$LIBS $MPLEX_LIBS"
2490 OLD_LDFLAGS="$LDFLAGS"
2491 LDFLAGS="$LDFLAGS $MPLEX_LDFLAGS"
2492 dnl older libmplex uses off_t SegmentSize (), which leads to fuzzy ABI;
2493 dnl don't want this here
2494 AC_MSG_CHECKING([for valid mplex objects])
2495 AC_RUN_IFELSE([AC_LANG_SOURCE([[
2497 #include <interact.hpp>
2498 #include <outputstrm.hpp>
2499 #include <multiplexor.hpp>
2504 class TestOutputStream : public OutputStream {
2506 TestOutputStream () : OutputStream () { }
2507 void Write (uint8_t *a, unsigned int b) { }
2508 void NextSegment () { }
2509 uint64_t SegmentSize () { }
2513 MultiplexJob *job = new MultiplexJob ();
2514 vector<IBitStream *> inputs;
2515 job->SetupInputStreams (inputs);
2516 TestOutputStream *out = new TestOutputStream ();
2517 Multiplexor *mux = new Multiplexor(*job, *out, NULL);
2522 CPPFLAGS="$CPPFLAGS_GOOD"
2523 AC_SUBST(MPLEX_CFLAGS)
2524 AC_SUBST(MPLEX_LIBS)
2525 AC_SUBST(MPLEX_LDFLAGS)
2527 ],[AC_MSG_RESULT(no)],[])
2529 LDFLAGS="$OLD_LDFLAGS"
2531 CPPFLAGS="$OLD_CPPFLAGS"
2537 dnl *** musepack ***
2538 translit(dnm, m, l) AM_CONDITIONAL(USE_MUSEPACK, true)
2539 AG_GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [
2540 AC_CHECK_HEADER([mpc/mpcdec.h], [
2542 MUSEPACK_LIBS="-lmpcdec"
2543 AC_SUBST(MUSEPACK_LIBS)
2544 ], [AC_CHECK_HEADER([mpcdec/mpcdec.h], [
2546 MUSEPACK_LIBS="-lmpcdec"
2547 AC_DEFINE(MPC_IS_OLD_API, 1, [Define if the old MusePack API is used])
2548 AC_SUBST(MUSEPACK_LIBS)
2549 ], [HAVE_MUSEPACK="no"])])
2553 translit(dnm, m, l) AM_CONDITIONAL(USE_NAS, true)
2554 AG_GST_CHECK_FEATURE(NAS, [nas plug-in], nassink, [
2556 if test "x$HAVE_X" = "xyes"; then
2557 save_cppflags=$CFLAGS
2558 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2559 AG_GST_CHECK_LIBHEADER(NAS, audio, AuOpenServer, $X_LIBS, audio/audiolib.h,
2560 NAS_LIBS="$X_LIBS -laudio" NAS_CFLAGS="$X_CFLAGS")
2561 CPPFLAGS="$save_cppflags"
2563 AC_SUBST(NAS_CFLAGS)
2568 translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true)
2569 AG_GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [
2570 PKG_CHECK_MODULES(NEON, neon >= 0.27.0 neon <= 0.30.99, HAVE_NEON="yes", [
2573 AC_SUBST(NEON_CFLAGS)
2578 translit(dnm, m, l) AM_CONDITIONAL(USE_OFA, true)
2579 AG_GST_CHECK_FEATURE(OFA, [ofa plugins], ofa, [
2580 PKG_CHECK_MODULES(OFA, libofa >= 0.9.3, HAVE_OFA="yes", [
2583 AC_SUBST(OFA_CFLAGS)
2588 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENAL, true)
2589 AG_GST_CHECK_FEATURE(OPENAL, [OpenAL plugin], openal, [
2590 PKG_CHECK_MODULES(OPENAL, openal >= 1.14, HAVE_OPENAL="yes", [
2593 AC_SUBST(OPENAL_CFLAGS)
2594 AC_SUBST(OPENAL_LIBS)
2598 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENCV, true)
2599 AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
2600 dnl we specify a max. version too because we set CV_NO_BACKWARD_COMPATIBILITY
2601 dnl and don't want the build to break when a new opencv version comes out.
2602 dnl Need to adjust this upwards once we know that our code compiles fine with
2603 dnl a new version and the no-backward-compatibility define. (There doesn't
2604 dnl seem to be a switch to suppress the warnings the cvcompat.h header
2606 PKG_CHECK_MODULES(OPENCV, opencv >= 2.3.0 opencv < 2.5.0 , [
2609 OLD_CPPFLAGS=$CPPFLAGS
2610 CPPFLAGS=$OPENCV_CFLAGS
2611 something_not_found=no
2612 AC_CHECK_HEADERS([opencv2/contrib/contrib.hpp \
2613 opencv2/core/core_c.h \
2614 opencv2/core/types_c.h \
2615 opencv2/core/version.hpp \
2616 opencv2/highgui/highgui_c.h \
2617 opencv2/imgproc/imgproc.hpp \
2618 opencv2/imgproc/imgproc_c.h \
2619 opencv2/legacy/compat.hpp \
2620 opencv2/legacy/legacy.hpp \
2621 opencv2/objdetect/objdetect.hpp \
2622 opencv2/video/background_segm.hpp], [], [something_not_found=yes])
2623 CPPFLAGS=$OLD_CPPFLAGS
2626 if test $something_not_found = "yes"; then
2627 AC_MSG_RESULT([not all opencv2 headers were found])
2635 OPENCV_PREFIX="`$PKG_CONFIG --variable=prefix opencv`"
2636 AC_DEFINE_UNQUOTED(OPENCV_PREFIX, "$OPENCV_PREFIX", [opencv install prefix])
2637 AC_SUBST(OPENCV_PREFIX)
2638 AC_SUBST(OPENCV_CFLAGS)
2639 AC_SUBST(OPENCV_LIBS)
2640 dnl the OpenCV prefix is used at runtime for some object properties, and also
2641 dnl used here to detect which directory is the correct one. For the second
2642 dnl case, make sure the right sysroot is used, ensuring correct behavior
2643 dnl during cross compilation.
2644 if test -d "$PKG_CONFIG_SYSROOT_DIR/$OPENCV_PREFIX/share/opencv/"; then
2645 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["opencv"], [OpenCV path name])
2647 AC_DEFINE_UNQUOTED(OPENCV_PATH_NAME, ["OpenCV"], [OpenCV path name])
2652 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENEXR, true)
2653 AG_GST_CHECK_FEATURE(OPENEXR, [openexr library], openexr, [
2654 AG_GST_PKG_CHECK_MODULES(OPENEXR, OpenEXR)
2657 dnl *** openh264 ***
2658 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENH264, true)
2659 AG_GST_CHECK_FEATURE(OPENH264, [openh264 library], openh264, [
2660 AG_GST_PKG_CHECK_MODULES(OPENH264, openh264 >= 1.3.0)
2663 dnl *** OpenJPEG ***
2664 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENJPEG, true)
2665 AG_GST_CHECK_FEATURE(OPENJPEG, [openjpeg library], openjpeg, [
2669 save_CFLAGS="$CFLAGS"
2670 OPENJPEG_LIBS="-lopenjp2"
2671 LIBS="$LIBS $OPENJPEG_LIBS"
2672 CFLAGS="$CFLAGS $OPENJPEG_CFLAGS"
2674 AC_LANG_PROGRAM([#include <openjpeg-2.0/openjpeg.h>],
2675 [return (int) *opj_version ();])
2676 ], [HAVE_OPENJPEG=yes], [HAVE_OPENJPEG=no])
2678 CFLAGS="$save_CFLAGS"
2680 if test x"$HAVE_OPENJPEG" = x"no"; then
2682 PKG_CHECK_MODULES(OPENJPEG, libopenjpeg1,
2683 HAVE_OPENJPEG="yes",
2684 AG_GST_CHECK_LIBHEADER(OPENJPEG, openjpeg, opj_version, , openjpeg.h, OPENJPEG_LIBS="-lopenjpeg")
2686 if test x"$HAVE_OPENJPEG" = x"yes"; then
2687 AC_DEFINE([HAVE_OPENJPEG_1], 1, [Define if OpenJPEG 1 is used])
2690 AC_SUBST(OPENJPEG_CFLAGS)
2691 AC_SUBST(OPENJPEG_LIBS)
2695 translit(dnm, m, l) AM_CONDITIONAL(USE_OPENNI2, true)
2696 AG_GST_CHECK_FEATURE(OPENNI2, [openni2 library], openni2, [
2697 PKG_CHECK_MODULES(OPENNI2, libopenni2 >= 0.26, HAVE_OPENNI2="yes", [ HAVE_OPENNI2="no" ] )
2698 AC_SUBST(OPENNI2_CFLAGS)
2699 AC_SUBST(OPENNI2_LIBS)
2703 translit(dnm, m, l) AM_CONDITIONAL(USE_OPUS, true)
2704 AG_GST_CHECK_FEATURE(OPUS, [opus], opus, [
2705 PKG_CHECK_MODULES(OPUS, opus >= 0.9.4, [
2706 AC_DEFINE([HAVE_OPUS], 1, [Define if Opus >= 0.9.4 is installed])
2711 AC_SUBST(OPUS_CFLAGS)
2716 translit(dnm, m, l) AM_CONDITIONAL(USE_PVR, true)
2717 AG_GST_CHECK_FEATURE(PVR, [pvrvideosink], pvr, [
2718 PKG_CHECK_MODULES([PVR], [libtimemmgr], HAVE_PVR=yes, HAVE_PVR=no)
2719 AC_SUBST(PVR_CFLAGS)
2723 AC_ARG_WITH([pvr-external-headers],
2724 AS_HELP_STRING([--with-pvr-external-headers],[Use system installed PVR2D headers]),
2725 [AS_IF([test "x$with_pvr_external_headers" = "xno"],
2726 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])],
2727 [PVR_CFLAGS="$PVR_CFLAGS -I\$(srcdir)/pvr_includes"])
2730 translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
2731 AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
2732 AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
2736 translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true)
2737 AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [
2740 if test x"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
2747 translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
2748 AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
2749 PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
2750 AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
2755 PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
2757 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2758 PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
2759 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
2760 GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
2762 ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
2764 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2765 PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
2766 GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
2767 GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
2769 ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
2771 if test "x$GDK_WINDOWING" = "xyes"; then
2772 AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
2779 AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
2782 translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
2783 AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
2784 PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
2785 QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
2786 QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
2787 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2788 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2789 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
2790 if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then
2791 AC_MSG_WARN([One of the required qt build programs was not found])
2795 HAVE_QT_WINDOWING="no"
2796 if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
2797 PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [
2798 AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed])
2799 QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS"
2800 QT_LIBS="$QT_LIBS $QT_X11_LIBS"
2801 HAVE_QT_WINDOWING="yes"
2802 ], [AC_MSG_NOTICE([Could not find Qt X11 integration])])
2804 if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2805 PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [
2806 AC_DEFINE([HAVE_QT_WAYLAND], [],
2807 [Define if Qt Wayland integration is installed])
2808 QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS"
2809 QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS"
2810 HAVE_QT_WINDOWING="yes"
2811 ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])])
2813 if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
2814 PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [
2815 # c++ on android requires a standard library and there are multiple
2816 # choices. cerbero provides a pkg-config file the describes a choice
2817 # so try to use that. Outside cerbero one has to pass these flags
2818 # manually for the library one is using
2819 PKG_CHECK_MODULES(GNUSTL, gnustl, [
2820 QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
2821 QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
2823 AC_MSG_NOTICE([Could not find Standard C++ library])])
2825 AC_DEFINE([HAVE_QT_ANDROID], [],
2826 [Define if Qt Android integration is installed])
2827 QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS"
2828 QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS"
2829 HAVE_QT_WINDOWING="yes"
2830 ], [AC_MSG_NOTICE([Could not find Qt Android integration])])
2832 if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then
2833 PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [
2834 AC_DEFINE([HAVE_QT_MAC], [],
2835 [Define if Qt Mac integration is installed])
2836 QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core`
2837 QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras"
2838 QT_LIBS="$QT_LIBS $QT_MAC_LIBS"
2839 HAVE_QT_WINDOWING="yes"
2840 ], [AC_MSG_NOTICE([Could not find Qt Mac integration])])
2842 if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then
2843 if test "x$HAVE_IOS" = "xyes"; then
2844 # iOS doesn't have its own extras package so if we have the core
2845 # modules we are good to go
2846 AC_DEFINE([HAVE_QT_IOS], [],
2847 [Define if Qt iOS integration is installed])
2848 HAVE_QT_WINDOWING="yes"
2851 if test "x$HAVE_QT_WINDOWING" = "xno"; then
2852 AC_MSG_WARN([Could not find any Qt Windowing integration])
2855 AC_SUBST([QT_CFLAGS])
2863 dnl *** libvisual ***
2864 translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
2865 AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
2866 AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0)
2867 if test x$HAVE_LIBVISUAL = xyes; then
2868 LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`"
2870 AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR])
2871 if test x$LIBVIS_PLUGINSDIR != x; then
2872 AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR,
2873 "$LIBVIS_PLUGINSDIR",
2874 [directory in which the detected libvisual's plugins are located])
2878 dnl *** timidity ***
2879 translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true)
2880 AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [
2881 PKG_CHECK_MODULES(TIMIDITY, libtimidity, [
2882 HAVE_TIMIDITY="yes",
2883 AC_MSG_CHECKING([for timidity.cfg])
2885 if test -r /etc/timidity.cfg; then
2886 timidity_cfg=/etc/timidity.cfg
2887 elif test -r /etc/timidity/timidity.cfg; then
2888 timidity_cfg=/etc/timidity/timidity.cfg
2889 elif test -r /usr/share/timidity/timidity.cfg; then
2890 timidity_cfg=/usr/share/timidity/timidity.cfg
2891 elif test -r /usr/local/share/timidity/timidity.cfg; then
2892 timidity_cfg=/usr/local/share/timidity/timidity.cfg
2894 if test "x$timidity_cfg" != "x"; then
2895 AC_MSG_RESULT($timidity_cfg)
2896 AC_DEFINE_UNQUOTED(TIMIDITY_CFG, "$timidity_cfg", [Define location of timidity.cfg])
2898 AC_MSG_RESULT([not found])
2903 AC_SUBST(TIMIDITY_CFLAGS)
2904 AC_SUBST(TIMIDITY_LIBS)
2907 dnl *** teletextdec ***
2908 translit(dnm, m, l) AM_CONDITIONAL(USE_TELETEXTDEC, true)
2909 AG_GST_CHECK_FEATURE(TELETEXTDEC, [Teletext decoder], teletextdec, [
2910 AG_GST_PKG_CHECK_MODULES(TELETEXTDEC, zvbi-0.2)
2913 dnl *** wildmidi ***
2914 translit(dnm, m, l) AM_CONDITIONAL(USE_WILDMIDI, true)
2915 AG_GST_CHECK_FEATURE(WILDMIDI, [wildmidi midi soft synth plugin], wildmidi, [
2916 AG_GST_CHECK_LIBHEADER(WILDMIDI, WildMidi,
2919 WILDMIDI_LIBS="-lWildMidi")
2920 AC_CHECK_LIB(WildMidi, WildMidi_LoadSamples, AC_DEFINE(HAVE_WILDMIDI_0_2_2, [1], [Have WildMidi 0.2.2 or earlier library]))
2922 if test "x$HAVE_WILDMIDI" = "xyes"; then
2924 WILDMIDI_LIBS=-lWildMidi
2925 AC_MSG_NOTICE(compiling gstWildMidi)
2929 AC_MSG_WARN(no WildMidi library found (libWildMidi))
2931 AC_SUBST(WILDMIDI_CFLAGS)
2932 AC_SUBST(WILDMIDI_LIBS)
2936 translit(dnm, m, l) AM_CONDITIONAL(USE_SDL, true)
2937 AG_GST_CHECK_FEATURE(SDL, [SDL plug-in], sdlvideosink sdlaudiosink, [
2938 AM_PATH_SDL(, HAVE_SDL=yes, HAVE_SDL=no)
2941 dnl **** Smooth Streaming ****
2942 translit(dnm, m, l) AM_CONDITIONAL(USE_SMOOTHSTREAMING, true)
2943 AG_GST_CHECK_FEATURE(SMOOTHSTREAMING, [Smooth Streaming plug-in], smoothstreaming, [
2944 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.4,
2946 HAVE_SMOOTHSTREAMING="yes"],
2948 HAVE_SMOOTHSTREAMING="no"])
2949 AC_SUBST(LIBXML2_CFLAGS)
2950 AC_SUBST(LIBXML2_LIBS)
2954 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDFILE, true)
2955 AG_GST_CHECK_FEATURE(SNDFILE, [sndfile plug-in], sfdec sfenc, [
2956 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.16, HAVE_SNDFILE="yes", HAVE_SNDFILE="no")
2957 AC_SUBST(SNDFILE_CFLAGS)
2958 AC_SUBST(SNDFILE_LIBS)
2961 dnl *** soundtouch ***
2962 translit(dnm, m, l) AM_CONDITIONAL(USE_SOUNDTOUCH, true)
2963 AG_GST_CHECK_FEATURE(SOUNDTOUCH, [soundtouch plug-in], soundtouch, [
2964 dnl We only need -lBPM on soundtouch < 1.4
2965 dnl We check for libSoundTouch since Debian used it before upstream
2966 dnl added a pkgconfig file.
2967 HAVE_SOUNDTOUCH_1_4=yes
2968 PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch,
2969 [HAVE_SOUNDTOUCH=yes],
2970 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.4,
2971 [HAVE_SOUNDTOUCH=yes],
2972 [PKG_CHECK_MODULES(SOUNDTOUCH, soundtouch-1.0,
2973 [HAVE_SOUNDTOUCH=yes
2974 HAVE_SOUNDTOUCH_1_4=no
2975 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2976 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch >= 1.4,
2977 [HAVE_SOUNDTOUCH=yes],
2978 [PKG_CHECK_MODULES(SOUNDTOUCH, libSoundTouch,
2979 [HAVE_SOUNDTOUCH=yes
2980 HAVE_SOUNDTOUCH_1_4=no
2981 SOUNDTOUCH_LIBS="$SOUNDTOUCH_LIBS -lBPM"],
2982 HAVE_SOUNDTOUCH=no)])])])])
2983 AC_SUBST(SOUNDTOUCH_CFLAGS)
2984 AC_SUBST(SOUNDTOUCH_LIBS)
2985 if test "x$HAVE_CXX" != "xyes"; then
2986 USE_SOUNDTOUCH=false
2987 AC_MSG_NOTICE([Not building soundtouch plugin: no C++ compiler found])
2989 if test "x$HAVE_SOUNDTOUCH" = "xyes" -a "x$HAVE_SOUNDTOUCH_1_4" = "xyes"; then
2990 AC_DEFINE([HAVE_SOUNDTOUCH_1_4], [1],
2991 [Defined if the available libSoundTouch is >= 1.4])
2996 translit(dnm, m, l) AM_CONDITIONAL(USE_SPC, true)
2997 AG_GST_CHECK_FEATURE(SPC, [spc decoder], spc, [
2998 AC_CHECK_HEADER(openspc.h, [
2999 AC_CHECK_LIB(openspc, OSPC_Init, [
3000 SPC_LIBS="-lopenspc"
3012 translit(dnm, m, l) AM_CONDITIONAL(USE_GME, true)
3013 AG_GST_CHECK_FEATURE(GME, [gme decoder], gme, [
3014 AC_CHECK_HEADER(gme/gme.h, [
3015 AC_CHECK_LIB(gme, gme_new_emu, [
3026 if test "x$HAVE_GME" = "xyes"; then
3027 AC_CHECK_LIB(gme, gme_enable_accuracy, [
3028 AC_DEFINE(HAVE_LIBGME_ACCURACY, 1, [Define if gme 0.5.6 or newer is available])
3034 translit(dnm, m, l) AM_CONDITIONAL(USE_XVID, true)
3035 AG_GST_CHECK_FEATURE(XVID, [xvid plugins], xvid, [
3037 AC_CHECK_HEADER(xvid.h, [
3039 LIBS="$PTHREAD_LIBS $LIBM"
3040 AC_CHECK_LIB(xvidcore, xvid_encore, [
3041 AC_CHECK_LIB(xvidcore, xvid_decore, [
3042 AC_CHECK_LIB(xvidcore, xvid_global, [
3043 AC_MSG_CHECKING([for up-to-date XviD API version])
3044 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xvid.h>]], [[
3045 #if XVID_API_MAJOR(XVID_API) != 4
3046 #error "Incompatible XviD API version"
3048 #if XVID_API_MAJOR(XVID_API) == 4 && XVID_API_MINOR(XVID_API) < 3
3049 #error "Incompatible XviD API version"
3051 ]])],[ AC_MSG_RESULT(yes)
3052 XVID_LIBS="-lxvidcore $LIBM"
3055 ],[AC_MSG_RESULT(no) ])
3064 translit(dnm, m, l) AM_CONDITIONAL(USE_DVB, true)
3065 AG_GST_CHECK_FEATURE(DVB, [DVB Source], dvb, [
3066 AC_MSG_CHECKING([Checking for up to date dvb installation])
3067 AC_CHECK_HEADER(linux/dvb/version.h, [
3068 AC_MSG_CHECKING([for up-to-date dvb API])
3069 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/dvb/version.h>]], [[
3070 #if DVB_API_VERSION < 5 || (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR <= 4)
3071 #error "Incompatible dvb API"
3073 ]])], [ AC_MSG_RESULT(yes)
3075 ], [ AC_MSG_RESULT(no)
3082 translit(dnm, m, l) AM_CONDITIONAL(USE_WININET, true)
3083 AG_GST_CHECK_FEATURE(WININET, [Windows internet library], wininet, [
3084 AC_MSG_CHECKING([Checking for windows internet support])
3085 AC_CHECK_HEADERS([windows.h wininet.h],
3086 [HAVE_WININET="yes"], [HAVE_WININET="no"],
3087 [AC_INCLUDES_DEFAULT
3088 #include <windows.h>])
3092 translit(dnm, m, l) AM_CONDITIONAL(USE_ACM, true)
3093 AG_GST_CHECK_FEATURE(ACM, [Windows ACM library], acm, [
3094 AC_MSG_CHECKING([Checking for ACM support])
3095 AC_CHECK_HEADERS([windows.h msacm.h],
3097 AC_SUBST(ACMENC_CFLAGS)
3098 AC_SUBST(ACMMP3DEC_CFLAGS)
3100 [AC_INCLUDES_DEFAULT
3101 #include <windows.h>])
3105 translit(dnm, m, l) AM_CONDITIONAL(USE_VDPAU, true)
3106 AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [
3111 PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"],
3113 if test "$HAVE_VDPAU" = "no"; then
3114 saved_CPPFLAGS="$CPPFLAGS"
3115 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3117 if test -z "$HAVE_VDPAU_H"; then
3118 dnl Didn't find VDPAU header straight away.
3119 dnl Try /usr/include/nvidia. Need to clear caching vars first
3120 AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia])
3121 unset ac_cv_header_vdpau_vdpau_h
3122 unset ac_cv_header_vdpau_vdpau_x11_h
3123 VDPAU_CFLAGS="-I/usr/include/nvidia"
3124 VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau"
3125 CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS"
3126 AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes])
3129 AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes])
3131 if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then
3132 dnl Found the headers - look for the lib
3133 AC_MSG_NOTICE([VDPAU headers found. Checking libraries])
3135 LIBS="$VDPAU_LIBS $saved_LIBS"
3136 AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"])
3142 if test "$HAVE_VDPAU" = "yes"; then
3143 AC_MSG_NOTICE([Found up to date VDPAU installation])
3144 AC_SUBST(VDPAU_CFLAGS)
3145 AC_SUBST(VDPAU_LIBS)
3150 translit(dnm, m, l) AM_CONDITIONAL(USE_SBC, true)
3151 AG_GST_CHECK_FEATURE(SBC, [SBC bluetooth audio codec], sbc, [
3152 AG_GST_PKG_CHECK_MODULES(SBC, [sbc >= 1.0])
3155 dnl *** schroedinger ***
3156 translit(dnm, m, l) AM_CONDITIONAL(USE_SCHRO, true)
3157 AG_GST_CHECK_FEATURE(SCHRO, [Schroedinger video codec], schro, [
3158 AG_GST_PKG_CHECK_MODULES(SCHRO, schroedinger-1.0 >= 1.0.10)
3162 translit(dnm, m, l) AM_CONDITIONAL(USE_ZBAR, true)
3163 AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
3164 AG_GST_PKG_CHECK_MODULES(ZBAR, zbar >= 0.9)
3168 translit(dnm, m, l) AM_CONDITIONAL(USE_RTMP, true)
3169 AG_GST_CHECK_FEATURE(RTMP, [rtmp library], rtmp, [
3170 AG_GST_PKG_CHECK_MODULES(RTMP, librtmp)
3174 translit(dnm, m, l) AM_CONDITIONAL(USE_SPANDSP, true)
3175 AG_GST_CHECK_FEATURE(SPANDSP, [Spandsp], spandsp, [
3176 PKG_CHECK_MODULES(SPANDSP, spandsp >= 0.0.6, [
3177 HAVE_SPANDSP="yes" ], [
3181 AC_SUBST(SPANDSP_CFLAGS)
3182 AC_SUBST(SPANDSP_LIBS)
3185 translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
3186 AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
3187 AC_CHECK_HEADER(sndio.h, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3188 if test "x$HAVE_SNDIO" = "xyes"; then
3189 AC_CHECK_LIB(sndio, sio_open, HAVE_SNDIO="yes", HAVE_SNDIO="no")
3190 if test "x$HAVE_SNDIO" = "xyes"; then
3192 AC_SUBST(SNDIO_LIBS)
3197 dnl *** hls-crypto ***
3198 AC_ARG_WITH([hls-crypto],
3199 AS_HELP_STRING([--with-hls-crypto=auto|nettle|libgcrypt|openssl], [
3200 which cryptographic library version to compile against for hls (default: auto)
3202 AS_CASE([$with_hls_crypto],
3206 [with_hls_crypto=auto]
3212 translit(dnm, m, l) AM_CONDITIONAL(USE_HLS, true)
3213 AG_GST_CHECK_FEATURE(HLS, [http live streaming plugin], hls, [
3214 AS_CASE([$with_hls_crypto],
3216 PKG_CHECK_MODULES(NETTLE, nettle, [
3217 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3219 ],[AC_MSG_ERROR([Could not find nettle library])])
3222 AM_PATH_LIBGCRYPT([1.2.0], [
3223 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3225 ],[AC_MSG_ERROR([Could not find libgcrypt library])])
3228 PKG_CHECK_MODULES(OPENSSL, openssl, [
3229 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3231 ],[AC_MSG_ERROR([Could not find openssl library])])
3234 dnl Try to find a valid crypto library
3235 PKG_CHECK_MODULES(NETTLE, nettle, [
3236 AC_DEFINE(HAVE_NETTLE, 1, [Define if nettle is available])
3239 AM_PATH_LIBGCRYPT([1.2.0], [
3240 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if libgcrypt is available])
3243 PKG_CHECK_MODULES(OPENSSL, openssl, [
3244 AC_DEFINE(HAVE_OPENSSL, 1, [Define if openssl is available])
3255 dnl *** x265 (H.265/HEVC encoder) ***
3256 translit(dnm, m, l) AM_CONDITIONAL(USE_X265, true)
3257 AG_GST_CHECK_FEATURE(X265, [x265 plug-in], x265, [
3258 AG_GST_PKG_CHECK_MODULES(X265, x265)
3263 dnl not building plugins with external dependencies,
3264 dnl but we still need to set the conditionals
3266 AM_CONDITIONAL(USE_ASSRENDER, false)
3267 AM_CONDITIONAL(USE_VOAMRWBENC, false)
3268 AM_CONDITIONAL(USE_VOAACENC, false)
3269 AM_CONDITIONAL(USE_APEXSINK, false)
3270 AM_CONDITIONAL(USE_BS2B, false)
3271 AM_CONDITIONAL(USE_BZ2, false)
3272 AM_CONDITIONAL(USE_CHROMAPRINT, false)
3273 AM_CONDITIONAL(USE_CURL, false)
3274 AM_CONDITIONAL(USE_SSH2, false)
3275 AM_CONDITIONAL(USE_DASH, false)
3276 AM_CONDITIONAL(USE_DC1394, false)
3277 AM_CONDITIONAL(USE_DECKLINK, false)
3278 AM_CONDITIONAL(DECKLINK_OSX, false)
3279 AM_CONDITIONAL(USE_DIRECTFB, false)
3280 AM_CONDITIONAL(USE_WAYLAND, false)
3281 AM_CONDITIONAL(USE_DAALA, false)
3282 AM_CONDITIONAL(USE_DTS, false)
3283 AM_CONDITIONAL(USE_EXIF, false)
3284 AM_CONDITIONAL(USE_RESINDVD, false)
3285 AM_CONDITIONAL(USE_FAAC, false)
3286 AM_CONDITIONAL(USE_FAAD, false)
3287 AM_CONDITIONAL(USE_FBDEV, false)
3288 AM_CONDITIONAL(USE_FLITE, false)
3289 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
3290 AM_CONDITIONAL(USE_GL, false)
3291 AM_CONDITIONAL(USE_GSM, false)
3292 AM_CONDITIONAL(USE_GTK3, false)
3293 AM_CONDITIONAL(USE_GTK3_GL, false)
3294 AM_CONDITIONAL(USE_HLS, false)
3295 AM_CONDITIONAL(USE_KATE, false)
3296 AM_CONDITIONAL(USE_TIGER, false)
3297 AM_CONDITIONAL(USE_LADSPA, false)
3298 AM_CONDITIONAL(USE_LV2, false)
3299 AM_CONDITIONAL(USE_LIBDE265, false)
3300 AM_CONDITIONAL(USE_LIBMMS, false)
3301 AM_CONDITIONAL(USE_LINSYS, false)
3302 AM_CONDITIONAL(USE_MODPLUG, false)
3303 AM_CONDITIONAL(USE_MIMIC, false)
3304 AM_CONDITIONAL(USE_MPEG2ENC, false)
3305 AM_CONDITIONAL(USE_MPG123, false)
3306 AM_CONDITIONAL(USE_MPLEX, false)
3307 AM_CONDITIONAL(USE_MUSEPACK, false)
3308 AM_CONDITIONAL(USE_NAS, false)
3309 AM_CONDITIONAL(USE_NEON, false)
3310 AM_CONDITIONAL(USE_OFA, false)
3311 AM_CONDITIONAL(USE_OPENAL, false)
3312 AM_CONDITIONAL(USE_OPENCV, false)
3313 AM_CONDITIONAL(USE_OPENEXR, false)
3314 AM_CONDITIONAL(USE_OPENJPEG, false)
3315 AM_CONDITIONAL(USE_OPENNI2, false)
3316 AM_CONDITIONAL(USE_OPUS, false)
3317 AM_CONDITIONAL(USE_PVR, false)
3318 AM_CONDITIONAL(USE_QT, false)
3319 AM_CONDITIONAL(USE_LIBVISUAL, false)
3320 AM_CONDITIONAL(USE_TIMIDITY, false)
3321 AM_CONDITIONAL(USE_WILDMIDI, false)
3322 AM_CONDITIONAL(USE_SDL, false)
3323 AM_CONDITIONAL(USE_SMOOTHSTREAMING, false)
3324 AM_CONDITIONAL(USE_SNDFILE, false)
3325 AM_CONDITIONAL(USE_SOUNDTOUCH, false)
3326 AM_CONDITIONAL(USE_SPANDSP, false)
3327 AM_CONDITIONAL(USE_SPC, false)
3328 AM_CONDITIONAL(USE_SRTP, false)
3329 AM_CONDITIONAL(USE_GME, false)
3330 AM_CONDITIONAL(USE_XVID, false)
3331 AM_CONDITIONAL(USE_DVB, false)
3332 AM_CONDITIONAL(USE_WININET, false)
3333 AM_CONDITIONAL(USE_ACM, false)
3334 AM_CONDITIONAL(USE_VDPAU, false)
3335 AM_CONDITIONAL(USE_SBC, false)
3336 AM_CONDITIONAL(USE_SCHRO, false)
3337 AM_CONDITIONAL(USE_ZBAR, false)
3338 AM_CONDITIONAL(USE_RSVG, false)
3339 AM_CONDITIONAL(USE_RTMP, false)
3340 AM_CONDITIONAL(USE_TELETEXTDEC, false)
3341 AM_CONDITIONAL(USE_SNDIO, false)
3342 AM_CONDITIONAL(USE_UVCH264, false)
3343 AM_CONDITIONAL(USE_WEBP, false)
3344 AM_CONDITIONAL(USE_OPENH264, false)
3345 AM_CONDITIONAL(USE_X265, false)
3346 AM_CONDITIONAL(USE_DTLS, false)
3348 fi dnl of EXT plugins
3350 dnl *** finalize CFLAGS, LDFLAGS, LIBS
3353 dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
3354 dnl GST_*: flags shared by built objects to link against GStreamer
3355 dnl GST_ALL_LDFLAGS: linker flags shared by all
3356 dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
3357 dnl GST_LT_LDFLAGS: library versioning of our libraries
3358 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
3360 dnl GST_OPTION_CFLAGS
3361 if test "x$USE_DEBUG" = xyes; then
3364 AC_SUBST(PROFILE_CFLAGS)
3366 if test "x$PACKAGE_VERSION_NANO" = "x1"; then
3367 dnl Define _only_ during CVS (not pre-releases or releases)
3368 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
3370 DEPRECATED_CFLAGS=""
3372 AC_SUBST(DEPRECATED_CFLAGS)
3374 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
3375 dnl at make time with e.g. make ERROR_CFLAGS=""
3376 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3377 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3378 GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
3379 AC_SUBST(GST_OPTION_CFLAGS)
3380 AC_SUBST(GST_OPTION_CXXFLAGS)
3381 AC_SUBST(GST_OPTION_OBJCFLAGS)
3383 dnl FIXME: do we want to rename to GST_ALL_* ?
3384 dnl prefer internal headers to already installed ones
3385 dnl also add builddir include for enumtypes and marshal
3386 dnl add GST_OPTION_CFLAGS, but overridable
3387 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
3388 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
3389 GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
3390 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
3391 AC_SUBST(GST_CFLAGS)
3392 AC_SUBST(GST_CXXFLAGS)
3393 AC_SUBST(GST_OBJCFLAGS)
3395 GST_PLUGINS_BAD_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3396 GST_PLUGINS_BAD_OBJCFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3397 GST_PLUGINS_BAD_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs"
3398 AC_SUBST(GST_PLUGINS_BAD_CFLAGS)
3399 AC_SUBST(GST_PLUGINS_BAD_CXXFLAGS)
3400 AC_SUBST(GST_PLUGINS_BAD_OBJCFLAGS)
3402 dnl LDFLAGS really should only contain flags, not libs - they get added before
3403 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3404 GST_ALL_LDFLAGS="-no-undefined"
3405 if test "x${enable_Bsymbolic}" = "xyes"; then
3406 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
3408 AC_SUBST(GST_ALL_LDFLAGS)
3411 dnl linker flags shared by all libraries
3412 dnl LDFLAGS modifier defining exported symbols from built libraries
3413 dnl (export _gst_foo but not __gst_foo)
3414 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
3415 AC_SUBST(GST_LIB_LDFLAGS)
3417 dnl this really should only contain flags, not libs - they get added before
3418 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
3419 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
3420 AC_SUBST(GST_PLUGIN_LDFLAGS)
3422 dnl *** output files ***
3424 $MKDIR_P tests/check/orc
3432 gst-plugins-bad.spec
3434 gst/accurip/Makefile
3435 gst/adpcmdec/Makefile
3436 gst/adpcmenc/Makefile
3438 gst/videoframe_audiolevel/Makefile
3440 gst/audiofxbad/Makefile
3441 gst/audiomixer/Makefile
3442 gst/audiovisualizers/Makefile
3443 gst/autoconvert/Makefile
3445 gst/camerabin2/Makefile
3446 gst/cdxaparse/Makefile
3447 gst/coloreffects/Makefile
3448 gst/dataurisrc/Makefile
3450 gst/debugutils/Makefile
3451 gst/dvbsuboverlay/Makefile
3453 gst/faceoverlay/Makefile
3454 gst/festival/Makefile
3455 gst/fieldanalysis/Makefile
3456 gst/freeverb/Makefile
3458 gst/gaudieffects/Makefile
3459 gst/geometrictransform/Makefile
3461 gst/hdvparse/Makefile
3464 gst/interlace/Makefile
3465 gst/ivfparse/Makefile
3467 gst/jp2kdecimator/Makefile
3468 gst/jpegformat/Makefile
3471 gst/mpegdemux/Makefile
3472 gst/mpegtsdemux/Makefile
3473 gst/mpegtsmux/Makefile
3474 gst/mpegtsmux/tsmux/Makefile
3475 gst/mpegpsmux/Makefile
3479 gst/nuvdemux/Makefile
3481 gst/patchdetect/Makefile
3482 gst/pcapparse/Makefile
3484 gst/rawparse/Makefile
3485 gst/removesilence/Makefile
3489 gst/segmentclip/Makefile
3496 gst/videofilters/Makefile
3497 gst/videomeasure/Makefile
3498 gst/videoparsers/Makefile
3499 gst/videosignal/Makefile
3503 gst/compositor/Makefile
3505 gst-libs/gst/Makefile
3506 gst-libs/gst/adaptivedemux/Makefile
3507 gst-libs/gst/basecamerabinsrc/Makefile
3508 gst-libs/gst/gl/Makefile
3509 gst-libs/gst/gl/android/Makefile
3510 gst-libs/gst/gl/cocoa/Makefile
3511 gst-libs/gst/gl/dispmanx/Makefile
3512 gst-libs/gst/gl/glprototypes/Makefile
3513 gst-libs/gst/gl/eagl/Makefile
3514 gst-libs/gst/gl/egl/Makefile
3515 gst-libs/gst/gl/wayland/Makefile
3516 gst-libs/gst/gl/win32/Makefile
3517 gst-libs/gst/gl/x11/Makefile
3518 gst-libs/gst/insertbin/Makefile
3519 gst-libs/gst/interfaces/Makefile
3520 gst-libs/gst/codecparsers/Makefile
3521 gst-libs/gst/mpegts/Makefile
3522 gst-libs/gst/uridownloader/Makefile
3523 gst-libs/gst/wayland/Makefile
3524 gst-libs/gst/base/Makefile
3525 gst-libs/gst/player/Makefile
3526 gst-libs/gst/video/Makefile
3527 gst-libs/gst/audio/Makefile
3529 sys/dshowdecwrapper/Makefile
3531 sys/acmmp3dec/Makefile
3532 sys/androidmedia/Makefile
3533 sys/applemedia/Makefile
3534 sys/applemedia-nonpublic/Makefile
3537 sys/d3dvideosink/Makefile
3538 sys/decklink/Makefile
3539 sys/directsound/Makefile
3540 sys/dshowsrcwrapper/Makefile
3541 sys/dshowvideosink/Makefile
3546 sys/opensles/Makefile
3548 sys/tinyalsa/Makefile
3549 sys/uvch264/Makefile
3554 sys/wininet/Makefile
3556 sys/winscreencap/Makefile
3558 tests/check/Makefile
3559 tests/files/Makefile
3560 tests/examples/Makefile
3561 tests/examples/avsamplesink/Makefile
3562 tests/examples/camerabin2/Makefile
3563 tests/examples/codecparsers/Makefile
3564 tests/examples/directfb/Makefile
3565 tests/examples/gl/Makefile
3566 tests/examples/gl/cocoa/Makefile
3567 tests/examples/gl/clutter/Makefile
3568 tests/examples/gl/generic/Makefile
3569 tests/examples/gl/generic/cube/Makefile
3570 tests/examples/gl/generic/cubeyuv/Makefile
3571 tests/examples/gl/generic/doublecube/Makefile
3572 tests/examples/gl/generic/recordgraphic/Makefile
3573 tests/examples/gl/gtk/Makefile
3574 tests/examples/gl/gtk/gtkvideooverlay/Makefile
3575 tests/examples/gl/gtk/3dvideo/Makefile
3576 tests/examples/gl/gtk/filternovideooverlay/Makefile
3577 tests/examples/gl/gtk/filtervideooverlay/Makefile
3578 tests/examples/gl/gtk/fxtest/Makefile
3579 tests/examples/gl/gtk/switchvideooverlay/Makefile
3580 tests/examples/gl/qt/Makefile
3581 tests/examples/gl/sdl/Makefile
3582 tests/examples/gtk/Makefile
3583 tests/examples/mpegts/Makefile
3584 tests/examples/mxf/Makefile
3585 tests/examples/opencv/Makefile
3586 tests/examples/uvch264/Makefile
3587 tests/examples/waylandsink/Makefile
3588 tests/icles/Makefile
3589 ext/voamrwbenc/Makefile
3590 ext/voaacenc/Makefile
3591 ext/assrender/Makefile
3592 ext/apexsink/Makefile
3595 ext/chromaprint/Makefile
3599 ext/directfb/Makefile
3600 ext/wayland/Makefile
3608 ext/fluidsynth/Makefile
3614 ext/libde265/Makefile
3616 ext/libvisual/Makefile
3618 ext/modplug/Makefile
3619 ext/mpeg2enc/Makefile
3623 ext/musepack/Makefile
3629 ext/openexr/Makefile
3630 ext/openh264/Makefile
3631 ext/openjpeg/Makefile
3632 ext/openni2/Makefile
3636 ext/resindvd/Makefile
3639 ext/schroedinger/Makefile
3641 ext/smoothstreaming/Makefile
3642 ext/sndfile/Makefile
3643 ext/soundtouch/Makefile
3644 ext/spandsp/Makefile
3647 ext/teletextdec/Makefile
3650 ext/timidity/Makefile
3658 docs/plugins/Makefile
3660 docs/version.entities
3662 pkgconfig/gstreamer-plugins-bad.pc
3663 pkgconfig/gstreamer-plugins-bad-uninstalled.pc
3664 pkgconfig/gstreamer-codecparsers.pc
3665 pkgconfig/gstreamer-codecparsers-uninstalled.pc
3666 pkgconfig/gstreamer-insertbin.pc
3667 pkgconfig/gstreamer-insertbin-uninstalled.pc
3668 pkgconfig/gstreamer-gl.pc
3669 pkgconfig/gstreamer-gl-uninstalled.pc
3670 pkgconfig/gstreamer-mpegts.pc
3671 pkgconfig/gstreamer-mpegts-uninstalled.pc
3672 pkgconfig/gstreamer-player.pc
3673 pkgconfig/gstreamer-player-uninstalled.pc
3674 pkgconfig/gstreamer-wayland.pc
3675 pkgconfig/gstreamer-wayland-uninstalled.pc
3676 pkgconfig/gstreamer-bad-base.pc
3677 pkgconfig/gstreamer-bad-base-uninstalled.pc
3678 pkgconfig/gstreamer-bad-video.pc
3679 pkgconfig/gstreamer-bad-video-uninstalled.pc
3680 pkgconfig/gstreamer-bad-audio.pc
3681 pkgconfig/gstreamer-bad-audio-uninstalled.pc
3686 dnl Create the config.h file for Visual Studio builds
3687 dnl Beware of spaces and /'s in some of the shell variable contents.
3689 -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"/' \
3690 -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
3691 -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
3692 -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
3693 -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
3694 -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
3695 -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
3696 -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
3697 -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
3698 -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
3699 -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
3700 -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
3701 -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
3702 -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
3703 -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
3704 -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
3705 -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \
3706 -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
3707 -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
3708 -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
3709 -e "s/.* PACKAGE_NAME$/#define PACKAGE_NAME \"$PACKAGE_NAME\"/" \
3710 -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
3711 -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
3712 -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
3713 -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/' \
3714 -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
3715 -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
3716 -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
3717 -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
3718 -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
3719 -e 's/.* HAVE_WINDOWS_H$/#define HAVE_WINDOWS_H 1/' \
3720 -e 's/.* HAVE_WININET_H$/#define HAVE_WININET_H 1/' \
3721 -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
3722 -e 's/.* HAVE_WS2TCPIP_H$/#define HAVE_WS2TCPIP_H 1/' \
3723 config.h.in >win32/common/config.h-new
3727 AG_GST_OUTPUT_PLUGINS