Difference between revisions of "Bindings"
(Add the BindBC project) |
|||
(26 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Binding is a procedure that converts header files, function prototypes, and variable declarations to from another language to D. | |
− | |||
− | |||
− | |||
− | |||
== Projects == | == Projects == | ||
Projects and repositories for collecting / maintaining D bindings: | Projects and repositories for collecting / maintaining D bindings: | ||
+ | * [https://github.com/bindbc BindBC] | ||
* [https://github.com/D-Programming-Deimos Deimos] | * [https://github.com/D-Programming-Deimos Deimos] | ||
* [http://dsource.org/projects/bindings DSource bindings project] | * [http://dsource.org/projects/bindings DSource bindings project] | ||
Line 16: | Line 13: | ||
=== C/C++ to D === | === C/C++ to D === | ||
− | + | {{Projects | |
− | + | | Projects = | |
− | + | ||
+ | {{Project | ||
+ | | name = '''dstep''' | ||
+ | | about = A tool for converting C and Objective-C headers to D modules | ||
+ | | platform = Posix, Windows | ||
+ | | license = Boost Software License 1.0 | ||
+ | | url = https://github.com/jacob-carlborg/dstep | ||
+ | }} | ||
+ | |||
+ | {{Project | ||
+ | | name = '''dpp''' | ||
+ | | about = #include C headers in D code | ||
+ | | platform = | ||
+ | | license = Boost License 1.0. | ||
+ | | url = https://github.com/atilaneves/dpp | ||
+ | }} | ||
+ | |||
+ | {{Project | ||
+ | | name = '''SWIG''' | ||
+ | | about = Simplified Wrapper and Interface Generator | ||
+ | | platform = | ||
+ | | license = | ||
+ | | url = http://www.swig.org/Doc4.0/D.html | ||
+ | }} | ||
+ | |||
+ | {{Project | ||
+ | | name = '''cwrap''' (abandoned) | ||
+ | | about = High-level wrapper generator | ||
+ | | platform = | ||
+ | | license = Boost License 1.0. | ||
+ | | url = https://bitbucket.org/denis-sh/cwrap | ||
+ | }} | ||
+ | |||
+ | {{Project | ||
+ | | name = '''htod''' (not actively developed) | ||
+ | | about = Migration tool to aid in converting C header files | ||
+ | | platform = Windows | ||
+ | | license = | ||
+ | | url = http://dlang.org/htod.html | ||
+ | }} | ||
+ | |||
+ | }} | ||
=== Objective-C to D === | === Objective-C to D === | ||
Line 26: | Line 64: | ||
=== D to C/C++ === | === D to C/C++ === | ||
− | * [https:// | + | * [https://issues.dlang.org/show_bug.cgi?id=9285 dtoh] |
== Bindings == | == Bindings == | ||
+ | === Web === | ||
+ | {{Projects | ||
+ | | Projects = | ||
+ | |||
+ | {{Project | ||
+ | | name = '''librdf/redland''' | ||
+ | | about = Multiple language bindings for librdf (advanced RDF and SPARQL support) | ||
+ | | platform = all | ||
+ | | license = multiple FOSS licenses | ||
+ | | url = https://github.com/vporton/redland-bindings | ||
+ | }} | ||
+ | }} | ||
+ | |||
=== Compression & Encryption === | === Compression & Encryption === | ||
{{Projects | {{Projects | ||
Line 81: | Line 132: | ||
}} | }} | ||
{{Project | {{Project | ||
− | | name = ''' | + | | name = '''DerelictOrg''' |
− | | about = | + | | about = DerelictOrg is a collection of D bindings to C shared (dynamic) libraries which are useful for multimedia applications, with a heavy bias toward game development-related libraries. |
+ | Bindings: | ||
+ | * ALURE | ||
+ | * ASSIMP | ||
+ | * DevIL | ||
+ | * FreeImage | ||
+ | * FreeType | ||
+ | * GLFW | ||
+ | * Lua | ||
+ | * ODE | ||
+ | * OpenAL | ||
+ | * OpenGL | ||
+ | * PhysicsFS | ||
+ | * SDL2 | ||
+ | * SFML2 | ||
+ | * Vorbis | ||
+ | * libogg | ||
+ | * libpq | ||
+ | Older versions: | ||
+ | * [http://www.dsource.org/projects/derelict Original DSource project] | ||
+ | * [http://www.dsource.org/projects/derelict/browser/branches/Derelict2 Derelict 2 branch] | ||
+ | * [https://github.com/aldacron/Derelict3 Derelict 3] | ||
| platform = | | platform = | ||
| license = | | license = | ||
− | | url = | + | | url = https://github.com/DerelictOrg |
}} | }} | ||
{{Project | {{Project | ||
− | | name = ''' | + | | name = '''AntTweakBarD''' |
− | | about = | + | | about = AntTweakBarD is a binding to AntTweakBar which is a multi-render-engine (D3D/OpenGL) GUI tweaking library. |
| platform = | | platform = | ||
− | | license = | + | | license = zlib/libpng |
− | | url = https://github.com/ | + | | url = https://github.com/d-gamedev-team/AntTweakBarD |
}} | }} | ||
}} | }} | ||
+ | |||
+ | == Source code translators == | ||
+ | |||
+ | * [http://rainers.github.io/visuald/visuald/CppConversion.html cpp2d] - C++ to D converter (included with Visual D) | ||
+ | * [https://github.com/dlang/visuald/blob/master/c2d/idl2d.d idl2d] - IDL / C++ header file to D converter | ||
+ | |||
+ | == See also == | ||
+ | |||
+ | * [[D binding for C]] | ||
+ | * [[Binding generators]] | ||
+ | |||
+ | ==External links== | ||
+ | * [http://www.gamedev.net/page/resources/_/technical/game-programming/binding-d-to-c-r3122 Article] | ||
+ | * [http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/ Series on creating bindings to C libraries for the D programming language]. | ||
+ | * [http://dlang.org/interfaceToC.html Interfacing to C (DLang page)] | ||
+ | * [http://dlang.org/htod.html DLang htod tool] | ||
+ | |||
+ | [[Category:Binding]] |
Latest revision as of 01:43, 11 May 2021
Binding is a procedure that converts header files, function prototypes, and variable declarations to from another language to D.
Contents
Projects
Projects and repositories for collecting / maintaining D bindings:
Binding generators
Projects which automate generating D bindings:
C/C++ to D
Objective-C to D
D to C/C++
Bindings
Web
Title / Info | Description | License | Platform | |
---|---|---|---|---|
Multiple language bindings for librdf (advanced RDF and SPARQL support) | multiple FOSS licenses | all |
Compression & Encryption
Title / Info | Description | License | Platform | |
---|---|---|---|---|
D version of the C headers for openssl | MIT | Windows/POSIX | ||
Interface to LZMA compression library | Windows/POSIX | |||
Interface to GNUTLS library | LGPL |
Multimedia & Games