pub struct ImportLibraryGenerator { /* private fields */ }
Expand description
Windows import library generator for Python
Generates python3.dll
or pythonXY.dll
import library directly from the
embedded Python ABI definitions data for the specified compile target.
ABI-tagged versioned Python DLLs such as python313t.dll
are also supported
via an optional ABI flags string parameter.
§Example usage
// Generate `python3.dll.a` in "target/python3-dll-a"
ImportLibraryGenerator::new("x86_64", "gnu")
.generate(Path::new("target/python3-dll-a"))
.unwrap();
// Generate `python3.lib` in "target/python3-lib"
ImportLibraryGenerator::new("x86_64", "msvc")
.generate(Path::new("target/python3-lib"))
.unwrap();
// Generate `python39.dll.a` in "target/python3-dll-a"
ImportLibraryGenerator::new("x86_64", "gnu")
.version(Some((3, 9)))
.generate(Path::new("target/python3-dll-a"))
.unwrap();
// Generate `python38.lib` in "target/python3-lib"
ImportLibraryGenerator::new("x86_64", "msvc")
.version(Some((3, 8)))
.generate(Path::new("target/python3-lib"))
.unwrap();
// Generate `python313t.lib` in "target/python3-lib"
ImportLibraryGenerator::new("x86_64", "msvc")
.version(Some((3, 13)))
.abiflags(Some("t"))
.generate(Path::new("target/python3-lib"))
.unwrap();
Implementations§
Source§impl ImportLibraryGenerator
impl ImportLibraryGenerator
Sourcepub fn new(arch: &str, env: &str) -> Self
pub fn new(arch: &str, env: &str) -> Self
Creates a new import library generator for the specified compile target.
The compile target architecture name (as in CARGO_CFG_TARGET_ARCH
)
is passed in arch
.
The compile target environment ABI name (as in CARGO_CFG_TARGET_ENV
)
is passed in env
.
Sourcepub fn version(&mut self, version: Option<(u8, u8)>) -> &mut Self
pub fn version(&mut self, version: Option<(u8, u8)>) -> &mut Self
Sets major and minor version for the pythonXY.dll
import library.
The version-agnostic python3.dll
is generated by default.
Sourcepub fn abiflags(&mut self, flags: Option<&str>) -> &mut Self
pub fn abiflags(&mut self, flags: Option<&str>) -> &mut Self
Sets the ABI flags for the pythonXY<abi>.dll
import library.
For example, "t"
stands for the free-threaded CPython v3.13 build
aka CPython 3.13t
.
In this case, python313t.dll
import library will be generated.
The untagged versioned pythonXY.dll
import library
is generated by default.
Sourcepub fn implementation(
&mut self,
implementation: PythonImplementation,
) -> &mut Self
pub fn implementation( &mut self, implementation: PythonImplementation, ) -> &mut Self
Sets Python interpreter implementation
Trait Implementations§
Source§impl Clone for ImportLibraryGenerator
impl Clone for ImportLibraryGenerator
Source§fn clone(&self) -> ImportLibraryGenerator
fn clone(&self) -> ImportLibraryGenerator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more