--- /dev/null
+# Stubs for distutils.ccompiler\r
+\r
+from typing import Any, Callable, List, Optional, Tuple, Union\r
+\r
+\r
+_Macro = Union[Tuple[str], Tuple[str, str]]\r
+\r
+\r
+def gen_lib_options(compiler: CCompiler, library_dirs: List[str],\r
+ runtime_library_dirs: List[str],\r
+ libraries: List[str]) -> List[str]: ...\r
+def gen_preprocess_options(macros: List[_Macro],\r
+ include_dirs: List[str]) -> List[str]: ...\r
+def get_default_compiler(osname: Optional[str] = ...,\r
+ platform: Optional[str] = ...) -> str: ...\r
+def new_compiler(plat: Optional[str] = ..., compiler: Optional[str] = ...,\r
+ verbose: int = ..., dry_run: int = ...,\r
+ force: int = ...) -> CCompiler: ...\r
+def show_compilers() -> None: ...\r
+\r
+class CCompiler:\r
+ def __init__(self, verbose: int = ..., dry_run: int = ...,\r
+ force: int = ...) -> None: ...\r
+ def add_include_dir(self, dir: str) -> None: ...\r
+ def set_include_dirs(self, dirs: List[str]) -> None: ...\r
+ def add_library(self, libname: str) -> None: ...\r
+ def set_libraries(self, libnames: List[str]) -> None: ...\r
+ def add_library_dir(self, dir: str) -> None: ...\r
+ def set_library_dirs(self, dirs: List[str]) -> None: ...\r
+ def add_runtime_library_dir(self, dir: str) -> None: ...\r
+ def set_runtime_library_dirs(self, dirs: List[str]) -> None: ...\r
+ def define_macro(self, name: str, value: Optional[str] = ...) -> None: ...\r
+ def undefine_macro(self, name: str) -> None: ...\r
+ def add_link_object(self, object: str) -> None: ...\r
+ def set_link_objects(self, objects: List[str]) -> None: ...\r
+ def detect_language(self, sources: Union[str, List[str]]) -> Optional[str]: ...\r
+ def find_library_file(self, dirs: List[str], lib: str,\r
+ debug: bool = ...) -> Optional[str]: ...\r
+ def has_function(self, funcname: str, includes: Optional[List[str]] = ...,\r
+ include_dirs: Optional[List[str]] = ...,\r
+ libraries: Optional[List[str]] = ...,\r
+ library_dirs: Optional[List[str]] = ...) -> bool: ...\r
+ def library_dir_option(self, dir: str) -> str: ...\r
+ def library_option(self, lib: str) -> str: ...\r
+ def runtime_library_dir_option(self, dir: str) -> str: ...\r
+ def set_executables(self, **args: str) -> None: ...\r
+ def compile(self, sources: List[str], output_dir: Optional[str] = ...,\r
+ macros: Optional[_Macro] = ...,\r
+ include_dirs: Optional[List[str]] = ..., debug: bool = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...,\r
+ depends: Optional[List[str]] = ...) -> List[str]: ...\r
+ def create_static_lib(self, objects: List[str], output_libname: str,\r
+ output_dir: Optional[str] = ..., debug: bool = ...,\r
+ target_lang: Optional[str] = ...) -> None: ...\r
+ def link(self, target_desc: str, objects: List[str], output_filename: str,\r
+ output_dir: Optional[str] = ...,\r
+ libraries: Optional[List[str]] = ...,\r
+ library_dirs: Optional[List[str]] = ...,\r
+ runtime_library_dirs: Optional[List[str]] = ...,\r
+ export_symbols: Optional[List[str]] = ..., debug: bool = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...,\r
+ build_temp: Optional[str] = ...,\r
+ target_lang: Optional[str] = ...) -> None: ...\r
+ def link_executable(self, objects: List[str], output_progname: str,\r
+ output_dir: Optional[str] = ...,\r
+ libraries: Optional[List[str]] = ...,\r
+ library_dirs: Optional[List[str]] = ...,\r
+ runtime_library_dirs: Optional[List[str]] = ...,\r
+ debug: bool = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...,\r
+ target_lang: Optional[str] = ...) -> None: ...\r
+ def link_shared_lib(self, objects: List[str], output_libname: str,\r
+ output_dir: Optional[str] = ...,\r
+ libraries: Optional[List[str]] = ...,\r
+ library_dirs: Optional[List[str]] = ...,\r
+ runtime_library_dirs: Optional[List[str]] = ...,\r
+ export_symbols: Optional[List[str]] = ...,\r
+ debug: bool = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...,\r
+ build_temp: Optional[str] = ...,\r
+ target_lang: Optional[str] = ...) -> None: ...\r
+ def link_shared_object(self, objects: List[str], output_filename: str,\r
+ output_dir: Optional[str] = ...,\r
+ libraries: Optional[List[str]] = ...,\r
+ library_dirs: Optional[List[str]] = ...,\r
+ runtime_library_dirs: Optional[List[str]] = ...,\r
+ export_symbols: Optional[List[str]] = ...,\r
+ debug: bool = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...,\r
+ build_temp: Optional[str] = ...,\r
+ target_lang: Optional[str] = ...) -> None: ...\r
+ def preprocess(self, source: str, output_file: Optional[str] = ...,\r
+ macros: Optional[List[_Macro]] = ...,\r
+ include_dirs: Optional[List[str]] = ...,\r
+ extra_preargs: Optional[List[str]] = ...,\r
+ extra_postargs: Optional[List[str]] = ...) -> None: ...\r
+ def executable_filename(self, basename: str, strip_dir: int = ...,\r
+ output_dir: str = ...) -> str: ...\r
+ def library_filename(self, libname: str, lib_type: str = ...,\r
+ strip_dir: int = ...,\r
+ output_dir: str = ...) -> str: ...\r
+ def object_filenames(self, source_filenames: List[str],\r
+ strip_dir: int = ...,\r
+ output_dir: str = ...) -> List[str]: ...\r
+ def shared_object_filename(self, basename: str, strip_dir: int = ...,\r
+ output_dir: str = ...) -> str: ...\r
+ def execute(self, func: Callable[..., None], args: Tuple[Any, ...],\r
+ msg: Optional[str] = ..., level: int = ...) -> None: ...\r
+ def spawn(self, cmd: List[str]) -> None: ...\r
+ def mkpath(self, name: str, mode: int = ...) -> None: ...\r
+ def move_file(self, src: str, dst: str) -> str: ...\r
+ def announce(self, msg: str, level: int = ...) -> None: ...\r
+ def warn(self, msg: str) -> None: ...\r
+ def debug_print(self, msg: str) -> None: ...\r