| 1 |
|
| 2 |
================================================== |
| 3 |
STLport README for Borland C++ compilers. |
| 4 |
================================================== |
| 5 |
|
| 6 |
by: Francois Dumont, dums@stlport.com, last edited 20 May 2006 |
| 7 |
|
| 8 |
============ |
| 9 |
Introduction |
| 10 |
============ |
| 11 |
This document describes how STLport can be compiled and used with |
| 12 |
Borland compilers. |
| 13 |
|
| 14 |
For any further comments or questions visit STLport mailing lists |
| 15 |
http://stlport.sourceforge.net/Maillists.shtml or forums |
| 16 |
https://sourceforge.net/forum/?group_id=146814 |
| 17 |
|
| 18 |
============= |
| 19 |
Prerequisites |
| 20 |
============= |
| 21 |
To build and use STLport you will need following tools and libraries: |
| 22 |
- Borland C++ compiler package 5.5.1 or higher version. |
| 23 |
|
| 24 |
In order to build STLport the Borland compiler and linker have to |
| 25 |
be correctly configurated too. That is to say: |
| 26 |
|
| 27 |
* For the Borland compiler bcc32: |
| 28 |
|
| 29 |
In Borland's 'bin' directory (same directory as bcc32.exe), create a |
| 30 |
bcc32.cfg file containing the compiler option giving it the path to |
| 31 |
native Borland headers: |
| 32 |
|
| 33 |
-I%BORLAND_PATH%\BCC55\include |
| 34 |
|
| 35 |
* For the resource compiler brcc32: |
| 36 |
|
| 37 |
Create an environment variable INCLUDE containing path to native Borland |
| 38 |
headers and especially the windows.h file |
| 39 |
|
| 40 |
set INCLUDE=%BORLAND_PATH%\BCC55\include |
| 41 |
|
| 42 |
* For the Borland linker ilink32: |
| 43 |
|
| 44 |
You need to give path to both the Borland libs and Borland PSDK libs. |
| 45 |
For that you have to create, in the same directory as ilink32.exe, a |
| 46 |
configuration file, ilink32.cfg, that contains: |
| 47 |
|
| 48 |
-L%BORLAND_PATH%\BCC55\lib;%BORLAND_PATH%\BCC55\lib\PSDK |
| 49 |
|
| 50 |
- A GNU make tool. You can get one from www.mingw.org or www.cygwin.com. |
| 51 |
See README.mingw or README.cygwin for additional informations. |
| 52 |
|
| 53 |
=================== |
| 54 |
Configuring STLport |
| 55 |
=================== |
| 56 |
This is intended to be an optional step, if you want to use default |
| 57 |
configuration simply jump to next chapter 'Building STLport'. Open a console |
| 58 |
and go to the STLport build/lib folder. Run |
| 59 |
|
| 60 |
configure --help |
| 61 |
|
| 62 |
This command will present you the different available build options. Just follow |
| 63 |
the instructions to set STLport configuration according your needs. For example, |
| 64 |
to set the typical configuration for most Borland compilers, run |
| 65 |
|
| 66 |
configure -c bcc |
| 67 |
|
| 68 |
================ |
| 69 |
Building STLport |
| 70 |
================ |
| 71 |
This is a step by step description of the actions to take in order to build |
| 72 |
and install the STLport libraries: |
| 73 |
|
| 74 |
1. Open a console, you can use a Msys, Cygwin or Windows console. |
| 75 |
|
| 76 |
2. Go to the STLport build/lib folder: |
| 77 |
cd C:\STLport\build\lib |
| 78 |
|
| 79 |
3. Run the following command: |
| 80 |
make -fbcc.mak install |
| 81 |
|
| 82 |
Where 'make' is the GNU make utility you have installed. The name of |
| 83 |
GNU make utility may differ, such as 'mingw32-make'. -f is a make option |
| 84 |
telling it which makefile to use. You have of course to choose the |
| 85 |
appropriate makefile for your compiler, 'bcc.mak' in our case. |
| 86 |
|
| 87 |
Once the command returns you will have all the necessary import libraries |
| 88 |
in STLport's 'lib' folder and DLLs in STLport's 'bin' folder. For a |
| 89 |
description of the generated libraries check the FAQ file in the 'doc' folder. |
| 90 |
For a quick start guide to the STLport make system, see the README file in the |
| 91 |
'build/lib' folder. |
| 92 |
|
| 93 |
=============== |
| 94 |
Testing STLport |
| 95 |
=============== |
| 96 |
You can use the unit tests to verify STLport behaves correctly. Change into |
| 97 |
STLport's 'build/test/unit' folder and type: |
| 98 |
|
| 99 |
make -fbcc.mak install |
| 100 |
|
| 101 |
This will build and install the unit tests with STLport dynamic libraries. |
| 102 |
Once the unit tests are built you just need to run them. They can be found |
| 103 |
in STLport's bin, bin-g or bin-stlg folders. To rebuild the unit tests |
| 104 |
with STLport static libraries, type: |
| 105 |
|
| 106 |
make -fbcc.mak clean |
| 107 |
make -fbcc.mak install-static |
| 108 |
|
| 109 |
============= |
| 110 |
Using STLport |
| 111 |
============= |
| 112 |
Adjust your include and link paths in Borland IDE or in the command line config |
| 113 |
files. In the include files add the path to STLport's 'stlport' folder. Make sure |
| 114 |
it is the first directory listed there. Add STLport's 'lib' folder for the library |
| 115 |
files (order of paths doesn't matter here). |
| 116 |
|
| 117 |
Now you should be ready to use STLport. |
| 118 |
|
| 119 |
============ |
| 120 |
Known limitations |
| 121 |
============ |
| 122 |
|
| 123 |
1. If you extend a locale facet based on a Standard facet definition you will |
| 124 |
have to grant your own facet id defition. Ex extracted from |
| 125 |
test/unit/fstream_test.cpp: |
| 126 |
|
| 127 |
#include <locale> |
| 128 |
|
| 129 |
using namespace std; |
| 130 |
|
| 131 |
struct my_state { |
| 132 |
char dummy; |
| 133 |
}; |
| 134 |
|
| 135 |
struct my_traits : public char_traits<char> { |
| 136 |
typedef my_state state_type; |
| 137 |
typedef fpos<state_type> pos_type; |
| 138 |
}; |
| 139 |
|
| 140 |
class my_codecvt : public codecvt<char, char, my_state> |
| 141 |
{}; |
| 142 |
|
| 143 |
// Mandatory locale facet id definition: |
| 144 |
template <> |
| 145 |
locale::id codecvt<char, char, my_state>::id; |
| 146 |
|
| 147 |
2. If you get a linker memory error, e.g. LME351, it probably means that full |
| 148 |
source debugging is enabled and Borland's .TDS file has exceeded the memory |
| 149 |
capacity of Borland's linker (ilink32.exe). To resolve this error, check |
| 150 |
Borland's website for the latest patch for ilink32.exe. In the alternative, |
| 151 |
disable full source debugging in build\Makefiles\gmake\bcc.mak by deleting |
| 152 |
the -v option in the OPT settings. |
| 153 |
|
| 154 |
3. For "'uname' is not recognized . . .", see "Configuring STLport" above. |