_backend.py 1.1 KB

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