Struct libbpf_cargo::SkeletonBuilder
source · pub struct SkeletonBuilder { /* private fields */ }Expand description
SkeletonBuilder builds and generates a single skeleton.
This interface is meant to be used in build scripts.
Examples
use libbpf_cargo::SkeletonBuilder;
SkeletonBuilder::new()
.source("myobject.bpf.c")
.debug(true)
.clang("/opt/clang/clang")
.build_and_generate("/output/path")
.unwrap();Implementations§
source§impl SkeletonBuilder
impl SkeletonBuilder
pub fn new() -> Self
sourcepub fn source<P: AsRef<Path>>(&mut self, source: P) -> &mut SkeletonBuilder
pub fn source<P: AsRef<Path>>(&mut self, source: P) -> &mut SkeletonBuilder
Point the SkeletonBuilder to a source file for compilation
Default is None
sourcepub fn obj<P: AsRef<Path>>(&mut self, obj: P) -> &mut SkeletonBuilder
pub fn obj<P: AsRef<Path>>(&mut self, obj: P) -> &mut SkeletonBuilder
Point the SkeletonBuilder to an object file for generation
Default is None
sourcepub fn debug(&mut self, debug: bool) -> &mut SkeletonBuilder
pub fn debug(&mut self, debug: bool) -> &mut SkeletonBuilder
Turn debug output on or off
Default is off
sourcepub fn clang<P: AsRef<Path>>(&mut self, clang: P) -> &mut SkeletonBuilder
pub fn clang<P: AsRef<Path>>(&mut self, clang: P) -> &mut SkeletonBuilder
Specify which clang binary to use
Default searchs $PATH for clang
sourcepub fn clang_args<S: AsRef<str>>(&mut self, opts: S) -> &mut SkeletonBuilder
pub fn clang_args<S: AsRef<str>>(&mut self, opts: S) -> &mut SkeletonBuilder
Pass additional arguments to clang when buildling BPF object file
Examples
use libbpf_cargo::SkeletonBuilder;
SkeletonBuilder::new()
.source("myobject.bpf.c")
.clang_args("-DMACRO=value -I/some/include/dir")
.build_and_generate("/output/path")
.unwrap();sourcepub fn skip_clang_version_check(&mut self, skip: bool) -> &mut SkeletonBuilder
pub fn skip_clang_version_check(&mut self, skip: bool) -> &mut SkeletonBuilder
Specify whether or not to skip clang version check
Default is false
sourcepub fn rustfmt<P: AsRef<Path>>(&mut self, rustfmt: P) -> &mut SkeletonBuilder
pub fn rustfmt<P: AsRef<Path>>(&mut self, rustfmt: P) -> &mut SkeletonBuilder
Specify which rustfmt binary to use
Default searches $PATH for rustfmt
sourcepub fn build_and_generate<P: AsRef<Path>>(&mut self, output: P) -> Result<()>
pub fn build_and_generate<P: AsRef<Path>>(&mut self, output: P) -> Result<()>
Build BPF programs and generate the skeleton at path output