diff --git a/hatch_cpp/plugin.py b/hatch_cpp/plugin.py index 4166551..2e29539 100644 --- a/hatch_cpp/plugin.py +++ b/hatch_cpp/plugin.py @@ -83,8 +83,5 @@ def initialize(self, version: str, build_data: dict[str, t.Any]) -> None: # force include libraries for library in libraries: - if build_plan.platform.platform == "win32": - suffix = "dll" - else: - suffix = "so" - build_data["force_include"][f"{library.name}.{suffix}"] = f"{library.name}.{suffix}" + name = library.get_qualified_name(build_plan.platform.platform) + build_data["force_include"][name] = name diff --git a/hatch_cpp/structs.py b/hatch_cpp/structs.py index 26f846d..1492720 100644 --- a/hatch_cpp/structs.py +++ b/hatch_cpp/structs.py @@ -52,6 +52,15 @@ class HatchCppLibrary(BaseModel): export_symbols: List[str] = Field(default_factory=list, alias="export-symbols") depends: List[str] = Field(default_factory=list) + def get_qualified_name(self, platform): + if platform == "win32": + suffix = "dll" if self.binding == "none" else "pyd" + elif platform == "darwin" and self.binding == "none": + suffix = "dylib" + else: + suffix = "so" + return f"{self.name}.{suffix}" + class HatchCppPlatform(BaseModel): cc: str
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: