From e7f2fc92c8fd64485d635b1cc7b0c2897d78bc69 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Tue, 23 Jul 2024 17:24:16 +0200 Subject: rules-rust: add interoperability tutorials --- doc/interoperability/rust-from-c/foo/TARGETS | 9 +++++++++ doc/interoperability/rust-from-c/foo/foo.h | 2 ++ doc/interoperability/rust-from-c/foo/foo.rs | 4 ++++ 3 files changed, 15 insertions(+) create mode 100644 doc/interoperability/rust-from-c/foo/TARGETS create mode 100644 doc/interoperability/rust-from-c/foo/foo.h create mode 100644 doc/interoperability/rust-from-c/foo/foo.rs (limited to 'doc/interoperability/rust-from-c/foo') diff --git a/doc/interoperability/rust-from-c/foo/TARGETS b/doc/interoperability/rust-from-c/foo/TARGETS new file mode 100644 index 0000000..8d19b35 --- /dev/null +++ b/doc/interoperability/rust-from-c/foo/TARGETS @@ -0,0 +1,9 @@ +{ "foo": + { "type": ["@", "rules-rust", "rust", "library"] + , "name": ["foo"] + , "crate_root": ["foo.rs"] + , "native": ["true"] + , "c_hdrs": ["foo.h"] + , "stage": ["foo"] + } +} diff --git a/doc/interoperability/rust-from-c/foo/foo.h b/doc/interoperability/rust-from-c/foo/foo.h new file mode 100644 index 0000000..88deb2e --- /dev/null +++ b/doc/interoperability/rust-from-c/foo/foo.h @@ -0,0 +1,2 @@ +#pragma once +int foo(int); diff --git a/doc/interoperability/rust-from-c/foo/foo.rs b/doc/interoperability/rust-from-c/foo/foo.rs new file mode 100644 index 0000000..65cbffc --- /dev/null +++ b/doc/interoperability/rust-from-c/foo/foo.rs @@ -0,0 +1,4 @@ +#[no_mangle] +pub extern "C" fn foo(x: i32) -> i32 { + return x.abs(); +} -- cgit v1.2.3