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