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

Merge multiple LinkingContext together to produce an aggregate instance.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.