X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scripts%2Fextgen.py;h=4ccf27a676545cc3e50914e1e6b583a36afcee9b;hb=27abdf9ad5d5e297fd74ddc23b39b0c7817a20d8;hp=d6727123d97cb842a5836ea1b7d2f4a901396962;hpb=6afbace895a7bbcf216ab8e48280ea0303ab5892;p=libs%2Fgl.git diff --git a/scripts/extgen.py b/scripts/extgen.py index d6727123..4ccf27a6 100755 --- a/scripts/extgen.py +++ b/scripts/extgen.py @@ -23,6 +23,7 @@ bp_ext = None class Function: def __init__(self, name): self.name = name + self.typedef = None self.version = None self.category = None self.vectorequiv = None @@ -89,12 +90,15 @@ funcs.sort(key=(lambda f: f.name)) for f in funcs: if f.extfunc: + f.typedef = "PFNGL%sPROC"%f.extfunc.name.upper() if not ver: ver = f.version if not f.category.startswith("VERSION_"): bp_ext = f.category - if not f.extfunc and not f.name.endswith(exttype): - bp_ext = f.category + else: + f.typedef = "PFNGL%sPROC"%f.name.upper() + if not f.name.endswith(exttype): + bp_ext = f.category if ver: ver = map(int, ver.split('.')) @@ -115,7 +119,7 @@ namespace GL { if funcs: out.write("\n") for f in funcs: - out.write("extern PFNGL%sPROC gl%s;\n"%(f.name.upper(), f.name)) + out.write("extern %s gl%s;\n"%(f.typedef, f.name)) out.write("\nextern Extension %s;\n"%ext) @@ -137,7 +141,7 @@ namespace GL { if funcs: out.write("\n") for f in funcs: - out.write("PFNGL%sPROC gl%s = 0;\n"%(f.name.upper(), f.name)) + out.write("%s gl%s = 0;\n"%(f.typedef, f.name)) out.write("\nExtension::SupportLevel init_%s()\n{\n"%ext.lower()) if ver: @@ -146,7 +150,7 @@ if ver: out.write(" || is_supported(\"GL_%s\")"%bp_ext) out.write(")\n\t{\n") for f in funcs: - out.write("\t\tgl%s = reinterpret_cast(get_proc_address(\"gl%s\"));\n"%(f.name, f.name.upper(), f.name)) + out.write("\t\tgl%s = reinterpret_cast<%s>(get_proc_address(\"gl%s\"));\n"%(f.name, f.typedef, f.name)) out.write("\t\treturn Extension::CORE;\n") out.write("\t}\n") if ext!=bp_ext: @@ -155,7 +159,7 @@ if ext!=bp_ext: n = f.name if f.extfunc: n = f.extfunc.name - out.write("\t\tgl%s = reinterpret_cast(get_proc_address(\"gl%s\"));\n"%(f.name, f.name.upper(), n)) + out.write("\t\tgl%s = reinterpret_cast<%s>(get_proc_address(\"gl%s\"));\n"%(f.name, f.typedef, n)) out.write("\t\treturn Extension::EXTENSION;\n") out.write("\t}\n") out.write("\treturn Extension::UNSUPPORTED;\n")