anv: Import mako templates only during execution of anv_extensions
authorAndres Gomez <agomez@igalia.com>
Wed, 10 Jan 2018 21:11:51 +0000 (23:11 +0200)
committerAndres Gomez <agomez@igalia.com>
Thu, 11 Jan 2018 12:44:03 +0000 (14:44 +0200)
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: 0ab04ba979b ("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>
src/intel/vulkan/anv_extensions.py

index 16e5582598e60306411cb3883c9da0e10d92f38c..adfebca985cf4aa8e48039da98b59f4e13b0bc9d 100644 (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))