pub struct LibPythonBuildContext {
pub inittab_cflags: Option<Vec<String>>,
pub includes: BTreeMap<PathBuf, FileData>,
pub object_files: Vec<FileData>,
pub library_search_paths: BTreeSet<PathBuf>,
pub system_libraries: BTreeSet<String>,
pub dynamic_libraries: BTreeSet<String>,
pub static_libraries: BTreeSet<String>,
pub frameworks: BTreeSet<String>,
pub init_functions: BTreeMap<String, String>,
pub licensed_components: LicensedComponents,
}
Expand description
Holds state necessary to build and link a libpython.
Note that this context is only for producing libpython: it is very linker centric and doesn’t track state like Python resources.
Fields§
§inittab_cflags: Option<Vec<String>>
Compiled flags to use when compiling the object containing Py_inittab.
includes: BTreeMap<PathBuf, FileData>
Include files defining Python headers.
These are necessary to compile code that references Python types.
object_files: Vec<FileData>
Object files that will be linked together.
library_search_paths: BTreeSet<PathBuf>
Filesystem paths to add to linker search path.
system_libraries: BTreeSet<String>
System libraries that will be linked against.
dynamic_libraries: BTreeSet<String>
Dynamic libraries that will be linked against.
static_libraries: BTreeSet<String>
Static libraries that will be linked against.
frameworks: BTreeSet<String>
Frameworks that will be linked against.
Used on Apple platforms.
init_functions: BTreeMap<String, String>
Builtin extension module initialization functions.
Key is extension name. Value is initialization function. The
function can have the special value NULL
.
licensed_components: LicensedComponents
Holds licensing info for things being linked together.
Implementations§
Trait Implementations§
Source§impl Clone for LibPythonBuildContext
impl Clone for LibPythonBuildContext
Source§fn clone(&self) -> LibPythonBuildContext
fn clone(&self) -> LibPythonBuildContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LibPythonBuildContext
impl Debug for LibPythonBuildContext
Source§impl Default for LibPythonBuildContext
impl Default for LibPythonBuildContext
Source§fn default() -> LibPythonBuildContext
fn default() -> LibPythonBuildContext
Source§impl PartialEq for LibPythonBuildContext
impl PartialEq for LibPythonBuildContext
impl StructuralPartialEq for LibPythonBuildContext
Auto Trait Implementations§
impl Freeze for LibPythonBuildContext
impl RefUnwindSafe for LibPythonBuildContext
impl Send for LibPythonBuildContext
impl Sync for LibPythonBuildContext
impl Unpin for LibPythonBuildContext
impl UnwindSafe for LibPythonBuildContext
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more