"atomic bomb" commit. Reorganized OpenCV directory structure
This commit is contained in:
28
utils/extract_aliases.py
Executable file
28
utils/extract_aliases.py
Executable file
@@ -0,0 +1,28 @@
|
||||
#! /usr/bin/env python
|
||||
"""
|
||||
This script extracts macros #defines from those OpenCV headers that can't be
|
||||
directly parsed by current SWIG versions and must be pre-filtered by
|
||||
the C preprocessor (that erases all #defines). Type information is missing in the
|
||||
macros, so C code can't be regenerated. Instead, try to convert C to Python code.
|
||||
C macros too complicated to represent in python using regexes are listed in EXCLUDE
|
||||
"""
|
||||
|
||||
import sys, re
|
||||
|
||||
EXCLUDE = { }
|
||||
|
||||
# force this to be part of cv module
|
||||
# otherwise becomes cv.cvmacros
|
||||
print "/** This file was automatically generated using util/extract_aliases.py script */"
|
||||
print "%module cv"
|
||||
print "%pythoncode %{"
|
||||
for fn in sys.argv[1:]:
|
||||
f = open( fn, "r" )
|
||||
in_define = 0
|
||||
for l in f.xreadlines():
|
||||
m = re.match( r"^#define\s+((?:CV_|IPL_|cv)\w+)\s+((?:CV|IPL|cv)\w*)\s*$", l )
|
||||
if m and not l.endswith( "\\\n" ) and not EXCLUDE.has_key(m.group(1)):
|
||||
print "%s=%s" % (m.group(1), m.group(2))
|
||||
f.close()
|
||||
|
||||
print "%}"
|
Reference in New Issue
Block a user