xref: /aosp_15_r20/external/mesa3d/src/gallium/targets/vdpau/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2017-2018 Intel Corporation
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Worker# TODO: support non-static targets
5*61046927SAndroid Build Coastguard Worker# Static targets are always enabled in autotools (unless you modify
6*61046927SAndroid Build Coastguard Worker# configure.ac)
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Workervdpau_link_args = []
9*61046927SAndroid Build Coastguard Workervdpau_link_depends = []
10*61046927SAndroid Build Coastguard Workervdpau_drivers = []
11*61046927SAndroid Build Coastguard Worker
12*61046927SAndroid Build Coastguard Workervdpau_sym = configure_file(input : 'vdpau.sym.in', output : 'vdpau.sym', configuration : sym_config)
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard Workerif with_ld_version_script
15*61046927SAndroid Build Coastguard Worker  vdpau_link_args += ['-Wl,--version-script', join_paths(meson.current_build_dir(), 'vdpau.sym')]
16*61046927SAndroid Build Coastguard Worker  vdpau_link_depends += vdpau_sym
17*61046927SAndroid Build Coastguard Workerendif
18*61046927SAndroid Build Coastguard Workerif with_ld_dynamic_list
19*61046927SAndroid Build Coastguard Worker  vdpau_link_args += ['-Wl,--dynamic-list', join_paths(meson.current_source_dir(), '../dri.dyn')]
20*61046927SAndroid Build Coastguard Worker  vdpau_link_depends += files('../dri.dyn')
21*61046927SAndroid Build Coastguard Workerendif
22*61046927SAndroid Build Coastguard Worker
23*61046927SAndroid Build Coastguard Workerlink_with_libvdpau_gallium = [
24*61046927SAndroid Build Coastguard Worker  libgalliumvlwinsys, libgalliumvl, libgallium,
25*61046927SAndroid Build Coastguard Worker  libpipe_loader_static, libws_null, libwsw, libswdri, libswkmsdri,
26*61046927SAndroid Build Coastguard Worker]
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard Workerif with_glx == 'xlib'
29*61046927SAndroid Build Coastguard Worker  link_with_libvdpau_gallium += [libws_xlib]
30*61046927SAndroid Build Coastguard Workerendif
31*61046927SAndroid Build Coastguard Worker
32*61046927SAndroid Build Coastguard Workerlibvdpau_gallium = shared_library(
33*61046927SAndroid Build Coastguard Worker  'vdpau_gallium',
34*61046927SAndroid Build Coastguard Worker  'vdpau_target.c',
35*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
36*61046927SAndroid Build Coastguard Worker  link_args : [vdpau_link_args, ld_args_gc_sections],
37*61046927SAndroid Build Coastguard Worker  include_directories : [
38*61046927SAndroid Build Coastguard Worker    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_util, inc_gallium_winsys, inc_gallium_drivers,
39*61046927SAndroid Build Coastguard Worker  ],
40*61046927SAndroid Build Coastguard Worker  link_whole : [libvdpau_st],
41*61046927SAndroid Build Coastguard Worker  link_with : link_with_libvdpau_gallium,
42*61046927SAndroid Build Coastguard Worker  dependencies : [
43*61046927SAndroid Build Coastguard Worker    idep_mesautil,
44*61046927SAndroid Build Coastguard Worker    driver_r600, driver_radeonsi, driver_nouveau, driver_d3d12, driver_virgl,
45*61046927SAndroid Build Coastguard Worker  ],
46*61046927SAndroid Build Coastguard Worker  link_depends : vdpau_link_depends,
47*61046927SAndroid Build Coastguard Worker  soversion : '@0@.@[email protected]'.format(VDPAU_MAJOR, VDPAU_MINOR),
48*61046927SAndroid Build Coastguard Worker  install : true,
49*61046927SAndroid Build Coastguard Worker  install_dir : vdpau_drivers_path,
50*61046927SAndroid Build Coastguard Worker  name_suffix : 'so',
51*61046927SAndroid Build Coastguard Worker)
52*61046927SAndroid Build Coastguard Workerforeach d : [[with_gallium_r600, 'r600'],
53*61046927SAndroid Build Coastguard Worker             [with_gallium_radeonsi, 'radeonsi'],
54*61046927SAndroid Build Coastguard Worker             [with_gallium_nouveau, 'nouveau'],
55*61046927SAndroid Build Coastguard Worker             [with_gallium_virgl, 'virtio_gpu'],
56*61046927SAndroid Build Coastguard Worker             [with_gallium_d3d12_video, 'd3d12']]
57*61046927SAndroid Build Coastguard Worker  if d[0]
58*61046927SAndroid Build Coastguard Worker    vdpau_drivers += 'libvdpau_@[email protected].@1@.@[email protected]'.format(d[1], VDPAU_MAJOR, VDPAU_MINOR)
59*61046927SAndroid Build Coastguard Worker  endif
60*61046927SAndroid Build Coastguard Workerendforeach
61*61046927SAndroid Build Coastguard Worker
62*61046927SAndroid Build Coastguard Workerif vdpau_drivers.length() > 0
63*61046927SAndroid Build Coastguard Worker  meson.add_install_script(
64*61046927SAndroid Build Coastguard Worker    install_megadrivers_py.full_path(),
65*61046927SAndroid Build Coastguard Worker    libvdpau_gallium.full_path(),
66*61046927SAndroid Build Coastguard Worker    vdpau_drivers_path,
67*61046927SAndroid Build Coastguard Worker    vdpau_drivers,
68*61046927SAndroid Build Coastguard Worker    install_tag : 'runtime',
69*61046927SAndroid Build Coastguard Worker  )
70*61046927SAndroid Build Coastguard Workerendif
71