$Id: README 3731 2001-07-31 12:44:17Z rafa $ Multi-Purpose Class Library (MPCL) ================================== This is a multi-purpose set of C++ libraries that provides a solid framework to help the developer to focus to the main issue of every application, and not on the side issues. Platforms ========= It REQUIRES fully support for name-spaces and exceptions. These libraries have been compiled and tested on the following platforms (maybe not recently): Architecture GNU canonical name ------------ ----------------------------------------- i586 i586-pc-cygwin (without threads nor DLLs) i586 i586-pc-linux-gnu i686 i686-pc-linux-gnu sun4u sparc-sun-solaris2.6 Tools used on platform: i586-pc-cygwin -------------------------------------- egcs-c++ 2.91.57 GNU Experimental C++ support for gcc libtool 1.3.3 GNU libtool m4 1.4 GNU macro processor make 3.75 GNU make Tools used on platform: i586-pc-linux-gnu ----------------------------------------- autoconf 2.13 GNU autoconf automake 1.4 GNU automake gcc-c++ 2.96 GNU C++ support for gcc libtool 1.3.5 GNU libtool m4 1.4.1 GNU macro processor make 3.79.1 GNU make Tools used on platform: i686-pc-linux-gnu ----------------------------------------- autoconf 2.13 GNU autoconf automake 1.4 GNU automake gcc-c++ 2.96 GNU C++ support for gcc libtool 1.3.5 GNU libtool m4 1.4.1 GNU macro processor make 3.79.1 GNU make Tools used on platform: sparc-sun-solaris2.6 -------------------------------------------- autoconf 2.12 GNU autoconf automake 1.3 GNU automake gcc-c++ 2.7.2.1 GNU C++ support for gcc libtool 1.2 GNU libtool m4 1.4 GNU macro processor make 3.76.1 GNU make Libraries ========= Includes the next libraries. Name Description Corresponding libraries ------ ------------------------------- ----------------------- ADT Abstract Data Types adt ALG Algorithm encapsulation hashalg CG Code Generator pbcg CGIL CGI Layer cgil CP Configuration Processor cp DFA Deterministic Finite Automaton dfa EL Exception Layer el HTMLL HTML Layer htmll OSL Operating System Layer osl, osl_thread REM Regular Expression Matcher rem IV Invariant Verifier iv Guidelines for version numbering ================================ The next documentation come from the libtool info document: Updating library version information ------------------------------------ If you want to use libtool's versioning system, then you must specify the version information to libtool using the `-version-info' flag during link mode (Link mode.). This flag accepts an argument of the form `CURRENT[:REVISION[:AGE]]'. So, passing `-version-info 3:12:1' sets CURRENT to 3, REVISION to 12, and AGE to 1. If either REVISION or AGE are omitted, they default to 0. Also note that AGE must be less than or equal to the CURRENT interface number. Here are a set of rules to help you update your library version information: 1. Start with version information of `0:0:0' for each libtool library. 2. Update the version information only immediately before a public release of your software. More frequent updates are unnecessary, and only guarantee that the current interface number gets larger faster. 3. If the library source code has changed at all since the last update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). 4. If any interfaces have been added, removed, or changed since the last update, increment CURRENT, and set REVISION to 0. 5. If any interfaces have been added since the last public release, then increment AGE. 6. If any interfaces have been removed since the last public release, then set AGE to 0. **Never** try to set the interface numbers so that they correspond to the release number of your package. This is an abuse that only fosters misunderstanding of the purpose of library versions. Instead, use the `-release' flag (Release numbers.), but be warned that every release of your package will not be binary compatible with any other release.