Done
Details
Details
Assignee
Marcin Swieczkowski
Marcin SwieczkowskiReporter
Marcin Swieczkowski
Marcin SwieczkowskiLabels
Start date
Aug 31, 2017
End date
Sep 18, 2017
Story Points
6
Components
Priority
Created August 31, 2017 at 9:39 AM
Updated September 11, 2018 at 9:02 AM
Resolved September 18, 2017 at 3:59 PM
Goal: Get moz_cheddar (https://github.com/mozilla/moz-cheddar) working for safe_client_libs to produce C header files.
Subtasks:
1. Find out whether C API should be in lib.rs directly or available to it via `pub use some::nested::c_module::*;` or mixed and matched as it is now.
2. If so, refactor so that where there is C API code there is nothing else, then include `pub use ...::*;` in lib.rs for those modules and see if it generates proper C header files.
3. See what can be done about converting `c_void` to `void`.
Seems like changing `c_void` to `std::os::raw::c_void` everywhere is the only option based on https://github.com/mozilla/moz-cheddar/issues/7. We'll process the headers after generation to convert `c_char` to `char` and `c_void` to `void`. Add a task for the future to revert it back if moz-cheddar/rusty-cheddar ever fixes this.
4. Confirm that everything else in the produced header files is correct.
Linked to by