www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Sokol now has official D bindings

reply Matheus Catarino <matheus-catarino hotmail.com> writes:
https://forum.dlang.org/post/ycnmacxanggaisrogkkj forum.dlang.org

On Tuesday, 14 May 2024 at 12:35:47 UTC, ryuukk_ wrote:
 I just saw this yesterday, and i haven't see anybody talk about 
 it here, so i decided to share this great news for D here

 Sokol is a popular gamedev library 
 https://github.com/floooh/sokol

 It now officially supports D, thanks to the work led by 
 https://github.com/kassane

 https://github.com/floooh/sokol/blob/master/CHANGELOG.md#13-may-2024

 https://twitter.com/FlohOfWoe/status/1790043272385114421
Thanks for mentioning the project and Sokol's official support for Sokol-D. Before (v0.1.0->v0.2.1), it was simply an experiment for testing cross-compilation involving two LLVM-based toolchains, and it wasn't really usable. Now that Zig has been removed from version v0.3.0 to v1.0 [TODO], there is full support for the D toolkit [dmd/ldc2/gdc], which is only preferential to ldc2 for WASM targets. **dmd-frontend** requires at least **version 2.111.0** because of *cimgui* (via **importC** with ` nogc`, `nothrow`, `pure`). The `ig` prefix can be omitted when using the imgui-wrapper (D mangled), making it optional. However, due to the extensive use of C macros, sokol bindings aren't auto-generated from **importC**. In [floooh/sokol](https://github.com/floooh/sokol) main repository, the `clang-ast -dump` command in the Python3 script is used to automatically generate bindings, which updates the sokol-d files. script generator (updated): https://github.com/floooh/sokol/blob/69e43214d07993b5c33e3837cf3fcfd7479f1e93/bindgen/gen_d.py D binding project: https://github.com/kassane/sokol-d | https://sokol-d.dub.pm
Jun 06
parent Kapendev <alexandroskapretsos gmail.com> writes:
On Friday, 6 June 2025 at 17:35:33 UTC, Matheus Catarino wrote:
 D binding project:
 https://github.com/kassane/sokol-d | https://sokol-d.dub.pm
Great work!
Jun 07