167 lines
4.8 KiB
Python
167 lines
4.8 KiB
Python
import sys
|
|
from typing import Final, TypedDict, overload
|
|
from typing_extensions import LiteralString, NotRequired
|
|
|
|
if sys.platform == "win32":
|
|
import winreg as winreg
|
|
from os import environ as environ
|
|
else:
|
|
class winreg:
|
|
HKEY_USERS: Final[None]
|
|
HKEY_CURRENT_USER: Final[None]
|
|
HKEY_LOCAL_MACHINE: Final[None]
|
|
HKEY_CLASSES_ROOT: Final[None]
|
|
|
|
environ: dict[str, str]
|
|
|
|
class PlatformInfo:
|
|
current_cpu: Final[str]
|
|
|
|
arch: str
|
|
|
|
def __init__(self, arch: str) -> None: ...
|
|
@property
|
|
def target_cpu(self) -> str: ...
|
|
def target_is_x86(self) -> bool: ...
|
|
def current_is_x86(self) -> bool: ...
|
|
def current_dir(self, hidex86: bool = False, x64: bool = False) -> str: ...
|
|
def target_dir(self, hidex86: bool = False, x64: bool = False) -> str: ...
|
|
def cross_dir(self, forcex86: bool = False) -> str: ...
|
|
|
|
class RegistryInfo:
|
|
if sys.platform == "win32":
|
|
HKEYS: Final[tuple[int, int, int, int]]
|
|
else:
|
|
HKEYS: Final[tuple[None, None, None, None]]
|
|
|
|
pi: PlatformInfo
|
|
|
|
def __init__(self, platform_info: PlatformInfo) -> None: ...
|
|
@property
|
|
def visualstudio(self) -> LiteralString: ...
|
|
@property
|
|
def sxs(self) -> LiteralString: ...
|
|
@property
|
|
def vc(self) -> LiteralString: ...
|
|
@property
|
|
def vs(self) -> LiteralString: ...
|
|
@property
|
|
def vc_for_python(self) -> LiteralString: ...
|
|
@property
|
|
def microsoft_sdk(self) -> LiteralString: ...
|
|
@property
|
|
def windows_sdk(self) -> LiteralString: ...
|
|
@property
|
|
def netfx_sdk(self) -> LiteralString: ...
|
|
@property
|
|
def windows_kits_roots(self) -> LiteralString: ...
|
|
@overload
|
|
def microsoft(self, key: LiteralString, x86: bool = False) -> LiteralString: ...
|
|
@overload
|
|
def microsoft(self, key: str, x86: bool = False) -> str: ... # type: ignore[misc]
|
|
def lookup(self, key: str, name: str) -> str | None: ...
|
|
|
|
class SystemInfo:
|
|
WinDir: Final[str]
|
|
ProgramFiles: Final[str]
|
|
ProgramFilesx86: Final[str]
|
|
|
|
ri: RegistryInfo
|
|
pi: PlatformInfo
|
|
known_vs_paths: dict[float, str]
|
|
vs_ver: float
|
|
vc_ver: float
|
|
|
|
def __init__(self, registry_info: RegistryInfo, vc_ver: float | None = None) -> None: ...
|
|
def find_reg_vs_vers(self) -> list[float]: ...
|
|
def find_programdata_vs_vers(self) -> dict[float, str]: ...
|
|
@property
|
|
def VSInstallDir(self) -> str: ...
|
|
@property
|
|
def VCInstallDir(self) -> str: ...
|
|
@property
|
|
def WindowsSdkVersion(self) -> tuple[LiteralString, ...]: ...
|
|
@property
|
|
def WindowsSdkLastVersion(self) -> str: ...
|
|
@property
|
|
def WindowsSdkDir(self) -> str | None: ...
|
|
@property
|
|
def WindowsSDKExecutablePath(self) -> str | None: ...
|
|
@property
|
|
def FSharpInstallDir(self) -> str: ...
|
|
@property
|
|
def UniversalCRTSdkDir(self) -> str | None: ...
|
|
@property
|
|
def UniversalCRTSdkLastVersion(self) -> str: ...
|
|
@property
|
|
def NetFxSdkVersion(self) -> tuple[LiteralString, ...]: ...
|
|
@property
|
|
def NetFxSdkDir(self) -> str: ...
|
|
@property
|
|
def FrameworkDir32(self) -> str: ...
|
|
@property
|
|
def FrameworkDir64(self) -> str: ...
|
|
@property
|
|
def FrameworkVersion32(self) -> tuple[str, ...]: ...
|
|
@property
|
|
def FrameworkVersion64(self) -> tuple[str, ...]: ...
|
|
|
|
class _EnvironmentDict(TypedDict):
|
|
include: str
|
|
lib: str
|
|
libpath: str
|
|
path: str
|
|
py_vcruntime_redist: NotRequired[str | None]
|
|
|
|
class EnvironmentInfo:
|
|
pi: PlatformInfo
|
|
ri: RegistryInfo
|
|
si: SystemInfo
|
|
|
|
def __init__(self, arch: str, vc_ver: float | None = None, vc_min_ver: float = 0) -> None: ...
|
|
@property
|
|
def vs_ver(self) -> float: ...
|
|
@property
|
|
def vc_ver(self) -> float: ...
|
|
@property
|
|
def VSTools(self) -> list[str]: ...
|
|
@property
|
|
def VCIncludes(self) -> list[str]: ...
|
|
@property
|
|
def VCLibraries(self) -> list[str]: ...
|
|
@property
|
|
def VCStoreRefs(self) -> list[str]: ...
|
|
@property
|
|
def VCTools(self) -> list[str]: ...
|
|
@property
|
|
def OSLibraries(self) -> list[str]: ...
|
|
@property
|
|
def OSIncludes(self) -> list[str]: ...
|
|
@property
|
|
def OSLibpath(self) -> list[str]: ...
|
|
@property
|
|
def SdkTools(self) -> list[str]: ...
|
|
@property
|
|
def SdkSetup(self) -> list[str]: ...
|
|
@property
|
|
def FxTools(self) -> list[str]: ...
|
|
@property
|
|
def NetFxSDKLibraries(self) -> list[str]: ...
|
|
@property
|
|
def NetFxSDKIncludes(self) -> list[str]: ...
|
|
@property
|
|
def VsTDb(self) -> list[str]: ...
|
|
@property
|
|
def MSBuild(self) -> list[str]: ...
|
|
@property
|
|
def HTMLHelpWorkshop(self) -> list[str]: ...
|
|
@property
|
|
def UCRTLibraries(self) -> list[str]: ...
|
|
@property
|
|
def UCRTIncludes(self) -> list[str]: ...
|
|
@property
|
|
def FSharp(self) -> list[str]: ...
|
|
@property
|
|
def VCRuntimeRedist(self) -> str | None: ...
|
|
def return_env(self, exists: bool = True) -> _EnvironmentDict: ...
|