Difference between revisions of "Bindings"
m |
(Add the BindBC project) |
||
(34 intermediate revisions by 12 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 and repositories for collecting / maintaining D bindings: | ||
+ | |||
+ | * [https://github.com/bindbc BindBC] | ||
+ | * [https://github.com/D-Programming-Deimos Deimos] | ||
+ | * [http://dsource.org/projects/bindings DSource bindings project] | ||
+ | |||
+ | == Binding generators == | ||
+ | Projects which automate generating D bindings: | ||
+ | |||
+ | === C/C++ to D === | ||
− | == Compression & Encryption == | + | {{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 === | ||
+ | |||
+ | * [https://github.com/jacob-carlborg/dstep dstep] | ||
+ | |||
+ | === D to C/C++ === | ||
+ | |||
+ | * [https://issues.dlang.org/show_bug.cgi?id=9285 dtoh] | ||
+ | |||
+ | == 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 === | ||
{{Projects | {{Projects | ||
| Projects = | | Projects = | ||
Line 20: | Line 97: | ||
| license = | | license = | ||
| url = https://github.com/D-Programming-Deimos/liblzma | | url = https://github.com/D-Programming-Deimos/liblzma | ||
+ | }} | ||
+ | {{Project | ||
+ | | name = '''GNUTLS''' | ||
+ | | about = Interface to GNUTLS library | ||
+ | | platform = | ||
+ | | license = LGPL | ||
+ | | url = https://github.com/opticron/libdtls | ||
}} | }} | ||
}} | }} | ||
− | == Multimedia & Games == | + | === Multimedia & Games === |
{{Projects | {{Projects | ||
| Projects = | | Projects = | ||
Line 48: | 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 == |
− | https://github.com/D- | + | |
+ | * [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