project-oak / oak

Meaningful control of data in distributed systems.
Apache License 2.0
1.3k stars 111 forks source link

Support building and linking C/C++ code to Rust `oak_loader` #724

Closed tiziano88 closed 4 years ago

tiziano88 commented 4 years ago

We will need to keep supporting implementing some of the runtime in C++, and therefore:

In order to build the C++ code, we will probably keep relying on Bazel, and invoke the relevant command from a Rust build.rs script.

Ref.:

tiziano88 commented 4 years ago

@daviddrysdale assigning to you to figure out what is actually necessary, and how to go about it. Perhaps it would be useful to target a specific piece of functionality that we expect to be keeping in C++, e.g. the roughtime client.

cc @conradgrobler

tiziano88 commented 4 years ago

In fact I think roughtime is particularly nice in terms of doing this incrementally, since it may be encapsulated as a stateless C++ function that gets invoked from Rust when necessary to retrieve the time (if we are fine with re-establishing the network connection every time, as opposed to keeping it around as part of a local state).

daviddrysdale commented 4 years ago

No longer relevant after #1016 – we now have a pure Cargo build for the server-side code.