From: Dylan Baker Date: Fri, 3 Mar 2017 22:22:44 +0000 (-0800) Subject: anv: Generate anv_entrypoints header and code in one command X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8211e3e60d941ed62c4a0d22de3967a8ded7d805;p=mesa.git anv: Generate anv_entrypoints header and code in one command This produces the header and the code in one command, saving the need to call the same script twice, which parses the same XML file. Signed-off-by: Dylan Baker --- diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk index bcf145554f8..ca2785307bd 100644 --- a/src/intel/Android.vulkan.mk +++ b/src/intel/Android.vulkan.mk @@ -179,8 +179,11 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c -$(intermediates)/vulkan/anv_entrypoints.c: - $(VK_ENTRYPOINTS_SCRIPT) code $@ --xml $(MESA_TOP)/src/vulkan/registry/vk.xml +$(intermediates)/vulknan/anv_entrypoints.c: + $(VK_ENTRYPOINTS_SCRIPT) \ + --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \ + --outdir $(intermediates)/vulkan +$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/anv_entrypoints.c LOCAL_SHARED_LIBRARIES := libdrm_intel diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am index 96962861d8f..da1ee93d91c 100644 --- a/src/intel/Makefile.vulkan.am +++ b/src/intel/Makefile.vulkan.am @@ -24,11 +24,10 @@ # out and we'll fail at `make dist' vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml -vulkan/anv_entrypoints.h : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) - $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py header $@ --xml $(vulkan_api_xml) - -vulkan/anv_entrypoints.c : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) - $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py code $@ --xml $(vulkan_api_xml) +vulkan/anv_entrypoints.c: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) + $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py \ + --xml $(vulkan_api_xml) --outdir $(builddir)/vulkan +vulkan/anv_entrypoints.h: vulkan/anv_entrypoints.c BUILT_SOURCES += $(VULKAN_GENERATED_FILES) CLEANFILES += \ diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index 47dc44b55dd..895ec949986 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -354,10 +354,9 @@ def gen_code(entrypoints): def main(): parser = argparse.ArgumentParser() - parser.add_argument('target', choices=['header', 'code'], - help='Which file to generate.') - parser.add_argument('file', help='Where to write the file.') - parser.add_argument('--xml', help='Vulkan API XML file.') + parser.add_argument('--outdir', help='Where to write the files.', + required=True) + parser.add_argument('--xml', help='Vulkan API XML file.', required=True) args = parser.parse_args() doc = et.parse(args.xml) @@ -375,13 +374,11 @@ def main(): # For outputting entrypoints.h we generate a anv_EntryPoint() prototype # per entry point. - if args.target == 'header': - with open(args.file, 'wb') as f: - f.write(TEMPLATE_H.render(entrypoints=entrypoints, - filename=os.path.basename(__file__))) - else: - with open(args.file, 'wb') as f: - f.write(gen_code(entrypoints)) + with open(os.path.join(args.outdir, 'anv_entrypoints.h'), 'wb') as f: + f.write(TEMPLATE_H.render(entrypoints=entrypoints, + filename=os.path.basename(__file__))) + with open(os.path.join(args.outdir, 'anv_entrypoints.c'), 'wb') as f: + f.write(gen_code(entrypoints)) if __name__ == '__main__':