OSDN Git Service

6f1a66ae1688054d94faf50d7621cda7b1600313
[android-x86/hardware-intel-common-vaapi.git] / configure.ac
1 # intel-driver package version number
2 m4_define([intel_driver_major_version], [1])
3 m4_define([intel_driver_minor_version], [6])
4 m4_define([intel_driver_micro_version], [1])
5 m4_define([intel_driver_pre_version],   [1])
6 m4_define([intel_driver_version],
7           [intel_driver_major_version.intel_driver_minor_version.intel_driver_micro_version])
8 m4_if(intel_driver_pre_version, [0], [], [
9 m4_append([intel_driver_version], intel_driver_pre_version, [.pre])
10 ])
11
12 # libva minimum version requirement
13 m4_define([va_api_version], [0.38])
14 m4_define([libva_package_version], [1.6.0])
15
16 # libdrm minimum version requirement
17 m4_define([libdrm_version], [2.4.45])
18
19 AC_PREREQ([2.57])
20 AC_INIT([intel_driver], [intel_driver_version], [haihao.xiang@intel.com],
21         [libva-intel-driver])
22 AC_CONFIG_SRCDIR([Makefile.am])
23 AM_INIT_AUTOMAKE([1.9 tar-ustar])
24
25 AC_CONFIG_HEADERS([src/config.h])
26
27 INTEL_DRIVER_MAJOR_VERSION=intel_driver_major_version
28 INTEL_DRIVER_MINOR_VERSION=intel_driver_minor_version
29 INTEL_DRIVER_MICRO_VERSION=intel_driver_micro_version
30 AC_DEFINE([INTEL_DRIVER_MAJOR_VERSION], [intel_driver_major_version], [Major version of the driver])
31 AC_DEFINE([INTEL_DRIVER_MINOR_VERSION], [intel_driver_minor_version], [Minor version of the driver])
32 AC_DEFINE([INTEL_DRIVER_MICRO_VERSION], [intel_driver_micro_version], [Micro version of the driver])
33 AC_DEFINE([INTEL_DRIVER_PRE_VERSION], [intel_driver_pre_version], [Preversion of the driver])
34
35 INTEL_DRIVER_LT_LDFLAGS="-avoid-version"
36 AC_SUBST(INTEL_DRIVER_LT_LDFLAGS)
37
38 dnl Use pretty build output with automake >= 1.11
39 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [
40     AM_DEFAULT_VERBOSITY=1
41     AC_SUBST(AM_DEFAULT_VERBOSITY)
42 ])
43
44 AC_ARG_ENABLE(drm,
45     [AC_HELP_STRING([--enable-drm],
46                     [build with VA/DRM API support @<:@default=yes@:>@])],
47     [], [enable_drm="yes"])
48
49 AC_ARG_ENABLE(x11,
50     [AC_HELP_STRING([--enable-x11],
51                     [build with VA/X11 API support @<:@default=yes@:>@])],
52     [], [enable_x11="yes"])
53
54 AC_ARG_ENABLE([wayland],
55     [AC_HELP_STRING([--enable-wayland],
56                     [build with VA/Wayland API support @<:@default=yes@:>@])],
57     [], [enable_wayland="yes"])
58
59 AC_ARG_ENABLE([wrapper],
60     [AC_HELP_STRING([--enable-wrapper],
61                     [build with hybrid_wrapper support @<:@default=no@:>@])],
62     [], [enable_wrapper="no"])
63
64 AC_DISABLE_STATIC
65 AC_PROG_LIBTOOL
66 AC_PROG_CC
67 AM_PROG_CC_C_O
68
69 AC_C_BIGENDIAN
70 AC_HEADER_STDC
71 AC_SYS_LARGEFILE
72 AC_CHECK_LIB([m], [sin])
73 AC_CHECK_FUNCS([log2f])
74 AC_CHECK_PROGS([PYTHON2], [python2 python])
75
76 LIBVA_PACKAGE_VERSION=libva_package_version
77 AC_SUBST(LIBVA_PACKAGE_VERSION)
78
79 dnl Check for recent enough DRM
80 LIBDRM_VERSION=libdrm_version
81 PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION])
82 AC_SUBST(LIBDRM_VERSION)
83
84 dnl Check for gen4asm
85 PKG_CHECK_MODULES(GEN4ASM, [intel-gen4asm >= 1.9], [gen4asm=yes], [gen4asm=no])
86 AC_PATH_PROG([GEN4ASM], [intel-gen4asm])
87 AS_IF([test "x$GEN4ASM" = "x" ], [AM_CONDITIONAL(HAVE_GEN4ASM, false)],
88     [AM_CONDITIONAL(HAVE_GEN4ASM, [test x$gen4asm = xyes])])
89
90 dnl Check for git
91 AC_ARG_VAR([GIT], [Path to git program, if any])
92 AC_PATH_PROG([GIT], [git])
93 AM_CONDITIONAL([HAVE_GIT], [test -n "$GIT"])
94
95 dnl Check for VA-API
96 PKG_CHECK_MODULES(LIBVA_DEPS,     [libva >= va_api_version])
97
98 dnl Check for VA/DRM API
99 USE_DRM="$enable_drm"
100 if test "$USE_DRM" = "yes"; then
101     PKG_CHECK_MODULES(LIBVA_DRM_DEPS, [libva-drm],
102       [AC_DEFINE([HAVE_VA_DRM], [1], [Defined to 1 if VA/DRM API is enabled])],
103       [USE_DRM="no"])
104
105     # Check for <drm_fourcc.h>
106     if test "$USE_DRM" = "yes"; then
107         saved_CPPFLAGS="$CPPFLAGS"
108         CPPFLAGS="$CPPFLAGS $DRM_CFLAGS"
109         AC_CHECK_HEADERS([drm_fourcc.h], [:], [USE_DRM="no"])
110         CPPFLAGS="$saved_CPPFLAGS"
111     fi
112 fi
113 AM_CONDITIONAL(USE_DRM, test "$USE_DRM" = "yes")
114
115 USE_WRAPPER="no"
116 if test "$enable_wrapper" = "yes"; then
117     USE_WRAPPER="yes"
118     AC_DEFINE([HAVE_USE_WRAPPER], [1], [Defined to 1 if hybrid_wrapper is needed])
119 fi
120
121 VA_VERSION=`$PKG_CONFIG --modversion libva`
122 VA_MAJOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f1`
123 VA_MINOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f2`
124 VA_MICRO_VERSION=`echo "$VA_VERSION" | cut -d'.' -f3`
125 VA_VERSION_STR="$VA_VERSION"
126
127 va_full_version_int=`expr ${VA_MAJOR_VERSION:-0} "*" 1000000 + \
128                           ${VA_MINOR_VERSION:-0} "*" 10000   + \
129                           ${VA_MICRO_VERSION:-0} "*" 100     + \
130                           0`
131 VA_DRIVER_INIT_FUNC="__vaDriverInit_${VA_MAJOR_VERSION}_${VA_MINOR_VERSION}"
132 AC_DEFINE_UNQUOTED([VA_DRIVER_INIT_FUNC], [$VA_DRIVER_INIT_FUNC],
133     [Define driver entry-point])
134
135 dnl Check for VA/DRM API
136 USE_X11="$enable_x11"
137 if test "$USE_X11" = "yes"; then
138     PKG_CHECK_MODULES(LIBVA_X11_DEPS, [libva-x11],
139       [AC_DEFINE([HAVE_VA_X11], [1], [Defined to 1 if VA/X11 API is enabled])],
140       [USE_X11="no"])
141 fi
142 AM_CONDITIONAL(USE_X11, test "$USE_X11" = "yes")
143
144 dnl Check for VA-API drivers path
145 AC_ARG_VAR(LIBVA_DRIVERS_PATH, [drivers install path])
146 if test -z "$LIBVA_DRIVERS_PATH"; then
147     AC_MSG_CHECKING([for VA drivers path])
148     LIBVA_DRIVERS_PATH=`$PKG_CONFIG libva --variable driverdir`
149 fi
150 if test -z "$LIBVA_DRIVERS_PATH"; then
151     LIBVA_DRIVERS_PATH="${libdir}/xorg/modules/drivers"
152 fi
153 AC_MSG_RESULT([$LIBVA_DRIVERS_PATH])
154 AC_SUBST(LIBVA_DRIVERS_PATH)
155
156 # Check for EGL
157 if test "$enable_wayland" = "yes"; then
158     enable_egl="yes"
159 fi
160
161 USE_EGL="no"
162 if test "$enable_egl" = "yes"; then
163     PKG_CHECK_MODULES([EGL], [egl], [USE_EGL="yes"], [USE_EGL="no"])
164     saved_CPPFLAGS="$CPPFLAGS"
165     saved_LIBS="$LIBS"
166     CPPFLAGS="$CPPFLAGS $EGL_CFLAGS"
167     LIBS="$LIBS $EGL_LIBS"
168     AC_CHECK_HEADERS([EGL/egl.h], [:], [USE_EGL="no"])
169     AC_CHECK_LIB([EGL], [eglGetDisplay], [:], [USE_EGL="no"])
170     CPPFLAGS="$saved_CPPFLAGS"
171     LIBS="$saved_LIBS"
172 fi
173 AM_CONDITIONAL(USE_EGL, test "$USE_EGL" = "yes")
174
175 # Check for Wayland
176 USE_WAYLAND="no"
177 if test "$enable_wayland" = "yes"; then
178     PKG_CHECK_MODULES([WAYLAND], [wayland-client], [USE_WAYLAND="yes"], [:])
179     PKG_CHECK_MODULES([LIBVA_WAYLAND_DEPS], [libva-wayland],
180         [AC_DEFINE([HAVE_VA_WAYLAND], [1], [Defined to 1 if VA/Wayland API is enabled])],
181         [USE_WAYLAND="no"])
182 fi
183 AM_CONDITIONAL(USE_WAYLAND, test "$USE_WAYLAND" = "yes")
184
185 m4_ifdef([WAYLAND_SCANNER_RULES],
186     [WAYLAND_SCANNER_RULES(['$(top_builddir)/src/wayland'])],
187     [wayland_scanner_rules=""; AC_SUBST(wayland_scanner_rules)])
188
189 AC_OUTPUT([
190     Makefile
191     debian.upstream/Makefile 
192     src/Makefile
193     src/shaders/Makefile
194     src/shaders/h264/Makefile
195     src/shaders/h264/ildb/Makefile
196     src/shaders/h264/mc/Makefile
197     src/shaders/mpeg2/Makefile
198     src/shaders/mpeg2/vld/Makefile
199     src/shaders/post_processing/Makefile
200     src/shaders/post_processing/gen5_6/Makefile
201     src/shaders/post_processing/gen7/Makefile
202     src/shaders/post_processing/gen75/Makefile
203     src/shaders/post_processing/gen8/Makefile
204     src/shaders/post_processing/gen9/Makefile
205     src/shaders/render/Makefile
206     src/shaders/utils/Makefile
207     src/shaders/vme/Makefile
208     src/wayland/Makefile
209 ])
210
211 dnl Print summary
212 BACKENDS=""
213 AS_IF([test "$USE_DRM" = "yes"], [BACKENDS="$BACKENDS drm"])
214 AS_IF([test "$USE_X11" = "yes"], [BACKENDS="$BACKENDS x11"])
215 AS_IF([test "$USE_WAYLAND" = "yes"], [BACKENDS="$BACKENDS wayland"])
216
217 echo
218 echo $PACKAGE configuration summary:
219 echo
220 echo VA-API version ................... : $VA_VERSION_STR
221 echo VA-API drivers path .............. : $LIBVA_DRIVERS_PATH
222 echo Windowing systems ................ : $BACKENDS
223 echo