2002-05-02

Release Notes   
-------------
The Standard C++ Library, or libstdc++-v3, is an ongoing project
to fully implement the ISO 14882 Standard C++ library as described in
chapters 17 through 27 and annex D.

This is the fifteenth snapshot of the libstdc++ rewrite.  It still
has some incomplet and incorrekt parts, but it's a lot less incomplete
and incorrect than some of the earlier snapshots, and quite usable.

The Standard C++ Library, follows an open development model,
attempting to be fully buzzword, bazaar, and GNU compliant. Full
details on participating, including contributor guidelines, mailing
list subscription, mailing list archives, up-to-date documentation,
and various and sundry other details can be found at the following
URL:

  http://gcc.gnu.org/libstdc++/


New: 
--- 
- more doxygen documentation
- more named locale fixups
- stdio_filebuf that takes fd, FILE
- io performance tuning
- allocation tuning, valgrind fixups
- __cxa_demangle now supported


Bugs fixed:
-----------
6533, 6513, 6501, 6511, 5820, 6414, 4150, 6360, 4164, 1072, 6124,
5180, 3457, 3139, 5268, 3983, 5542, 3129, 5207, 3719, 5734
+ others.


What doesn't:
-------------
- see BUGS.

 
Build and Install
-----------------
Up to date build and install directions can be found at:
http://gcc.gnu.org/libstdc++/install.html


Contact:
--------
Places have changed from previous snapshots.  The web page, which has
information about joining the mailing list and searching its archives,
CVS access, and contribution information is now at:

  http://gcc.gnu.org/libstdc++/

Please note that the mailing list has moved, and is now hosted on
gcc.gnu.org. (The web site above has the most up-to-date info.)
   
Obtain the library snapshot via ftp (including these release notes) from

  ftp://gcc.gnu.org/pub/libstdc++/

The library is maintained by Benjamin Kosnik, Gabriel
Dos Reis, Phil Edwards, Ulrich Drepper, Loren James Rittle,
and Paolo Carlini.  


Development tools:
------------------

You will need a current version of gcc to compile this snapshot of
libstdc++. The use of the latest stable gcc-3.0.x release (3.0.4), CVS
gcc, or gcc-3_1-branch is strongly recommended, which may also
introduce additional dependencies for up-to-date binutils. In
particular, current binutils (2.12) is recommended so that symbol
versioning for the library is on by default. In addition, you may need
up-to-date tools for modifying Makefiles and regenerating configure
scripts: automake (version 1.4), autoconf (version 2.13 and higher),
and libtool.

