Mercurial > sdl-ios-xcode
comparison Borland.html @ 642:de622b7108bf
*** empty log message ***
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 01 Jul 2003 01:18:27 +0000 |
parents | 25f475cd4981 |
children |
comparison
equal
deleted
inserted
replaced
641:df178851293b | 642:de622b7108bf |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Building SDL with Borland's C++ compilers</title> | 4 <title>Building SDL with Borland's C++ compilers</title> |
5 | 5 |
6 <meta name="author" | 6 <meta name="author" |
7 content="David Snopek and updated by Dominique Louis."> | 7 content="David Snopek and updated by Dominique Louis."> |
8 </head> | 8 </head> |
9 <body> | 9 <body> |
10 <xevol @newtonave.net=""> </xevol> | 10 <xevol @newtonave.net=""> </xevol> |
11 <h1>Building SDL with Borland's C++ compilers. </h1> | 11 <h1>Building SDL with Borland's C++ compilers. </h1> |
12 <b> by <a href="mailto:xevol@users.sourceforge.net"> David Snopek</a></b> | 12 <b> by <a href="mailto:xevol@users.sourceforge.net"> David Snopek</a></b> |
13 and updated by <b><a href="mailto:Dominique@SavageSoftware.com.au">Dominique | 13 and updated by <b><a href="mailto:Dominique@SavageSoftware.com.au">Dominique |
14 Louis</a></b>.<br> | 14 Louis</a></b> ( Last updated : 30th June 2003 ).<br> |
15 <br> | 15 <br> |
16 These instructions cover how to compile SDL and its included test programs | 16 These instructions cover how to compile SDL and its included test |
17 using either Borland <a href="#bcbwin">C++ Builder 5, 6 for Windows</a>, | 17 programs using either Borland <a href="#bcbwin">C++ Builder 5, 6 for Windows</a>, |
18 <a href="#k3">C++ Builder for Linux ( AKA Kylix 3 )</a> or the free <a | 18 <a href="#k3">C++ Builder for Linux ( AKA Kylix 3 )</a> or the free <a |
19 href="#bccc">Borland C++ command-line compiler</a>. <br> | 19 href="#bccc">Borland C++ command-line compiler</a>. <br> |
20 | 20 |
21 <h3> <b> Extract the files </b> </h3> | 21 <h3> <b> Extract the files </b> </h3> |
22 | 22 |
23 <p> Unzip the Borland.zip archive into <b>this</b> directory. Do not unzip | 23 <p> Unzip the Borland.zip archive into <b>this</b> directory. Do not unzip |
24 it into any other directory because the makefiles ( *.mak ) and project | 24 it into any other directory because the makefiles ( *.mak ) and project |
25 files ( *.bpr ) use relative paths to refer to the SDL sources. This should | 25 files ( *.bpr ) use relative paths to refer to the SDL sources. This should |
26 create a directory named "Borland" inside of the top level SDL source directory. | 26 create a directory named "Borland" inside of the top level SDL source directory. |
27 </p> | 27 </p> |
28 | 28 |
29 <h3> <b><a name="bcbwin"></a> Using Borland C++ Builder 5, 6 for Windows </b> | 29 <h3> <b><a name="bcbwin"></a> Using Borland C++ Builder 5, 6 for Windows </b> |
30 </h3> | 30 </h3> |
31 | 31 |
32 <p> Inside of the "Borland" directory there is a "bcb6" directory that contains | 32 <p> Inside of the "Borland" directory there is a "bcb6" directory that contains |
33 a number of Builder project files. Double-click on the "libSDL.bpg" file | 33 a number of Builder project files. Double-click on the "libSDL.bpg" file |
34 icon. Once Builder has started click on the "<u>P</u>rojects" menu on the | 34 icon. Once Builder has started click on the "<u>P</u>rojects" menu on |
35 menu-bar and go down to "B<u>u</u>ild All Projects" option. <br> | 35 the menu-bar and go down to "B<u>u</u>ild All Projects" option. <br> |
36 This will proceed to build SDL ( with Borland's calling convention ), SDLmain, | 36 This will proceed to build SDL ( with Borland's calling convention ), |
37 and all the <a href="#tests">test programs</a>. Currently, all the <a | 37 SDLmain, and all the <a href="#tests">test programs</a>. Currently, all |
38 href="#tests">test programs</a> | 38 the <a href="#tests">test programs</a> are dynamically linked to Sam Lantinga's |
39 are dynamically linked to Sam Lantinga's SDL.dll.</p> | 39 SDL.dll.</p> |
40 | 40 |
41 <p><b>NOTE :</b> Borland's "lib" format and Microsoft's "lib" format are incompatible. | 41 <p><b>NOTE :</b> Borland's "lib" format and Microsoft's "lib" format are incompatible. |
42 <br> | 42 <br> |
43 If you wish to dynamically link to the SDL library supplied by Sam Lantinga | 43 If you wish to dynamically link to the SDL library supplied by Sam Lantinga |
44 in each release, I have created the correct *.libs for SDL 1.2.4 and they | 44 in each release, I have created the correct *.libs for SDL 1.2.4 and they |
45 exist in the "/lib" directory.<br> | 45 exist in the "/lib" directory.<br> |
46 If you would like to create the *.lib files yourself, you will need to make | 46 If you would like to create the *.lib files yourself, you will need to |
47 use of Borland's "implib.exe" utility.<br> | 47 make use of Borland's "implib.exe" utility.<br> |
48 </p> | 48 </p> |
49 | 49 |
50 <p><tt>IMPLIB</tt> works like this: </p> | 50 <p><tt>IMPLIB</tt> works like this: </p> |
51 | 51 |
52 <pre> IMPLIB (destination lib name) (source dll)<br></pre> | 52 <pre> IMPLIB (destination lib name) (source dll)<br></pre> |
53 | 53 |
54 <p> For example,</p> | 54 <p> For example,</p> |
55 | 55 |
56 <pre> IMPLIB SDL.lib SDL.dll<br></pre> | 56 <pre> IMPLIB SDL.lib SDL.dll<br></pre> |
57 | 57 |
58 <p>This assumes that SDL.dll was compiled with Visual C++ or similar.<br> | 58 <p>This assumes that SDL.dll was compiled with Visual C++ or similar.<br> |
59 </p> | 59 </p> |
60 | 60 |
61 <p>To learn more about the difference between Borland's and Microsoft's *.lib | 61 <p>To learn more about the difference between Borland's and Microsoft's *.lib |
62 format please read the article <a | 62 format please read the article <a |
63 href="http://www.bcbdev.com/articles/vcdll.htm">here</a>.<br> | 63 href="http://www.bcbdev.com/articles/vcdll.htm">here</a>.<br> |
64 </p> | 64 </p> |
65 | 65 |
66 <p> <b><br> | 66 <p> <b><br> |
67 NOTE :</b> The C++ Builder for Windows project format, is not compatible | 67 NOTE :</b> The C++ Builder for Windows project format, is not compatible |
68 with the Kylix 3 project format, hence the reason why they are in separate | 68 with the Kylix 3 project format, hence the reason why they are in separate |
69 directories.</p> | 69 directories.</p> |
70 | 70 |
71 <h3> <b><a name="bccc"></a> Using the free Borland C++ command-line compiler | 71 <h3> <b><a name="bccc"></a> Using the free Borland C++ command-line compiler |
72 </b> </h3> | 72 </b> </h3> |
73 | 73 |
74 <p> The free Borland compiler can be downloaded at no charge from <a | 74 <p> The free Borland compiler can be downloaded at no charge from <a |
75 href="http://www.borland.com/bcppbuilder/freecompiler/"> the Borland website | 75 href="http://www.borland.com/bcppbuilder/freecompiler/"> the Borland website |
76 </a>. Make sure that it is installed and properly configured. </p> | 76 </a>. Make sure that it is installed and properly configured. </p> |
77 | 77 |
78 <p> Open an MS-DOS Prompt. Change to the "Borland\freebcc" directory under | 78 <p> Open an MS-DOS Prompt. Change to the "Borland\freebcc" directory under |
79 the SDL source directory. Type "make -f SDL.mak" to build SDL and "make | 79 the SDL source directory. Type "make -f SDL.mak" to build SDL and "make |
80 -f SDLmain.mak". There are also makefiles for all of the <a | 80 -f SDLmain.mak". There are also makefiles for all of the <a |
81 href="#tests">test programs</a>, if you wish to build them. </p> | 81 href="#tests">test programs</a>, if you wish to build them. All .exes and |
82 | 82 DLLs are created in the "test" SDL directory. Ify ou would like to create |
83 the DLL and all the test applications, I have thrown together a basic batchfile | |
84 called "makeall.bat" which should create everything in the right order. </p> | |
85 | |
83 <h3> <b> Output files </b> </h3> | 86 <h3> <b> Output files </b> </h3> |
84 No matter which compiler you used, three important files should have | 87 No matter which compiler you used, three important files should have |
85 been produced: | 88 been produced: |
86 <ul> | 89 <ul> |
87 <li> SDL.dll ( Borland format ) </li> | 90 <li> SDL.dll ( Borland format ) </li> |
88 <li> SDL.lib ( Borland format ) </li> | 91 <li> SDL.lib ( Borland format ) </li> |
89 <li> SDLmain.lib ( Borland format ) </li> | 92 <li> SDLmain.lib ( Borland format ) </li> |
90 | 93 |
91 </ul> | 94 </ul> |
92 Both of the *.lib files will need to be added to all the projects that | 95 Both of the *.lib files will need to be added to all the projects |
93 use SDL and SDL.dll must be placed some where the Windows dynamic linker | 96 that use SDL and SDL.dll must be placed some where the Windows dynamic |
94 can find it (either in your project directory or on the system path, C:\WINDOWS\SYSTEM). | 97 linker can find it (either in your project directory or on the system |
95 | 98 path, C:\WINDOWS\SYSTEM). |
96 <h3> <b><a name="k3"></a> Using Borland C++ Builder for Linux ( AKA Kylix | 99 <h3> <b><a name="k3"></a> Using Borland C++ Builder for Linux ( AKA Kylix |
97 3 ) </b> </h3> | 100 3 ) </b> </h3> |
98 | 101 |
99 <p> Inside of the "Borland" directory there is a "k3" directory that contains | 102 <p> Inside of the "Borland" directory there is a "k3" directory that contains |
100 a number of Builder project files. Double-click on the "libSDL.bpg" file | 103 a number of Builder project files. Double-click on the "libSDL.bpg" file |
101 icon. Once Builder has started click on the "<u>P</u>rojects" menu on the | 104 icon. Once Builder has started click on the "<u>P</u>rojects" menu on |
102 menu-bar and go down to "B<u>u</u>ild All Projects" option. This will proceed | 105 the menu-bar and go down to "B<u>u</u>ild All Projects" option. This will |
103 to build all the <a | 106 proceed to build all the <a href="#tests">test programs</a>. <br> |
104 href="#tests">test programs</a>. <br> | 107 Linux users do not need *.lib files as the Shared Object is linked right |
105 Linux users do not need *.lib files as the Shared Object is linked right | 108 into the project ( very neat actually, Windows should do this sort of thing |
106 into the project ( very neat actually, Windows should do this sort of thing | 109 as it is a lot easier for the developer ). <br> |
107 as it is a lot easier for the developer ). <br> | 110 <b>NOTE :</b> The C++ Builder for Windows project format, is not |
108 <b>NOTE :</b> The C++ Builder for Windows project format, is not | 111 compatible with the Kylix 3 project format, hence the reason why they are |
109 compatible with the Kylix 3 project format, hence the reason why they are | 112 in separate directories.</p> |
110 in separate directories.</p> | 113 |
111 | |
112 <p> On Mandrake 8.1 the shared objects for SDL are located in the /usr/lib | 114 <p> On Mandrake 8.1 the shared objects for SDL are located in the /usr/lib |
113 directory as libSDL_*.so and the Mesa OpenGL shared objects are located in | 115 directory as libSDL_*.so and the Mesa OpenGL shared objects are located |
114 /usr/X11R6/lib as libGL*.so<br> | 116 in /usr/X11R6/lib as libGL*.so<br> |
117 <br> | |
118 So if your setup is different you may need to change the project file | |
119 so that they re-link to the ones on your system.<br> | |
120 <br> | |
121 On Mandrake 8.1 the headers files are located at /usr/include/SDL/. | |
122 So if you you have not installed the development RPMs ( usually named libSDL-devel* | |
123 ) for SDL ( not included ) you may have to change the include directory | |
124 within some of the projects.<br> | |
125 </p> | |
126 | |
127 <h3> Known Problems</h3> | |
128 The only known problem is that I ( Dominique Louis ), was unable to | |
129 create the projects that rebuilt the SDL shared objects under Linux, due | |
130 to time constraints and my lack of intimate knowledge of Linux. | |
131 <h3><a name="tests"><b> Test programs </b> </a></h3> | |
132 Some of the test programs require included media files ( *.wav; *.bmp | |
133 etc ). All the test programs are now created in the "test" directory, where | |
134 the media files are ( usually ) so they should be ready to go. <br> | |
115 <br> | 135 <br> |
116 So if your setup is different you may need to change the project file | 136 <br> |
117 so that they re-link to the ones on your system.<br> | 137 <br> |
118 <br> | |
119 On Mandrake 8.1 the headers files are located at /usr/include/SDL/. | |
120 So if you you have not installed the development RPMs ( usually named libSDL-devel* | |
121 ) for SDL ( not included ) you may have to change the include directory | |
122 within some of the projects.<br> | |
123 </p> | |
124 | |
125 <h3> Known Problems</h3> | |
126 The only known problem is that I ( Dominique Louis ), was unable to create | |
127 the projects that rebuilt the SDL shared objects under Linux, due to time | |
128 constraints and my lack of intimate knowledge of Linux. | |
129 <h3><a name="tests"><b> Test programs </b> </a></h3> | |
130 Some of the test programs require included media files ( *.wav; *.bmp etc | |
131 ). Before trying to run any of the test programs, copy these media files | |
132 from the "tests/" directory into the Borland build directory that you extracted | |
133 the project files to. <br> | |
134 <br> | |
135 </body> | 138 </body> |
136 </html> | 139 </html> |
137 |