31 lines
889 B
Python
31 lines
889 B
Python
|
#! /usr/bin/env python
|
||
|
"""
|
||
|
This script extracts #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).
|
||
|
"""
|
||
|
|
||
|
import sys, re
|
||
|
|
||
|
for fn in sys.argv[1:]:
|
||
|
f = open( fn, "r" )
|
||
|
in_define = 0
|
||
|
for l in f.xreadlines():
|
||
|
if re.match( r"^#define\s+(CV_|IPL_|cv)\w+\s+", l ):
|
||
|
in_define = 1
|
||
|
if re.match (r"^#define\s+CV_MAKETYPE", l):
|
||
|
in_define = 1
|
||
|
if re.match (r"^#define\s+CV_CN", l):
|
||
|
in_define = 1
|
||
|
if re.match (r"^#define\s+CV_MAT_TYPE", l):
|
||
|
in_define = 1
|
||
|
if re.match (r"^#define\s+CV_MAT_DEPTH", l):
|
||
|
in_define = 1
|
||
|
if in_define:
|
||
|
print l[:l.find ('/*')]
|
||
|
if not l.endswith( "\\\n" ):
|
||
|
in_define = 0
|
||
|
print
|
||
|
f.close()
|
||
|
|