[][src]Struct nasm_rs::Build

pub struct Build { /* fields omitted */ }

Implementations

impl Build[src]

pub fn new() -> Self[src]

pub fn file<P: AsRef<Path>>(&mut self, p: P) -> &mut Self[src]

Add a file which will be compiled

e.g. "foo.s"

pub fn files<P: AsRef<Path>, I: IntoIterator<Item = P>>(
    &mut self,
    files: I
) -> &mut Self
[src]

Set multiple files

pub fn include<P: AsRef<Path>>(&mut self, dir: P) -> &mut Self[src]

Add a directory to the -I include path

pub fn define<'a, V: Into<Option<&'a str>>>(
    &mut self,
    var: &str,
    val: V
) -> &mut Self
[src]

Pre-define a macro with an optional value

pub fn debug(&mut self, enable: bool) -> &mut Self[src]

Configures whether the assembler will generate debug information.

This option is automatically scraped from the DEBUG environment variable by build scripts (only enabled when the profile is "debug"), so it's not required to call this function.

pub fn flag(&mut self, flag: &str) -> &mut Self[src]

Add an arbitrary flag to the invocation of the assembler

e.g. "-Fdwarf"

pub fn target(&mut self, target: &str) -> &mut Self[src]

Configures the target this configuration will be compiling for.

This option is automatically scraped from the TARGET environment variable by build scripts, so it's not required to call this function.

pub fn out_dir<P: AsRef<Path>>(&mut self, out_dir: P) -> &mut Self[src]

Configures the output directory where all object files and static libraries will be located.

This option is automatically scraped from the OUT_DIR environment variable by build scripts, so it's not required to call this function.

pub fn archiver<P: AsRef<Path>>(&mut self, archiver: P) -> &mut Self[src]

Configures the tool used to assemble archives.

This option is automatically determined from the target platform or a number of environment variables, so it's not required to call this function.

pub fn archiver_is_msvc(&mut self, is_msvc: bool) -> &mut Self[src]

Configures the default archiver tool as well as the command syntax.

This option is automatically determined from cfg!(target_env = "msvc"), so it's not required to call this function.

pub fn nasm<P: AsRef<Path>>(&mut self, nasm: P) -> &mut Self[src]

Configures path to nasm command

pub fn min_version(
    &mut self,
    major: usize,
    minor: usize,
    micro: usize
) -> &mut Self
[src]

Set the minimum version required

pub fn compile(&mut self, lib_name: &str) -> Result<(), String>[src]

Run the compiler, generating the file output

The name output should be the base name of the library, without file extension, and without "lib" prefix.

The output file will have target-specific name, such as lib*.a (non-MSVC) or *.lib (MSVC).

pub fn compile_objects(&mut self) -> Result<Vec<PathBuf>, String>[src]

Run the compiler, generating .o files

The files can be linked in a separate step, e.g. passed to cc

Auto Trait Implementations

impl RefUnwindSafe for Build

impl Send for Build

impl Sync for Build

impl Unpin for Build

impl UnwindSafe for Build

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.