What are the best practices with FFIs in Rust? Should we commit the bindings.rs, or generate them in a build script (build.rs)? If it's the build script route, I guess we'd have to include the header files somewhere. I don't mind committing it for now, and later pulling it from a submodule.
I can never remember, what is the recommendation for committing Cargo.lock in Rust workspaces? Considering whether there are executables or just libs?
Executables should commit the Cargo.toml, libraries shouldn't so I removed them.
I think that we can only generate the bindings using build.rs if we have the include files of libcartesi somewhere, I generated them from inside of the image so I think that's bad if we are developing outside of the image to generate it. I'm not sure of the conventions but I think that if can generate it without bloating the crate with a lot of header files it's better than keeping the generated file like that.
Executables should commit the
Cargo.toml
, libraries shouldn't so I removed them.I think that we can only generate the bindings using
build.rs
if we have the include files of libcartesi somewhere, I generated them from inside of the image so I think that's bad if we are developing outside of the image to generate it. I'm not sure of the conventions but I think that if can generate it without bloating the crate with a lot of header files it's better than keeping the generated file like that.