+++ /dev/null
-**********************************************************************\r
-* INSTALL file for STLport *\r
-* *\r
-**********************************************************************\r
-\r
-STLport is a full ANSI C++ Standard library.\r
-\r
-This distribution contains STLport sources only, no binaries.\r
-To use STLport iostreams, locale and complex numbers, you have to build STLport\r
-library from sources in "build/lib" directory and link your programs with it.\r
-\r
-Starting with 5.0 the 'wrapper' mode is not supported anymore. You cannot use native\r
-compiler iostreams implementation with STLport STL (see doc/FAQ for explanations).\r
-Now you have to choose between STLport iostreams or no iostreams.\r
-\r
-==== Unpacking and installing STLport ==========\r
-\r
-1) Unpack STLport archive to a directory accessible during compilation.\r
- NOTE: DO NOT overwrite header files coming with the compiler, even if you made\r
- a backup - this won't work! Most probably, you've already unpacked the archive before\r
- reading this file though ;)\r
-\r
-2) Make sure "stlport" directory of this distribution comes before compiler's one \r
- in your include paths when you compile the project.\r
-\r
- Note: for SunPro CC 5.0 and higher, there used to be special directory "stlport/SC5"\r
- this is now obsolete, please make sure you do not use it anymore.\r
-\r
-3) Make sure you do not rename this "stlport" subdirectory -\r
- that may result in compilation errors.\r
-\r
- NOTE: Your compiler should be recognized by STLport source code with no configuring.\r
- Please edit appropriate configuration header for your compiler\r
- directly if you have to make compiler-specific configuration changes\r
- (see stlport/stl/config). \r
-\r
-4) Run:\r
-\r
- configure --help\r
-\r
- Depending on your environment, Windows command shell or Unix like shell,\r
- configure.bat or configure script will be run respectively. For Windows users\r
- running configure script is mandatory in order to declare the compiler you are\r
- going to use.\r
-\r
-5) Go to "build/lib" subdirectory. It contains various makefiles for different\r
- compilers and 'make' utilities (GNU Make and Microsoft's nmake supported).\r
-\r
- Verify you can do command line compiles. IDE users may have to do something \r
- special, like add environment variables (for Microsoft) or install \r
- additional compiler components (for Metrowerks), before they can use their \r
- command line compilers (see doc/README.xxxx for additionnal information).\r
-\r
- configure script should have already created a Makefile file so that you only\r
- have to call 'make' or 'nmake' (for some platforms GNU make might be hidden\r
- behind 'gmake').\r
-\r
- IMPORTANT:\r
-\r
- If you DO NOT plan to use STLport iostreams and/or locale implementation but just\r
- the STL, you do not have to build the library.\r
- \r
- If you have decided to disable STLport iostreams and locale using _STLP_NO_IOSTREAMS\r
- configuration macro in stlport/stl/config/user_config.h, you may stop reading here.\r
-\r
-\r
-==== Building STLport iostreams library ==========\r
-\r
-Below are step-by-step instructions to build STLport streams library. This is a general\r
-build process description, for a more detailed one check README files in the doc folder:\r
-\r
-5) Using appropriate make command (make or nmake), do\r
-\r
- make clean install\r
-\r
- to build the STLport libraries. Make files are set up to build several different\r
- flavors - debug/nondebug, static/dynamic versions. But not all flavors will be build\r
- by default. See build/lib/README for other make targets.\r
-\r
- Note: 'install' target work slightly different than usual - it installs libraries into\r
- <STLport root dir>/lib and bin catalogs, NOT IN SYSTEM CATALOG. You can do the system\r
- install by just copying stlport and lib folder to the destination of your choise. For\r
- example on UNIX-like platforms this can be done with the following commands:\r
-\r
- su\r
- tar cf - stlport | (cd /usr/local/include; tar xf -)\r
- chmod -R a+r /usr/local/include/stlport\r
- chown -R root:root /usr/local/include/stlport\r
- (cd lib; tar cf - --exclude=CVS --exclude=.cvsignore .) | (cd /usr/local/lib; tar xf -)\r
- chown -R root:root /usr/local/lib/libstlport*\r
- exit\r
-\r
- Note: System install is optional, most of compilers/linkers support searching for includes\r
- and libs throught out the whole filesystem, just check your documentation on how to achieve\r
- this.\r
-\r
- If you use cross-compiler, you can find libraries in the <STLport root dir>/lib/<target platform>\r
- catalog.\r
-\r
-6) If build fails, you may choose to :\r
- - try fixing the build ;)\r
- - wait until somebody else will submit corresponding changes to be incorporated in next STLport \r
- release/snapshot.\r
-\r
- In case you do patch STLport, please submit your patches to\r
- https://sourceforge.net/tracker/?atid=766246&group_id=146814&func=browse\r
-\r
-==== Linking your application with STLport library ==========\r
-\r
-7) Check the build:\r
-\r
- Example:\r
- \r
- - under Linux and other Unixes:\r
-\r
- cd build/test/unit\r
- make install\r
- ../../../bin/stl_unit_test\r
- ../../../bin-g/stl_unit_test\r
-\r
- - under Windows:\r
-\r
- cd build\test\unit\r
- nmake install\r
- cd ..\..\..\bin\r
- stl_unit_test\r
- stl_unit_testd\r
- stl_unit_teststld\r
-\r
-8) Supply the "lib" subdirectory to the library search path and add desired \r
- library to the list of libraries to link with.\r
- Examples (imagine you have mytest.cpp in the same directory as this file is):\r
- With GCC : g++ -pthread -I./stlport mytest.cpp -L./lib/ -lstlport\r
- With DEC CC : cxx -I./stlport mytest.cpp -L./lib/ -lstlport\r
- With SUN CC : CC -mt -I./stlport mytest.cpp -L./lib/ -lstlport\r
- .....\r
- For several compilers supporting auto linking feature (VC++, Borland, DMC),\r
- you do not have to specify "stlport.M.m.lib" explicitly, as it is being choosen\r
- and forced to link automatically by "#pragma"'s in compiler config files \r
- Appropriate version is being selected based on compiler options and _STLP_DEBUG\r
- setting. All you have to do is to set library search path for the linker.\r
-\r
- Example :\r
- cl.exe /I.\stlport mytest.cpp /link /libpath:.\lib /MD\r
-\r
-9) If you linked your application with shared STLport library (.so or .dll), please \r
- make suze that your .so or .dll can be found by the dynamic linker. \r
- Under Windows, the paths searched depend on the particular flavor, see the MSDN \r
- documentation for LoadLibrary at http://msdn.microsoft.com. The easiest ways are to\r
- either modify the PATH environment variable or copy all .dll's next to the \r
- executable like it is done per default when unit tests executable are put next\r
- to dlls. \r
- Under Linux, the environment variable LD_LIBRARY_PATH can be adjusted to point\r
- to the dir containing .so. See the manpage for ld.so for more info.\r
-\r
-10) STLport builds only multithreaded libraries, so your application should be compiled\r
- as multithreaded, too. Use -pthread (or -pthreads on Solaris) option for GCC, -mt for SunPro,\r
- /MT for VC, and so on. Sometimes you should define _REENTRANT or something else, depends\r
- upon platform/compiler. See compiler's and linker's options on command line when you build\r
- unit tests (build/test/unit) for reference. The last is useful for ANY platform.\r
-\r
-11) Don't hesitate to read READMEs (doc/README*, build/lib/README*, build/test/unit/README*)\r
- and doc/FAQ.\r
-\r
-12) Have fun!\r
-\r