diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/libsdl-trunk/Borland.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/libsdl-trunk/Borland.html Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,139 @@ + + + + Building SDL with Borland's C++ compilers + + + + + +

Building SDL with Borland's C++ compilers.

+ by David Snopek + and updated by Dominique + Louis ( Last updated : 30th June 2003 ).
+
+ These instructions cover how to compile SDL and its included test +programs using either Borland C++ Builder 5, 6 for Windows, + C++ Builder for Linux ( AKA Kylix 3 ) or the free Borland C++ command-line compiler.
+ +

Extract the files

+ +

Unzip the Borland.zip archive into this 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. +

+ +

Using Borland C++ Builder 5, 6 for Windows +

+ +

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 "Projects" menu on +the menu-bar and go down to "Build All Projects" option.
+ This will proceed to build SDL ( with Borland's calling convention ), +SDLmain, and all the test programs. Currently, all +the test programs are dynamically linked to Sam Lantinga's +SDL.dll.

+ +

NOTE : Borland's "lib" format and Microsoft's "lib" format are incompatible. + 
+ 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.
+ If you would like to create the *.lib files yourself, you will need to +make use of Borland's "implib.exe" utility.
+

+ +

IMPLIB works like this:

+ +
    IMPLIB (destination lib name) (source dll)
+ +

For example,

+ +
    IMPLIB SDL.lib SDL.dll
+ +

This assumes that SDL.dll was compiled with Visual C++ or similar.
+

+ +

To learn more about the difference between Borland's and Microsoft's *.lib + format please read the article here.
+

+ +


+ NOTE :
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.

+ +

Using the free Borland C++ command-line compiler +

+ +

The free Borland compiler can be downloaded at no charge from the Borland website + . Make sure that it is installed and properly configured.

+ +

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 test programs, 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.

+ +

Output files

+ No matter which compiler you used, three important files should have + been produced: + + 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). +

Using Borland C++ Builder for Linux ( AKA Kylix + 3 )

+ +

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 "Projects" menu on +the menu-bar and go down to "Build All Projects" option. This will +proceed to build all the test programs
+ 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 ).
+ NOTE : 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.

+ +

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
+
+ 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.
+
+ 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.
+

+ +

Known Problems

+ 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. +

Test programs

+ 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.
+
+
+
+ +