]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Tools/scripts/fixheader.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Tools / scripts / fixheader.py
CommitLineData
4710c53d 1#! /usr/bin/env python\r
2\r
3# Add some standard cpp magic to a header file\r
4\r
5import sys\r
6\r
7def main():\r
8 args = sys.argv[1:]\r
9 for filename in args:\r
10 process(filename)\r
11\r
12def process(filename):\r
13 try:\r
14 f = open(filename, 'r')\r
15 except IOError, msg:\r
16 sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg)))\r
17 return\r
18 data = f.read()\r
19 f.close()\r
20 if data[:2] <> '/*':\r
21 sys.stderr.write('%s does not begin with C comment\n' % filename)\r
22 return\r
23 try:\r
24 f = open(filename, 'w')\r
25 except IOError, msg:\r
26 sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg)))\r
27 return\r
28 sys.stderr.write('Processing %s ...\n' % filename)\r
29 magic = 'Py_'\r
30 for c in filename:\r
31 if ord(c)<=0x80 and c.isalnum():\r
32 magic = magic + c.upper()\r
33 else: magic = magic + '_'\r
34 sys.stdout = f\r
35 print '#ifndef', magic\r
36 print '#define', magic\r
37 print '#ifdef __cplusplus'\r
38 print 'extern "C" {'\r
39 print '#endif'\r
40 print\r
41 f.write(data)\r
42 print\r
43 print '#ifdef __cplusplus'\r
44 print '}'\r
45 print '#endif'\r
46 print '#endif /*', '!'+magic, '*/'\r
47\r
48if __name__ == '__main__':\r
49 main()\r