Oh My Gentool [v0.0.1] (Yet another binding generator)
evilrat
evilrat666 at gmail.com
Tue Oct 23 07:42:56 UTC 2018
(Oh My) Gentool v0.0.1 is just released!
What it is?
Binding generator with C/C++ support(primarilly C++) that outputs
D bindings.
Internally it is using clang for all heavy lifting work. The code
itself is not yet stabilized but is open for everyone to play
with or use in just any way possible.
This is the first public "stable" release.
Why?
I just needed something that generates stuff to use C++ libs from
D.
Doing this manually is tiresome, so I made this tool to help me
automate the process. It is not fully automated, I just use it to
generate bulk of the code, and then do necessary fixes and
clean-ups here and there.
I know there is already several tools existed, but I don't care
much about C(which they DO care) and others proves to be too
complicated to set up or use (or both)(esp. on Windows)
It just generates bindings that is available for tools to parse
to provide autocompletion.
Target audience?
- Let's be honest - Me, and only me.
But here is who might be interested as well:
- Experienced C++ users who wants to move to D for whatever
reason but needs their usual stuff that doesn't have analogs in
D. (sorry, but no Boost support and so on)
- Gamedev people?
- Any other users who wants to try this fancy C++ library but
lacks C++ skills.
- As for me - I did it to reuse existing gamedev and content
pipeline libs, because reimplementing all the stuff in D is not
feasible and impractical from maintenance point of view. Not
mentioning that not all of them provided with sources.
Limitations?
There are many.
The most important is - It doesn't tries to 'port' STL or BOOST
or any other template-only library.
It is targeting D 2.083 with namespaces as string by default,
there is no option to generate legacy style namespaces. (ok,
there is hacky one, but it is hard coded option)
Not all language contructs are supported, or their support
quality is poor.
Now when I added separate preprocessor pass one can enjoy the
full genuine C++ compilation speed(lack of), yay \0/
Links:
Sources is available at
https://github.com/Superbelko/ohmygentool
There is few short wiki pages available at
https://github.com/Superbelko/ohmygentool/wiki
This release comes with prebuilt binaries for Linux x64 and
Windows x64
https://github.com/Superbelko/ohmygentool/releases
(Since I'm linux noob this linux binaries might be screwed up and
just not work at all)
More information about the Digitalmars-d-announce
mailing list