From ca2775205e4e722572138106ad714bd8ccdb5fc2 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 14 Jan 2014 19:10:10 +1100 Subject: Make HFacer callable from other Python code and call it from LexGen so LexGen is always woking on up-to-date headers. --- scripts/HFacer.py | 30 ++++++++++++++++-------------- scripts/LexGen.py | 3 +++ 2 files changed, 19 insertions(+), 14 deletions(-) (limited to 'scripts') diff --git a/scripts/HFacer.py b/scripts/HFacer.py index 4b07166db..819181f78 100755 --- a/scripts/HFacer.py +++ b/scripts/HFacer.py @@ -40,17 +40,19 @@ def printHFile(f): out.append("#endif") return out -f = Face.Face() -try: - f.ReadFromFile("../include/Scintilla.iface") - Regenerate("../include/Scintilla.h", "/* ", printHFile(f)) - Regenerate("../include/SciLexer.h", "/* ", printLexHFile(f)) - valueSet = set(int(x) for x in f.values if int(x) < 3000) - maximumID = max(valueSet) - print("Maximum ID is %d" % maximumID) - #~ valuesUnused = sorted(x for x in range(2001,maximumID) if x not in valueSet) - #~ print("\nUnused values") - #~ for v in valuesUnused: - #~ print(v) -except: - raise +def RegenerateAll(root, showMaxID): + f = Face.Face() + f.ReadFromFile(root + "include/Scintilla.iface") + Regenerate(root + "include/Scintilla.h", "/* ", printHFile(f)) + Regenerate(root + "include/SciLexer.h", "/* ", printLexHFile(f)) + if showMaxID: + valueSet = set(int(x) for x in f.values if int(x) < 3000) + maximumID = max(valueSet) + print("Maximum ID is %d" % maximumID) + #~ valuesUnused = sorted(x for x in range(2001,maximumID) if x not in valueSet) + #~ print("\nUnused values") + #~ for v in valuesUnused: + #~ print(v) + +if __name__ == "__main__": + RegenerateAll("../", True) diff --git a/scripts/LexGen.py b/scripts/LexGen.py index ef29b8def..b181da775 100755 --- a/scripts/LexGen.py +++ b/scripts/LexGen.py @@ -10,6 +10,7 @@ from FileGenerator import Regenerate, UpdateLineInFile, ReplaceREInFile import ScintillaData +import HFacer def UpdateVersionNumbers(sci, root): UpdateLineInFile(root + "win32/ScintRes.rc", "#define VERSION_SCINTILLA", @@ -46,6 +47,8 @@ def RegenerateAll(root): Regenerate(root + "win32/scintilla.mak", "#", sci.lexFiles) UpdateVersionNumbers(sci, root) + + HFacer.RegenerateAll(root, False) if __name__=="__main__": RegenerateAll("../") -- cgit v1.2.3