else:
source_ext = None
+if funcs or enums:
+ any_supported = False
+ all_supported = True
+ for t in itertools.chain(funcs, enums):
+ if target_api in t.supported_apis:
+ any_supported = True
+ else:
+ all_supported = False
+
+ if not any_supported:
+ print "Warning: %s is not supported by the target API"%target_ext.name
+ elif not all_supported:
+ print "Warning: %s is only partially supported by the target API"%target_ext.name
+ unsupported = ""
+ label = "Warning: Unsupported tokens: "
+ for t in itertools.chain(funcs, enums):
+ if target_api not in t.supported_apis:
+ if unsupported and len(label)+len(unsupported)+2+len(t.name)>78:
+ print label+unsupported
+ label = " "*len(label)
+ unsupported = ""
+ if unsupported:
+ unsupported += ", "
+ unsupported += t.name
+ if unsupported:
+ print label+unsupported
+
### Output ###
out = file(out_base+".h", "w")
out.write(" || is_supported(\"GL_%s\")"%backport_ext.name)
out.write(")\n\t{\n")
for f in funcs:
- if f.version or target_api in f.supported_apis:
+ if target_api in f.supported_apis:
out.write("\t\t%s = reinterpret_cast<%s>(GET_PROC_ADDRESS(%s));\n"%(f.name, f.typedef, f.name))
out.write("\t\treturn Extension::CORE;\n")
out.write("\t}\n")
s = f
if f.sources:
s = f.sources[0]
- if s.version or target_api in s.supported_apis:
+ if target_api in s.supported_apis:
out.write("\t\t%s = reinterpret_cast<%s>(GET_PROC_ADDRESS(%s));\n"%(f.name, f.typedef, s.name))
out.write("\t\treturn Extension::EXTENSION;\n")
out.write("\t}\n")