Struct nasm_rs::Build
[−]
[src]
pub struct Build { /* fields omitted */ }
Methods
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]
&mut self,
files: I
) -> &mut Self
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]
&mut self,
var: &str,
val: V
) -> &mut Self
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 nasm<P: AsRef<Path>>(&mut self, nasm: P) -> &mut Self
[src]
Configures path to nasm
command
pub 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).
pub 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