OSDN Git Service

intel-vaapi-driver 2.4.0.pre1
[android-x86/hardware-intel-common-vaapi.git] / configure.ac
1 # intel-vaapi-driver package version number
2 m4_define([intel_vaapi_driver_major_version], [2])
3 m4_define([intel_vaapi_driver_minor_version], [4])
4 m4_define([intel_vaapi_driver_micro_version], [0])
5 m4_define([intel_vaapi_driver_pre_version],   [1])
6 m4_define([intel_vaapi_driver_version],
7           [intel_vaapi_driver_major_version.intel_vaapi_driver_minor_version.intel_vaapi_driver_micro_version])
8 m4_if(intel_vaapi_driver_pre_version, [0], [], [
9 m4_append([intel_vaapi_driver_version], intel_vaapi_driver_pre_version, [.pre])
10 ])
11
12 # libva minimum version requirement
13 m4_define([va_api_version], [1.1.0])
14
15 # libdrm minimum version requirement
16 m4_define([libdrm_version], [2.4.52])
17
18 # Wayland minimum version requirement
19 # 1.11.0 for wl_proxy_create_wrapper
20 m4_define([wayland_api_version], [1.11.0])
21
22 AC_PREREQ([2.57])
23 AC_INIT([intel_vaapi_driver],
24         [intel_vaapi_driver_version],
25         [https://github.com/intel/intel-vaapi-driver/issues/new],
26         [intel-vaapi-driver],
27         [https://github.com/intel/intel-vaapi-driver])
28 AC_CONFIG_SRCDIR([Makefile.am])
29 AM_INIT_AUTOMAKE([1.9 tar-ustar -Wno-portability foreign])
30
31 AC_CONFIG_HEADERS([src/config.h])
32
33 INTEL_DRIVER_MAJOR_VERSION=intel_vaapi_driver_major_version
34 INTEL_DRIVER_MINOR_VERSION=intel_vaapi_driver_minor_version
35 INTEL_DRIVER_MICRO_VERSION=intel_vaapi_driver_micro_version
36 AC_DEFINE([INTEL_DRIVER_MAJOR_VERSION], [intel_vaapi_driver_major_version], [Major version of the driver])
37 AC_DEFINE([INTEL_DRIVER_MINOR_VERSION], [intel_vaapi_driver_minor_version], [Minor version of the driver])
38 AC_DEFINE([INTEL_DRIVER_MICRO_VERSION], [intel_vaapi_driver_micro_version], [Micro version of the driver])
39 AC_DEFINE([INTEL_DRIVER_PRE_VERSION], [intel_vaapi_driver_pre_version], [Preversion of the driver])
40
41 INTEL_DRIVER_LT_LDFLAGS="-avoid-version"
42 AC_SUBST(INTEL_DRIVER_LT_LDFLAGS)
43
44 dnl Use pretty build output with automake >= 1.11
45 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [
46     AM_DEFAULT_VERBOSITY=1
47     AC_SUBST(AM_DEFAULT_VERBOSITY)
48 ])
49
50 AC_ARG_ENABLE(x11,
51     [AC_HELP_STRING([--enable-x11],
52                     [build with VA/X11 API support @<:@default=yes@:>@])],
53     [], [enable_x11="yes"])
54
55 AC_ARG_ENABLE([wayland],
56     [AC_HELP_STRING([--enable-wayland],
57                     [build with VA/Wayland API support @<:@default=yes@:>@])],
58     [], [enable_wayland="yes"])
59
60 AC_ARG_ENABLE([hybrid-codec],
61     [AC_HELP_STRING([--enable-hybrid-codec],
62                     [build with hybrid codec support @<:@default=no@:>@])],
63     [], [enable_hybrid_codec="no"])
64
65 AC_ARG_ENABLE([tests],
66     [AC_HELP_STRING([--enable-tests],
67                     [build tests @<:@default=no@:>@])],
68     [], [enable_tests="no"])
69
70 AC_DISABLE_STATIC
71 AC_PROG_LIBTOOL
72 AC_PROG_CC
73 AM_PROG_CC_C_O
74 AC_PROG_CXX
75 AC_C_BIGENDIAN
76 AC_HEADER_STDC
77 AC_SYS_LARGEFILE
78 AC_CHECK_LIB([m], [sin])
79 AC_CHECK_FUNCS([log2f])
80 AC_CHECK_PROGS([PYTHON2], [python2 python])
81
82 LIBVA_PACKAGE_VERSION=libva_package_version
83 AC_SUBST(LIBVA_PACKAGE_VERSION)
84
85 AC_SEARCH_LIBS([dlopen], [dl], [], [
86   AC_MSG_ERROR([unable to find the dlopen() function])
87 ])
88
89
90 # Check for -fstack-protector
91 ssp_cc=yes
92 if test "X$CC-cc" != "X"; then
93     AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector])
94     ssp_old_cflags="$CFLAGS"
95     CFLAGS="$CFLAGS -fstack-protector"
96     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [], [ssp_cc=no])
97     AC_MSG_RESULT([$ssp_cc])
98     if test "X$ssp_cc" = "Xno"; then
99         CFLAGS="$ssp_old_cflags"
100     else
101         AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.])
102     fi
103 fi
104 AM_CONDITIONAL(USE_SSP, test "$ssp_cc" = "yes")
105
106 dnl Check for recent enough DRM
107 LIBDRM_VERSION=libdrm_version
108 PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION libdrm_intel])
109 AC_SUBST(LIBDRM_VERSION)
110
111 dnl Check for gen4asm
112 PKG_CHECK_MODULES(GEN4ASM, [intel-gen4asm >= 1.9], [gen4asm=yes], [gen4asm=no])
113 AC_PATH_PROG([GEN4ASM], [intel-gen4asm])
114 AS_IF([test "x$GEN4ASM" = "x" ], [AM_CONDITIONAL(HAVE_GEN4ASM, false)],
115     [AM_CONDITIONAL(HAVE_GEN4ASM, [test x$gen4asm = xyes])])
116
117 dnl Check for git
118 AC_ARG_VAR([GIT], [Path to git program, if any])
119 AC_PATH_PROG([GIT], [git])
120 AM_CONDITIONAL([HAVE_GIT], [test -n "$GIT"])
121
122 dnl Check for VA-API
123 PKG_CHECK_MODULES(LIBVA_DEPS, [libva >= va_api_version])
124
125 dnl Check for VA/DRM API only if tests are enabled
126 if test "$enable_tests" = "yes"; then
127     PKG_CHECK_MODULES(LIBVA_DRM_DEPS, [libva-drm >= va_api_version])
128 fi
129
130 if test "$enable_hybrid_codec" = "yes"; then
131     AC_DEFINE([HAVE_HYBRID_CODEC], [1], [Defined to 1 if hybrid codec is needed])
132 fi
133
134 AM_CONDITIONAL(ENABLE_TESTS, test "$enable_tests" = "yes")
135
136 VA_VERSION=`$PKG_CONFIG --modversion libva`
137 VA_MAJOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f1`
138 VA_MINOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f2`
139 VA_MICRO_VERSION=`echo "$VA_VERSION" | cut -d'.' -f3`
140 VA_VERSION_STR="$VA_VERSION"
141
142 VA_DRIVER_INIT_FUNC="__vaDriverInit_${VA_MAJOR_VERSION}_${VA_MINOR_VERSION}"
143 AC_DEFINE_UNQUOTED([VA_DRIVER_INIT_FUNC], [$VA_DRIVER_INIT_FUNC],
144     [Define driver entry-point])
145
146 dnl Check for VA/X11 API
147 USE_X11="$enable_x11"
148 if test "$USE_X11" = "yes"; then
149     PKG_CHECK_MODULES(LIBVA_X11_DEPS, [libva-x11 >= va_api_version],
150       [AC_DEFINE([HAVE_VA_X11], [1], [Defined to 1 if VA/X11 API is enabled])],
151       [USE_X11="no"])
152 fi
153 AM_CONDITIONAL(USE_X11, test "$USE_X11" = "yes")
154
155 dnl Check for VA-API drivers path
156 AC_ARG_VAR(LIBVA_DRIVERS_PATH, [drivers install path])
157 if test -z "$LIBVA_DRIVERS_PATH"; then
158     AC_MSG_CHECKING([for VA drivers path])
159     LIBVA_DRIVERS_PATH=`$PKG_CONFIG libva --variable driverdir`
160 fi
161 if test -z "$LIBVA_DRIVERS_PATH"; then
162     LIBVA_DRIVERS_PATH="${libdir}/xorg/modules/drivers"
163 fi
164 AC_MSG_RESULT([$LIBVA_DRIVERS_PATH])
165 AC_SUBST(LIBVA_DRIVERS_PATH)
166
167 # Check for Wayland
168 USE_WAYLAND="no"
169 if test "$enable_wayland" = "yes"; then
170     PKG_CHECK_MODULES([LIBVA_WAYLAND_DEPS], [libva-wayland >= va_api_version],
171         [
172           PKG_CHECK_MODULES([WAYLAND_CLIENT],
173              [wayland-client >= wayland_api_version],
174              [
175                 USE_WAYLAND="yes"
176                 WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
177                 AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],
178                     [USE_ WAYLAND="no"],
179                     [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
180              ], [:])
181         ], [:])
182     if test "$USE_WAYLAND" = "yes"; then
183       AC_DEFINE([HAVE_VA_WAYLAND], [1],
184         [Defined to 1 if VA/Wayland API is enabled])
185     fi
186 fi
187 AM_CONDITIONAL(USE_WAYLAND, test "$USE_WAYLAND" = "yes")
188
189 AC_OUTPUT([
190     Makefile
191     src/Makefile
192     src/shaders/Makefile
193     src/shaders/brc/Makefile
194     src/shaders/brc/bsw/Makefile
195     src/shaders/brc/skl/Makefile
196     src/shaders/brc/cnl/Makefile
197     src/shaders/h264/Makefile
198     src/shaders/h264/ildb/Makefile
199     src/shaders/h264/mc/Makefile
200     src/shaders/mpeg2/Makefile
201     src/shaders/mpeg2/vld/Makefile
202     src/shaders/post_processing/Makefile
203     src/shaders/post_processing/gen5_6/Makefile
204     src/shaders/post_processing/gen7/Makefile
205     src/shaders/post_processing/gen75/Makefile
206     src/shaders/post_processing/gen8/Makefile
207     src/shaders/post_processing/gen9/Makefile
208     src/shaders/render/Makefile
209     src/shaders/utils/Makefile
210     src/shaders/vme/Makefile
211     test/Makefile
212 ])
213
214 dnl Print summary
215 BACKENDS="drm"
216 AS_IF([test "$USE_X11" = "yes"], [BACKENDS="$BACKENDS x11"])
217 AS_IF([test "$USE_WAYLAND" = "yes"], [BACKENDS="$BACKENDS wayland"])
218
219 echo
220 echo $PACKAGE configuration summary:
221 echo
222 echo VA-API version ................... : $VA_VERSION_STR
223 echo VA-API drivers path .............. : $LIBVA_DRIVERS_PATH
224 echo Windowing systems ................ : $BACKENDS
225 echo Build tests ...................... : $enable_tests
226 echo