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: ... |