diff --git a/build.rs b/build.rs index 8c04b16dfa0b1c8672405aac718686d67d26cb1b..296676966010403994c9be2b6fae78070965fd73 100644 --- a/build.rs +++ b/build.rs @@ -114,4 +114,8 @@ b" files.clear();" // Silence mutability warning } } ").unwrap(); + + fn main() { + println!("cargo:rustc-env=TARGET={}", env::var("TARGET").unwrap()); + } } diff --git a/src/scheme/sys/mod.rs b/src/scheme/sys/mod.rs index 39b8953d8486136f9deb8375e16b7943f83e9e57..a058dbfd4555439430467753f23f693097b37a71 100644 --- a/src/scheme/sys/mod.rs +++ b/src/scheme/sys/mod.rs @@ -15,6 +15,7 @@ mod exe; mod iostat; mod scheme; mod scheme_num; +mod uname; //mod interrupt; //mod log; //mod test; @@ -45,6 +46,7 @@ impl SysScheme { files.insert(b"iostat", Box::new(move || iostat::resource())); files.insert(b"scheme", Box::new(move || scheme::resource())); files.insert(b"scheme_num", Box::new(move || scheme_num::resource())); + files.insert(b"uname", Box::new(move || uname::resource())); //files.insert(b"interrupt", Box::new(move || interrupt::resource())); //files.insert(b"log", Box::new(move || log::resource())); //files.insert(b"test", Box::new(move || test::resource())); diff --git a/src/scheme/sys/uname.rs b/src/scheme/sys/uname.rs new file mode 100644 index 0000000000000000000000000000000000000000..29daef8c46adc814f43e3c46b7396dbf330be66a --- /dev/null +++ b/src/scheme/sys/uname.rs @@ -0,0 +1,9 @@ +use collections::Vec; +use syscall::error::Result; + +pub fn resource() -> Result<Vec<u8>> { + Ok(format!("Redox\n\n{}\n\n{}\n", + env!("CARGO_PKG_VERSION"), + env!("TARGET").split('-').next().unwrap()).into_bytes()) +} +