Ensure C bindings and linkage for library.
Merge branch 'extern_C_guards'