|
Last change
on this file since 1538 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.