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