codekingpro/portable-devtools
114k
1from abc import ABC, abstractmethod
2
3
4class Backend(ABC):
5 def __init__(
6 self,
7 modulename,
8 sources,
9 extra_objects,
10 build_dir,
11 include_dirs,
12 library_dirs,
13 libraries,
14 define_macros,
15 undef_macros,
16 f2py_flags,
17 sysinfo_flags,
18 fc_flags,
19 flib_flags,
20 setup_flags,
21 remove_build_dir,
22 extra_dat,
23 ):
24 self.modulename = modulename
25 self.sources = sources
26 self.extra_objects = extra_objects
27 self.build_dir = build_dir
28 self.include_dirs = include_dirs
29 self.library_dirs = library_dirs
30 self.libraries = libraries
31 self.define_macros = define_macros
32 self.undef_macros = undef_macros
33 self.f2py_flags = f2py_flags
34 self.sysinfo_flags = sysinfo_flags
35 self.fc_flags = fc_flags
36 self.flib_flags = flib_flags
37 self.setup_flags = setup_flags
38 self.remove_build_dir = remove_build_dir
39 self.extra_dat = extra_dat
40
41 @abstractmethod
42 def compile(self) -> None:
43 """Compile the wrapper."""
44 pass
45 