Borland.html
author Sam Lantinga <slouken@libsdl.org>
Thu, 06 May 2004 15:55:06 +0000
changeset 886 05c551e5bc64
parent 642 de622b7108bf
permissions -rw-r--r--
Date: Sat, 24 Apr 2004 15:13:32 +0300
From: "Mike Gorchak"
Subject: SDL updates for the QNX6

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