47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import abc
 | |
| from pathlib import Path
 | |
| from typing import Any, Final
 | |
| 
 | |
| class Backend(abc.ABC):
 | |
|     modulename: Final[str]
 | |
|     sources: Final[list[str | Path]]
 | |
|     extra_objects: Final[list[str]]
 | |
|     build_dir: Final[str | Path]
 | |
|     include_dirs: Final[list[str | Path]]
 | |
|     library_dirs: Final[list[str | Path]]
 | |
|     libraries: Final[list[str]]
 | |
|     define_macros: Final[list[tuple[str, str | None]]]
 | |
|     undef_macros: Final[list[str]]
 | |
|     f2py_flags: Final[list[str]]
 | |
|     sysinfo_flags: Final[list[str]]
 | |
|     fc_flags: Final[list[str]]
 | |
|     flib_flags: Final[list[str]]
 | |
|     setup_flags: Final[list[str]]
 | |
|     remove_build_dir: Final[bool]
 | |
|     extra_dat: Final[dict[str, Any]]
 | |
| 
 | |
|     def __init__(
 | |
|         self,
 | |
|         /,
 | |
|         modulename: str,
 | |
|         sources: list[str | Path],
 | |
|         extra_objects: list[str],
 | |
|         build_dir: str | Path,
 | |
|         include_dirs: list[str | Path],
 | |
|         library_dirs: list[str | Path],
 | |
|         libraries: list[str],
 | |
|         define_macros: list[tuple[str, str | None]],
 | |
|         undef_macros: list[str],
 | |
|         f2py_flags: list[str],
 | |
|         sysinfo_flags: list[str],
 | |
|         fc_flags: list[str],
 | |
|         flib_flags: list[str],
 | |
|         setup_flags: list[str],
 | |
|         remove_build_dir: bool,
 | |
|         extra_dat: dict[str, Any],
 | |
|     ) -> None: ...
 | |
| 
 | |
|     #
 | |
|     @abc.abstractmethod
 | |
|     def compile(self) -> None: ...
 |