Last change
on this file was 2, checked in by Yuri Dario, 15 years ago |
Initial import for vendor code.
|
-
Property svn:eol-style
set to
native
|
File size:
1.2 KB
|
Line | |
---|
1 | #! /usr/bin/env python
|
---|
2 |
|
---|
3 | # Add some standard cpp magic to a header file
|
---|
4 |
|
---|
5 | import sys
|
---|
6 |
|
---|
7 | def main():
|
---|
8 | args = sys.argv[1:]
|
---|
9 | for filename in args:
|
---|
10 | process(filename)
|
---|
11 |
|
---|
12 | def process(filename):
|
---|
13 | try:
|
---|
14 | f = open(filename, 'r')
|
---|
15 | except IOError, msg:
|
---|
16 | sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg)))
|
---|
17 | return
|
---|
18 | data = f.read()
|
---|
19 | f.close()
|
---|
20 | if data[:2] <> '/*':
|
---|
21 | sys.stderr.write('%s does not begin with C comment\n' % filename)
|
---|
22 | return
|
---|
23 | try:
|
---|
24 | f = open(filename, 'w')
|
---|
25 | except IOError, msg:
|
---|
26 | sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg)))
|
---|
27 | return
|
---|
28 | sys.stderr.write('Processing %s ...\n' % filename)
|
---|
29 | magic = 'Py_'
|
---|
30 | for c in filename:
|
---|
31 | if ord(c)<=0x80 and c.isalnum():
|
---|
32 | magic = magic + c.upper()
|
---|
33 | else: magic = magic + '_'
|
---|
34 | sys.stdout = f
|
---|
35 | print '#ifndef', magic
|
---|
36 | print '#define', magic
|
---|
37 | print '#ifdef __cplusplus'
|
---|
38 | print 'extern "C" {'
|
---|
39 | print '#endif'
|
---|
40 | print
|
---|
41 | f.write(data)
|
---|
42 | print
|
---|
43 | print '#ifdef __cplusplus'
|
---|
44 | print '}'
|
---|
45 | print '#endif'
|
---|
46 | print '#endif /*', '!'+magic, '*/'
|
---|
47 |
|
---|
48 | if __name__ == '__main__':
|
---|
49 | main()
|
---|
Note:
See
TracBrowser
for help on using the repository browser.