anv: Import mako templates only during execution of anv_extensions

anv_extensions usage from anv_icd was bringing the unwanted dependency
of mako templates for the latter. We don't want that since it will
force the dependency even for distributable tarballs which was not
needed until now.

Jason suggested this approach.

v2: Patch simplification (Jason).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104551
Fixes: 0ab04ba979 ("anv: Use python to generate ICD json files")
Cc: Jason Ekstrand <jason.ekstrand@intel.com>
Cc: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Andres Gomez 2018-01-10 23:11:51 +02:00
parent f2c0e47d9c
commit a1901d092c

View file

@ -29,8 +29,6 @@ import copy
import re
import xml.etree.cElementTree as et
from mako.template import Template
MAX_API_VERSION = '1.0.57'
class Extension:
@ -160,7 +158,7 @@ def _init_exts_from_xml(xml):
ext = ext_name_map[ext_name]
ext.type = ext_elem.attrib['type']
_TEMPLATE = Template(COPYRIGHT + """
_TEMPLATE = COPYRIGHT + """
#include "anv_private.h"
#include "vk_util.h"
@ -258,7 +256,7 @@ VkResult anv_EnumerateDeviceExtensionProperties(
return vk_outarray_status(&out);
}
""")
"""
if __name__ == '__main__':
parser = argparse.ArgumentParser()
@ -282,5 +280,7 @@ if __name__ == '__main__':
'device_extensions': [e for e in EXTENSIONS if e.type == 'device'],
}
from mako.template import Template
with open(args.out, 'w') as f:
f.write(_TEMPLATE.render(**template_env))
f.write(Template(_TEMPLATE).render(**template_env))