Difference between revisions of "Bindings"

From D Wiki
Jump to: navigation, search
(Binding D to C)
m (Vladimir Panteleev moved page List of Bindings to Bindings over redirect: Redundant, as discussed)
(19 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Binding D to C ==
+
Binding is a procedure that converts header files, function prototypes, and variable declarations to from another language to D.
Article on creating [http://www.gamedev.net/page/resources/_/technical/game-programming/binding-d-to-c-r3122] libraries for the D programming language.
 
Series on creating [http://www.gamedev.net/blog/1140/entry-2254003-binding-d-to-c/ bindings to C] libraries for the D programming language.
 
  
== Compression & Encryption ==
+
== Projects ==
 +
Projects and repositories for collecting / maintaining D bindings:
 +
 
 +
* [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 ===
 +
 
 +
{{Projects
 +
| Projects =
 +
 
 +
{{Project
 +
| name = '''htod'''
 +
| about = Migration tool to aid in converting C header files
 +
| platform = Windows
 +
| license =
 +
| url = http://dlang.org/htod.html
 +
}}
 +
{{Project
 +
| name = '''dstep'''
 +
| about = A tool for converting C and Objective-C headers to D modules
 +
| platform = Posix
 +
| license = Boost Software License 1.0
 +
| url = https://github.com/jacob-carlborg/dstep
 +
}}
 +
{{Project
 +
| name = '''SWIG'''
 +
| about = Simplified Wrapper and Interface Generator
 +
| platform =
 +
| license =
 +
| url = http://www.swig.org/Doc2.0/D.html
 +
}}
 +
 
 +
{{Project
 +
| name = '''cwrap'''
 +
| about = High-level wrapper generator
 +
| platform =
 +
| license = Boost License 1.0.
 +
| url = https://bitbucket.org/denis-sh/cwrap
 +
}}
 +
 
 +
}}
 +
 
 +
=== Objective-C to D ===
 +
 
 +
* [https://github.com/jacob-carlborg/dstep dstep]
 +
 
 +
=== D to C/C++ ===
 +
 
 +
* [https://d.puremagic.com/issues/show_bug.cgi?id=9285 dtoh]
 +
 
 +
== Bindings ==
 +
=== Compression & Encryption ===
 
{{Projects
 
{{Projects
 
  | Projects =
 
  | Projects =
Line 30: Line 83:
 
}}
 
}}
  
== Multimedia & Games ==
+
=== Multimedia & Games ===
 
{{Projects
 
{{Projects
 
  | Projects =
 
  | Projects =
Line 55: Line 108:
 
}}
 
}}
 
{{Project
 
{{Project
  | name = '''OpenGL - SFML - ALURE - Assimp - freeglut - GLFW - OpenAL - SDL'''
+
  | name = '''DerelictOrg'''
  | about = Derelict 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.
+
  | 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 = http://www.dsource.org/projects/derelict
+
  | url = https://github.com/DerelictOrg
 
}}
 
}}
 
{{Project
 
{{Project
Line 67: Line 141:
 
  | license =  
 
  | license =  
 
  | url = https://github.com/axeoth/mediastreamer2_layer
 
  | url = https://github.com/axeoth/mediastreamer2_layer
 +
}}
 +
{{Project
 +
| name = '''AntTweakBarD'''
 +
| about = AntTweakBarD is a binding to AntTweakBar which is a multi-render-engine (D3D/OpenGL) GUI tweaking library.
 +
| platform =
 +
| license = zlib/libpng
 +
| url = https://github.com/d-gamedev-team/AntTweakBarD
 
}}
 
}}
 
}}
 
}}
  
== Deimos ==
+
 
https://github.com/D-Programming-Deimos
+
== 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]
 +
* [http://digitalmars.com/d/1.0/htomodule.html D1 article]
 +
 
 +
 
 +
[[Category:Binding]]

Revision as of 00:48, 24 March 2016

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:

Binding generators

Projects which automate generating D bindings:

C/C++ to D

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Migration tool to aid in converting C header files Windows
Icon dpackage 48.png
A tool for converting C and Objective-C headers to D modules Boost Software License 1.0 Posix
Icon dpackage 48.png
Simplified Wrapper and Interface Generator
Icon dpackage 48.png
High-level wrapper generator Boost License 1.0.


Objective-C to D

D to C/C++

Bindings

Compression & Encryption

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
D version of the C headers for openssl MIT Windows/POSIX
Icon dpackage 48.png
Interface to LZMA compression library Windows/POSIX
Icon dpackage 48.png
Interface to GNUTLS library LGPL


Multimedia & Games

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
MediaInfo supplies technical and tag information about your video or audio files. GPL/LGPL Windows
Icon dpackage 48.png
Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. It is released in source code format under the Gnu Lesser General Public License. LGPL Windows/POSIX
Icon dpackage 48.png
Allegro 4 and Allegro 5 are cross-platform, open source, game programming libraries, primarily for C and C++ developers.
Icon dpackage 48.png
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:

Icon dpackage 48.png
Mediastreamer2 is a powerful and lightweighted streaming engine specialized for voice/video telephony applications.
Icon dpackage 48.png
AntTweakBarD is a binding to AntTweakBar which is a multi-render-engine (D3D/OpenGL) GUI tweaking library. zlib/libpng


See also

External links