1 2if cc.get_id() == 'gcc' and host_machine.cpu_family() != 'x86_64' 3 vulkan_lvp_def = 'vulkan_lvp.mingw.def' 4else 5 vulkan_lvp_def = 'vulkan_lvp.def' 6endif 7 8libvulkan_lvp = shared_library( 9 'vulkan_lvp', 10 [ 'target.c' ], 11 vs_module_defs : vulkan_lvp_def, 12 include_directories : [ inc_src, inc_util, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_winsys, inc_gallium_drivers ], 13 link_whole : [ liblavapipe_st ], 14 link_with : [libpipe_loader_static, libgallium, libwsw, libswdri, libws_null, libswkmsdri ], 15 gnu_symbol_visibility : 'hidden', 16 link_args : [ld_args_bsymbolic, ld_args_gc_sections], 17 dependencies : driver_swrast, 18 name_prefix : host_machine.system() == 'windows' ? '' : 'lib', 19 install : true, 20) 21 22icd_file_name = 'libvulkan_lvp.so' 23module_dir = join_paths(get_option('prefix'), get_option('libdir')) 24if with_platform_windows 25 module_dir = join_paths(get_option('prefix'), get_option('bindir')) 26 icd_file_name = 'vulkan_lvp.dll' 27endif 28 29lvp_icd = custom_target( 30 'lvp_icd', 31 input : [vk_icd_gen, vk_api_xml], 32 output : 'lvp_icd.@0@.json'.format(host_machine.cpu()), 33 command : [ 34 prog_python, '@INPUT0@', 35 '--api-version', '1.1', '--xml', '@INPUT1@', 36 '--lib-path', join_paths(module_dir, icd_file_name), 37 '--out', '@OUTPUT@', 38 ], 39 build_by_default : true, 40 install_dir : with_vulkan_icd_dir, 41 install : true, 42) 43