Rustbindgen: создание функций со скрытой видимостью
Я использую ржавчину-bindgen для создания привязок ржавчины для библиотеки C, которую я хочу связать статически. Библиотека использует __attribute((visibility("hidden"))) для некоторых функций, которые не должны быть доступны в общих библиотеках.
К сожалению,rust-bindgen не генерирует функции, у которых установлен этот атрибут:
cat header.h
__attribute__((visibility("hidden"))) void f_hidden();
__attribute__((visibility("default"))) void f_default();
bindgen header.h
/* automatically generated by rust-bindgen 0.66.1 */
extern "C" {
pub fn f_default();
}
Как я могу сказать Bindgen, чтобы он также генерировал скрытые функции? — Библиотека в любом случае будет статически скомпонована, поэтому функции будут доступны.
Я не могу изменить заголовки C, поскольку они не являются частью проекта.