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: Triple
The 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>>
fn try_from_env_vars_host_target( env_vars: CrossCompileEnvVars, host: &Triple, target: &Triple, ) -> Result<Option<Self>>
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
#[doc(hidden)] fn assert_receiver_is_total_eq(&self)
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 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 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