Struct nasm_rs::Build
[−]
[src]
pub struct Build { /* fields omitted */ }
Methods
impl Build
[src]
fn new() -> Self
[src]
fn file<P: AsRef<Path>>(&mut self, p: P) -> &mut Self
[src]
Add a file which will be compiled
e.g. "foo.s"
fn files<P: AsRef<Path>, I: IntoIterator<Item = P>>(
&mut self,
files: I
) -> &mut Self
[src]
&mut self,
files: I
) -> &mut Self
Set multiple files
fn include<P: AsRef<Path>>(&mut self, dir: P) -> &mut Self
[src]
Add a directory to the -I
include path
fn define<'a, V: Into<Option<&'a str>>>(
&mut self,
var: &str,
val: V
) -> &mut Self
[src]
&mut self,
var: &str,
val: V
) -> &mut Self
Pre-define a macro with an optional value
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.
fn flag(&mut self, flag: &str) -> &mut Self
[src]
Add an arbitrary flag to the invocation of the assembler
e.g. "-Fdwarf"
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.
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.
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.
fn nasm<P: AsRef<Path>>(&mut self, nasm: P) -> &mut Self
[src]
Configures path to nasm
command
fn compile(&mut self, lib_name: &str)
[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).
fn compile_objects(&mut self) -> Vec<PathBuf>
[src]
Run the compiler, generating .o files
The files can be linked in a separate step, e.g. passed to cc