Такой вопрос: допустим я хочу сделать библиотеку на rust, но такую, что:
если cargo при сборке передать один ключик, то будет собрана cdylib
, экспортирующая функцию SomeCFunction(c_params), а если передать другой ключик, то будет собрана rlib
с публичной функцией some_rust_func(rust_params)
Такое возможно, или у меня просто горячечный бред?
Тебе нужно копать в сторону features
.
пишешь
#[cfg(feature="c_build")]
fn SomeCFunction(c_params){
...
}
#[cfg(feature="rust_build")]
fn some_rust_func(rust_params)
Команда для сборки cargo build --features rust_build
Если другой проект будет на расте, то там можно будет данный флаг прописать в депенденсях
Благодарю за ответ, но чего-то у меня с этим не получилось, впрочем сделаю cdylib отдельным проектом, который будет юзать rlib, и будет норм.