aboutsummaryrefslogtreecommitdiffstats
path: root/libpintos-rs
diff options
context:
space:
mode:
Diffstat (limited to 'libpintos-rs')
-rw-r--r--libpintos-rs/.gitignore1
-rw-r--r--libpintos-rs/Cargo.toml16
-rw-r--r--libpintos-rs/build.rs4
-rw-r--r--libpintos-rs/rust-toolchain1
-rw-r--r--libpintos-rs/src/lib.rs6
5 files changed, 28 insertions, 0 deletions
diff --git a/libpintos-rs/.gitignore b/libpintos-rs/.gitignore
new file mode 100644
index 0000000..437e1f1
--- /dev/null
+++ b/libpintos-rs/.gitignore
@@ -0,0 +1 @@
+libpintos.a
diff --git a/libpintos-rs/Cargo.toml b/libpintos-rs/Cargo.toml
new file mode 100644
index 0000000..e9293ad
--- /dev/null
+++ b/libpintos-rs/Cargo.toml
@@ -0,0 +1,16 @@
+[package]
+name = "libpintos"
+version = "0.1.0"
+authors = ["Gustav Sörnäs <gustav@sornas.net>"]
+edition = "2018"
+
+[profile.dev]
+panic = "abort"
+
+[profile.release]
+panic = "abort"
+
+[dependencies.libc]
+version = "0.2"
+default-features = false
+features = ["extra_traits"]
diff --git a/libpintos-rs/build.rs b/libpintos-rs/build.rs
new file mode 100644
index 0000000..8b9cdb4
--- /dev/null
+++ b/libpintos-rs/build.rs
@@ -0,0 +1,4 @@
+fn main() {
+ println!("cargo:rustc-link-search=native=.");
+ println!("cargo:rustc-link-lib=static=pintos");
+}
diff --git a/libpintos-rs/rust-toolchain b/libpintos-rs/rust-toolchain
new file mode 100644
index 0000000..adfa491
--- /dev/null
+++ b/libpintos-rs/rust-toolchain
@@ -0,0 +1 @@
+nightly-i686-unknown-linux-gnu
diff --git a/libpintos-rs/src/lib.rs b/libpintos-rs/src/lib.rs
new file mode 100644
index 0000000..2ad4657
--- /dev/null
+++ b/libpintos-rs/src/lib.rs
@@ -0,0 +1,6 @@
+#![no_std]
+
+#[link(name="pintos", kind="static")]
+extern {
+ pub fn exit(status: i32);
+}