pub struct PkgConfig {
pub name: String,
pub version: String,
pub description: String,
pub include_dirs: Vec<String>,
pub lib_dirs: Vec<String>,
pub libs: Vec<String>,
pub cflags: Vec<String>,
}Expand description
Package configuration metadata, compatible with the pkg-config format.
Stores the compiler and linker flags needed to build against a particular installed library package.
Fields§
§name: StringPackage name.
version: StringPackage version string.
description: StringHuman-readable description.
include_dirs: Vec<String>Include search directories.
lib_dirs: Vec<String>Library search directories.
libs: Vec<String>Libraries to link against (short names, e.g. “veridian”).
cflags: Vec<String>Additional compiler flags.
Implementations§
Source§impl PkgConfig
impl PkgConfig
Sourcepub fn generate_pkg_config(&self) -> String
pub fn generate_pkg_config(&self) -> String
Generate a pkg-config compatible .pc file contents.
The output follows the standard pkg-config format with Name,
Version, Description, Cflags, and Libs fields.
Sourcepub fn find_package(name: &str) -> Option<PkgConfig>
pub fn find_package(name: &str) -> Option<PkgConfig>
Look up the pkg-config metadata for an installed package by name.
In a full implementation this would query the VFS for .pc files under
the sysroot. Currently returns built-in configurations for core
VeridianOS libraries.
Sourcepub fn include_paths(&self) -> Vec<IncludePath>
pub fn include_paths(&self) -> Vec<IncludePath>
Create IncludePath entries from the stored include directories.
Sourcepub fn library_paths(&self) -> Vec<LibraryPath>
pub fn library_paths(&self) -> Vec<LibraryPath>
Create LibraryPath entries from the stored library directories and
names.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PkgConfig
impl RefUnwindSafe for PkgConfig
impl Send for PkgConfig
impl Sync for PkgConfig
impl Unpin for PkgConfig
impl UnwindSafe for PkgConfig
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)