Generate C header files for safe_client_libs

Description

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

Environment

None

Gliffy Diagrams

Activity

Done

Details

Assignee

Reporter

Start date

End date

Story Points

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