On Thursday, 18 March 2021 at 02:28:56 UTC, Chris Piker wrote:
Hi D

I've started a D layer for one of my C libraries that's adds some new functionality and a bit of an interface upgrade. In turn I'm using this combined code-base as a dependency for D "scripts". Since my software is used by a few outside groups in my field, it seems I should get used to packaging D modules, even if those packages never make it to the central dub repo.

Given that source code for the combined library is some D but mostly C, would you recommend that I:

  1) Keep the D sources and C sources in separate projects?
  2) Use meson to create a combined package?
  3) Use dub to create a combined package?
  4) Some other option?

The D code is useless without it's C core, so a dub package that just includes the D parts would be disappointing. The library's not huge, only about 25K lines, but I don't think I have time for a straight conversion of the whole thing to D at this point.

Thanks for your opinions on the matter,

The D support from meson is not perfect, but for your use case I'd go for it, esp. if you have do not have many dependencies on dub packages.

One problem with meson is that it goes the separate compilation route by default. I recommend just to -I your dependencies and build with -i, to avoid the hit in your compile times.

Reply via email to