| |
| ================================================== |
| STLport README for Borland C++ compilers. |
| ================================================== |
| |
| by: Francois Dumont, dums@stlport.com, last edited 20 May 2006 |
| |
| ============ |
| Introduction |
| ============ |
| This document describes how STLport can be compiled and used with |
| Borland compilers. |
| |
| For any further comments or questions visit STLport mailing lists |
| http://stlport.sourceforge.net/Maillists.shtml or forums |
| https://sourceforge.net/forum/?group_id=146814 |
| |
| ============= |
| Prerequisites |
| ============= |
| To build and use STLport you will need following tools and libraries: |
| - Borland C++ compiler package 5.5.1 or higher version. |
| |
| In order to build STLport the Borland compiler and linker have to |
| be correctly configurated too. That is to say: |
| |
| * For the Borland compiler bcc32: |
| |
| In Borland's 'bin' directory (same directory as bcc32.exe), create a |
| bcc32.cfg file containing the compiler option giving it the path to |
| native Borland headers: |
| |
| -I%BORLAND_PATH%\BCC55\include |
| |
| * For the resource compiler brcc32: |
| |
| Create an environment variable INCLUDE containing path to native Borland |
| headers and especially the windows.h file |
| |
| set INCLUDE=%BORLAND_PATH%\BCC55\include |
| |
| * For the Borland linker ilink32: |
| |
| You need to give path to both the Borland libs and Borland PSDK libs. |
| For that you have to create, in the same directory as ilink32.exe, a |
| configuration file, ilink32.cfg, that contains: |
| |
| -L%BORLAND_PATH%\BCC55\lib;%BORLAND_PATH%\BCC55\lib\PSDK |
| |
| - A GNU make tool. You can get one from www.mingw.org or www.cygwin.com. |
| See README.mingw or README.cygwin for additional informations. |
| |
| =================== |
| Configuring STLport |
| =================== |
| This is intended to be an optional step, if you want to use default |
| configuration simply jump to next chapter 'Building STLport'. Open a console |
| and go to the STLport build/lib folder. Run |
| |
| configure --help |
| |
| This command will present you the different available build options. Just follow |
| the instructions to set STLport configuration according your needs. For example, |
| to set the typical configuration for most Borland compilers, run |
| |
| configure -c bcc |
| |
| ================ |
| Building STLport |
| ================ |
| This is a step by step description of the actions to take in order to build |
| and install the STLport libraries: |
| |
| 1. Open a console, you can use a Msys, Cygwin or Windows console. |
| |
| 2. Go to the STLport build/lib folder: |
| cd C:\STLport\build\lib |
| |
| 3. Run the following command: |
| make -fbcc.mak install |
| |
| Where 'make' is the GNU make utility you have installed. The name of |
| GNU make utility may differ, such as 'mingw32-make'. -f is a make option |
| telling it which makefile to use. You have of course to choose the |
| appropriate makefile for your compiler, 'bcc.mak' in our case. |
| |
| Once the command returns you will have all the necessary import libraries |
| in STLport's 'lib' folder and DLLs in STLport's 'bin' folder. For a |
| description of the generated libraries check the FAQ file in the 'doc' folder. |
| For a quick start guide to the STLport make system, see the README file in the |
| 'build/lib' folder. |
| |
| =============== |
| Testing STLport |
| =============== |
| You can use the unit tests to verify STLport behaves correctly. Change into |
| STLport's 'build/test/unit' folder and type: |
| |
| make -fbcc.mak install |
| |
| This will build and install the unit tests with STLport dynamic libraries. |
| Once the unit tests are built you just need to run them. They can be found |
| in STLport's bin, bin-g or bin-stlg folders. To rebuild the unit tests |
| with STLport static libraries, type: |
| |
| make -fbcc.mak clean |
| make -fbcc.mak install-static |
| |
| ============= |
| Using STLport |
| ============= |
| Adjust your include and link paths in Borland IDE or in the command line config |
| files. In the include files add the path to STLport's 'stlport' folder. Make sure |
| it is the first directory listed there. Add STLport's 'lib' folder for the library |
| files (order of paths doesn't matter here). |
| |
| Now you should be ready to use STLport. |
| |
| ============ |
| Known limitations |
| ============ |
| |
| 1. If you extend a locale facet based on a Standard facet definition you will |
| have to grant your own facet id defition. Ex extracted from |
| test/unit/fstream_test.cpp: |
| |
| #include <locale> |
| |
| using namespace std; |
| |
| struct my_state { |
| char dummy; |
| }; |
| |
| struct my_traits : public char_traits<char> { |
| typedef my_state state_type; |
| typedef fpos<state_type> pos_type; |
| }; |
| |
| class my_codecvt : public codecvt<char, char, my_state> |
| {}; |
| |
| // Mandatory locale facet id definition: |
| template <> |
| locale::id codecvt<char, char, my_state>::id; |
| |
| 2. If you get a linker memory error, e.g. LME351, it probably means that full |
| source debugging is enabled and Borland's .TDS file has exceeded the memory |
| capacity of Borland's linker (ilink32.exe). To resolve this error, check |
| Borland's website for the latest patch for ilink32.exe. In the alternative, |
| disable full source debugging in build\Makefiles\gmake\bcc.mak by deleting |
| the -v option in the OPT settings. |
| |
| 3. For "'uname' is not recognized . . .", see "Configuring STLport" above. |