X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=scripts%2Fextgen.py;fp=scripts%2Fextgen.py;h=7526b271d39e72b042598a64fb81c82420f40712;hb=b015ee91380afcde026b101a9598a50e82827938;hp=45094a4df35df26fe2608e0f07a4005378ec125e;hpb=e645768be035f155e1deda931079cf1e84851a86;p=libs%2Fgl.git diff --git a/scripts/extgen.py b/scripts/extgen.py index 45094a4d..7526b271 100755 --- a/scripts/extgen.py +++ b/scripts/extgen.py @@ -325,18 +325,30 @@ enums = filter(is_relevant, enums) enums.sort(key=(lambda e: e.value)) # Some final preparations for creating the files +core_version_candidates = {} backport_ext_candidates = [] for t in itertools.chain(funcs, enums): if target_api in t.supported_apis and t.supported_apis[target_api]!="ext": t.version = t.supported_apis[target_api] - if not core_version: - core_version = t.version + if t.version: + ver_tuple = tuple(t.version) + core_version_candidates[ver_tuple] = core_version_candidates.get(ver_tuple, 0)+1 # Things in backport extensions don't acquire an extension suffix if t.extension and not t.name.endswith(ext_type) and target_api in t.supported_apis: if t.extension not in backport_ext_candidates: backport_ext_candidates.append(t.extension) +if not core_version and core_version_candidates: + core_version_candidates = list((v, k) for k, v in core_version_candidates.items()) + if len(core_version_candidates)>1: + core_version_candidates.sort(reverse=True) + if core_version_candidates[1][0]+1>=core_version_candidates[0][0]: + ver0 = core_version_candidates[0][1] + ver1 = core_version_candidates[1][1] + print "Warning: multiple likely core version candidates: %d.%d %d.%d"%(ver0[0], ver0[1], ver1[0], ver1[1]) + core_version = core_version_candidates[0][1] + if backport_ext: if backport_ext=="none": backport_ext = None