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/c-from-rust/foo/TARGETS | 10 ++++++++++ doc/interoperability/c-from-rust/foo/foo.c | 7 +++++++ doc/interoperability/c-from-rust/foo/foo.h | 3 +++ 3 files changed, 20 insertions(+) create mode 100644 doc/interoperability/c-from-rust/foo/TARGETS create mode 100644 doc/interoperability/c-from-rust/foo/foo.c create mode 100644 doc/interoperability/c-from-rust/foo/foo.h (limited to 'doc/interoperability/c-from-rust/foo') diff --git a/doc/interoperability/c-from-rust/foo/TARGETS b/doc/interoperability/c-from-rust/foo/TARGETS new file mode 100644 index 0000000..804b9e8 --- /dev/null +++ b/doc/interoperability/c-from-rust/foo/TARGETS @@ -0,0 +1,10 @@ +{ "foo": + { "type": ["@", "rules-cc", "CC", "library"] + , "pure C": ["true"] + , "name": ["foo"] + , "srcs": ["foo.c"] + , "hdrs": ["foo.h"] + , "stage": ["foo"] + , "ldflags": ["-lm"] + } +} diff --git a/doc/interoperability/c-from-rust/foo/foo.c b/doc/interoperability/c-from-rust/foo/foo.c new file mode 100644 index 0000000..e419fa4 --- /dev/null +++ b/doc/interoperability/c-from-rust/foo/foo.c @@ -0,0 +1,7 @@ +#include + +#include "foo/foo.h" + +int c_func(int x){ + return sqrt(x*x); +} diff --git a/doc/interoperability/c-from-rust/foo/foo.h b/doc/interoperability/c-from-rust/foo/foo.h new file mode 100644 index 0000000..6ce2745 --- /dev/null +++ b/doc/interoperability/c-from-rust/foo/foo.h @@ -0,0 +1,3 @@ +#pragma once +int c_func(int); + -- cgit v1.2.3