blob: 07e62939bd12a023e0d445dc504e80e33b1c1ac4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
from xml.dom import minidom
from emit_omnilog import *
from volk_regexp import *
# http://gcc.gnu.org/wiki/Visibility
volk_api_defines = """
#ifdef volk_EXPORTS
# define VOLK_API __VOLK_ATTR_EXPORT
#else
# define VOLK_API __VOLK_ATTR_IMPORT
#endif
"""
def make_h(funclist, arched_arglist) :
tempstring = "";
tempstring = tempstring + '/*this file is auto generated by make_h.py*/\n';
tempstring = tempstring + '\n#ifndef INCLUDED_VOLK_RUNTIME';
tempstring = tempstring + '\n#define INCLUDED_VOLK_RUNTIME';
tempstring = tempstring + '\n\n#include<volk/volk_typedefs.h>\n';
tempstring = tempstring + '#include<volk/volk_config_fixed.h>\n';
tempstring = tempstring + '#include<volk/volk_attributes.h>\n';
tempstring = tempstring + '#include<volk/volk_complex.h>\n';
tempstring = tempstring + volk_api_defines
tempstring = tempstring + emit_prolog();
tempstring = tempstring + '\n';
for i in range(len(funclist)):
tempstring += "extern " + replace_volk.sub("p", funclist[i]) + " " + funclist[i] + ";\n"
tempstring += "extern VOLK_API void %s_manual%s;\n" % (funclist[i], arched_arglist[i])
tempstring = strip_trailing(tempstring, " {")
tempstring += "extern VOLK_API struct volk_func_desc %s_get_func_desc(void);\n" % (funclist[i])
tempstring = tempstring + emit_epilog();
tempstring = tempstring + "#endif /*INCLUDED_VOLK_RUNTIME*/\n";
return tempstring;
|