Move the sources to trunk
[opencv] / interfaces / ipp / make_def.py
1 import sys, os, string, re
2 tmp_name = "tmp.h"
3
4 ipp_ver = 4
5
6 if len(sys.argv) == 2 and sys.argv[1][0] in "0123456789":
7     ipp_ver = float(sys.argv[1])
8
9 iver = int(round(ipp_ver*100))
10
11 os.system( "cpp -DIPP=%d opencvipp_funclist.h > %s" % (iver, tmp_name) );
12 f = open( tmp_name, "r" )
13 ll = f.readlines()
14 f.close()
15 os.remove( tmp_name )
16
17 if iver % 100 == 0:
18     def_filename = "export%d.def" % (iver/100,)
19 else:
20     def_filename = "export%d.def" % (iver/10,)
21
22 f = open( def_filename, "w" )
23 print >>f, \
24 """; The file has been generated automatically from opencvipp_funclist.h.
25 ; Do not alter it!
26    
27 EXPORTS"""
28
29 fn_regexp = re.compile( r"IPPAPI\s*\([^,]+,\s*(\w+)" )
30
31 for l in ll:
32     fn_list = fn_regexp.findall(l)
33     for fn in fn_list:
34         print >> f, "    " + fn
35
36 f.close()