vulkan: provide vk.xml as argument to the python generator
Do not hardcode the file in the python script, but pass it via the build system(s). The latter is the only one that should know about the file location/tree structure. Cc: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
This commit is contained in:
committed by
Emil Velikov
parent
14281c9035
commit
ca7d2025a7
@@ -45,7 +45,7 @@ vulkan_api_xml = $(MESA_TOP)/src/vulkan/registry/vk.xml
|
||||
$(LOCAL_GENERATED_SOURCES): $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py $(vulkan_api_xml)
|
||||
@echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) $(MESA_PYTHON2) $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py --outdir $(intermediates)/util
|
||||
$(hide) $(MESA_PYTHON2) $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py --xml $(vulkan_api_xml) --outdir $(intermediates)/util
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := \
|
||||
$(intermediates)
|
||||
|
||||
@@ -16,7 +16,7 @@ BUILT_SOURCES = \
|
||||
|
||||
util/vk_enum_to_str.c util/vk_enum_to_str.h: util/gen_enum_to_str.py $(vulkan_api_xml)
|
||||
$(MKDIR_GEN)
|
||||
$(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py --outdir $(top_builddir)/src/vulkan/util
|
||||
$(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py --xml $(vulkan_api_xml) --outdir $(top_builddir)/src/vulkan/util
|
||||
|
||||
libvulkan_util_la_SOURCES = $(VULKAN_UTIL_GENERATED_FILES)
|
||||
|
||||
|
||||
@@ -29,8 +29,6 @@ import xml.etree.cElementTree as et
|
||||
|
||||
from mako.template import Template
|
||||
|
||||
VK_XML = os.path.join(os.path.dirname(__file__), '..', 'registry', 'vk.xml')
|
||||
|
||||
COPYRIGHT = textwrap.dedent(u"""\
|
||||
* Copyright © 2017 Intel Corporation
|
||||
*
|
||||
@@ -160,13 +158,14 @@ def xml_parser(filename):
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--xml', help='Vulkan API XML file.', required=True)
|
||||
parser.add_argument('--outdir',
|
||||
help='Directory to put the generated files in',
|
||||
required=True)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
enums = xml_parser(VK_XML)
|
||||
enums = xml_parser(args.xml)
|
||||
for template, file_ in [(C_TEMPLATE, os.path.join(args.outdir, 'vk_enum_to_str.c')),
|
||||
(H_TEMPLATE, os.path.join(args.outdir, 'vk_enum_to_str.h'))]:
|
||||
with open(file_, 'wb') as f:
|
||||
|
||||
Reference in New Issue
Block a user