Changeset 109

Show
Ignore:
Timestamp:
05/28/05 09:23:02 (3 years ago)
Author:
aldacron
Message:

* changed the windows build script environment variable BUILD_PATH to BUILD_CMD to better reflect its use
* updated all build scripts to use BUILD_CMD
* added html docs for DerelictSDLImage, DerelictSDLMixer, DerelictSDLNet, and DerelictSDLttf
* modified the READMEs for DerelictSDLImage, DerelictSDLMixer, DerelictSDLNet, and DerelictSDLttf so that only build information is in them
* added documentation to the build.html stub file
* added credit.html to list contributors and their contributions
* made several tweaks and cosmetic changes to existing package docs

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/DerelictAL/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictAL... 
    11 %BUILD_PATH% DerelictAL\derelict\openal\al.d -XDerelictUtil\derelict\util -IDerelictAL -Tlib\derelictAL.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictAL\derelict\openal\al.d -XDerelictUtil\derelict\util -IDerelictAL -Tlib\derelictAL.lib %COMMON_ARGS% 
  • trunk/DerelictGL/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictGL... 
    11 %BUILD_PATH% DerelictGL\derelict\opengl\gl.d -XDerelictUtil\derelict\util -IDerelictGL -Tlib\derelictGL.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictGL\derelict\opengl\gl.d -XDerelictUtil\derelict\util -IDerelictGL -Tlib\derelictGL.lib %COMMON_ARGS% 
  • trunk/DerelictGLFW/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictGLFW... 
    11 %BUILD_PATH% DerelictGLFW\derelict\glfw\glfw.d -XDerelictUtil\derelict\util -IDerelictGLFW -Tlib\derelictGLFW.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictGLFW\derelict\glfw\glfw.d -XDerelictUtil\derelict\util -IDerelictGLFW -Tlib\derelictGLFW.lib %COMMON_ARGS% 
  • trunk/DerelictGLU/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictGLU... 
    11 %BUILD_PATH% DerelictGLU\derelict\opengl\glu.d -XDerelictUtil\derelict\util -XDerelictGL\derelict\opengl -IDerelictGL -IDerelictGLU -Tlib\derelictGLU.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictGLU\derelict\opengl\glu.d -XDerelictUtil\derelict\util -XDerelictGL\derelict\opengl -IDerelictGL -IDerelictGLU -Tlib\derelictGLU.lib %COMMON_ARGS% 
  • trunk/DerelictSDL/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictSDL... 
    11 %BUILD_PATH% DerelictSDL\derelict\sdl\sdl.d -XDerelictUtil\derelict\util -IDerelictSDL -Tlib\derelictSDL.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictSDL\derelict\sdl\sdl.d -XDerelictUtil\derelict\util -IDerelictSDL -Tlib\derelictSDL.lib %COMMON_ARGS% 
  • trunk/DerelictSDLImage/README

    r105 r109  
    22DerelictSDLImage 
    33================================================================================ 
    4 DerelictSDLImage is a D package which allows you to use SDL_image in your D  
    5 programs without the need to link to an import library. This gives you control 
    6 over how to handle the case where the SDL_image shared library is not available 
    7 on the user's machine. 
    8  
    9 This version of DerelictSDLImage requires SDL_image 1.2.3 or later. 
    10  
    11 -------------------------------------------------------------------------------- 
    12 USING SDL_image 
    13 --------------------------------------------------------------------------------  
    14 Because SDL_image has a dependency upon SDL, it cannot be used in isolation. Your 
    15 application must also import derelict.sdl.sdl and link to the DerelictSDL library 
    16 (view the DerelictSDL README for more information). To use SDL_image with your  
    17 SDL application, you first must import the derelict.sdl.image module. 
    18  
    19 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    20  
    21 import derelict.sdl.sdl; 
    22 import derelict.sdl.image;       
    23  
    24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    25  
    26 Before calling any SDL_image functions, you need to make a call to  
    27 DerelictSDLImage_Load. This will load the shared library. 
    28  
    29 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    30  
    31 // load the shared library - the try...catch block is optional of course 
    32 try 
    33 { 
    34    DerelictSDLImage_Load(); 
    35 } 
    36 catch(Exception e) 
    37 { 
    38    ... 
    39 } 
    40  
    41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    42  
    43 From that point you can call SDL_image functions as normal. 
    44  
    45 ******************************************************************************** 
    46 IMPORTANT  
    47 ******************************************************************************** 
    48 DerelictSDLImage_Load attempts to load the SDL_image shared library using a  
    49 filename appropriate for the Operating System. On Windows, this is SDL_image.dll, 
    50 and on Linux, libSDL_image.so. The appropriate shared library (or symlink on Linux) 
    51 must be on the path for it to be loaded successfully. 
    52  
    534-------------------------------------------------------------------------------- 
    545BUILDING 
  • trunk/DerelictSDLImage/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictSDLImage... 
    11 %BUILD_PATH% DerelictSDLImage\derelict\sdl\image.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLImage -Tlib\derelictSDLImage.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictSDLImage\derelict\sdl\image.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLImage -Tlib\derelictSDLImage.lib %COMMON_ARGS% 
  • trunk/DerelictSDLMixer/README

    r105 r109  
    22DerelictSDLMixer 
    33================================================================================ 
    4 DerelictSDLMixer is a D package which allows you to use SDL_mixer in your D  
    5 programs without the need to link to an import library. This gives you control  
    6 over how to handle the case where the SDL_mixer shared library is not available 
    7 on the user's machine. 
    8  
    9 This version of DerelictSDLMixer requires SDL_mixer 1.2.5 or later. 
    10  
    11 -------------------------------------------------------------------------------- 
    12 USING SDL_mixer 
    13 --------------------------------------------------------------------------------  
    14 Because SDL_mixer has a dependency upon SDL, it cannot be used in isolation. Your 
    15 application must also import derelict.sdl.sdl and link to the DerelictSDL library 
    16 (view the DerelictSDL README for more information). To use SDL_mixer with your  
    17 SDL application, you first must import the derelict.sdl.mixer module. 
    18  
    19 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    20  
    21 import derelict.sdl.sdl; 
    22 import derelict.sdl.mixer;       
    23  
    24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    25  
    26 Before calling any SDL_mixer functions, you need to make a call to  
    27 DerelictSDLMixer_Load. This will load the shared library. 
    28  
    29 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    30  
    31 // load the shared library - the try...catch block is optional of course 
    32 try 
    33 { 
    34    DerelictSDLMixer_Load(); 
    35 } 
    36 catch(Exception e) 
    37 { 
    38    ... 
    39 } 
    40  
    41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    42  
    43 From that point you can call SDL_mixer functions as normal. 
    44  
    45 ******************************************************************************** 
    46 IMPORTANT  
    47 ******************************************************************************** 
    48 DerelictSDLMixer_Load attempts to load the SDL_mixer shared library using a  
    49 filename appropriate for the Operating System. On Windows, this is SDL_mixer.dll, 
    50 and on Linux, libSDL_mixer.so. The appropriate shared library (or symlink on Linux) 
    51 must be on the path for it to be loaded successfully. 
    52  
    53 NOTE: to play .ogg files with SDL_mixer you will need the libvorbis DLL from 
    54         http://www.vorbis.com/ 
    55  
    56 NOTE: to play .mp3 files with SDL_mixer you will need the SMPEG DLL from 
    57         http://icculus.org/smpeg/ 
    58          
    59 SPECIAL THANKS: to Jaymz031602 for putting the SDL_mixer binding together 
    60  
    614-------------------------------------------------------------------------------- 
    625BUILDING 
  • trunk/DerelictSDLMixer/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictSDLMixer... 
    11 %BUILD_PATH% DerelictSDLMixer\derelict\sdl\mixer.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLMixer -Tlib\derelictSDLMixer.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictSDLMixer\derelict\sdl\mixer.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLMixer -Tlib\derelictSDLMixer.lib %COMMON_ARGS% 
  • trunk/DerelictSDLNet/README

    r105 r109  
    22DerelictSDLNet 
    33================================================================================ 
    4 DerelictSDLNet is a D package which allows you to use SDL_net in your D  
    5 programs without the need to link to an import library. This gives you control 
    6 over how to handle the case where the SDL_net shared library is not available 
    7 on the user's machine. 
    8  
    9 This version of DerelictSDLNet requires SDL_net 1.2.5 or later. 
    10  
    11 -------------------------------------------------------------------------------- 
    12 USING SDL_net 
    13 --------------------------------------------------------------------------------  
    14 Because SDL_net has a dependency upon SDL, it cannot be used in isolation. Your 
    15 application must also import derelict.sdl.sdl and link to the DerelictSDL library 
    16 (view the DerelictSDL README for more information). To use SDL_net with your  
    17 SDL application, you first must import the derelict.sdl.net module. 
    18  
    19 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    20  
    21 import derelict.sdl.sdl; 
    22 import derelict.sdl.net;         
    23  
    24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    25  
    26 Before calling any SDL_net functions, you need to make a call to  
    27 DerelictSDLNet_Load. This will load the shared library. 
    28  
    29 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    30  
    31 // load the shared library - the try...catch block is optional of course 
    32 try 
    33 { 
    34    DerelictSDLNet_Load(); 
    35 } 
    36 catch(Exception e) 
    37 { 
    38    ... 
    39 } 
    40  
    41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    42  
    43 From that point you can call SDL_net functions as normal. 
    44  
    45 ******************************************************************************** 
    46 IMPORTANT  
    47 ******************************************************************************** 
    48 DerelictSDLNet_Load attempts to load the SDL_net shared library using a  
    49 filename appropriate for the Operating System. On Windows, this is SDL_net.dll, 
    50 and on Linux, libSDL_net.so. The appropriate shared library (or symlink on Linux) 
    51 must be on the path for it to be loaded successfully. 
    52  
    534-------------------------------------------------------------------------------- 
    545BUILDING 
  • trunk/DerelictSDLNet/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictSDLNet... 
    11 %BUILD_PATH% DerelictSDLNet\derelict\sdl\net.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLNet -Tlib\derelictSDLNet.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictSDLNet\derelict\sdl\net.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLNet -Tlib\derelictSDLNet.lib %COMMON_ARGS% 
  • trunk/DerelictSDLttf/README

    r105 r109  
    22DerelictSDLttf 
    33================================================================================ 
    4 DerelictSDLttf is a D package which allows you to use SDL_ttf in your D  
    5 programs without the need to link to an import library. This gives you control  
    6 over how to handle the case where the SDL_ttf shared library is not available on 
    7 the user's machine. 
    8  
    9 This version of DerelictSDLttf requires SDL_ttf 2.0.7 or later. 
    10  
    11 -------------------------------------------------------------------------------- 
    12 USING SDL_ttf 
    13 --------------------------------------------------------------------------------  
    14 Because SDL_ttf has a dependency upon SDL, it cannot be used in isolation. Your 
    15 application must also import derelict.sdl.sdl and link to the DerelictSDL library 
    16 (view the DerelictSDL README for more information). To use SDL_ttf with your  
    17 SDL application, you first must import the derelict.sdl.ttf module. 
    18  
    19 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    20  
    21 import derelict.sdl.sdl; 
    22 import derelict.sdl.ttf; 
    23  
    24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    25  
    26 Before calling any SDL_ttf functions, you need to make a call to  
    27 DerelictSDLttf_Load. This will load the shared library. 
    28  
    29 ++++++++++++++++++++++++++   CODE  +++++++++++++++++++++++++++++++++++++++++++++ 
    30  
    31 // load the shared library - the try...catch block is optional of course 
    32 try 
    33 { 
    34    DerelictSDLttf_Load(); 
    35 } 
    36 catch(Exception e) 
    37 { 
    38    ... 
    39 } 
    40  
    41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
    42  
    43 From that point you can call SDL_ttf functions as normal. 
    44  
    45 ******************************************************************************** 
    46 IMPORTANT  
    47 ******************************************************************************** 
    48 DerelictSDLttf_Load attempts to load the SDL_ttf shared library using a  
    49 filename appropriate for the Operating System. On Windows, this is SDL_ttf.dll, 
    50 and on Linux, libSDL_ttf.so. The appropriate shared library (or symlink on Linux) 
    51 must be on the path for it to be loaded successfully. 
    52  
    53 NOTE: SDL_ttf requires Freetype 2.0 or later (except 2.1.3). 
    54  
    55 SPECIAL THANKS: to Sebastian Beschke for putting DerelictSDLttf together. 
    56  
    57 -------------------------------------------------------------------------------- 
    58 BUILDING 
    59 -------------------------------------------------------------------------------- 
    60  
    614-------------------------------------------------------------------------------- 
    625To build DerelictSDLttf on Windows: 
  • trunk/DerelictSDLttf/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictSDLttf... 
    11 %BUILD_PATH% DerelictSDLttf\derelict\sdl\ttf.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLttf -Tlib\derelictSDLttf.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictSDLttf\derelict\sdl\ttf.d -XDerelictUtil\derelict\util -XDerelictSDL\derelict\sdl -IDerelictSDL -IDerelictSDLttf -Tlib\derelictSDLttf.lib %COMMON_ARGS% 
  • trunk/DerelictUtil/buildme.bat

    r104 r109  
    99echo. 
    1010echo BUILDING DerelictUtil... 
    11 %BUILD_PATH% DerelictUtil\derelict\util\loader.d -IDerelictUtil -Tlib\DerelictUtil.lib %COMMON_ARGS% 
     11%BUILD_CMD% DerelictUtil\derelict\util\loader.d -IDerelictUtil -Tlib\DerelictUtil.lib %COMMON_ARGS% 
  • trunk/buildconfig.bat

    r104 r109  
    55if %CONFIG_STATUS%.==OK goto End 
    66 
    7 :: Set BUILD_PATH to your path to build.exe. This needs to be the full path, including 
     7:: Set BUILD_CMD to your path to build.exe. This needs to be the full path, including 
    88:: the executable name. If it is on the global PATH environment variable, then 
    99:: you do not need to change it. 
    10 set BUILD_PATH=build.exe 
     10set BUILD_CMD=build 
    1111 
    1212:: By default, specifying neither 'dbg' nor 'release' on the command line will 
  • trunk/docs/al.html

    r108 r109  
    7373setting up Build and configuring Derelict's Build scripts.</li> 
    7474<li>from a command prompt, cd to &lt derelict_dir &gt\DerelictAL</li> 
    75 <li>type buildme.bat</li> 
     75<li>type <tt>buildme.bat</tt></li> 
    7676<li>when the build completes, your command prompt will be back in &lt derelict_dir &gt, 
    7777and the file derelictAL.lib will be located in &lt derelict_dir &gt\lib.</li> 
  • trunk/docs/build.html

    r108 r109  
    22<head><title>Derek Parnell's Build Utility</title></head> 
    33<body> 
    4 Docs coming soon! 
     4<h3>Introduction</h3> 
     5The Build utility, created and maintained by Derek Parnell, is an incredibly 
     6useful tool. Feed it one D source module on the command line and it will automatically 
     7spit out a library or an executable. It follows the import tree, and passes 
     8each imported module to the D compiler and linker or librarian. Several command 
     9line options can give you fine tuned control over how the compilation process 
     10goes. You can put special pragmas directly in your code to further control how 
     11Build processes your source modules. 
     12<p> 
     13Build entirely eliminates the need for Makefiles. If you have ever maintained 
     14project Makefiles for multiple platforms, you will appreciate what that means. 
     15The big thing for me, as maintainer of Derelict, is that it means a huge savings 
     16in time. As such, Makefiles are no longer maintained as part of the Derelict 
     17project. Derelict now requires the use of the Build utility if you want to build 
     18everything right out of the box. If you wish to avoid Build and use Makefiles 
     19anyway, you may still do so. You'll just have to create them yourself (and no, 
     20don't submit them to me to commit to the trunk - I don't want them!). 
     21</p> 
     22<p> 
     23<b>NOTE:</b> Derelict still uses Makefiles on Linux. This will change once 
     24shell scripts have been created and tested. 
     25</p> 
     26 
     27<h3>Getting Your Hands on Build</h3> 
     28The latest version of Build may always be found at the 
     29<a href="http://www.dsource.org/forums/viewforum.php?f=19&sid=d6f86cfb804d7c8727af1f58cd327d2c"> 
     30Build Project Home Page</a>. You can read about the latest changes in the 
     31<a href="http://www.dsource.org/forums/viewforum.php?f=52">Build Forum</a> 
     32(always the first post in the thread titled "Release Announcements" at the top 
     33of the topic list). 
     34 
     35<h3>Using Build With Derelict</h3> 
     36In the top-level Derelict directory you will find shell scripts for your platform 
     37(.bat for Windows, .sh for Linux). You will also find some files with the extension 
     38.brf. These are Build Response Files. They are used to pass command line options 
     39to build without putting them on the command line. In Derelict, they are used 
     40so that the build scripts on each platform need not be changed every time a new 
     41command line option is added to the project - each platform shares the same 
     42Build Response File (excepting any platform-specific options). 
     43<p> 
     44Building Derelict with the Build utility is as simple as this: 
     45</p><p> 
     46<ol> 
     47<li>CD to the top-level Derelict directory.</li> 
     48<li>type <tt>buildme</tt> on windows, or <tt>./buildme</tt> on Linux.</li> 
     49</ol> 
     50</p><p> 
     51That's it. Every Derelict package you have in that directory will be built. Once 
     52complete, the resulting library files will be found in the <tt>lib</tt> directory 
     53(&lt derelict_dir &gt>/lib). You may then leave them there or copy them elsewhere 
     54as you wish. If you would ever like to delete all of the libraries, execute the 
     55<tt>cleanlib</tt> script in the top-level Derelict directory. 
     56</p>  
     57 
     58<h3>Building Individual Derelict Packages</h3> 
     59Each Derelict package has its own <tt>buildme</tt> script in the package 
     60directory (i.e. &lt derelict_dir &gt\&lt package_name &gt\buildme.bat on Windows). 
     61If you have multiple packages, you can build an individual package like this: 
     62<p><ol> 
     63<li>CD to the package's directory (&lt derelict_dir &gt/&lt package_name &gt).</li> 
     64<li>type <tt>buildme</tt> on windows, or <tt>./buildme</tt> on Linux.</li> 
     65</ol> 
     66</p><p> 
     67Once complete, the resulting library file will be found in the <tt>lib</tt>  
     68directory (&lt derelict_dir &gt>/lib). <b>IMPORTANT:</b> Also, when the build 
     69completes, the command prompt will be located in the top-level Derelict directory 
     70rather than the package directory. Though that is something most people won't 
     71expect, there is a reason for it. 
     72 
     73<h3>Configuring Derelict for Build</h3> 
     74The default configuration options should be suitable for most projects. However, 
     75you may wish to change some settings from time to time. Note that when I use the 
     76name of a shell script henceforth, know that I am referring to <i>scriptname</i>.bat 
     77on Windows and <i>scriptname</i>.sh on Linux. 
     78<p> 
     79The Build configuration script is named <tt>buildconfig</tt> and is located in 
     80the top-level Derelict directory. Open this file in a text editor and you will 
     81see that the script sets several environment variables. A descritpion of each 
     82variable and what it means follows: 
     83</p><p> 
     84<ul> 
     85<li><b>BUILD_CMD</b>: This is the command that runs Build utility executable. If 
     86the path to Build is on your system path and you have renamed (or created an alias  
     87to) the downloaded executable as  <tt>build</tt>, you need not change this. If it 
     88has a different name, just change the name to the correct one. If it is not on  
     89your system path (and you do not want to put it there), then change this to the  
     90<b>full path</b> to the build executable, including the executable name (i.e. 
     91C:\path_to_build\build.exe on Windows).</li> 
     92<li><b>BRF</b>: There are two Build Response Files provided, build_debug.brf 
     93and build_release.brf to build the libraries in debug and release modes, 
     94respectively. While you are free to edit the response files to your liking, 
     95you may set this option to the name of the response file you wish to use as 
     96the default. It is preconfigured to use build_debug.brf by default. You do not  
     97need to change this to switch between debug and release builds. To do 
     98that, simply pass either <tt>release</tt> or <tt>dbg</tt> as a command line argument 
     99to the <tt>buildme</tt> script (i.e. typing <tt>buildme release</tt> will force 
     100a build in release mode). The <b>BRF</b> configuration option is used when no 
     101command line argument is passed to the <tt>buildme</tt> script.</li> 
     102 
     103<li><b>COMMON_ARGS</b>: This is where you put command line arguments that may 
     104be shared between both the release and debug builds. All of the preconfigured 
     105options listed here <b>are required</b> for the build to complete successfully, 
     106with the exception of the <tt>-cleanup</tt> argument (which you may safely remove 
     107if you wish to keep the compiled object filed rather than deleting them).</li> 
     108</ul> 
     109</p><p> 
     110You will notice one more variable at the end of the file, called <b>CONFIG_STATUS</b>. 
     111<font color="red"><b>DO NOT CHANGE THIS</b></font>. When building multiple packages, 
     112this variable is used to prevent the config script from being run multiple times 
     113(which can cause the build process to halt because of errors). 
     114</p> 
     115 
     116<h3>Troubleshooting</h3> 
     117If you have any problems building Derelict with the Build Utility, you may direct 
     118them to the  
     119<a href="http://www.dsource.org/forums/viewforum.php?f=19&sid=d6f86cfb804d7c8727af1f58cd327d2c">Derelict Forums</a> 
     120and someone will try to help you. Please don't post problems on the Build forums 
     121unless you are absolutely certain the problem is with Build and not Derelict's 
     122scripts. 
    5123</body> 
    6124</html> 
  • trunk/docs/gl.html

    r108 r109  
    6464setting up Build and configuring Derelict's Build scripts.</li> 
    6565<li>from a command prompt, cd to &lt derelict_dir &gt\DerelictGL</li> 
    66 <li>type buildme.bat</li> 
     66<li>type <tt>buildme.bat</tt></li> 
    6767<li>when the build completes, your command prompt will be back in &lt derelict_dir &gt, 
    6868and the file derelictGL.lib will be located in &lt derelict_dir &gt\lib.</li> 
  • trunk/docs/glfw.html

    r108 r109  
    7171setting up Build and configuring Derelict's Build scripts.</li> 
    7272<li>from a command prompt, cd to &lt derelict_dir &gt\DerelictGLFW</li> 
    73 <li>type buildme.bat</li> 
     73<li>type <tt>buildme.bat</tt></li> 
    7474<li>when the build completes, your command prompt will be back in &lt derelict_dir &gt, 
    7575and the file derelictGLFW.lib will be located in &lt derelict_dir &gt\lib.</li> 
  • trunk/docs/glu.html

    r108 r109  
    8383setting up Build and configuring Derelict's Build scripts.</li> 
    8484<li>from a command prompt, cd to &lt derelict_dir &gt\DerelictGLU</li> 
    85 <li>type buildme.bat</li> 
     85<li>type <tt>buildme.bat</tt></li> 
    8686<li>when the build completes, your command prompt will be back in &lt derelict_dir &gt, 
    8787and the file derelictGLU.lib will be located in &lt derelict_dir &gt\lib.</li> 
  • trunk/docs/index.html

    r108 r109  
    22<head><title>Derelict Documentation</title></head> 
    33 
    4 <body> 
    5 <h3>Introduction</h3> 
    6 Derelict is a collection of D bindings to C shared (dynamic) libraries which are 
    7 useful for multimedia applications, with a heavy bias toward game related 
    8 libraries. Derelict currently includes bindings for the following libraries: 
     4<frameset cols="20%,*"> 
     5    <frame src="toc.html" title="Table of Contents"> 
     6    <frame src="index_a.html" title="About Derelict" name="view_frame"> 
     7</frameset> 
    98 
    10 <ul> 
    11 <li><a href="http://www.openal.org/">OpenAL</a></li> 
    12 <li><a href="http://www.opengl.org/">OpenGL</a></li> 
    13 <li><a href="http://rush3d.com/reference/opengl-bluebook-1.0/ch06.html">OpenGL Utility Library (GLU)</a></li> 
    14 <li><a href="http://www.glfw.sourcforge.net">GLFW</a> 
    15 <li><a href="http://www.libsdl.org/">SDL</a></li> 
    16 <li><a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a></li> 
    17 <li><a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a></li> 
    18 <li><a href="http://www.libsdl.org/projects/SDL_net/">SDL_net</a></li> 
    19 <li><a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a></li> 
    20 </ul> 
    21 <p> 
    22 Interface modules for several of the libraries have been created as 
    23 part of other projects, but Derelict goes about things differently. The other 
    24 bindings normally require the application to link with a static import library. 
    25 The import library makes the symbols exported from the shared library available 
    26 to the application and causes the shared library to be loaded automatically 
    27 by the operating system during application startup. This is a standard practice 
    28 in the C/C++ world, however there are a couple of drawbacks with doing so. 
    29 </p><p> 
    30 One issue with static import libraries is that of the object format used. If the 
    31 D linker on your platform does not support a particular object format for a library 
    32 you wish to link with, then you need to go through the step of converting the 
    33 library to the proper format, or, if the library's source is available, compile 
    34 the library with a compiler that outputs the proper object format (currently,  
    35 this is only an issue on Windows when using the DMD tools). A more serious issue 
    36 with static import libraries a lack of flexibility and robustness. 
    37 </p><p> 
    38 When you link your application with a static import library, the shared library 
    39 which the import library derives from is loaded automatically at application 
    40 startup. If the shared library is missing or corrupt, then the application will 
    41 fail to load and the operating system will display an error message to the user. 
    42 This could also occur if an version of the shared library which is older than 
    43 the version of the static import library is available on the user's system. The  
    44 error message displayed may not be very user friendly and can cause the developer 
    45 of the application to appear unprofessional. 
    46 </p><p> 
    47 Derelict solves both potential problems by eliminating the requirement of a 
    48 static import library. Instead, Derelict handles the loading of shared libraries 
    49 manually after the application has already started. This gives a great amount of 
    50 flexibility to the application developer. Object file formats are irrelevant, as 
    51 the application will be linked to a D library rather than a C library. The case 
    52 of missing or corrupt shared libraries can be handled gracefully in an application 
    53 specific manner. For example, the application could display an error message 
    54 that details how to solve the problem, or where to go for technical support. But 
    55 the benefits don't stop there. 
    56 </p><p> 
    57 With Derelict, shared libraries can be loaded and unloaded at will. When you 
    58 consider that each shared library, when loaded, consumes system resources, then 
    59 it you might find it beneficial to only load the library when it is needed and 
    60 not before. Some applications could also benefit from a hot-swap system. For 
    61 example, a game might have a generic rendering interface with implementations 
    62 for Opengl and Direct3D on Windows, and allow the user to switch between the 
    63 two at runtime. Derelict helps to simplify this process (DirectX bindings will 
    64 be included in a future Derelict release). 
    65 </p><p> 
    66 Derelict goes one step further and allows selective loading of shared library 
    67 symbols. This allows you to, for example, allow older versions of a shared 
    68 library to be loaded. For example, if a particular Derelict package is setup to 
    69 load version 2 of a shared library, but your application does not use any exported 
    70 functions or variables that are specific to version 2, then you can use selective 
    71 symbol loading to allow version 1 of the shared library to be loaded if it is 
    72 the only version available. 
    73 </p><p> 
    74 While some of the functionality that Derelict provides is baked into the process 
    75 of manually loading libraries, other features (such as <a href="selective.html"> 
    76 selective symbol exceptions</a>) are provided through the DerelictUtil package. 
    77 As a side effect, all Derelict packages have an implicit dependency upon DerelictUtil.  
    78 This means that when compiling any individual packages, DerelictUtil must be 
    79 available on the import path, and when linking, DerelictUtil must be linked into 
    80 the application. See the DerelictUtil documentation for more details. 
    81 </p><p> 
    82 The documents linked in the first section below give a general overview of  
    83 Derelict, explaining functionality common to all Derelict packages. The 
    84 documents linked in the second secion give specific details on building and using 
    85 specific packages. 
    86 </p> 
    87 <h3>General Documentation</h3> 
    88 <ul> 
    89 <li><a href="loading.html">Loading/Unloading Shared Libraries</a></li> 
    90 <li><a href="selective.html">Selective Symbol Exceptions</a></li> 
    91 <li><a href-"build.html">Derek Parnell's Build Utility</a></li> 
    92 <li>Contributors</li> 
    93 <li>Licenses</li> 
    94 </ul> 
    95 <h3>Package Documentation</h3> 
    96 <ul> 
    97 <li><a href="al.html">DerelictAL</a></li> 
    98 <li><a href="gl.html">DerelictGL</a></li> 
    99 <li><a href="glfw.html">DerelictGLFW</a></li> 
    100 <li><a href="glu.html">DerelictGLU</a></li> 
    101 <li><a href="sdl.html">DerelictSDL</a></li> 
    102 <li>DerelictSDLImage</li> 
    103 <li>DerelictSDLMixer</li> 
    104 <li>DerelictSDLNet</li> 
    105 <li>DerelictSDLttf</li> 
    106 <li><a href="util.html">DerelictUtil</a></li> 
    107 </ul> 
    108 </body> 
     9<noframes> 
     10    <body> 
     11    <ul> 
     12    <li><a href="index_a.html">About Derelict</a> 
     13    </ul> 
     14    </body> 
     15</noframes> 
    10916</html> 
  • trunk/docs/sdl.html

    r108 r109  
    33<body> 
    44<h3>Introduction</h3> 
    5 DerelictSDL is a D binding to Sam Latinga's <a href="http://www.libsdl.org">Simple 
     5DerelictSDL is a D binding to Sam Lantinga's <a href="http://www.libsdl.org">Simple 
    66DirectMedia Layer</a>, a cross-platform multimedia library designed to provide 
    77low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,  
     
    7474setting up Build and configuring Derelict's Build scripts.</li> 
    7575<li>from a command prompt, cd to &lt derelict_dir &gt\DerelictSDL</li> 
    76 <li>type buildme.bat</li> 
     76<li>type <tt>buildme.bat</tt></li> 
    7777<li>when the build completes, your command prompt will be back in &lt derelict_dir &gt, 
    7878and the file derelictSDL.lib will be located in &lt derelict_dir &gt\lib.</li>