1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Dylan Baker 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workerinc_st_dri = include_directories('.') 5*61046927SAndroid Build Coastguard Workerdeps_for_libdri = [] 6*61046927SAndroid Build Coastguard Worker 7*61046927SAndroid Build Coastguard Workerfiles_libdri = files( 8*61046927SAndroid Build Coastguard Worker 'dri_context.c', 9*61046927SAndroid Build Coastguard Worker 'dri_context.h', 10*61046927SAndroid Build Coastguard Worker 'dri_drawable.c', 11*61046927SAndroid Build Coastguard Worker 'dri_drawable.h', 12*61046927SAndroid Build Coastguard Worker 'dri_helpers.c', 13*61046927SAndroid Build Coastguard Worker 'dri_helpers.h', 14*61046927SAndroid Build Coastguard Worker 'dri_query_renderer.c', 15*61046927SAndroid Build Coastguard Worker 'dri_query_renderer.h', 16*61046927SAndroid Build Coastguard Worker 'dri_screen.c', 17*61046927SAndroid Build Coastguard Worker 'dri_screen.h', 18*61046927SAndroid Build Coastguard Worker 'dri_util.c', 19*61046927SAndroid Build Coastguard Worker 'dri_util.h', 20*61046927SAndroid Build Coastguard Worker) 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Workerif with_platform_x11 23*61046927SAndroid Build Coastguard Worker deps_for_libdri += dep_xcb 24*61046927SAndroid Build Coastguard Worker if with_dri_platform == 'drm' 25*61046927SAndroid Build Coastguard Worker deps_for_libdri += [dep_xcb_dri3, dep_xcb_present, dep_xcb_sync, 26*61046927SAndroid Build Coastguard Worker dep_xshmfence, dep_xcb_xfixes] 27*61046927SAndroid Build Coastguard Worker files_libdri += files('loader_dri3_helper.c') 28*61046927SAndroid Build Coastguard Worker endif 29*61046927SAndroid Build Coastguard Workerendif 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Workerif with_dri 32*61046927SAndroid Build Coastguard Worker files_libdri += files('drisw.c') 33*61046927SAndroid Build Coastguard Workerendif 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard Workerif with_dri2 36*61046927SAndroid Build Coastguard Worker files_libdri += files('dri2.c') 37*61046927SAndroid Build Coastguard Workerendif 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Workerlibdri_c_args = [] 40*61046927SAndroid Build Coastguard Workerif with_gallium_zink and not with_platform_android 41*61046927SAndroid Build Coastguard Worker if with_glvnd 42*61046927SAndroid Build Coastguard Worker libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL_@0@ and libGLX_@0@"'.format(glvnd_vendor_name) 43*61046927SAndroid Build Coastguard Worker else 44*61046927SAndroid Build Coastguard Worker libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL and libGLX"' 45*61046927SAndroid Build Coastguard Worker endif 46*61046927SAndroid Build Coastguard Worker files_libdri += files('kopper.c') 47*61046927SAndroid Build Coastguard Worker deps_for_libdri += vulkan_wsi_deps 48*61046927SAndroid Build Coastguard Workerelse 49*61046927SAndroid Build Coastguard Worker files_libdri += files('kopper_stubs.c') 50*61046927SAndroid Build Coastguard Workerendif 51*61046927SAndroid Build Coastguard Worker 52*61046927SAndroid Build Coastguard Workerlibdri = static_library( 53*61046927SAndroid Build Coastguard Worker 'dri', 54*61046927SAndroid Build Coastguard Worker [ files_libdri, sha1_h ], 55*61046927SAndroid Build Coastguard Worker include_directories : [ 56*61046927SAndroid Build Coastguard Worker inc_include, inc_util, inc_mesa, inc_mapi, inc_src, inc_gallium, 57*61046927SAndroid Build Coastguard Worker inc_gallium_aux, inc_util, inc_gallium_drivers, inc_loader, 58*61046927SAndroid Build Coastguard Worker ], 59*61046927SAndroid Build Coastguard Worker c_args : [libdri_c_args], 60*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 61*61046927SAndroid Build Coastguard Worker dependencies : [ 62*61046927SAndroid Build Coastguard Worker dep_libdrm, 63*61046927SAndroid Build Coastguard Worker idep_mesautil, 64*61046927SAndroid Build Coastguard Worker deps_for_libdri, 65*61046927SAndroid Build Coastguard Worker ], 66*61046927SAndroid Build Coastguard Worker link_with : [libloader], 67*61046927SAndroid Build Coastguard Worker) 68*61046927SAndroid Build Coastguard Worker 69*61046927SAndroid Build Coastguard Workerif with_dri 70*61046927SAndroid Build Coastguard Worker dri_req_private = [] 71*61046927SAndroid Build Coastguard Worker if dep_libdrm.found() 72*61046927SAndroid Build Coastguard Worker dri_req_private = ['libdrm >= @0@'.format(_drm_ver)] 73*61046927SAndroid Build Coastguard Worker endif 74*61046927SAndroid Build Coastguard Worker 75*61046927SAndroid Build Coastguard Worker pkg.generate( 76*61046927SAndroid Build Coastguard Worker name : 'dri', 77*61046927SAndroid Build Coastguard Worker filebase : 'dri', 78*61046927SAndroid Build Coastguard Worker description : 'Direct Rendering Infrastructure', 79*61046927SAndroid Build Coastguard Worker version : meson.project_version(), 80*61046927SAndroid Build Coastguard Worker variables : ['dridriverdir=@0@'.format(dri_drivers_path)], 81*61046927SAndroid Build Coastguard Worker requires_private : dri_req_private, 82*61046927SAndroid Build Coastguard Worker ) 83*61046927SAndroid Build Coastguard Workerendif 84