|
@@ -2,136 +2,138 @@ |
|
|
<html> |
|
|
<head> |
|
|
<title>Building SDL with Borland's C++ compilers</title> |
|
|
|
|
|
|
|
|
<meta name="author" |
|
|
content="David Snopek and updated by Dominique Louis."> |
|
|
</head> |
|
|
<body> |
|
|
<xevol @newtonave.net=""> </xevol> |
|
|
<xevol @newtonave.net=""> </xevol> |
|
|
<h1>Building SDL with Borland's C++ compilers. </h1> |
|
|
<b> by <a href="mailto:xevol@users.sourceforge.net"> David Snopek</a></b> |
|
|
and updated by <b><a href="mailto:Dominique@SavageSoftware.com.au">Dominique |
|
|
Louis</a></b>.<br> |
|
|
<br> |
|
|
These instructions cover how to compile SDL and its included test programs |
|
|
using either Borland <a href="#bcbwin">C++ Builder 5, 6 for Windows</a>, |
|
|
<a href="#k3">C++ Builder for Linux ( AKA Kylix 3 )</a> or the free <a |
|
|
<b> by <a href="mailto:xevol@users.sourceforge.net"> David Snopek</a></b> |
|
|
and updated by <b><a href="mailto:Dominique@SavageSoftware.com.au">Dominique |
|
|
Louis</a></b> ( Last updated : 30th June 2003 ).<br> |
|
|
<br> |
|
|
These instructions cover how to compile SDL and its included test |
|
|
programs using either Borland <a href="#bcbwin">C++ Builder 5, 6 for Windows</a>, |
|
|
<a href="#k3">C++ Builder for Linux ( AKA Kylix 3 )</a> or the free <a |
|
|
href="#bccc">Borland C++ command-line compiler</a>. <br> |
|
|
|
|
|
|
|
|
<h3> <b> Extract the files </b> </h3> |
|
|
|
|
|
|
|
|
<p> Unzip the Borland.zip archive into <b>this</b> directory. Do not unzip |
|
|
it into any other directory because the makefiles ( *.mak ) and project |
|
|
files ( *.bpr ) use relative paths to refer to the SDL sources. This should |
|
|
create a directory named "Borland" inside of the top level SDL source directory. |
|
|
</p> |
|
|
|
|
|
it into any other directory because the makefiles ( *.mak ) and project |
|
|
files ( *.bpr ) use relative paths to refer to the SDL sources. This should |
|
|
create a directory named "Borland" inside of the top level SDL source directory. |
|
|
</p> |
|
|
|
|
|
<h3> <b><a name="bcbwin"></a> Using Borland C++ Builder 5, 6 for Windows </b> |
|
|
</h3> |
|
|
|
|
|
|
|
|
<p> Inside of the "Borland" directory there is a "bcb6" directory that contains |
|
|
a number of Builder project files. Double-click on the "libSDL.bpg" file |
|
|
icon. Once Builder has started click on the "<u>P</u>rojects" menu on the |
|
|
menu-bar and go down to "B<u>u</u>ild All Projects" option. <br> |
|
|
This will proceed to build SDL ( with Borland's calling convention ), SDLmain, |
|
|
and all the <a href="#tests">test programs</a>. Currently, all the <a |
|
|
href="#tests">test programs</a> |
|
|
are dynamically linked to Sam Lantinga's SDL.dll.</p> |
|
|
|
|
|
a number of Builder project files. Double-click on the "libSDL.bpg" file |
|
|
icon. Once Builder has started click on the "<u>P</u>rojects" menu on |
|
|
the menu-bar and go down to "B<u>u</u>ild All Projects" option. <br> |
|
|
This will proceed to build SDL ( with Borland's calling convention ), |
|
|
SDLmain, and all the <a href="#tests">test programs</a>. Currently, all |
|
|
the <a href="#tests">test programs</a> are dynamically linked to Sam Lantinga's |
|
|
SDL.dll.</p> |
|
|
|
|
|
<p><b>NOTE :</b> Borland's "lib" format and Microsoft's "lib" format are incompatible. |
|
|
<br> |
|
|
If you wish to dynamically link to the SDL library supplied by Sam Lantinga |
|
|
in each release, I have created the correct *.libs for SDL 1.2.4 and they |
|
|
exist in the "/lib" directory.<br> |
|
|
If you would like to create the *.lib files yourself, you will need to make |
|
|
use of Borland's "implib.exe" utility.<br> |
|
|
</p> |
|
|
|
|
|
If you wish to dynamically link to the SDL library supplied by Sam Lantinga |
|
|
in each release, I have created the correct *.libs for SDL 1.2.4 and they |
|
|
exist in the "/lib" directory.<br> |
|
|
If you would like to create the *.lib files yourself, you will need to |
|
|
make use of Borland's "implib.exe" utility.<br> |
|
|
</p> |
|
|
|
|
|
<p><tt>IMPLIB</tt> works like this: </p> |
|
|
|
|
|
|
|
|
<pre> IMPLIB (destination lib name) (source dll)<br></pre> |
|
|
|
|
|
|
|
|
<p> For example,</p> |
|
|
|
|
|
|
|
|
<pre> IMPLIB SDL.lib SDL.dll<br></pre> |
|
|
|
|
|
|
|
|
<p>This assumes that SDL.dll was compiled with Visual C++ or similar.<br> |
|
|
</p> |
|
|
|
|
|
</p> |
|
|
|
|
|
<p>To learn more about the difference between Borland's and Microsoft's *.lib |
|
|
format please read the article <a |
|
|
format please read the article <a |
|
|
href="http://www.bcbdev.com/articles/vcdll.htm">here</a>.<br> |
|
|
</p> |
|
|
|
|
|
</p> |
|
|
|
|
|
<p> <b><br> |
|
|
NOTE :</b> The C++ Builder for Windows project format, is not compatible |
|
|
with the Kylix 3 project format, hence the reason why they are in separate |
|
|
directories.</p> |
|
|
|
|
|
NOTE :</b> The C++ Builder for Windows project format, is not compatible |
|
|
with the Kylix 3 project format, hence the reason why they are in separate |
|
|
directories.</p> |
|
|
|
|
|
<h3> <b><a name="bccc"></a> Using the free Borland C++ command-line compiler |
|
|
</b> </h3> |
|
|
|
|
|
</b> </h3> |
|
|
|
|
|
<p> The free Borland compiler can be downloaded at no charge from <a |
|
|
href="http://www.borland.com/bcppbuilder/freecompiler/"> the Borland website |
|
|
</a>. Make sure that it is installed and properly configured. </p> |
|
|
|
|
|
</a>. Make sure that it is installed and properly configured. </p> |
|
|
|
|
|
<p> Open an MS-DOS Prompt. Change to the "Borland\freebcc" directory under |
|
|
the SDL source directory. Type "make -f SDL.mak" to build SDL and "make |
|
|
-f SDLmain.mak". There are also makefiles for all of the <a |
|
|
href="#tests">test programs</a>, if you wish to build them. </p> |
|
|
|
|
|
the SDL source directory. Type "make -f SDL.mak" to build SDL and "make |
|
|
-f SDLmain.mak". There are also makefiles for all of the <a |
|
|
href="#tests">test programs</a>, if you wish to build them. All .exes and |
|
|
DLLs are created in the "test" SDL directory. Ify ou would like to create |
|
|
the DLL and all the test applications, I have thrown together a basic batchfile |
|
|
called "makeall.bat" which should create everything in the right order. </p> |
|
|
|
|
|
<h3> <b> Output files </b> </h3> |
|
|
No matter which compiler you used, three important files should have |
|
|
been produced: |
|
|
No matter which compiler you used, three important files should have |
|
|
been produced: |
|
|
<ul> |
|
|
<li> SDL.dll ( Borland format ) </li> |
|
|
<li> SDL.lib ( Borland format ) </li> |
|
|
<li> SDLmain.lib ( Borland format ) </li> |
|
|
|
|
|
<li> SDL.dll ( Borland format ) </li> |
|
|
<li> SDL.lib ( Borland format ) </li> |
|
|
<li> SDLmain.lib ( Borland format ) </li> |
|
|
|
|
|
</ul> |
|
|
Both of the *.lib files will need to be added to all the projects that |
|
|
use SDL and SDL.dll must be placed some where the Windows dynamic linker |
|
|
can find it (either in your project directory or on the system path, C:\WINDOWS\SYSTEM). |
|
|
|
|
|
Both of the *.lib files will need to be added to all the projects |
|
|
that use SDL and SDL.dll must be placed some where the Windows dynamic |
|
|
linker can find it (either in your project directory or on the system |
|
|
path, C:\WINDOWS\SYSTEM). |
|
|
<h3> <b><a name="k3"></a> Using Borland C++ Builder for Linux ( AKA Kylix |
|
|
3 ) </b> </h3> |
|
|
|
|
|
3 ) </b> </h3> |
|
|
|
|
|
<p> Inside of the "Borland" directory there is a "k3" directory that contains |
|
|
a number of Builder project files. Double-click on the "libSDL.bpg" file |
|
|
icon. Once Builder has started click on the "<u>P</u>rojects" menu on the |
|
|
menu-bar and go down to "B<u>u</u>ild All Projects" option. This will proceed |
|
|
to build all the <a |
|
|
href="#tests">test programs</a>. <br> |
|
|
Linux users do not need *.lib files as the Shared Object is linked right |
|
|
into the project ( very neat actually, Windows should do this sort of thing |
|
|
as it is a lot easier for the developer ). <br> |
|
|
<b>NOTE :</b> The C++ Builder for Windows project format, is not |
|
|
compatible with the Kylix 3 project format, hence the reason why they are |
|
|
in separate directories.</p> |
|
|
|
|
|
a number of Builder project files. Double-click on the "libSDL.bpg" file |
|
|
icon. Once Builder has started click on the "<u>P</u>rojects" menu on |
|
|
the menu-bar and go down to "B<u>u</u>ild All Projects" option. This will |
|
|
proceed to build all the <a href="#tests">test programs</a>. <br> |
|
|
Linux users do not need *.lib files as the Shared Object is linked right |
|
|
into the project ( very neat actually, Windows should do this sort of thing |
|
|
as it is a lot easier for the developer ). <br> |
|
|
<b>NOTE :</b> The C++ Builder for Windows project format, is not |
|
|
compatible with the Kylix 3 project format, hence the reason why they are |
|
|
in separate directories.</p> |
|
|
|
|
|
<p> On Mandrake 8.1 the shared objects for SDL are located in the /usr/lib |
|
|
directory as libSDL_*.so and the Mesa OpenGL shared objects are located in |
|
|
/usr/X11R6/lib as libGL*.so<br> |
|
|
<br> |
|
|
So if your setup is different you may need to change the project file |
|
|
so that they re-link to the ones on your system.<br> |
|
|
<br> |
|
|
On Mandrake 8.1 the headers files are located at /usr/include/SDL/. |
|
|
So if you you have not installed the development RPMs ( usually named libSDL-devel* |
|
|
) for SDL ( not included ) you may have to change the include directory |
|
|
within some of the projects.<br> |
|
|
</p> |
|
|
|
|
|
directory as libSDL_*.so and the Mesa OpenGL shared objects are located |
|
|
in /usr/X11R6/lib as libGL*.so<br> |
|
|
<br> |
|
|
So if your setup is different you may need to change the project file |
|
|
so that they re-link to the ones on your system.<br> |
|
|
<br> |
|
|
On Mandrake 8.1 the headers files are located at /usr/include/SDL/. |
|
|
So if you you have not installed the development RPMs ( usually named libSDL-devel* |
|
|
) for SDL ( not included ) you may have to change the include directory |
|
|
within some of the projects.<br> |
|
|
</p> |
|
|
|
|
|
<h3> Known Problems</h3> |
|
|
The only known problem is that I ( Dominique Louis ), was unable to create |
|
|
the projects that rebuilt the SDL shared objects under Linux, due to time |
|
|
constraints and my lack of intimate knowledge of Linux. |
|
|
The only known problem is that I ( Dominique Louis ), was unable to |
|
|
create the projects that rebuilt the SDL shared objects under Linux, due |
|
|
to time constraints and my lack of intimate knowledge of Linux. |
|
|
<h3><a name="tests"><b> Test programs </b> </a></h3> |
|
|
Some of the test programs require included media files ( *.wav; *.bmp etc |
|
|
). Before trying to run any of the test programs, copy these media files |
|
|
from the "tests/" directory into the Borland build directory that you extracted |
|
|
the project files to. <br> |
|
|
<br> |
|
|
Some of the test programs require included media files ( *.wav; *.bmp |
|
|
etc ). All the test programs are now created in the "test" directory, where |
|
|
the media files are ( usually ) so they should be ready to go. <br> |
|
|
<br> |
|
|
<br> |
|
|
<br> |
|
|
</body> |
|
|
</html> |
|
|
|