On Tuesday, 12 January 2016 at 10:43:40 UTC, Russel Winder wrote:
On Tue, 2016-01-12 at 08:12 +0000, Atila Neves via Digitalmars-d wrote:
On Monday, 11 January 2016 at 17:25:26 UTC, Russel Winder wrote:
> I am guessing that people have an answer to this:
> > D making use of a C API needs a D module adapter. This can > either be constructed by hand (well it can, but…), or it can > be auto generated from the C header files and then hand > massaged (likely far better). I think the only tool for this > on Linux is DStep. > > This is all very well for a static unchanging API, but what > about C APIs that are generated from elsewhere? This > requires constant update of the D modules. Do people just do > this by hand? > > Is the pain of creating a V4L D module set worth the effort > rather than just suffering the pain of writing in C++?

This is the kind of thing I wrote reggae for. CMake is an alternative, but I'd rather write D than CMake script.

CMake scripts are hideous in that the language is like nothing else, other than perhaps m4 macros. They should have used Lisp. Or Python.

I must try Reggae at some stage, but for now I need to progress this Me TV rewrite. D and Rust provide so many barriers to effective use of a C library, that I am resorting to using C++. Yes you have to do extra stuff to avoid writing C code, but nowhere near the amount you have to to create D and Rust adaptors.

What's so hard about writing a few function prototypes, aliases and enums? It's annoying that we have to do it, but compared to writing the rest of a project it's always going to be a tiny amount of work.

For a lot of projects you can only bind what you actually need, I often just pretend that I have already written the bindings then write whatever lines are necessary to get it to compile!

Reply via email to