meson: Add gtk guard
[platform/upstream/gstreamer.git] / configure.ac
1 # gstreamer-vaapi package version number
2 m4_define([gst_vaapi_major_version], [1])
3 m4_define([gst_vaapi_minor_version], [15])
4 m4_define([gst_vaapi_micro_version], [0])
5 m4_define([gst_vaapi_nano_version], [1])
6 m4_define([gst_vaapi_version],
7           [gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
8 m4_if(gst_vaapi_nano_version, [0], [],
9   [m4_append([gst_vaapi_version], gst_vaapi_nano_version, [.])])
10
11 # Configure defaults
12 m4_define([default_glapi],              [any])
13
14 dnl - library source changed -> increment REVISION
15 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
16 dnl - interfaces added -> increment AGE
17 dnl - interfaces removed -> AGE = 0
18 # gstreamer-vaapi library (libtool) version number
19 m4_define([gst_vaapi_lt_current],       [1500])
20 m4_define([gst_vaapi_lt_revision],      [0])
21 m4_define([gst_vaapi_lt_age],           [1500])
22
23 # glib version number
24 m4_define([glib_version], [2.40])
25
26 # gstreamer version number
27 m4_define([gst_version],                [1.15.0.1])
28 m4_define([gst_plugins_base_version],   [1.15.0.1])
29 m4_define([gst_plugins_bad_version],    [1.15.0.1])
30
31 # Wayland minimum version number
32 m4_define([wayland_api_version], [1.0.2])
33
34 # VA-API minimum version number
35 m4_define([va_api_version],     [0.30.4])
36 m4_define([va_api_enc_version], [0.34.0])
37 m4_define([va_api_drm_version], [0.33.0])
38 m4_define([va_api_x11_version], [0.31.0])
39 m4_define([va_api_wld_version], [0.33.0])
40
41 # gtk-doc version number
42 # XXX: introspection annotations require gtk-doc >= 1.12
43 m4_define([gtkdoc_version], [1.12])
44
45 AC_PREREQ([2.69])
46 AC_INIT([GStreamer VA-API Plug-ins], [gst_vaapi_version],
47   [http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],
48   [gstreamer-vaapi])
49
50 dnl define the output header for config
51 AC_CONFIG_HEADERS([config.h])
52 AC_CONFIG_SRCDIR([Makefile.am])
53 AC_CONFIG_MACRO_DIR([m4])
54 AC_CONFIG_AUX_DIR([build-aux])
55
56 AG_GST_INIT
57
58 dnl initialize automake
59 AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
60
61 dnl define PACKAGE_VERSION_* variables
62 AS_VERSION
63
64 dnl check if this is a release version
65 AS_NANO(GST_GIT="no", GST_GIT="yes")
66
67 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
68 AM_MAINTAINER_MODE([enable])
69
70 dnl use pretty build output by default
71 AM_SILENT_RULES([yes])
72
73 dnl our libraries and install dirs use GST_API_VERSION in the filename
74 dnl to allow side-by-side installation of different API versions
75 GST_API_VERSION=1.0
76 AC_SUBST([GST_API_VERSION])
77 AC_DEFINE_UNQUOTED([GST_API_VERSION], ["$GST_API_VERSION"],
78   [GStreamer API Version])
79
80 AG_GST_LIBTOOL_PREPARE
81
82 dnl CURRENT, REVISION, AGE
83 dnl sets GST_LT_LDFLAGS
84 AS_LIBTOOL(GST, gst_vaapi_lt_current, gst_vaapi_lt_revision, gst_vaapi_lt_age)
85
86 dnl *** required versions of GStreamer stuff ***
87 GLIB_REQ=glib_version
88 GST_REQ=gst_version
89 GST_PBREQ=gst_plugins_base_version
90 GST_PBADREQ=gst_plugins_bad_version
91 WAYLAND_REQ=wayland_api_version
92 GTKDOC_REQ=gtkdoc_version
93
94 dnl *** required versions of VA-API stuff ***
95 VAAPI_REQ=va_api_version
96 VAAPI_ENC_REQ=va_api_enc_version
97 VAAPI_DRM_REQ=va_api_drm_version
98 VAAPI_X11_REQ=va_api_x11_version
99 VAAPI_WLD_REQ=va_api_wld_version
100
101 dnl *** autotools stuff ****
102
103 dnl allow for different autotools
104 AS_AUTOTOOLS_ALTERNATE
105
106 dnl Add parameters for aclocal
107 AC_SUBST([ACLOCAL_AMFLAGS], ["-I m4 -I common/m4"])
108
109 dnl *** check for arguments to configure ***
110
111 AG_GST_ARG_DISABLE_FATAL_WARNINGS
112 AG_GST_ARG_ENABLE_EXTRA_CHECKS
113 AG_GST_ARG_DEBUG
114
115 AG_GST_ARG_EXAMPLES
116
117 AG_GST_ARG_WITH_PKG_CONFIG_PATH
118
119 AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
120   ["${srcdir}/gstreamer-vaapi.doap"],
121   [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
122
123 AC_ARG_ENABLE([encoders],
124   AS_HELP_STRING([--enable-encoders],
125     [enable video encoders @<:@default=yes@:>@]),
126   [], [enable_encoders="yes"])
127
128 AC_ARG_ENABLE([drm],
129   AS_HELP_STRING([--enable-drm],
130     [enable DRM backend @<:@default=yes@:>@]),
131   [], [enable_drm="yes"])
132
133 AC_ARG_ENABLE([x11],
134   AS_HELP_STRING([--enable-x11],
135     [enable X11 output @<:@default=yes@:>@]),
136   [], [enable_x11="yes"])
137
138 AC_ARG_ENABLE([glx],
139   AS_HELP_STRING([--enable-glx],
140     [enable OpenGL/X11 output @<:@default=yes@:>@]),
141   [], [enable_glx="yes"])
142
143 AC_ARG_ENABLE([wayland],
144   AC_HELP_STRING([--enable-wayland],
145     [enable Wayland output @<:@default=yes@:>@]),
146   [], [enable_wayland="yes"])
147
148 AC_ARG_ENABLE([egl],
149   AS_HELP_STRING([--enable-egl],
150     [enable EGL output @<:@default=yes@:>@]),
151   [], [enable_egl="yes"])
152
153 AC_ARG_WITH([glapi],
154   AS_HELP_STRING([--with-glapi=APIs],
155     [build with the specified OpenGL APIs @<:@default=default_glapi@:>@]),
156   [GLAPI="$with_glapi"], [GLAPI=default_glapi])
157
158 AC_ARG_WITH([gtk],
159   [AS_HELP_STRING([--with-gtk],
160     [compile GTK3 based test apps @<:@default=check@:>@])],
161   [], [with_gtk="check"])
162
163 dnl *** checks for platform ***
164
165 dnl * hardware/architecture *
166
167 dnl check CPU type
168 AG_GST_ARCH
169
170 dnl *** checks for programs ***
171
172 dnl find a compiler
173 AC_PROG_CC
174 AC_PROG_CC_STDC
175
176 dnl check if the compiler supports '-c' and '-o' options
177 AM_PROG_CC_C_O
178
179 dnl check for documentation tools
180 GTK_DOC_CHECK([$GTKDOC_REQ])
181 AG_GST_PLUGIN_DOCS([$GTKDOC_REQ])
182
183 dnl *** checks for libraries ***
184 dnl check for libm, for sin() etc.
185 AC_CHECK_LIB([m], [tan])
186
187 dnl Check to see if dlopen/dlsym is in default libraries (like
188 dnl Solaris, which has it in libc), or if libdl is needed to get it.
189 AC_CHECK_FUNC([dlopen], [], [
190   AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
191 AC_SUBST([DLOPEN_LIBS])
192
193 dnl define LIBDIR so we can inform people where we live
194 AS_AC_EXPAND([LIBDIR], [$libdir])
195 AC_DEFINE_UNQUOTED([LIBDIR], ["$LIBDIR"], [library dir])
196
197 dnl set location of plugin directory
198 AG_GST_SET_PLUGINDIR
199
200 dnl *** checks for header files ***
201
202 dnl *** checks for types/defines ***
203
204 dnl *** checks for structures ***
205
206 dnl *** checks for compiler characteristics ***
207
208 dnl *** checks for library functions ***
209
210 dnl *** checks for headers ***
211
212 dnl *** checks for dependency libraries ***
213
214 dnl ---------------------------------------------------------------------------
215 dnl -- GStreamer                                                             --
216 dnl ---------------------------------------------------------------------------
217 dnl GLib is required
218 AG_GST_GLIB_CHECK([$GLIB_REQ])
219
220 dnl checks for gstreamer
221 dnl uninstalled is selected preferentially -- see pkg-config(1)
222 AG_GST_CHECK_GST([$GST_API_VERSION], [$GST_REQ], [yes])
223
224 dnl back compatibility
225 AC_MSG_CHECKING([for GStreamer API version])
226 gst_api_version=`$PKG_CONFIG --modversion "gstreamer-$GST_API_VERSION"`
227 gst_major_version=`echo "$gst_api_version" | cut -d'.' -f1`
228 gst_minor_version=`echo "$gst_api_version" | cut -d'.' -f2`
229 GST_VERSION="${gst_major_version}.${gst_minor_version}"
230 AC_MSG_RESULT([$GST_VERSION])
231 AC_DEFINE_UNQUOTED([GST_API_VERSION_S], ["$GST_VERSION"],
232   [Defined to the string representation of GStreamer version])
233
234 AG_GST_CHECK_GST_BASE([$GST_API_VERSION], [$GST_REQ], [yes])
235 AG_GST_CHECK_GST_PLUGINS_BASE([$GST_API_VERSION], [$GST_PBREQ], [yes])
236
237 dnl gst_dmabuf_memory_get_fd (gstreamer-allocators)
238 AG_GST_CHECK_MODULES([GST_ALLOCATORS],
239   [gstreamer-allocators-$GST_API_VERSION], [$GST_PBREQ], [yes])
240
241 dnl GstVideoOverlayComposition (gstreamer-video)
242 AG_GST_CHECK_MODULES([GST_VIDEO],
243   [gstreamer-video-$GST_API_VERSION], [$GST_PBREQ], [yes])
244
245 dnl ... GStreamer base utils (gstreamer-pbutils)
246 AG_GST_CHECK_MODULES([GST_PBUTILS],
247   [gstreamer-pbutils-$GST_API_VERSION], [$GST_PBREQ], [yes])
248
249 dnl bitstream parsers (gstreamer-codecparsers)
250 AG_GST_CHECK_MODULES([GST_CODEC_PARSERS],
251   [gstreamer-codecparsers-$GST_API_VERSION], [$GST_PBADREQ], [yes])
252
253 AS_IF([test "x$enable_glx" = "xyes" -o "x$enable_egl" = "xyes"],
254   [enable_opengl="yes"], [enable_opengl="no"])
255
256 dnl ... opengl helper libraries
257 HAVE_GSTGL=0
258 if test "x$enable_opengl" = "xyes"; then
259   PKG_CHECK_MODULES([GST_GL],
260     [gstreamer-gl-$GST_API_VERSION >= $GST_PBADREQ],
261     [
262       HAVE_GSTGL=1
263       AC_CACHE_CHECK([for GStreamer OpenGL helper libraries],
264         [ac_cv_have_gst_gl_helpers],
265         [
266           saved_CPPFLAGS="$CPPFLAGS"
267           CPPFLAGS="$CPPFLAGS $GST_GL_CFLAGS $GST_VIDEO_CFLAGS"
268           saved_LIBS="$LIBS"
269           LIBS="$saved_LIBS"
270           AC_CHECK_HEADERS([gst/gl/gl.h], [], [HAVE_GSTGL=0])
271           AC_COMPILE_IFELSE(
272             [
273               AC_LANG_PROGRAM(
274                 [[
275 #include <gst/gl/gl.h>
276                 ]],
277                 [[
278 GstGLContext gl_context;
279                 ]])
280             ],
281             [ac_cv_have_gst_gl_helpers="yes"],
282             [ac_cv_have_gst_gl_helpers="no"])
283           CPPFLAGS="$saved_CPPFLAGS"
284           LIBS="$saved_LIBS"
285         ])
286     ], [:])
287 fi
288 AS_IF([test "x$ac_cv_have_gst_gl_helpers" = "xno"], [HAVE_GSTGL=0])
289 AM_CONDITIONAL([USE_GST_GL_HELPERS], [test $HAVE_GSTGL -eq 1])
290 AC_DEFINE_UNQUOTED([USE_GST_GL_HELPERS], [$HAVE_GSTGL],
291   [Defined to 1 if GStreamer OpenGL helper libraries are available])
292
293 if test "x$enable_egl" = "xyes" -a $HAVE_GSTGL -ne 1; then
294   AC_MSG_WARN([GStreamer/GL helper libraries not found, disabling EGL support])
295   enable_egl="no"
296 fi
297
298 dnl ---------------------------------------------------------------------------
299 dnl -- Renderers                                                             --
300 dnl ---------------------------------------------------------------------------
301
302 dnl Check for DRM/libudev
303 USE_DRM=0
304 if test "x$enable_drm" = "xyes"; then
305   PKG_CHECK_MODULES([DRM], [libdrm libudev],
306     [
307       USE_DRM=1
308       saved_CPPFLAGS="$CPPFLAGS"
309       CPPFLAGS="$CPPFLAGS $DRM_CFLAGS"
310       AC_CHECK_HEADERS([drm_fourcc.h], [], [USE_DRM=0])
311       CPPFLAGS="$saved_CPPFLAGS"
312     ], [:])
313 fi
314
315 dnl Check for X11
316 USE_X11=0
317 if test "x$enable_x11" = "xyes"; then
318   PKG_CHECK_MODULES([X11], [x11],
319     [
320       USE_X11=1
321       saved_CPPFLAGS="$CPPFLAGS"
322       CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
323       AC_CHECK_HEADERS([X11/Xlib.h X11/Xutil.h X11/Xatom.h], [], [USE_X11=0])
324       CPPFLAGS="$saved_CPPFLAGS"
325     ], [:])
326 fi
327
328 HAVE_XKBLIB=0
329 HAVE_XRANDR=0
330 HAVE_XRENDER=0
331 if test $USE_X11 -eq 1; then
332   dnl Check for XKB library
333   HAVE_XKBLIB=1
334   saved_CPPFLAGS="$CPPFLAGS"
335   CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
336   AC_CHECK_HEADERS([X11/XKBlib.h], [], [HAVE_XKBLIB=0])
337   CPPFLAGS="$saved_CPPFLAGS"
338
339   dnl Check for XRandR
340   PKG_CHECK_MODULES([XRANDR], [xrandr],
341     [
342       HAVE_XRANDR=1
343       saved_CPPFLAGS="$CPPFLAGS"
344       CPPFLAGS="$CPPFLAGS $XRANDR_CFLAGS"
345       AC_CHECK_HEADERS([X11/extensions/Xrandr.h], [], [HAVE_XRANDR=0])
346       CPPFLAGS="$saved_CPPFLAGS"
347     ], [:])
348
349   dnl Check for XRender
350   PKG_CHECK_MODULES([XRENDER], [xrender],
351     [
352       HAVE_XRENDER=1
353       saved_CPPFLAGS="$CPPFLAGS"
354       CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
355       AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], [HAVE_XRENDER=0])
356       CPPFLAGS="$saved_CPPFLAGS"
357     ], [:])
358 fi
359
360 AC_DEFINE_UNQUOTED([HAVE_XKBLIB], [$HAVE_XKBLIB],
361   [Defined to 1 if the XKB extension exists.])
362 AC_DEFINE_UNQUOTED([HAVE_XRANDR], [$HAVE_XRANDR],
363   [Defined to 1 if the XRandR extension exists.])
364 AC_DEFINE_UNQUOTED([HAVE_XRENDER], [$HAVE_XRENDER],
365   [Defined to 1 if the XRender extension exists.])
366
367 dnl OpenGL
368 GLES_VERSION_MASK=0
369
370 HAVE_GL=0
371 HAVE_GLESv2=0
372 HAVE_GLESv3=0
373 if test "x$enable_opengl" = "xyes"; then
374   dnl OpenGL
375   case ",$GLAPI," in
376     (*,any,*|*,gl,*)
377       HAVE_GL=1
378       PKG_CHECK_MODULES([GL], [gl],
379         [
380           saved_CPPFLAGS="$CPPFLAGS"
381           CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
382           AC_CHECK_HEADERS([GL/gl.h GL/glext.h], [], [HAVE_GL=0],
383             [
384 #ifdef HAVE_GL_GL_H
385 # include <GL/gl.h>
386 #endif
387             ])
388           CPPFLAGS="$saved_CPPFLAGS"
389         ], [HAVE_GL=0])
390       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GL "*" 1`
391     ;;
392   esac
393
394   dnl OpenGL|ESv2
395   case ",$GLAPI," in
396     (*,any,*|*,gles2,*)
397       HAVE_GLESv2=1
398       PKG_CHECK_MODULES([GLES2], [glesv2],
399         [
400           saved_CPPFLAGS="$CPPFLAGS"
401           CPPFLAGS="$CPPFLAGS $GLES2_CFLAGS"
402           AC_CHECK_HEADERS([GLES2/gl2.h GLES2/gl2ext.h], [], [HAVE_GLESv2=0],
403             [
404 #ifdef HAVE_GLES2_GL2_H
405 # include <GLES2/gl2.h>
406 #endif
407             ])
408           CPPFLAGS="$saved_CPPFLAGS"
409         ], [HAVE_GLESv2=0])
410       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GLESv2 "*" 4`
411     ;;
412   esac
413
414   dnl OpenGL|ESv3
415   case ",$GLAPI," in
416     (*,any,*|*,gles3,*)
417       HAVE_GLESv3=1
418       PKG_CHECK_MODULES([GLES3], [glesv2],
419         [
420           saved_CPPFLAGS="$CPPFLAGS"
421           CPPFLAGS="$CPPFLAGS $GLES3_CFLAGS"
422           AC_CHECK_HEADERS([GLES3/gl3.h GLES3/gl3ext.h GLES2/gl2ext.h], [],
423             [HAVE_GLESv3=0],
424             [
425 #ifdef HAVE_GLES3_GL3_H
426 # include <GLES3/gl3.h>
427 #endif
428             ])
429           CPPFLAGS="$saved_CPPFLAGS"
430         ], [HAVE_GLESv3=0])
431       GLES_VERSION_MASK=`expr $GLES_VERSION_MASK "+" $HAVE_GLESv3 "*" 8`
432     ;;
433   esac
434 fi
435
436 dnl ... GLX
437 USE_GLX=0
438 if test "x$enable_glx" = "xyes" -a $HAVE_GL -eq 1 -a $USE_X11 -eq 1; then
439   USE_GLX=1
440
441   saved_CPPFLAGS="$CPPFLAGS"
442   saved_LIBS="$LIBS"
443   CPPFLAGS="$CPPFLAGS $GL_CFLAGS"
444   LIBS="$LIBS $GL_LIBS"
445   AC_CHECK_HEADERS([GL/glx.h], [], [USE_GLX=0],
446     [
447 #ifdef HAVE_GL_GL_H
448 # include <GL/gl.h>
449 #endif
450     ])
451   AC_CHECK_LIB([GL], [glXCreateContext], [], [USE_GLX=0])
452   CPPFLAGS="$saved_CPPFLAGS"
453   LIBS="$saved_LIBS"
454 fi
455
456 dnl ... EGL
457 USE_EGL=0
458 if test "x$enable_egl" = "xyes" -a $GLES_VERSION_MASK -ne 0; then
459   PKG_CHECK_MODULES([EGL], [egl],
460     [
461       USE_EGL=1
462
463       saved_CPPFLAGS="$CPPFLAGS"
464       saved_LIBS="$LIBS"
465       CPPFLAGS="$CPPFLAGS $EGL_CFLAGS"
466       LIBS="$LIBS $EGL_LIBS"
467       AC_CHECK_HEADERS([EGL/egl.h], [], [USE_EGL=0])
468       AC_CHECK_LIB([EGL], [eglGetDisplay], [], [USE_EGL=0])
469       CPPFLAGS="$saved_CPPFLAGS"
470       LIBS="$saved_LIBS"
471     ], [:])
472 fi
473
474 dnl Check for Wayland
475 USE_WAYLAND=0
476 if test "x$enable_wayland" = "xyes"; then
477   PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQ],
478     [
479       USE_WAYLAND=1
480       saved_CPPFLAGS="$CPPFLAGS"
481       CPPFLAGS="$CPPFLAGS $WAYLAND_CFLAGS"
482       AC_CHECK_HEADERS([wayland-client.h], [], [USE_WAYLAND=0])
483       CPPFLAGS="$saved_CPPFLAGS"
484     ], [:])
485 fi
486
487 dnl Check for GTK for tests
488 USE_GTK=0
489 AS_IF([test "x$BUILD_EXAMPLES" = "xyes" -a $USE_X11 -eq 1],
490   [AS_CASE([$with_gtk],
491     [yes], [PKG_CHECK_MODULES([GTK3], [gtk+-3.0], [USE_GTK=1])],
492     [no], [],
493     [PKG_CHECK_MODULES([GTK3], [gtk+-3.0], [USE_GTK=1], [USE_GTK=0])])])
494 AS_IF([test $USE_GTK -eq 1],
495   [
496     saved_CPPFLAGS="$CPPFLAGS"
497     CPPFLAGS="$CPPFLAGS $GTK3_CFLAGS"
498     AC_CHECK_HEADERS([gtk/gtk.h], [], [USE_GTK=0])
499     CPPFLAGS="$saved_CPPFLAGS"
500   ])
501 AM_CONDITIONAL([USE_GTK], [test $USE_GTK -eq 1])
502
503 dnl ---------------------------------------------------------------------------
504 dnl -- VA-API                                                                --
505 dnl ---------------------------------------------------------------------------
506
507 dnl Core API
508 PKG_CHECK_MODULES([LIBVA], [libva >= $VAAPI_REQ libva != 0.99.0])
509 VA_VERSION_STR=`$PKG_CONFIG --modversion libva`
510 VA_DRIVERS_PATH=`$PKG_CONFIG --variable=driverdir libva`
511 AC_DEFINE_UNQUOTED([VA_DRIVERS_PATH], ["$VA_DRIVERS_PATH"],
512   [VA drivers path])
513
514 dnl VA/DRM API
515 if test $USE_DRM -eq 1; then
516   PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm >= $VAAPI_DRM_REQ],
517     [
518       saved_CPPFLAGS="$CPPFLAGS"
519       CPPFLAGS="$CPPFLAGS $LIBVA_DRM_CFLAGS"
520       AC_CHECK_HEADERS([va/va_drm.h], [], [USE_DRM=0])
521       CPPFLAGS="$saved_CPPFLAGS"
522     ], [USE_DRM=0])
523 fi
524
525 dnl VA/X11 API
526 if test $USE_X11 -eq 1; then
527   PKG_CHECK_MODULES(LIBVA_X11, [libva-x11 >= $VAAPI_X11_REQ],
528     [], [USE_X11=0])
529 fi
530
531 dnl Check for va_dec_jpeg.h header
532 saved_CPPFLAGS="$CPPFLAGS"
533 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
534 AC_CHECK_HEADERS([va/va_dec_jpeg.h], [], [],
535   [
536 #include <va/va.h>
537   ])
538 CPPFLAGS="$saved_CPPFLAGS"
539
540 dnl Check for JPEG decoding API (0.32.1+)
541 USE_JPEG_DECODER=0
542 AC_CACHE_CHECK([for JPEG decoding API],
543   [ac_cv_have_jpeg_decoding_api],
544   [
545     saved_CPPFLAGS="$CPPFLAGS"
546     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
547     saved_LIBS="$LIBS"
548     LIBS="$LIBS $LIBVA_LIBS"
549     AC_COMPILE_IFELSE(
550       [
551         AC_LANG_PROGRAM(
552           [[
553 #include <va/va.h>
554 #ifdef HAVE_VA_VA_DEC_JPEG_H
555 # include <va/va_dec_jpeg.h>
556 #endif
557           ]],
558           [[
559 VAPictureParameterBufferJPEGBaseline pic_param;
560 VASliceParameterBufferJPEGBaseline slice_param;
561 VAHuffmanTableBufferJPEGBaseline huffman_table;
562 VAIQMatrixBufferJPEGBaseline iq_matrix;
563           ]])
564       ],
565       [ac_cv_have_jpeg_decoding_api="yes"],
566       [ac_cv_have_jpeg_decoding_api="no"])
567     CPPFLAGS="$saved_CPPFLAGS"
568     LIBS="$saved_LIBS"
569   ])
570 AS_IF([test "x$ac_cv_have_jpeg_decoding_api" = "xyes"], [USE_JPEG_DECODER=1])
571
572 dnl Check for va_dec_vp8.h header
573 saved_CPPFLAGS="$CPPFLAGS"
574 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
575 AC_CHECK_HEADERS([va/va_dec_vp8.h], [], [],
576   [
577 #include <va/va.h>
578   ])
579 CPPFLAGS="$saved_CPPFLAGS"
580
581 dnl Check for VP8 decoding API (0.34+)
582 USE_VP8_DECODER=0
583 AC_CACHE_CHECK([for VP8 decoding API],
584   [ac_cv_have_vp8_decoding_api],
585   [
586     saved_CPPFLAGS="$CPPFLAGS"
587     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
588     saved_LIBS="$LIBS"
589     LIBS="$LIBS $LIBVA_LIBS"
590     AC_COMPILE_IFELSE(
591       [
592         AC_LANG_PROGRAM(
593           [[
594 #include <va/va.h>
595 #ifdef HAVE_VA_VA_DEC_VP8_H
596 # include <va/va_dec_vp8.h>
597 #endif
598           ]],
599           [[
600 VAPictureParameterBufferVP8 pic_param;
601 VASliceParameterBufferVP8 slice_param;
602 VAProbabilityDataBufferVP8 prob_data;
603 VAIQMatrixBufferVP8 iq_matrix;
604 slice_param.slice_data_offset = 0;
605 slice_param.slice_data_flag = 0;
606           ]])
607       ],
608       [ac_cv_have_vp8_decoding_api="yes"],
609       [ac_cv_have_vp8_decoding_api="no"])
610     CPPFLAGS="$saved_CPPFLAGS"
611     LIBS="$saved_LIBS"
612   ])
613 AS_IF([test "x$ac_cv_have_vp8_decoding_api" = "xyes"], [USE_VP8_DECODER=1])
614
615 dnl Check for va_dec_vp9.h header
616 saved_CPPFLAGS="$CPPFLAGS"
617 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
618 AC_CHECK_HEADERS([va/va_dec_vp9.h], [], [],
619   [
620 #include <va/va.h>
621   ])
622 CPPFLAGS="$saved_CPPFLAGS"
623
624 dnl Check for VP9 decoding API (0.37+)
625 USE_VP9_DECODER=0
626 AC_CACHE_CHECK([for VP9 decoding API],
627   [ac_cv_have_vp9_decoding_api],
628   [
629     saved_CPPFLAGS="$CPPFLAGS"
630     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
631     saved_LIBS="$LIBS"
632     LIBS="$LIBS $LIBVA_LIBS"
633     AC_COMPILE_IFELSE(
634       [
635         AC_LANG_PROGRAM(
636           [[
637 #include <va/va.h>
638 #ifdef HAVE_VA_VA_DEC_VP9_H
639 # include <va/va_dec_vp9.h>
640 #endif
641           ]],
642           [[
643 VADecPictureParameterBufferVP9 pic_param;
644 VASliceParameterBufferVP9 slice_param;
645 VASegmentParameterVP9 seg_param;
646 slice_param.slice_data_offset = 0;
647 slice_param.slice_data_flag = 0;
648           ]])
649       ],
650       [ac_cv_have_vp9_decoding_api="yes"],
651       [ac_cv_have_vp9_decoding_api="no"])
652     CPPFLAGS="$saved_CPPFLAGS"
653     LIBS="$saved_LIBS"
654   ])
655 AS_IF([test "x$ac_cv_have_vp9_decoding_api" = "xyes"], [USE_VP9_DECODER=1])
656
657 dnl Check for va_dec_hevc.h header
658 saved_CPPFLAGS="$CPPFLAGS"
659 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
660 AC_CHECK_HEADERS([va/va_dec_hevc.h], [], [],
661   [
662 #include <va/va.h>
663   ])
664 CPPFLAGS="$saved_CPPFLAGS"
665
666 dnl Check for HEVC decoding API (0.38+)
667 USE_H265_DECODER=0
668 AC_CACHE_CHECK([for HEVC decoding API],
669   [ac_cv_have_h265_decoding_api],
670   [
671     saved_CPPFLAGS="$CPPFLAGS"
672     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
673     saved_LIBS="$LIBS"
674     LIBS="$LIBS $LIBVA_LIBS"
675     AC_COMPILE_IFELSE(
676       [
677         AC_LANG_PROGRAM(
678           [[
679 #include <va/va.h>
680 #ifdef HAVE_VA_VA_DEC_HEVC_H
681 # include <va/va_dec_hevc.h>
682 #endif
683           ]],
684           [[
685 VAPictureParameterBufferHEVC pic_param;
686 VASliceParameterBufferHEVC slice_param;
687 VAIQMatrixBufferHEVC iq_matrix;
688 slice_param.slice_data_offset = 0;
689 slice_param.slice_data_flag = 0;
690           ]])
691       ],
692       [ac_cv_have_h265_decoding_api="yes"],
693       [ac_cv_have_h265_decoding_api="no"])
694     CPPFLAGS="$saved_CPPFLAGS"
695     LIBS="$saved_LIBS"
696   ])
697 AS_IF([test "x$ac_cv_have_h265_decoding_api" = "xyes"], [USE_H265_DECODER=1])
698
699 dnl Check for va_vpp.h header
700 saved_CPPFLAGS="$CPPFLAGS"
701 CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
702 AC_CHECK_HEADERS([va/va_vpp.h], [], [],
703   [
704 #include <va/va.h>
705   ])
706 CPPFLAGS="$saved_CPPFLAGS"
707
708 dnl Check for vpp (video post-processing) support
709 USE_VA_VPP=0
710 AC_CACHE_CHECK([for video post-postprocessing API],
711   [ac_cv_have_va_vpp_api],
712   [
713     saved_CPPFLAGS="$CPPFLAGS"
714     CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
715     saved_LIBS="$LIBS"
716     LIBS="$LIBS $LIBVA_LIBS"
717     AC_COMPILE_IFELSE(
718       [
719         AC_LANG_PROGRAM(
720           [[
721 #include <va/va.h>
722 #ifdef HAVE_VA_VA_VPP_H
723 # include <va/va_vpp.h>
724 #endif
725           ]],
726           [[
727 VADisplay va_dpy;
728 VAContextID vpp_ctx;
729 VAProcFilterType filters[VAProcFilterCount];
730 unsigned int num_filters = VAProcFilterCount;
731 vaQueryVideoProcFilters(va_dpy, vpp_ctx, filters, &num_filters);
732           ]])
733       ],
734       [ac_cv_have_va_vpp_api="yes"],
735       [ac_cv_have_va_vpp_api="no"])
736     CPPFLAGS="$saved_CPPFLAGS"
737     LIBS="$saved_LIBS"
738   ])
739 AS_IF([test "x$ac_cv_have_va_vpp_api" = "xyes"], [USE_VA_VPP=1])
740
741 dnl Check for encoding support
742 USE_ENCODERS=0
743 if test "x$enable_encoders" = "xyes"; then
744   PKG_CHECK_MODULES([LIBVA], [libva >= $VAAPI_ENC_REQ],
745     [
746       USE_ENCODERS=1
747       saved_CPPFLAGS="$CPPFLAGS"
748       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
749       AC_CHECK_HEADERS([va/va_enc_mpeg2.h va/va_enc_h264.h], [],
750         [USE_ENCODERS=0],
751         [
752 #include <va/va.h>
753         ])
754       CPPFLAGS="$saved_CPPFLAGS"
755     ], [:])
756 fi
757
758 USE_JPEG_ENCODER=0
759 USE_VP8_ENCODER=0
760 USE_H265_ENCODER=0
761 USE_VP9_ENCODER=0
762 USE_H264_FEI_ENCODER=0
763
764 if test $USE_ENCODERS -eq 1; then
765   saved_CPPFLAGS="$CPPFLAGS"
766   CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
767
768   dnl Check for JPEG Encoding API (0.37.0+)
769   AC_CHECK_HEADERS([va/va_enc_jpeg.h], [], [],
770     [
771 #include <va/va.h>
772     ])
773   AC_CACHE_CHECK([for JPEG encoding API],
774     [ac_cv_have_jpeg_encoding_api],
775     [
776       saved_LIBS="$LIBS"
777       LIBS="$LIBS $LIBVA_LIBS"
778       AC_COMPILE_IFELSE(
779         [
780           AC_LANG_PROGRAM(
781             [[
782 #include <va/va.h>
783 #ifdef HAVE_VA_VA_ENC_JPEG_H
784 # include <va/va_enc_jpeg.h>
785 #endif
786             ]],
787             [[
788 VAEncPictureParameterBufferJPEG pic_param;
789 VAEncSliceParameterBufferJPEG slice_param;
790 VAQMatrixBufferJPEG q_matrix;
791             ]])
792         ],
793         [ac_cv_have_jpeg_encoding_api="yes"],
794         [ac_cv_have_jpeg_encoding_api="no"])
795       LIBS="$saved_LIBS"
796     ])
797   AS_IF([test "x$ac_cv_have_jpeg_encoding_api" = "xyes"], [USE_JPEG_ENCODER=1])
798
799   dnl Check for VP8 Encoding API
800   AC_CHECK_HEADERS([va/va_enc_vp8.h], [], [],
801     [
802 #include <va/va.h>
803     ])
804   AC_CACHE_CHECK([for VP8 encoding API],
805     [ac_cv_have_vp8_encoding_api],
806     [
807       saved_LIBS="$LIBS"
808       LIBS="$LIBS $LIBVA_LIBS"
809       AC_COMPILE_IFELSE(
810         [
811           AC_LANG_PROGRAM(
812             [[
813 #include <va/va.h>
814 #ifdef HAVE_VA_VA_ENC_VP8_H
815 # include <va/va_enc_vp8.h>
816 #endif
817             ]],
818             [[
819 VAEncSequenceParameterBufferVP8 seq_param;
820 VAEncPictureParameterBufferVP8 pic_param;
821 VAQMatrixBufferVP8 q_matrix;
822             ]])
823         ],
824         [ac_cv_have_vp8_encoding_api="yes"],
825         [ac_cv_have_vp8_encoding_api="no"])
826       LIBS="$saved_LIBS"
827     ])
828   AS_IF([test "x$ac_cv_have_vp8_encoding_api" = "xyes"], [USE_VP8_ENCODER=1])
829
830   dnl Check for H265/HEVC Encoding API
831   AC_CHECK_HEADERS([va/va_enc_hevc.h], [], [],
832     [
833 #include <va/va.h>
834     ])
835   AC_CACHE_CHECK([for HEVC encoding API],
836     [ac_cv_have_hevc_encoding_api],
837     [
838       saved_LIBS="$LIBS"
839       LIBS="$LIBS $LIBVA_LIBS"
840       AC_COMPILE_IFELSE(
841         [
842           AC_LANG_PROGRAM(
843             [[
844 #include <va/va.h>
845 #ifdef HAVE_VA_VA_ENC_HEVC_H
846 # include <va/va_enc_hevc.h>
847 #endif
848             ]],
849             [[
850 VAEncSequenceParameterBufferHEVC seq_param;
851 VAEncPictureParameterBufferHEVC pic_param;
852 VAEncSliceParameterBufferHEVC buf_param;
853 VAQMatrixBufferHEVC q_matrix;
854             ]])
855         ],
856         [ac_cv_have_hevc_encoding_api="yes"],
857         [ac_cv_have_hevc_encoding_api="no"])
858       LIBS="$saved_LIBS"
859     ])
860   AS_IF([test "x$ac_cv_have_hevc_encoding_api" = "xyes"], [USE_H265_ENCODER=1])
861
862   dnl Check for VP9 Encoding API
863   AC_CHECK_HEADERS([va/va_enc_vp9.h], [], [],
864     [
865 #include <va/va.h>
866     ])
867   AC_CACHE_CHECK([for VP9 encoding API],
868     [ac_cv_have_vp9_encoding_api],
869     [
870       saved_LIBS="$LIBS"
871       LIBS="$LIBS $LIBVA_LIBS"
872       AC_COMPILE_IFELSE(
873         [
874           AC_LANG_PROGRAM(
875             [[
876 #include <va/va.h>
877 #ifdef HAVE_VA_VA_ENC_VP9_H
878 # include <va/va_enc_vp9.h>
879 #endif
880             ]],
881             [[
882 VAEncSequenceParameterBufferVP9 seq_param;
883 VAEncPictureParameterBufferVP9 pic_param;
884 VAEncSegParamVP9 seg_param;
885 VAEncMiscParameterTypeVP9PerSegmantParam misc_param;
886             ]])
887         ],
888         [ac_cv_have_vp9_encoding_api="yes"],
889         [ac_cv_have_vp9_encoding_api="no"])
890       LIBS="$saved_LIBS"
891     ])
892   AS_IF([test "x$ac_cv_have_vp9_encoding_api" = "xyes"], [USE_VP9_ENCODER=1])
893
894   dnl Check for H264 FEI Encoding API
895   AC_CHECK_HEADERS([va/va_fei_h264.h], [], [],
896     [
897 #include <va/va.h>
898     ])
899   AC_CACHE_CHECK([for H264_FEI encoding API],
900     [ac_cv_have_h264_fei_encoding_api],
901     [
902       saved_CPPFLAGS="$CPPFLAGS"
903       CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
904       saved_LIBS="$LIBS"
905       LIBS="$LIBS $LIBVA_LIBS"
906       AC_COMPILE_IFELSE(
907         [
908           AC_LANG_PROGRAM(
909             [[
910 #include <va/va.h>
911 #ifdef HAVE_VA_VA_FEI_H264_H
912 # include <va/va_fei_h264.h>
913 #endif
914             ]],
915             [[
916 VAEncMiscParameterFEIFrameControlH264 framectl;
917 VAEncFEIMBControlH264 mbcntrl;
918 VAEncFEIMVPredictorH264 mvpred;
919 VAEncFEIMBCodeH264 mbcode;
920 VAEncFEIDistortionH264 dist;
921             ]])
922         ],
923         [ac_cv_have_h264_fei_encoding_api="yes"],
924         [ac_cv_have_h264_fei_encoding_api="no"])
925       CPPFLAGS="$saved_CPPFLAGS"
926       LIBS="$saved_LIBS"
927     ])
928   AS_IF([test "x$ac_cv_have_h264_fei_encoding_api" = "xyes"], [USE_H264_FEI_ENCODER=1])
929   CPPFLAGS="$saved_CPPFLAGS"
930 fi
931
932 dnl VA/Wayland API
933 if test $USE_WAYLAND -eq 1; then
934   PKG_CHECK_MODULES([LIBVA_WAYLAND], [libva-wayland >= $VAAPI_WLD_REQ],
935     [], [USE_WAYLAND=0])
936 fi
937
938 dnl *** finalize CFLAGS, LDFLAGS, LIBS
939
940 # set by AG_GST_PARSE_SUBSYSTEM_DISABLES above
941 dnl make sure it doesn't complain about unused variables if debugging is disabled
942 AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
943
944 dnl define an ERROR_CFLAGS Makefile variable
945 dnl FIXME Add -Wredundant-decls again if considered useful and warnings are fixed
946 AG_GST_SET_ERROR_CFLAGS([$FATAL_WARNINGS], [-Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs $NO_WARNINGS])
947
948 dnl define correct level for debugging messages
949 AG_GST_SET_LEVEL_DEFAULT([$GST_GIT])
950
951 dnl Overview:
952 dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
953 dnl GST_*:              flags shared by built objects to link against GStreamer
954 dnl GST_ALL_LDFLAGS:    linker flags shared by all
955 dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
956 dnl GST_LT_LDFLAGS:     library versioning of our libraries
957 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
958
959 dnl GST_OPTION_CFLAGS
960 if test "x$USE_DEBUG" = xyes; then
961    PROFILE_CFLAGS="-g"
962 fi
963 AC_SUBST([PROFILE_CFLAGS])
964
965 if test "x$GST_GIT" = "xyes"; then
966   DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
967 else
968   DEPRECATED_CFLAGS=""
969 fi
970 AC_SUBST([DEPRECATED_CFLAGS])
971
972 dnl disable strict aliasing
973 AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"])
974 AC_SUBST(EXTRA_CFLAGS)
975
976 dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
977 dnl at make time with e.g. make ERROR_CFLAGS=""
978 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(DEPRECATED_CFLAGS)"
979 AC_SUBST([GST_OPTION_CFLAGS])
980
981 dnl FIXME: do we want to rename to GST_ALL_* ?
982 dnl prefer internal headers to already installed ones
983 dnl also add builddir include for enumtypes and marshal
984 dnl add GST_OPTION_CFLAGS, but overridable
985 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
986 GST_CFLAGS="$GST_CFLAGS $EXTRA_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
987 AC_SUBST([GST_CFLAGS])
988
989 dnl LDFLAGS really should only contain flags, not libs - they get added before
990 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
991 GST_ALL_LDFLAGS="-no-undefined"
992 if test "x${enable_Bsymbolic}" = "xyes"; then
993   GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
994 fi
995 AC_SUBST([GST_ALL_LDFLAGS])
996
997 dnl GST_LIB_LDFLAGS
998 dnl linker flags shared by all libraries
999 dnl LDFLAGS modifier defining exported symbols from built libraries
1000 dnl (export _gst_foo but not __gst_foo)
1001 GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*"
1002 AC_SUBST([GST_LIB_LDFLAGS])
1003
1004 dnl this really should only contain flags, not libs - they get added before
1005 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
1006 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
1007 AC_SUBST([GST_PLUGIN_LDFLAGS])
1008
1009 dnl ---------------------------------------------------------------------------
1010 dnl -- Generate files and summary                                            --
1011 dnl ---------------------------------------------------------------------------
1012
1013 case ":$USE_X11:$USE_GLX:$USE_EGL:$USE_WAYLAND:$USE_DRM:" in
1014 *:1:*) ;;
1015 *) AC_MSG_ERROR([No renderer is enabled]) ;;
1016 esac
1017
1018 AC_DEFINE_UNQUOTED([USE_ENCODERS], [$USE_ENCODERS],
1019   [Defined to 1 if video encoders are used])
1020 AM_CONDITIONAL([USE_ENCODERS], [test $USE_ENCODERS -eq 1])
1021
1022 AC_DEFINE_UNQUOTED([USE_JPEG_ENCODER], [$USE_JPEG_ENCODER],
1023   [Defined to 1 if JPEG encoder is used])
1024 AM_CONDITIONAL([USE_JPEG_ENCODER], [test $USE_JPEG_ENCODER -eq 1])
1025
1026 AC_DEFINE_UNQUOTED([USE_VP8_ENCODER], [$USE_VP8_ENCODER],
1027   [Defined to 1 if VP8 encoder is used])
1028 AM_CONDITIONAL([USE_VP8_ENCODER], [test $USE_VP8_ENCODER -eq 1])
1029
1030 AC_DEFINE_UNQUOTED([USE_H265_ENCODER], [$USE_H265_ENCODER],
1031   [Defined to 1 if H265 encoder is used])
1032 AM_CONDITIONAL([USE_H265_ENCODER], [test $USE_H265_ENCODER -eq 1])
1033
1034 AC_DEFINE_UNQUOTED([USE_VP9_ENCODER], [$USE_VP9_ENCODER],
1035   [Defined to 1 if VP9 encoder is used])
1036 AM_CONDITIONAL([USE_VP9_ENCODER], [test $USE_VP9_ENCODER -eq 1])
1037
1038 AC_DEFINE_UNQUOTED([USE_H264_FEI_ENCODER], [$USE_H264_FEI_ENCODER],
1039   [Defined to 1 if H264_FEI encoder is used])
1040 AM_CONDITIONAL([USE_H264_FEI_ENCODER], [test $USE_H264_FEI_ENCODER -eq 1])
1041
1042 AC_DEFINE_UNQUOTED([USE_VA_VPP], [$USE_VA_VPP],
1043   [Defined to 1 if video post-processing is used])
1044 AM_CONDITIONAL([USE_VA_VPP], [test $USE_VA_VPP -eq 1])
1045
1046 AC_DEFINE_UNQUOTED([USE_JPEG_DECODER], [$USE_JPEG_DECODER],
1047   [Defined to 1 if JPEG decoder is used])
1048 AM_CONDITIONAL([USE_JPEG_DECODER], [test $USE_JPEG_DECODER -eq 1])
1049
1050 AC_DEFINE_UNQUOTED([USE_VP8_DECODER], [$USE_VP8_DECODER],
1051   [Defined to 1 if VP8 decoder is used])
1052 AM_CONDITIONAL([USE_VP8_DECODER], [test $USE_VP8_DECODER -eq 1])
1053
1054 AC_DEFINE_UNQUOTED([USE_VP9_DECODER], [$USE_VP9_DECODER],
1055   [Defined to 1 if VP9 decoder is used])
1056 AM_CONDITIONAL([USE_VP9_DECODER], [test $USE_VP9_DECODER -eq 1])
1057
1058 AC_DEFINE_UNQUOTED([USE_H265_DECODER], [$USE_H265_DECODER],
1059   [Defined to 1 if HEVC decoder is used])
1060 AM_CONDITIONAL([USE_H265_DECODER], [test $USE_H265_DECODER -eq 1])
1061
1062 AC_DEFINE_UNQUOTED([USE_DRM], [$USE_DRM],
1063   [Defined to 1 if DRM is enabled])
1064 AM_CONDITIONAL([USE_DRM], [test $USE_DRM -eq 1])
1065
1066 AC_DEFINE_UNQUOTED([USE_X11], [$USE_X11],
1067   [Defined to 1 if X11 is enabled])
1068 AM_CONDITIONAL([USE_X11], [test $USE_X11 -eq 1])
1069
1070 AC_DEFINE_UNQUOTED([USE_GLX], [$USE_GLX],
1071   [Defined to 1 if GLX is enabled])
1072 AM_CONDITIONAL([USE_GLX], [test $USE_GLX -eq 1])
1073
1074 AC_DEFINE_UNQUOTED([USE_EGL], [$USE_EGL],
1075   [Defined to 1 if EGL is enabled])
1076 AM_CONDITIONAL([USE_EGL], [test $USE_EGL -eq 1])
1077
1078 AC_DEFINE_UNQUOTED([USE_GLES_VERSION_MASK], [$GLES_VERSION_MASK],
1079   [Defined to the set of enabled OpenGL ES APIs])
1080
1081 AC_DEFINE_UNQUOTED([USE_WAYLAND], [$USE_WAYLAND],
1082   [Defined to 1 if WAYLAND is enabled])
1083 AM_CONDITIONAL([USE_WAYLAND], [test $USE_WAYLAND -eq 1])
1084
1085 dnl @TODO hack for egl's dynamic module loading. remove it!
1086 AC_DEFINE_UNQUOTED([GST_VAAPI_MAJOR_VERSION_S], ["0"],
1087   [Defined to the string representation of gstreamer-vaapi major version])
1088
1089 AC_CONFIG_FILES([
1090     Makefile
1091     common/Makefile
1092     common/m4/Makefile
1093     m4/Makefile
1094     docs/Makefile
1095     docs/version.entities
1096     docs/plugins/Makefile
1097     docs/plugins/gstreamer-vaapi-plugins-docs.xml
1098     gst-libs/Makefile
1099     gst-libs/gst/Makefile
1100     gst-libs/gst/vaapi/Makefile
1101     gst/Makefile
1102     gst/vaapi/Makefile
1103     tests/Makefile
1104     tests/elements/Makefile
1105 ])
1106 AC_OUTPUT
1107
1108 dnl Print summary
1109 yesno() {
1110   test $1 -eq 1 && echo yes || echo no
1111 }
1112
1113 VIDEO_OUTPUTS=""
1114 AS_IF([test $USE_DRM -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS drm"])
1115 AS_IF([test $USE_X11 -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS x11"])
1116 AS_IF([test $USE_GLX -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS glx"])
1117 AS_IF([test $USE_EGL -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS egl"])
1118 AS_IF([test $USE_WAYLAND -eq 1], [VIDEO_OUTPUTS="$VIDEO_OUTPUTS wayland"])
1119
1120 echo
1121 echo $PACKAGE configuration summary:
1122 echo
1123 echo Installation Prefix .............. : ${prefix}
1124 echo GStreamer API version ............ : $GST_VERSION
1125 echo VA-API version ................... : $VA_VERSION_STR
1126 echo Video encoding ................... : $(yesno $USE_ENCODERS)
1127 echo Video outputs .................... : $VIDEO_OUTPUTS
1128 echo