xref: /aosp_15_r20/external/libva/va/meson.build (revision 54e60f844a168e9a219354de272cd517ee8cd4b7)
1*54e60f84SAndroid Build Coastguard Workerversion_cfg = configuration_data()
2*54e60f84SAndroid Build Coastguard Workerversion_cfg.set('VA_API_MAJOR_VERSION', va_api_major_version)
3*54e60f84SAndroid Build Coastguard Workerversion_cfg.set('VA_API_MINOR_VERSION', va_api_minor_version)
4*54e60f84SAndroid Build Coastguard Workerversion_cfg.set('VA_API_MICRO_VERSION', va_api_micro_version)
5*54e60f84SAndroid Build Coastguard Workerversion_cfg.set('VA_API_VERSION', va_api_version)
6*54e60f84SAndroid Build Coastguard Worker
7*54e60f84SAndroid Build Coastguard Workerversion_file = configure_file(
8*54e60f84SAndroid Build Coastguard Worker  input : 'va_version.h.in',
9*54e60f84SAndroid Build Coastguard Worker  output : 'va_version.h',
10*54e60f84SAndroid Build Coastguard Worker  configuration : version_cfg)
11*54e60f84SAndroid Build Coastguard Worker
12*54e60f84SAndroid Build Coastguard Workerlibva_sources = [
13*54e60f84SAndroid Build Coastguard Worker  'va.c',
14*54e60f84SAndroid Build Coastguard Worker  'va_compat.c',
15*54e60f84SAndroid Build Coastguard Worker  'va_str.c',
16*54e60f84SAndroid Build Coastguard Worker  'va_trace.c',
17*54e60f84SAndroid Build Coastguard Worker]
18*54e60f84SAndroid Build Coastguard Worker
19*54e60f84SAndroid Build Coastguard Workerlibva_headers = [
20*54e60f84SAndroid Build Coastguard Worker  'va.h',
21*54e60f84SAndroid Build Coastguard Worker  'va_backend.h',
22*54e60f84SAndroid Build Coastguard Worker  'va_backend_prot.h',
23*54e60f84SAndroid Build Coastguard Worker  'va_backend_vpp.h',
24*54e60f84SAndroid Build Coastguard Worker  'va_compat.h',
25*54e60f84SAndroid Build Coastguard Worker  'va_dec_hevc.h',
26*54e60f84SAndroid Build Coastguard Worker  'va_dec_jpeg.h',
27*54e60f84SAndroid Build Coastguard Worker  'va_dec_vp8.h',
28*54e60f84SAndroid Build Coastguard Worker  'va_dec_vp9.h',
29*54e60f84SAndroid Build Coastguard Worker  'va_dec_av1.h',
30*54e60f84SAndroid Build Coastguard Worker  'va_dec_vvc.h',
31*54e60f84SAndroid Build Coastguard Worker  'va_drmcommon.h',
32*54e60f84SAndroid Build Coastguard Worker  'va_egl.h',
33*54e60f84SAndroid Build Coastguard Worker  'va_enc_hevc.h',
34*54e60f84SAndroid Build Coastguard Worker  'va_enc_h264.h',
35*54e60f84SAndroid Build Coastguard Worker  'va_enc_jpeg.h',
36*54e60f84SAndroid Build Coastguard Worker  'va_enc_vp8.h',
37*54e60f84SAndroid Build Coastguard Worker  'va_fei.h',
38*54e60f84SAndroid Build Coastguard Worker  'va_fei_h264.h',
39*54e60f84SAndroid Build Coastguard Worker  'va_fei_hevc.h',
40*54e60f84SAndroid Build Coastguard Worker  'va_enc_mpeg2.h',
41*54e60f84SAndroid Build Coastguard Worker  'va_enc_vp9.h',
42*54e60f84SAndroid Build Coastguard Worker  'va_enc_av1.h',
43*54e60f84SAndroid Build Coastguard Worker  'va_str.h',
44*54e60f84SAndroid Build Coastguard Worker  'va_tpi.h',
45*54e60f84SAndroid Build Coastguard Worker  'va_prot.h',
46*54e60f84SAndroid Build Coastguard Worker  'va_vpp.h',
47*54e60f84SAndroid Build Coastguard Worker  version_file,
48*54e60f84SAndroid Build Coastguard Worker]
49*54e60f84SAndroid Build Coastguard Worker
50*54e60f84SAndroid Build Coastguard Worker# headers that have be copied for subprojects
51*54e60f84SAndroid Build Coastguard Workerlibva_headers_subproject = []
52*54e60f84SAndroid Build Coastguard Worker
53*54e60f84SAndroid Build Coastguard Workerlibva_headers_priv = [
54*54e60f84SAndroid Build Coastguard Worker  'sysdeps.h',
55*54e60f84SAndroid Build Coastguard Worker  'va_internal.h',
56*54e60f84SAndroid Build Coastguard Worker  'va_trace.h',
57*54e60f84SAndroid Build Coastguard Worker]
58*54e60f84SAndroid Build Coastguard Worker
59*54e60f84SAndroid Build Coastguard Workerlibva_sym = 'libva.syms'
60*54e60f84SAndroid Build Coastguard Workerlibva_sym_arg = '-Wl,-version-script,' + '@0@/@1@'.format(meson.current_source_dir(), libva_sym)
61*54e60f84SAndroid Build Coastguard Worker
62*54e60f84SAndroid Build Coastguard Workerlibva_link_args = []
63*54e60f84SAndroid Build Coastguard Workerlibva_link_depends = []
64*54e60f84SAndroid Build Coastguard Workerif cc.links('void vaCreateSurfaces_0_32_0(void) {} void vaCreateSurfaces() {}', name: '-Wl,--version-script', args: ['-shared', libva_sym_arg])
65*54e60f84SAndroid Build Coastguard Worker  libva_link_args = libva_sym_arg
66*54e60f84SAndroid Build Coastguard Worker  libva_link_depends = libva_sym
67*54e60f84SAndroid Build Coastguard Workerendif
68*54e60f84SAndroid Build Coastguard Worker
69*54e60f84SAndroid Build Coastguard Workerinstall_headers(libva_headers, subdir : 'va')
70*54e60f84SAndroid Build Coastguard Worker
71*54e60f84SAndroid Build Coastguard Workerlibva = shared_library(
72*54e60f84SAndroid Build Coastguard Worker  'va',
73*54e60f84SAndroid Build Coastguard Worker  sources : libva_sources +
74*54e60f84SAndroid Build Coastguard Worker            libva_headers +
75*54e60f84SAndroid Build Coastguard Worker            libva_headers_priv,
76*54e60f84SAndroid Build Coastguard Worker  vs_module_defs : 'libva.def',
77*54e60f84SAndroid Build Coastguard Worker  soversion : host_machine.system() == 'windows' ? '' : libva_lt_current,
78*54e60f84SAndroid Build Coastguard Worker  version : libva_lt_version,
79*54e60f84SAndroid Build Coastguard Worker  c_args : [ '-DSYSCONFDIR="' + sysconfdir + '"'] + ['-DVA_DRIVERS_PATH="' + driverdir + '"'],
80*54e60f84SAndroid Build Coastguard Worker  include_directories : configinc,
81*54e60f84SAndroid Build Coastguard Worker  link_args : libva_link_args,
82*54e60f84SAndroid Build Coastguard Worker  link_depends : libva_link_depends,
83*54e60f84SAndroid Build Coastguard Worker  install : true,
84*54e60f84SAndroid Build Coastguard Worker  dependencies : [ dl_dep ])
85*54e60f84SAndroid Build Coastguard Worker
86*54e60f84SAndroid Build Coastguard Workerlibva_dep = declare_dependency(
87*54e60f84SAndroid Build Coastguard Worker  link_with : libva,
88*54e60f84SAndroid Build Coastguard Worker  include_directories : configinc,
89*54e60f84SAndroid Build Coastguard Worker  dependencies : [ dl_dep ])
90*54e60f84SAndroid Build Coastguard Worker
91*54e60f84SAndroid Build Coastguard Workerif WITH_DRM
92*54e60f84SAndroid Build Coastguard Worker  libva_drm_sources = [
93*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm.c',
94*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_auth.c',
95*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_utils.c',
96*54e60f84SAndroid Build Coastguard Worker  ]
97*54e60f84SAndroid Build Coastguard Worker
98*54e60f84SAndroid Build Coastguard Worker  libva_drm_headers = [
99*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm.h',
100*54e60f84SAndroid Build Coastguard Worker  ]
101*54e60f84SAndroid Build Coastguard Worker
102*54e60f84SAndroid Build Coastguard Worker  libva_headers_subproject += libva_drm_headers
103*54e60f84SAndroid Build Coastguard Worker
104*54e60f84SAndroid Build Coastguard Worker  libva_drm_headers_priv = [
105*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_auth.h',
106*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_auth_x11.h',
107*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_utils.h',
108*54e60f84SAndroid Build Coastguard Worker  ]
109*54e60f84SAndroid Build Coastguard Worker
110*54e60f84SAndroid Build Coastguard Worker  deps = [ libdrm_dep ]
111*54e60f84SAndroid Build Coastguard Worker
112*54e60f84SAndroid Build Coastguard Worker  libva_drm_args = []
113*54e60f84SAndroid Build Coastguard Worker  if WITH_X11
114*54e60f84SAndroid Build Coastguard Worker    libva_drm_sources += [ 'drm/va_drm_auth_x11.c' ]
115*54e60f84SAndroid Build Coastguard Worker    libva_drm_args += [
116*54e60f84SAndroid Build Coastguard Worker      '-DHAVE_VA_X11',
117*54e60f84SAndroid Build Coastguard Worker      '-DLIBVA_MAJOR_VERSION=@0@'.format(libva_major_version)
118*54e60f84SAndroid Build Coastguard Worker    ]
119*54e60f84SAndroid Build Coastguard Worker    deps += [ x11_dep ]
120*54e60f84SAndroid Build Coastguard Worker  endif
121*54e60f84SAndroid Build Coastguard Worker
122*54e60f84SAndroid Build Coastguard Worker  install_headers(libva_drm_headers, subdir : 'va')
123*54e60f84SAndroid Build Coastguard Worker
124*54e60f84SAndroid Build Coastguard Worker  libva_drm = shared_library(
125*54e60f84SAndroid Build Coastguard Worker    'va-drm',
126*54e60f84SAndroid Build Coastguard Worker    sources : libva_drm_sources +
127*54e60f84SAndroid Build Coastguard Worker              libva_drm_headers +
128*54e60f84SAndroid Build Coastguard Worker              libva_drm_headers_priv,
129*54e60f84SAndroid Build Coastguard Worker    soversion : libva_lt_current,
130*54e60f84SAndroid Build Coastguard Worker    version : libva_lt_version,
131*54e60f84SAndroid Build Coastguard Worker    install : true,
132*54e60f84SAndroid Build Coastguard Worker    c_args : libva_drm_args,
133*54e60f84SAndroid Build Coastguard Worker    dependencies : deps + [ libva_dep ])
134*54e60f84SAndroid Build Coastguard Worker
135*54e60f84SAndroid Build Coastguard Worker  libva_drm_dep = declare_dependency(
136*54e60f84SAndroid Build Coastguard Worker    link_with : libva_drm,
137*54e60f84SAndroid Build Coastguard Worker    include_directories : configinc,
138*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
139*54e60f84SAndroid Build Coastguard Workerendif
140*54e60f84SAndroid Build Coastguard Worker
141*54e60f84SAndroid Build Coastguard Workerif WITH_X11
142*54e60f84SAndroid Build Coastguard Worker  libva_x11_sources = [
143*54e60f84SAndroid Build Coastguard Worker    'x11/dri2_util.c',
144*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri2.c',
145*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri3.c',
146*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_utils.c',
147*54e60f84SAndroid Build Coastguard Worker    'x11/va_dricommon.c',
148*54e60f84SAndroid Build Coastguard Worker    'x11/va_fglrx.c',
149*54e60f84SAndroid Build Coastguard Worker    'x11/va_nvctrl.c',
150*54e60f84SAndroid Build Coastguard Worker    'x11/va_x11.c',
151*54e60f84SAndroid Build Coastguard Worker  ]
152*54e60f84SAndroid Build Coastguard Worker
153*54e60f84SAndroid Build Coastguard Worker  libva_dri_headers = [
154*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri2.h',
155*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri3.h',
156*54e60f84SAndroid Build Coastguard Worker    'x11/va_dricommon.h',
157*54e60f84SAndroid Build Coastguard Worker  ]
158*54e60f84SAndroid Build Coastguard Worker
159*54e60f84SAndroid Build Coastguard Worker  libva_x11_headers = ['va_x11.h'] + libva_dri_headers + ['va_trace.h']
160*54e60f84SAndroid Build Coastguard Worker
161*54e60f84SAndroid Build Coastguard Worker  libva_headers_subproject += libva_dri_headers
162*54e60f84SAndroid Build Coastguard Worker
163*54e60f84SAndroid Build Coastguard Worker  libva_x11_headers_priv = [
164*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri2str.h',
165*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri2tokens.h',
166*54e60f84SAndroid Build Coastguard Worker    'x11/va_dri3.h',
167*54e60f84SAndroid Build Coastguard Worker    'x11/va_fglrx.h',
168*54e60f84SAndroid Build Coastguard Worker    'x11/va_nvctrl.h',
169*54e60f84SAndroid Build Coastguard Worker  ]
170*54e60f84SAndroid Build Coastguard Worker
171*54e60f84SAndroid Build Coastguard Worker  install_headers(libva_x11_headers, subdir : 'va')
172*54e60f84SAndroid Build Coastguard Worker
173*54e60f84SAndroid Build Coastguard Worker  deps = [ libdrm_dep, x11_dep, xext_dep, xfixes_dep, x11_xcb_dep, xcb_dep, xcb_dri3_dep, libva_dep ]
174*54e60f84SAndroid Build Coastguard Worker
175*54e60f84SAndroid Build Coastguard Worker  libva_x11 = shared_library(
176*54e60f84SAndroid Build Coastguard Worker    'va-x11',
177*54e60f84SAndroid Build Coastguard Worker    sources : libva_x11_sources +
178*54e60f84SAndroid Build Coastguard Worker              libva_x11_headers +
179*54e60f84SAndroid Build Coastguard Worker              libva_x11_headers_priv,
180*54e60f84SAndroid Build Coastguard Worker    soversion : libva_lt_current,
181*54e60f84SAndroid Build Coastguard Worker    version : libva_lt_version,
182*54e60f84SAndroid Build Coastguard Worker    install : true,
183*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
184*54e60f84SAndroid Build Coastguard Worker
185*54e60f84SAndroid Build Coastguard Worker  libva_x11_dep = declare_dependency(
186*54e60f84SAndroid Build Coastguard Worker    link_with : libva_x11,
187*54e60f84SAndroid Build Coastguard Worker    include_directories : configinc,
188*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
189*54e60f84SAndroid Build Coastguard Workerendif
190*54e60f84SAndroid Build Coastguard Worker
191*54e60f84SAndroid Build Coastguard Workerif WITH_GLX
192*54e60f84SAndroid Build Coastguard Worker  libva_glx_sources = [
193*54e60f84SAndroid Build Coastguard Worker    'glx/va_glx.c',
194*54e60f84SAndroid Build Coastguard Worker    'glx/va_glx_impl.c',
195*54e60f84SAndroid Build Coastguard Worker  ]
196*54e60f84SAndroid Build Coastguard Worker
197*54e60f84SAndroid Build Coastguard Worker  libva_glx_headers = [
198*54e60f84SAndroid Build Coastguard Worker    'glx/va_backend_glx.h',
199*54e60f84SAndroid Build Coastguard Worker    'glx/va_glx.h',
200*54e60f84SAndroid Build Coastguard Worker  ]
201*54e60f84SAndroid Build Coastguard Worker
202*54e60f84SAndroid Build Coastguard Worker  libva_headers_subproject += libva_glx_headers
203*54e60f84SAndroid Build Coastguard Worker
204*54e60f84SAndroid Build Coastguard Worker  libva_glx_headers_priv = [
205*54e60f84SAndroid Build Coastguard Worker    'glx/va_glx_impl.h',
206*54e60f84SAndroid Build Coastguard Worker    'glx/va_glx_private.h',
207*54e60f84SAndroid Build Coastguard Worker  ]
208*54e60f84SAndroid Build Coastguard Worker
209*54e60f84SAndroid Build Coastguard Worker  install_headers(libva_glx_headers, subdir : 'va')
210*54e60f84SAndroid Build Coastguard Worker
211*54e60f84SAndroid Build Coastguard Worker  deps = [ gl_dep, libva_x11_dep ]
212*54e60f84SAndroid Build Coastguard Worker
213*54e60f84SAndroid Build Coastguard Worker  libva_glx = shared_library(
214*54e60f84SAndroid Build Coastguard Worker    'va-glx',
215*54e60f84SAndroid Build Coastguard Worker    sources : libva_glx_sources +
216*54e60f84SAndroid Build Coastguard Worker              libva_glx_headers +
217*54e60f84SAndroid Build Coastguard Worker              libva_glx_headers_priv,
218*54e60f84SAndroid Build Coastguard Worker    soversion : libva_lt_current,
219*54e60f84SAndroid Build Coastguard Worker    version : libva_lt_version,
220*54e60f84SAndroid Build Coastguard Worker    install : true,
221*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
222*54e60f84SAndroid Build Coastguard Worker
223*54e60f84SAndroid Build Coastguard Worker  libva_glx_dep = declare_dependency(
224*54e60f84SAndroid Build Coastguard Worker    link_with : libva_glx,
225*54e60f84SAndroid Build Coastguard Worker    include_directories : configinc,
226*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
227*54e60f84SAndroid Build Coastguard Workerendif
228*54e60f84SAndroid Build Coastguard Worker
229*54e60f84SAndroid Build Coastguard Workerif WITH_WAYLAND
230*54e60f84SAndroid Build Coastguard Worker  libva_wayland_sources = [
231*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland.c',
232*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_linux_dmabuf.c',
233*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_drm.c',
234*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_emgd.c',
235*54e60f84SAndroid Build Coastguard Worker    'drm/va_drm_utils.c',
236*54e60f84SAndroid Build Coastguard Worker  ]
237*54e60f84SAndroid Build Coastguard Worker
238*54e60f84SAndroid Build Coastguard Worker  libva_wayland_headers = [
239*54e60f84SAndroid Build Coastguard Worker    'wayland/va_backend_wayland.h',
240*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland.h',
241*54e60f84SAndroid Build Coastguard Worker  ]
242*54e60f84SAndroid Build Coastguard Worker
243*54e60f84SAndroid Build Coastguard Worker  libva_headers_subproject += libva_wayland_headers
244*54e60f84SAndroid Build Coastguard Worker
245*54e60f84SAndroid Build Coastguard Worker  libva_wayland_headers_priv = [
246*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_linux_dmabuf.h',
247*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_drm.h',
248*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_emgd.h',
249*54e60f84SAndroid Build Coastguard Worker    'wayland/va_wayland_private.h',
250*54e60f84SAndroid Build Coastguard Worker  ]
251*54e60f84SAndroid Build Coastguard Worker
252*54e60f84SAndroid Build Coastguard Worker  # XXX: grab linux-dmabuf-v1.xml from wayland-protocols
253*54e60f84SAndroid Build Coastguard Worker  protocols = {
254*54e60f84SAndroid Build Coastguard Worker    'wayland-drm': 'wayland/wayland-drm.xml',
255*54e60f84SAndroid Build Coastguard Worker    'linux-dmabuf-v1': 'wayland/linux-dmabuf-v1.xml',
256*54e60f84SAndroid Build Coastguard Worker  }
257*54e60f84SAndroid Build Coastguard Worker
258*54e60f84SAndroid Build Coastguard Worker  protocol_files = []
259*54e60f84SAndroid Build Coastguard Worker  foreach name, xml : protocols
260*54e60f84SAndroid Build Coastguard Worker    protocol_files += custom_target(
261*54e60f84SAndroid Build Coastguard Worker      name + '-client-protocol.c',
262*54e60f84SAndroid Build Coastguard Worker      output : name + '-client-protocol.c',
263*54e60f84SAndroid Build Coastguard Worker      input : xml,
264*54e60f84SAndroid Build Coastguard Worker      command : [wl_scanner, 'private-code', '@INPUT@', '@OUTPUT@'])
265*54e60f84SAndroid Build Coastguard Worker    protocol_files += custom_target(
266*54e60f84SAndroid Build Coastguard Worker      name + '-client-protocol.h',
267*54e60f84SAndroid Build Coastguard Worker      output : name + '-client-protocol.h',
268*54e60f84SAndroid Build Coastguard Worker      input : xml,
269*54e60f84SAndroid Build Coastguard Worker      command : [wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'])
270*54e60f84SAndroid Build Coastguard Worker  endforeach
271*54e60f84SAndroid Build Coastguard Worker
272*54e60f84SAndroid Build Coastguard Worker  install_headers(libva_wayland_headers, subdir : 'va')
273*54e60f84SAndroid Build Coastguard Worker
274*54e60f84SAndroid Build Coastguard Worker  deps = [ libdrm_dep, wayland_dep, libva_dep ]
275*54e60f84SAndroid Build Coastguard Worker
276*54e60f84SAndroid Build Coastguard Worker  libva_wayland = shared_library(
277*54e60f84SAndroid Build Coastguard Worker    'va-wayland',
278*54e60f84SAndroid Build Coastguard Worker    sources : libva_wayland_sources +
279*54e60f84SAndroid Build Coastguard Worker              libva_wayland_headers +
280*54e60f84SAndroid Build Coastguard Worker              libva_wayland_headers_priv +
281*54e60f84SAndroid Build Coastguard Worker              protocol_files,
282*54e60f84SAndroid Build Coastguard Worker    soversion : libva_lt_current,
283*54e60f84SAndroid Build Coastguard Worker    version : libva_lt_version,
284*54e60f84SAndroid Build Coastguard Worker    install : true,
285*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
286*54e60f84SAndroid Build Coastguard Worker
287*54e60f84SAndroid Build Coastguard Worker  libva_wayland_dep = declare_dependency(
288*54e60f84SAndroid Build Coastguard Worker    link_with : libva_wayland,
289*54e60f84SAndroid Build Coastguard Worker    include_directories : configinc,
290*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
291*54e60f84SAndroid Build Coastguard Workerendif
292*54e60f84SAndroid Build Coastguard Worker
293*54e60f84SAndroid Build Coastguard Workerfs = import('fs')
294*54e60f84SAndroid Build Coastguard Workerif WITH_WIN32
295*54e60f84SAndroid Build Coastguard Worker  libva_win32_sources = [
296*54e60f84SAndroid Build Coastguard Worker    'win32/va_win32.c',
297*54e60f84SAndroid Build Coastguard Worker  ]
298*54e60f84SAndroid Build Coastguard Worker
299*54e60f84SAndroid Build Coastguard Worker  libva_win32_headers = [
300*54e60f84SAndroid Build Coastguard Worker    'win32/va_win32.h',
301*54e60f84SAndroid Build Coastguard Worker  ]
302*54e60f84SAndroid Build Coastguard Worker
303*54e60f84SAndroid Build Coastguard Worker  libva_headers_subproject += libva_win32_headers
304*54e60f84SAndroid Build Coastguard Worker
305*54e60f84SAndroid Build Coastguard Worker  deps = [ libwin32_dep, libva_dep ]
306*54e60f84SAndroid Build Coastguard Worker
307*54e60f84SAndroid Build Coastguard Worker  libva_win32_args = [
308*54e60f84SAndroid Build Coastguard Worker    '-DLIBVA_MAJOR_VERSION=@0@'.format(libva_major_version)
309*54e60f84SAndroid Build Coastguard Worker  ]
310*54e60f84SAndroid Build Coastguard Worker
311*54e60f84SAndroid Build Coastguard Worker  install_headers(libva_win32_headers, subdir : 'va')
312*54e60f84SAndroid Build Coastguard Worker
313*54e60f84SAndroid Build Coastguard Worker  libva_win32 = shared_library(
314*54e60f84SAndroid Build Coastguard Worker    'va_win32',
315*54e60f84SAndroid Build Coastguard Worker    sources : libva_win32_sources +
316*54e60f84SAndroid Build Coastguard Worker              libva_win32_headers,
317*54e60f84SAndroid Build Coastguard Worker    soversion : host_machine.system() == 'windows' ? '' : libva_lt_current,
318*54e60f84SAndroid Build Coastguard Worker    version : libva_lt_version,
319*54e60f84SAndroid Build Coastguard Worker    install : true,
320*54e60f84SAndroid Build Coastguard Worker    c_args : libva_win32_args,
321*54e60f84SAndroid Build Coastguard Worker    vs_module_defs : 'libva_win32.def',
322*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
323*54e60f84SAndroid Build Coastguard Worker
324*54e60f84SAndroid Build Coastguard Worker  libva_win32_dep = declare_dependency(
325*54e60f84SAndroid Build Coastguard Worker    link_with : libva_win32,
326*54e60f84SAndroid Build Coastguard Worker    include_directories : configinc,
327*54e60f84SAndroid Build Coastguard Worker    dependencies : deps)
328*54e60f84SAndroid Build Coastguard Workerendif
329*54e60f84SAndroid Build Coastguard Worker
330*54e60f84SAndroid Build Coastguard Workerforeach header : libva_headers_subproject
331*54e60f84SAndroid Build Coastguard Worker  if meson.version().version_compare('>= 0.64')
332*54e60f84SAndroid Build Coastguard Worker    fs.copyfile(header)
333*54e60f84SAndroid Build Coastguard Worker  else
334*54e60f84SAndroid Build Coastguard Worker    configure_file(output: fs.name(header), input: header, copy: true)
335*54e60f84SAndroid Build Coastguard Worker  endif
336*54e60f84SAndroid Build Coastguard Workerendforeach
337