wasm-utils/build/source.rs

62 lines
1.2 KiB
Rust
Raw Normal View History

2017-12-26 13:38:07 +03:00
//! Configuration of source binaries
2017-12-27 17:50:31 +03:00
pub const UNKNOWN_TRIPLET: &str = "wasm32-unknown-unknown";
pub const EMSCRIPTEN_TRIPLET: &str = "wasm32-unknown-emscripten";
2017-12-26 15:58:04 +03:00
2017-12-26 13:38:07 +03:00
/// Target configiration of previous build step
2017-12-27 12:12:09 +03:00
#[derive(Debug, Clone, Copy)]
2017-12-26 13:38:07 +03:00
pub enum SourceTarget {
Emscripten,
Unknown,
}
/// Configuration of previous build step (cargo compilation)
#[derive(Debug)]
pub struct SourceInput<'a> {
target_dir: &'a str,
bin_name: &'a str,
2017-12-27 12:12:09 +03:00
final_name: &'a str,
2017-12-26 13:38:07 +03:00
target: SourceTarget,
}
impl<'a> SourceInput<'a> {
pub fn new<'b>(target_dir: &'b str, bin_name: &'b str) -> SourceInput<'b> {
SourceInput {
target_dir: target_dir,
bin_name: bin_name,
2017-12-27 12:12:09 +03:00
final_name: bin_name,
2017-12-26 13:38:07 +03:00
target: SourceTarget::Emscripten,
}
}
pub fn unknown(mut self) -> Self {
self.target = SourceTarget::Unknown;
self
}
pub fn emscripten(mut self) -> Self {
self.target = SourceTarget::Emscripten;
self
}
2017-12-27 12:12:09 +03:00
pub fn with_final(mut self, final_name: &'a str) -> Self {
self.final_name = final_name;
self
}
2017-12-26 13:38:07 +03:00
pub fn target_dir(&self) -> &str {
2017-12-27 12:12:09 +03:00
self.target_dir
2017-12-26 13:38:07 +03:00
}
pub fn bin_name(&self) -> &str {
2017-12-27 12:12:09 +03:00
self.bin_name
}
pub fn final_name(&self) -> &str {
self.final_name
}
pub fn target(&self) -> SourceTarget {
self.target
2017-12-26 13:38:07 +03:00
}
}