Edit

IABSD.fr/xenocara/lib/mesa/src/vulkan/util/meson.build

Branch :

  • Show log

    Commit

  • Author : jsg
    Date : 2025-06-05 11:23:11
    Hash : 67d6f117
    Message : Import Mesa 25.0.7

  • lib/mesa/src/vulkan/util/meson.build
  • # Copyright © 2017 Intel Corporation
    # SPDX-License-Identifier: MIT
    
    # Mesa-local imports in the Python files must be declared here for correct
    # dependency tracking.
    vk_extensions_depend_files = [
    ]
    vk_entrypoints_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_extensions_gen_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_dispatch_table_gen_depend_files = [
      files('vk_entrypoints.py'),
      vk_entrypoints_depend_files,
    ]
    vk_dispatch_trampolines_gen_depend_files = [
      files('vk_entrypoints.py'),
      vk_entrypoints_depend_files,
    ]
    vk_entrypoints_gen_depend_files = [
      files('vk_entrypoints.py'),
      vk_entrypoints_depend_files,
    ]
    vk_cmd_queue_gen_depend_files = [
      files('vk_entrypoints.py'),
      vk_entrypoints_depend_files,
    ]
    vk_physical_device_features_gen_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_physical_device_properties_gen_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_physical_device_spirv_caps_gen_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
      files('vk_physical_device_features_gen.py'),
      vk_physical_device_features_gen_depend_files,
    ]
    vk_synchronization_helpers_gen_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_enum_to_str_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    vk_struct_type_cast_depend_files = [
      files('vk_extensions.py'),
      vk_extensions_depend_files,
    ]
    
    vk_entrypoints_gen = files('vk_entrypoints_gen.py')
    vk_extensions_gen = files('vk_extensions_gen.py')
    vk_icd_gen = files('vk_icd_gen.py')
    vk_cmd_queue_gen = files('vk_cmd_queue_gen.py')
    vk_dispatch_trampolines_gen = files('vk_dispatch_trampolines_gen.py')
    vk_physical_device_features_gen = files('vk_physical_device_features_gen.py')
    vk_physical_device_properties_gen = files('vk_physical_device_properties_gen.py')
    vk_physical_device_spirv_caps_gen = files('vk_physical_device_spirv_caps_gen.py')
    vk_synchronization_helpers_gen = files('vk_synchronization_helpers_gen.py')
    
    files_vulkan_util = files(
      'vk_alloc.c',
      'vk_format.c',
      'vk_util.c',
    )
    
    vk_dispatch_table = custom_target(
      'vk_dispatch_table',
      input : ['vk_dispatch_table_gen.py', vk_api_xml],
      output : ['vk_dispatch_table.c', 'vk_dispatch_table.h'],
      command : [
        prog_python, '@INPUT0@', '--xml', '@INPUT1@',
        '--out-c', '@OUTPUT0@', '--out-h', '@OUTPUT1@',
        '--beta', with_vulkan_beta.to_string()
      ],
      depend_files : vk_dispatch_table_gen_depend_files,
    )
    
    vk_enum_to_str = custom_target(
      'vk_enum_to_str',
      input : ['gen_enum_to_str.py', vk_api_xml],
      output : ['vk_enum_to_str.c', 'vk_enum_to_str.h', 'vk_enum_defines.h'],
      command : [
        prog_python, '@INPUT0@', '--xml', '@INPUT1@',
        '--outdir', meson.current_build_dir(),
        '--beta', with_vulkan_beta.to_string()
      ],
      depend_files : vk_enum_to_str_depend_files,
    )
    
    vk_struct_type_cast = custom_target(
      'vk_struct_type_cast',
      input : ['vk_struct_type_cast_gen.py', vk_api_xml],
      output : ['vk_struct_type_cast.h'],
      command : [
        prog_python, '@INPUT0@', '--xml', '@INPUT1@',
        '--outdir', meson.current_build_dir(),
        '--beta', with_vulkan_beta.to_string()
      ],
      depend_files : vk_struct_type_cast_depend_files,
    )
    
    vk_extensions = custom_target(
      'vk_extensions',
      input : [vk_extensions_gen, vk_api_xml],
      output : ['vk_extensions.c', 'vk_extensions.h'],
      command : [
        prog_python, '@INPUT0@', '--xml', '@INPUT1@',
        '--out-c', '@OUTPUT0@', '--out-h', '@OUTPUT1@'
      ],
      depend_files : vk_extensions_gen_depend_files,
    )
    
    libvulkan_util = static_library(
      'vulkan_util',
      [files_vulkan_util, vk_dispatch_table, vk_enum_to_str,
       vk_struct_type_cast, vk_extensions],
      include_directories : [inc_include, inc_src],
      dependencies : [vulkan_wsi_deps, idep_mesautil, idep_nir_headers],
      c_args : [c_msvc_compat_args],
      gnu_symbol_visibility : 'hidden',
      build_by_default : false,
    )
    
    idep_vulkan_util_headers = declare_dependency(
      sources : [vk_dispatch_table[1], vk_enum_to_str[1],
                 vk_struct_type_cast[0], vk_extensions[1]],
      include_directories : include_directories('.')
    )
    
    idep_vulkan_util = declare_dependency(
      link_with : libvulkan_util,
      dependencies : [idep_vulkan_util_headers, idep_mesautil],
    )