We've recently moved the hiffy interface to verfivier-cli behind a cargo feature. We have reasonable defaults set, and everything builds as it should (I think), but doing so required a lot of #[cfg(feature ... stuff. The end result is unfortunately less readable / comprehensible code. Everything's a trade off and since this currently works I'm not proposing any immediate changes. Instead this issue should serve as a place to collect opinions on what, if any changes can be made to mitigate this.
The the approach that comes to mind immediately is to hard code support for at least one interface. This could be an interface to the mock / simulator of the RoT if we don't want to hard code a dependency on any of the other interfaces. AFAIK the only interface that must be behind a feature is ipcc due to linking stuff & libipcc.so.
We've recently moved the
hiffyinterface toverfivier-clibehind a cargo feature. We have reasonable defaults set, and everything builds as it should (I think), but doing so required a lot of#[cfg(feature ...stuff. The end result is unfortunately less readable / comprehensible code. Everything's a trade off and since this currently works I'm not proposing any immediate changes. Instead this issue should serve as a place to collect opinions on what, if any changes can be made to mitigate this.The the approach that comes to mind immediately is to hard code support for at least one interface. This could be an interface to the mock / simulator of the RoT if we don't want to hard code a dependency on any of the other interfaces. AFAIK the only interface that must be behind a feature is
ipccdue to linking stuff &libipcc.so.