codekingpro/portable-devtools
114k
1import abc
2from pathlib import Path
3from typing import Any, Final
4
5class Backend(abc.ABC):
6 modulename: Final[str]
7 sources: Final[list[str | Path]]
8 extra_objects: Final[list[str]]
9 build_dir: Final[str | Path]
10 include_dirs: Final[list[str | Path]]
11 library_dirs: Final[list[str | Path]]
12 libraries: Final[list[str]]
13 define_macros: Final[list[tuple[str, str | None]]]
14 undef_macros: Final[list[str]]
15 f2py_flags: Final[list[str]]
16 sysinfo_flags: Final[list[str]]
17 fc_flags: Final[list[str]]
18 flib_flags: Final[list[str]]
19 setup_flags: Final[list[str]]
20 remove_build_dir: Final[bool]
21 extra_dat: Final[dict[str, Any]]
22
23 def __init__(
24 self,
25 /,
26 modulename: str,
27 sources: list[str | Path],
28 extra_objects: list[str],
29 build_dir: str | Path,
30 include_dirs: list[str | Path],
31 library_dirs: list[str | Path],
32 libraries: list[str],
33 define_macros: list[tuple[str, str | None]],
34 undef_macros: list[str],
35 f2py_flags: list[str],
36 sysinfo_flags: list[str],
37 fc_flags: list[str],
38 flib_flags: list[str],
39 setup_flags: list[str],
40 remove_build_dir: bool,
41 extra_dat: dict[str, Any],
42 ) -> None: ...
43
44 #
45 @abc.abstractmethod
46 def compile(self) -> None: ...
47 