diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-03-01 10:11:55 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-03-01 10:11:55 -0500 |
commit | 596cf60bedeec1a325e4849bb6635254e0bf2d86 (patch) | |
tree | 61dcd4c4d1d430151ec0d2de20bd048e65a97f1c /tools | |
parent | 95576e7670f6cc93cf03ec528532809ce7cd22fc (diff) | |
download | seabios-596cf60bedeec1a325e4849bb6635254e0bf2d86.tar.gz |
Fix header guards produced by defsys.py
Issue spotted by Nguyen Anh Quynh
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/defsyms.py | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/tools/defsyms.py b/tools/defsyms.py index fe18d905..54d18b8b 100755 --- a/tools/defsyms.py +++ b/tools/defsyms.py @@ -9,7 +9,14 @@ import sys import string +def printUsage(): + print "Usage:\n %s <output file>" % (sys.argv[0],) + sys.exit(1) + def main(): + if len(sys.argv) != 2: + printUsage() + # Find symbols (that are valid) syms = [] lines = sys.stdin.readlines() for line in lines: @@ -22,17 +29,27 @@ def main(): break else: syms.append((sym, addr)) - print """ -#ifndef __OFFSET16_AUTO_H -#define __OFFSET16_AUTO_H + # Build guard string + guardstr = '' + for c in sys.argv[1]: + if c not in string.letters + string.digits + '_': + guardstr += '_' + else: + guardstr += c + # Generate header + f = open(sys.argv[1], 'wb') + f.write(""" +#ifndef __OFFSET_AUTO_H__%s +#define __OFFSET_AUTO_H__%s // Auto generated file - please see defsyms.py. // This file contains symbol offsets of a compiled binary. -""" + +""" % (guardstr, guardstr)) for sym, addr in syms: - print "#define OFFSET_%s 0x%s" % (sym, addr) - print """ -#endif // __OFFSET16_AUTO_H -""" + f.write("#define OFFSET_%s 0x%s\n" % (sym, addr)) + f.write(""" +#endif // __OFFSET_AUTO_H__%s +""" % (guardstr,)) if __name__ == '__main__': main() |