mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 14:45:12 +00:00
ebd5c5b48c
* feat: lazy compile * refactor: lazy -> only_changed * refactor: leave the changed function up to the user * refactor: pass a function, based on @YannickJadoul and @HDembinski's suggestions * refactor: old -> _old, as it's not intended for users * docs: slight improvmenent from @rwgk * docs: Ccache spelling, extra warning about pip caching Ccache spelling noted by @YannickJadoul
62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
# IMPORTANT: Should stay in sync with setup_helpers.py (mostly checked by CI /
|
|
# pre-commit).
|
|
|
|
from typing import Any, Callable, Iterator, Optional, Type, TypeVar, Union
|
|
from types import TracebackType
|
|
|
|
from distutils.command.build_ext import build_ext as _build_ext # type: ignore
|
|
from distutils.extension import Extension as _Extension
|
|
import distutils.ccompiler
|
|
import contextlib
|
|
|
|
WIN: bool
|
|
PY2: bool
|
|
MACOS: bool
|
|
STD_TMPL: str
|
|
|
|
class Pybind11Extension(_Extension):
|
|
def _add_cflags(self, *flags: str) -> None: ...
|
|
def _add_lflags(self, *flags: str) -> None: ...
|
|
def __init__(
|
|
self, *args: Any, cxx_std: int = 0, language: str = "c++", **kwargs: Any
|
|
) -> None: ...
|
|
@property
|
|
def cxx_std(self) -> int: ...
|
|
@cxx_std.setter
|
|
def cxx_std(self, level: int) -> None: ...
|
|
|
|
@contextlib.contextmanager
|
|
def tmp_chdir() -> Iterator[str]: ...
|
|
def has_flag(compiler: distutils.ccompiler.CCompiler, flag: str) -> bool: ...
|
|
def auto_cpp_level(compiler: distutils.ccompiler.CCompiler) -> Union[int, str]: ...
|
|
|
|
class build_ext(_build_ext): # type: ignore
|
|
def build_extensions(self) -> None: ...
|
|
|
|
def no_recompile(obj: str, src: str) -> bool: ...
|
|
def naive_recompile(obj: str, src: str) -> bool: ...
|
|
|
|
T = TypeVar("T", bound="ParallelCompile")
|
|
|
|
class ParallelCompile:
|
|
envvar: Optional[str]
|
|
default: int
|
|
max: int
|
|
needs_recompile: Callable[[str, str], bool]
|
|
def __init__(
|
|
self,
|
|
envvar: Optional[str] = None,
|
|
default: int = 0,
|
|
max: int = 0,
|
|
needs_recompile: Callable[[str, str], bool] = no_recompile,
|
|
) -> None: ...
|
|
def function(self) -> Any: ...
|
|
def install(self: T) -> T: ...
|
|
def __enter__(self: T) -> T: ...
|
|
def __exit__(
|
|
self,
|
|
exc_type: Optional[Type[BaseException]],
|
|
exc_value: Optional[BaseException],
|
|
traceback: Optional[TracebackType],
|
|
) -> None: ...
|