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 !=.

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.