17ec681f3Smrg
27ec681f3Smrgif cc.get_id() == 'gcc' and host_machine.cpu_family() != 'x86_64'
37ec681f3Smrg  vulkan_lvp_def = 'vulkan_lvp.mingw.def'
47ec681f3Smrgelse
57ec681f3Smrg  vulkan_lvp_def = 'vulkan_lvp.def'
67ec681f3Smrgendif
77ec681f3Smrg
87ec681f3Smrglibvulkan_lvp = shared_library(
97ec681f3Smrg  'vulkan_lvp',
107ec681f3Smrg  [ 'target.c' ],
117ec681f3Smrg  vs_module_defs : vulkan_lvp_def,
127ec681f3Smrg  include_directories : [ inc_src, inc_util, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_winsys, inc_gallium_drivers ],
137ec681f3Smrg  link_whole : [ liblavapipe_st ],
147ec681f3Smrg  link_with : [libpipe_loader_static, libgallium, libwsw, libswdri, libws_null, libswkmsdri ],
157ec681f3Smrg  gnu_symbol_visibility : 'hidden',
167ec681f3Smrg  link_args : [ld_args_bsymbolic, ld_args_gc_sections],
177ec681f3Smrg  dependencies : driver_swrast,
187ec681f3Smrg  name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
197ec681f3Smrg  install : true,
207ec681f3Smrg)
217ec681f3Smrg
227ec681f3Smrgicd_file_name = 'libvulkan_lvp.so'
237ec681f3Smrgmodule_dir = join_paths(get_option('prefix'), get_option('libdir'))
247ec681f3Smrgif with_platform_windows
257ec681f3Smrg  module_dir = join_paths(get_option('prefix'), get_option('bindir'))
267ec681f3Smrg  icd_file_name = 'vulkan_lvp.dll'
277ec681f3Smrgendif
287ec681f3Smrg
297ec681f3Smrglvp_icd = custom_target(
307ec681f3Smrg  'lvp_icd',
317ec681f3Smrg  input : [vk_icd_gen, vk_api_xml],
327ec681f3Smrg  output : 'lvp_icd.@0@.json'.format(host_machine.cpu()),
337ec681f3Smrg  command : [
347ec681f3Smrg    prog_python, '@INPUT0@',
357ec681f3Smrg    '--api-version', '1.1', '--xml', '@INPUT1@',
367ec681f3Smrg    '--lib-path', join_paths(module_dir, icd_file_name),
377ec681f3Smrg    '--out', '@OUTPUT@',
387ec681f3Smrg  ],
397ec681f3Smrg  build_by_default : true,
407ec681f3Smrg  install_dir : with_vulkan_icd_dir,
417ec681f3Smrg  install : true,
427ec681f3Smrg)
43