pub struct CrossCompileConfig {
pub lib_dir: Option<PathBuf>,
version: Option<PythonVersion>,
implementation: Option<PythonImplementation>,
target: Triple,
abiflags: Option<String>,
}Expand description
Configuration needed by PyO3 to cross-compile for a target platform.
Usually this is collected from the environment (i.e. PYO3_CROSS_* and CARGO_CFG_TARGET_*)
when a cross-compilation configuration is detected.
Fields§
§lib_dir: Option<PathBuf>The directory containing the Python library to link against.
version: Option<PythonVersion>The version of the Python library to link against.
implementation: Option<PythonImplementation>The target Python implementation hint (CPython, PyPy, GraalPy, …)
target: TripleThe compile target triple (e.g. aarch64-unknown-linux-gnu)
abiflags: Option<String>Python ABI flags, used to detect free-threaded Python builds.
Implementations§
Source§impl CrossCompileConfig
impl CrossCompileConfig
Sourcefn try_from_env_vars_host_target(
env_vars: CrossCompileEnvVars,
host: &Triple,
target: &Triple,
) -> Result<Option<Self>, Error>
fn try_from_env_vars_host_target( env_vars: CrossCompileEnvVars, host: &Triple, target: &Triple, ) -> Result<Option<Self>, Error>
Creates a new cross compile config struct from PyO3 environment variables and the build environment when cross compilation mode is detected.
Returns None when not cross compiling.
Sourcefn is_cross_compiling_from_to(host: &Triple, target: &Triple) -> bool
fn is_cross_compiling_from_to(host: &Triple, target: &Triple) -> bool
Checks if compiling on host for target required “real” cross compilation.
Returns false if the target Python interpreter can run on the host.
Sourcefn lib_dir_string(&self) -> Option<String>
fn lib_dir_string(&self) -> Option<String>
Converts lib_dir member field to an UTF-8 string.
The conversion can not fail because PYO3_CROSS_LIB_DIR variable
is ensured contain a valid UTF-8 string.
Trait Implementations§
Source§impl Debug for CrossCompileConfig
impl Debug for CrossCompileConfig
Source§impl Eq for CrossCompileConfig
impl Eq for CrossCompileConfig
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)1.0.0 · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
Source§impl PartialEq for CrossCompileConfig
impl PartialEq for CrossCompileConfig
impl StructuralPartialEq for CrossCompileConfig
Auto Trait Implementations§
impl Freeze for CrossCompileConfig
impl RefUnwindSafe for CrossCompileConfig
impl Send for CrossCompileConfig
impl Sync for CrossCompileConfig
impl Unpin for CrossCompileConfig
impl UnsafeUnpin for CrossCompileConfig
impl UnwindSafe for CrossCompileConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read more