You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Due to the new build system as of #157, we have quite a lot of additional build-time dependencies. Among them are also quite a few that we don't really need, like clap, env_logger, url, and similar. These are pulled in as child-dependencies of libraries we use for code-generation.
Similar to what I have done in #200 / Rahix/atdf2svd#81 for atdf2svd, we should try making these dependencies optional upstream to make our build-process more lean. I don't think this has to happen right now, but we should strive to get rid of all the unnecessary bloat over time.
This is made by adding a "bin" feature that's enabled by default,
inspired by what was done in
rust-embedded/svd2rust#619.
Additionally, support for JSON and YAML configs has also been made
optional but default. This includes what should be the only behavior
change: if neither were enabled at build-time, passing a config file is
an error.
The motivation came from Rahix/avr-device#201,
but this should be a generally beneficial change for everybody.
Since some of the features of the CLI aren't very useful when using
svdtools as a library, they just vanish without the "bin" feature. This
is for two reasons: one is to reduce diff size, and two is to avoid
having to refactor all capabilities to have a library equivalent. There
is little disadvantage to this, for instance in avr-device we only use
the patching functionality (which is kept), and there's little prospect
of needing more.
From my inspection, the only crate that doesn't yet enable us to do this is svdtools, so I opened rust-embedded/svdtools#289. Once that's released, I have the changes to make dependencies optional ready locally, I'll open a PR.
Due to the new build system as of #157, we have quite a lot of additional build-time dependencies. Among them are also quite a few that we don't really need, like
clap
,env_logger
,url
, and similar. These are pulled in as child-dependencies of libraries we use for code-generation.Similar to what I have done in #200 / Rahix/atdf2svd#81 for
atdf2svd
, we should try making these dependencies optional upstream to make our build-process more lean. I don't think this has to happen right now, but we should strive to get rid of all the unnecessary bloat over time.Cc: @LuigiPiucco
The text was updated successfully, but these errors were encountered: