OSDN Git Service

51bb1d09ffdf9564217d654d1555b02395e8cafd
[android-x86/hardware-intel-common-vaapi.git] / meson.build
1 project(
2   'intel-vaapi-driver', 'c',
3   version : '2.4.0.1',
4   meson_version : '>= 0.43.0',
5   default_options : [ 'warning_level=1',
6                       'buildtype=debugoptimized' ])
7
8 version_arr = meson.project_version().split('.')
9 intel_vaapi_driver_major_version = version_arr[0]
10 intel_vaapi_driver_minor_version = version_arr[1]
11 intel_vaapi_driver_micro_version = version_arr[2]
12 intel_vaapi_driver_version = '@0@.@1@.@2@'.format(intel_vaapi_driver_major_version,
13                                                   intel_vaapi_driver_minor_version,
14                                                   intel_vaapi_driver_micro_version)
15 if version_arr.length() == 4
16   intel_vaapi_driver_pre_version = version_arr[3]
17   intel_vaapi_driver_version = '@0@.pre@1@'.format(intel_vaapi_driver_version,
18                                                    intel_vaapi_driver_pre_version)
19 endif
20
21 cc = meson.get_compiler('c')
22 dl_dep = cc.find_library('dl')
23 mathlib_dep = cc.find_library('m', required : false)
24
25 git = find_program('git', required : false)
26
27 thread_dep = dependency('threads')
28 libdrm_dep = dependency('libdrm', version : '>= 2.4.52')
29 libdrm_intel_dep = dependency('libdrm_intel')
30
31 libva_version = '>= 1.1.0'
32 libva_dep = dependency('libva', version : libva_version,
33   fallback : [ 'libva', 'libva_dep' ])
34 if get_option ('enable_tests')
35   libva_drm_dep = dependency('libva-drm', version : libva_version,
36     fallback : [ 'libva', 'libva_drm_dep' ])
37 endif
38
39 va_api_major_version = '0'
40 va_api_minor_version = '33'
41 driverdir = get_option('driverdir')
42 if libva_dep.type_name() == 'pkgconfig'
43   if driverdir == ''
44     driverdir = libva_dep.get_pkgconfig_variable('driverdir')
45   endif
46   va_api_version_array = libva_dep.version().split('.')
47   va_api_major_version = va_api_version_array[0]
48   va_api_minor_version = va_api_version_array[1]
49 else
50   libva = subproject('libva')
51   if driverdir == ''
52     driverdir = libva.get_variable('driverdir')
53   endif
54   va_api_major_version = libva.get_variable('va_api_major_version')
55   va_api_minor_version = libva.get_variable('va_api_minor_version')
56 endif
57
58 if driverdir == ''
59   driverdir = '@0@/@1@/@2@'.format(get_option('prefix'), get_option('libdir'), 'dri')
60 endif
61
62 va_driver_init_func = '__vaDriverInit_@0@_@1@'.format(va_api_major_version,
63                                                       va_api_minor_version)
64
65 WITH_X11 = false
66 if get_option('with_x11') != 'no'
67   libva_x11_dep = dependency(
68     'libva-x11',
69     version : libva_version,
70     required : get_option('with_x11') == 'yes')
71
72   WITH_X11 = libva_x11_dep.found()
73 endif
74
75 WITH_WAYLAND = false
76 if get_option('with_wayland') != 'no'
77   wayland_client_dep = dependency(
78     'wayland-client',
79     version : '>= 1.11.0',
80     required : get_option('with_wayland') == 'yes')
81
82   if wayland_client_dep.found()
83     prefix = wayland_client_dep.get_pkgconfig_variable('prefix')
84     wl_scanner = find_program(
85       'wayland-scanner',
86       join_paths(prefix, '/bin/wayland-scanner'))
87   endif
88
89   libva_wayland_dep = dependency(
90     'libva-wayland',
91     version : libva_version,
92     required : get_option('with_wayland') == 'yes')
93
94   WITH_WAYLAND = wl_scanner.found() and libva_wayland_dep.found()
95 endif
96
97 subdir('src')
98
99 if get_option('enable_tests')
100   srcdir = include_directories('src')
101   subdir('test')
102 endif