X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scripts%2Fextgen.py;h=bcff3b4498ccafeefbc061c81872c3fbef3051be;hb=619aae12e01f25e79626a94c973927e5599e99a5;hp=4ccf27a676545cc3e50914e1e6b583a36afcee9b;hpb=27abdf9ad5d5e297fd74ddc23b39b0c7817a20d8;p=libs%2Fgl.git diff --git a/scripts/extgen.py b/scripts/extgen.py index 4ccf27a6..bcff3b44 100755 --- a/scripts/extgen.py +++ b/scripts/extgen.py @@ -1,6 +1,7 @@ #!/usr/bin/python import sys +import os if len(sys.argv)<2: print """Usage: @@ -13,13 +14,34 @@ given to override the version where was promoted to core.""" sys.exit(0) ext = sys.argv[1] +out_base = None +if ext.endswith(".glext"): + fn = ext + ext = None + ver = None + secondary = [] + for line in open(fn): + parts = line.split() + if parts[0]=="extension": + ext = parts[1] + elif parts[0]=="core_version": + ver = parts[1] + elif parts[0]=="secondary": + secondary.append(parts[1]) + if len(sys.argv)>=3: + out_base = os.path.splitext(sys.argv[2])[0] +else: + secondary = sys.argv[2:] + ver = None + if secondary and secondary[0][0].isdigit(): + ver = secondary.pop(0) + exttype = ext.split('_')[0] -secondary = sys.argv[2:] -ver = None -if secondary and secondary[0][0].isdigit(): - ver = secondary.pop(0) bp_ext = None +if not out_base: + out_base = ext.lower() + class Function: def __init__(self, name): self.name = name @@ -103,13 +125,13 @@ for f in funcs: if ver: ver = map(int, ver.split('.')) -out = file(ext.lower()+".h", "w") +out = file(out_base+".h", "w") out.write("#ifndef MSP_GL_%s_\n"%ext.upper()) out.write("#define MSP_GL_%s_\n"%ext.upper()) out.write(""" -#include "extension.h" -#include "gl.h" +#include +#include #include namespace Msp { @@ -130,7 +152,7 @@ out.write(""" #endif """) -out = file(ext.lower()+".cpp", "w") +out = file(out_base+".cpp", "w") out.write("#include \"%s.h\"\n"%ext.lower()) out.write("""