36 | | The rest of the information on this page relates to Derelict1. |
---|
37 | | |
---|
38 | | == Getting Started == |
---|
39 | | |
---|
40 | | To start using Derelict, you will need the latest [http://www.dsource.org/projects/derelict/changeset/head/trunk?old_path=%2F&format=zip Derelict source] and either [http://www.dsource.org/projects/build/wiki Derek Parnell's Bud], [http://www.dsource.org/projects/dsss/wiki/Rebuild Gregor Richards' Rebuild] or [http://www.dsource.org/projects/dsss/ DSSS]. If you are using Derelict with Tango, Bud will likely have problems, so you should prefer Rebuild for such applications. |
---|
41 | | |
---|
42 | | Derelict applications compiled on Linux have a dependency on libdl, so you will need to tell your build tool to link with that library when compiling. |
---|
43 | | |
---|
44 | | === Obtaining and Learning Derelict === |
---|
45 | | |
---|
46 | | Manually Download Derelict: [http://www.dsource.org/projects/derelict/changeset/head/trunk?old_path=%2F&format=zip here] |
---|
47 | | |
---|
48 | | Automatically Download Derelict: You can use [http://www.dsource.org/projects/dsss DSSS] to automatically download and compile the Derelict packages. Once DSSS is installed, use the command 'dsss net install derelict' to pull down all Derelict packages. You can also use the command 'dsss net install packagename', where package name is a Derelict package name such as DerelictGL, to pull down a specific package and its dependencies. See the DSSS documentation for more information on how to use it. '''This is the recommended way for newcomers to use Derelict'''. |
---|
49 | | |
---|
50 | | Derelict Forums: [http://www.dsource.org/forums/viewforum.php?f=19 here] |
---|
51 | | |
---|
52 | | Documentation: [http://svn.dsource.org/projects/derelict/trunk/docs/index.html here] |
---|
53 | | |
---|
54 | | Tutorials: [http://dmedia.dprogramming.com/?n=Main.Tutorials DMedia] has a few tutorials on using DerelictSDL and DerelictGL. |
---|
55 | | |
---|
56 | | === Building Derelict === |
---|
57 | | For the large majority of applications, '''you do not need to build the Derelict libraries'''. Bud, Rebuild and DSSS can each compile your applications without the need to link with any Derelict libraries at all. As long as the Derelict modules are on your import path, both Bud and Rebuild will automatically compile those modules that you require and will link the resulting object files into your final executable. One drawback to this approach is that the final size of the executable will be bigger than if you were to link to the libraries. Also, users of [http://www.codeblocks.org/ Code::Blocks], or other IDES that compile and link D applications in a two-step process, will need to use the build script to create the Derelict libraries. |
---|
58 | | |
---|
59 | | The easiest way to build the Derelict libraries is to use [http://www.dsource.org/projects/dsss DSSS]. If you aren't using it to download and manage the libraries for you, you can perform the following steps to manually build the libraries. |
---|
60 | | |
---|
61 | | {{{ |
---|
62 | | cd DerelictDir |
---|
63 | | dsss build |
---|
| 42 | Important information regarding Derelict2 to help get you going can be found in sticky topics in the [http://www.dsource.org/forums/viewforum.php?f=19 forums]. Just ask in the forums if you have trouble. |
---|
67 | | |
---|
68 | | |
---|
69 | | |
---|
70 | | }}} |
---|
71 | | |
---|
72 | | This should result in all Derelict libraries being compiled and copied do Derelict/lib. If you aren't using DSSS to manage your installed libraries, this is the recommended way to build the libraries. |
---|
73 | | |
---|
74 | | If you aren't using DSSS, you can use the old build script. Unfortunately, it can only be executed as a script in a Phobos environment. If you are building the libraries in a Tango environment, you will first need to use Rebuild (or DSSS) to compile the script into an executable. You can then execute the resulting binary and it will do the right thing. However, you will still need to have Bud installed on your path, as the script used Bud internally. |
---|
75 | | |
---|
76 | | |
---|
77 | | To build Derelict in debug mode in a Phobos Environment: |
---|
78 | | {{{ |
---|
79 | | cd DerelictDir |
---|
80 | | dmd -run buildme.d debug |
---|
81 | | }}} |
---|
82 | | |
---|
83 | | To build in Release mode: |
---|
84 | | {{{ |
---|
85 | | cd DerelictDir |
---|
86 | | dmd -run buildme.d |
---|
87 | | }}} |
---|
88 | | |
---|
89 | | In a Tango environment, first compile the build script into an executable using Rebuild (Bud will fail on Windows): |
---|
90 | | {{{ |
---|
91 | | cd DerelictDir |
---|
92 | | rebuild -clean buildme.d |
---|
93 | | }}} |
---|
94 | | |
---|
95 | | You can then run the executable to build the libraries, using the same command line options. On Windows: |
---|
96 | | {{{ |
---|
97 | | buildme debug |
---|
98 | | }}} |
---|
99 | | |
---|
100 | | On Linux: |
---|
101 | | {{{ |
---|
102 | | ./buildme debug |
---|
103 | | }}} |
---|
104 | | |
---|
105 | | Detailed build instructions are available in [http://svn.dsource.org/projects/derelict/trunk/docs/index.html the documentation]. Follow the link "Building Derelict" in the left side bar, or view [http://svn.dsource.org/projects/derelict/trunk/docs/build.html build.html] directly. |
---|
106 | | |
---|
107 | | == Libraries Supported By Derelict == |
---|
108 | | |
---|
109 | | Here is a list of the libraries for which Derelict currently provides bindings: |
---|
110 | | * Open Dynamics Engine (ODE) |
---|
111 | | * OpenAL |
---|
112 | | * OpenGL |
---|
113 | | * OpenGL Utility Library (GLU) |
---|
114 | | * DevIL, ILU, and ILUT |
---|
115 | | * SDL |
---|
116 | | * SDL_image |
---|
117 | | * SDL_mixer |
---|
118 | | * SDL_net |
---|
119 | | * SDL_ttf |
---|
120 | | * !FreeType |
---|
121 | | * libogg |
---|
122 | | * libvorbis |
---|
123 | | |
---|
124 | | Although not official Derelict packages, members of the community have produced the following bindings (these packages may or may not be compilable with the latest DMD or GDC): |
---|
125 | | |
---|
126 | | * [http://www.famolsen.dk/d/derelict/bassmod.zip BassMod], [http://www.yage3d.net/host/derelict.bassmod.zip Mirror] |
---|
127 | | * [http://www.baysmith.com/d/baysmith.glut.zip GLUT], [http://www.yage3d.net/host/derelict.glut.zip Mirror] |
---|
128 | | * [http://www.uni-ulm.de/~s_mpiepk/d/DerelictPhysFs.zip PhysFS], [http://www.yage3d.net/host/derelict.physfs.zip Mirror] |
---|
129 | | * [http://expandingbrain.com/files/derelict_lua.zip Lua], [http://www.yage3d.net/host/derelict.lua.zip Mirror] |
---|
130 | | * [http://odefu.googlecode.com/svn/trunk/DerelictGLC/ QuesoGLC] |
---|
131 | | * [http://code.google.com/p/odefu/source/browse/trunk/DerelictGLFW/ GLFW] |
---|
132 | | * [http://www.extrawurst.org/downs/cg2_0.zip CG] (for OpenGL, not DirectX) |
---|
133 | | * [https://server1.noeding.net/d/horde3d-D_1.0.0_Beta1.zip Horde3D], [http://code.google.com/p/odefu/source/browse/trunk/DerelictHorde3D/ Other] |
---|
134 | | * [http://stdrand.com/darkman/d/derelict/glfw/ GLFW] (same as above, but with cleaned up code) |
---|
135 | | * [http://stdrand.com/darkman/d/derelict/alut/ ALUT] |
---|
136 | | * [http://stdrand.com/darkman/d/derelict/alure/ ALURE] |
---|
137 | | * [http://stdrand.com/darkman/d/derelict/tinypy/ TinyPy] |
---|
138 | | * [http://stdrand.com/darkman/d/derelict/sdl/sound/ SDL_Sound] |
---|
139 | | * [http://stdrand.com/darkman/d/derelict/theora/ Theora] |
---|
140 | | * [http://stdrand.com/darkman/d/derelict/pcre/ libPCRE] |
---|
141 | | * [http://stdrand.com/darkman/d/derelict/sgml/ libSGML] |
---|
142 | | * [http://www.dsource.org/forums/viewtopic.php?t=4731/ SDL_GFX(Derelict2 only)] |
---|
143 | | * [http://bit.ly/98SoIh BASS] |
---|
144 | | |
---|
145 | | == Need More Help? == |
---|
146 | | |
---|
147 | | See the Derelict [http://svn.dsource.org/projects/derelict/trunk/docs/index.html documentation] for specific details on a particular package. If you are having problems installing or using Derelict, please visit the [http://www.dsource.org/forums/viewforum.php?f=19 forums]. |
---|
148 | | |
---|
149 | | |
---|
150 | | == Projects that use Derelict == |
---|
151 | | |
---|
152 | | * [http://www.dsource.org/projects/arclib ArcLib] |
---|
153 | | * [http://atomorun2008.whosme.de/ Atomorun2008] |
---|
154 | | * [http://www.dsource.org/projects/blaze Blaze] |
---|
155 | | * [http://distanthumans.info/programming/D/bosconian/bosconian.php Bosskoneun] |
---|
156 | | * [http://www.team0xf.com/ Deadlock] |
---|
157 | | * [http://www.dsource.org/projects/defend/ Defend] |
---|
158 | | * [http://code.google.com/p/gjkd/ gjkd] |
---|
159 | | * [http://www.dsource.org/projects/guisterax guisterax] |
---|
160 | | * [http://www.dsource.org/projects/luigi Luigi] |
---|
161 | | * [http://www.inventivedingo.com/mayhemig Mayhem Intergalactic] |
---|
162 | | * [http://www.dsource.org/projects/qonkd QonkD] |
---|
163 | | * [http://www.dsource.org/projects/seamzgood SeamzGood] |
---|
164 | | * [http://www.gamesfrommars.fr/vibrant Vibrant] |
---|
165 | | * [http://www.yage3d.net Yage] |
---|
166 | | * [http://www.gamesfrommars.fr/wormhol Wormhol] |