(Oh My) Gentool 0.1.0

Gavin Ray user at example.com
Sat Apr 17 17:23:00 UTC 2021


On Thursday, 15 April 2021 at 16:31:01 UTC, evilrat wrote:
> On Thursday, 15 April 2021 at 13:36:00 UTC, Imperatorn wrote:
>> https://forum.dlang.org/post/kofkrulquprdedolczbi@forum.dlang.org
>>
>> On Saturday, 2 February 2019 at 09:41:42 UTC, evilrat wrote:
>>> (Oh My) Gentool - Yet another C/C++ binding generator.
>>>
>>> This release has few changes and tweaks, the most important 
>>> one is the ability to process templated functions/methods on 
>>> Windows and reduction of missing linker symbols numbers.
>>>
>>> [...]
>>
>> Why haven't I heard of this?
>
> I haven't been that active for quite long time, and I didn't 
> write announces that often.
>
> After first public release I estimated popularity, and it seems 
> only 3-5 people have interest in such stuff, assuming 1k active 
> forum users that reads it on every day basis it seems there 
> isn't that much people who has any touch on making C++ 
> bindings, D/C++ interop, or anything related.
>
> But I still do major release announcements anyway.

This is far and away one of the best translation tools I've used 
not only for D, but in general. **Amazing!**

Deserves a good deal of attention IMO.

**I hope I can find the time this weekend to get a few examples 
of realistic usecases for header translation (large, production 
libraries/programs) to be able to do a comparative analysis of 
the available tools in the ecosystem for C/C++ -> D conversion.**

(It's not very useful to hand-wavily talk about things without 
objective data)

What I can say is that I've had stellar results with Ohmygentool. 
(Also use/have used d++, the VisualD C++ converter, cpp2d, and 
SWIG).

> SWIG's D generator with the "Directors" feature enabled is 
> decent too for anyone not aware of it's existence, though it's 
> super fickle to get working

---

I wonder if there are enough people interested in this problem in 
the community to form a **Special Interest Group on C++ 
integration and auto-bindgen/translation**?

Personally I'm not so much interested in conversion of any C/C++ 
method body code, but just `extern (C++)` type signatures.

In an ideal world, I'd love to be able to decide to start using D 
in any C++ project and it's nothing more than one command & some 
configuration and/or generating a `compile_commands.json`.

Or be able to leverage all of the C++ ecosystem by using 
`vcpkg`/`conan` etc to fetch the library, and then having the D 
bindings autogenerated. That would essentially make C++'s tooling 
and ecosystem into D's tooling and ecosystem.

Possibly a pipe dream but maybe worth burning a good many nights 
and weekends if there's a path forward.


More information about the Digitalmars-d-announce mailing list