file: libstdc++-v3/README
-New users may wish to point their web browsers to the file documentation.html
-in the 'docs/html' subdirectory. It contains brief building instructions and
-notes on how to configure the library in interesting ways.
+New users may wish to point their web browsers to the file
+documentation.html in the 'docs/html' subdirectory. It contains brief
+building instructions and notes on how to configure the library in
+interesting ways.
Instructions for configuring and building appear in
docs/html/install.html.
It has subdirectories:
docs
- Files in HTML and text format that document usage, quirks of the
- implementation, and contributor checklists.
-
- include/std
- Files meant to be found by #include <name> directives in
- standard-conforming user programs.
-
- include/c
- Headers intended to directly include standard C headers.
- [NB: this can be enabled via --enable-cheaders=c]
-
- include/c_std
- Headers intended to include standard C headers, and put select
- names into the std:: namespace.
- [NB: this is the default, and is the same as --enable-cheaders=c_std]
-
- include/c_shadow
- Headers intended to shadow standard C headers provided by an
- underlying OS or C library, and other headers depended on directly
- by C++ headers (e.g. unistd.h). These are meant to wrap the names
- defined there into the _C_legacy namespace.
- [NB: this can be enabled via --enable-cheaders=c_shadow]
-
- include/bits
- Files included by standard headers and by other files in
- the bits directory.
-
- include/backward
- Headers provided for backward compatibility, such as <iostream.h>.
- They are not used in this library.
-
- include/ext
- Headers that define extensions to the standard library. No
- standard header refers to any of them.
+ Files in HTML and text format that document usage, quirks of the
+ implementation, and contributor checklists.
+
+ include
+ All header files for the C++ library are within this directory,
+ modulo specific runtime-related files that are in the libsupc++
+ directory.
+
+ include/std
+ Files meant to be found by #include <name> directives in
+ standard-conforming user programs.
+
+ include/c
+ Headers intended to directly include standard C headers.
+ [NB: this can be enabled via --enable-cheaders=c]
+
+ include/c_std
+ Headers intended to include standard C headers, and put select
+ names into the std:: namespace.
+ [NB: this is the default, and is the same as --enable-cheaders=c_std]
+
+ include/c_shadow
+ Headers intended to shadow standard C headers provided by an
+ underlying OS or C library, and other headers depended on directly
+ by C++ headers (e.g. unistd.h). These are meant to wrap the names
+ defined there into the _C_legacy namespace.
+ [NB: this can be enabled via --enable-cheaders=c_shadow]
+
+ include/bits
+ Files included by standard headers and by other files in
+ the bits directory.
+
+ include/backward
+ Headers provided for backward compatibility, such as <iostream.h>.
+ They are not used in this library.
+
+ include/ext
+ Headers that define extensions to the standard library. No
+ standard header refers to any of them.
src
- Files that are used in constructing the library, but are not
- installed.
+ Files that are used in constructing the library, but are not
+ installed.
testsuites/[thread, 17_* to 27_*]
- Test programs are here, and may be used to begin to exercise the
- library. Support for "make check" and "make check-install" is
- complete, and runs through all the subdirectories here when this
- command is issued from the build directory. Please note that
- "make check" requires DejaGNU 1.4 or later to be installed. Please
- note that "make check-script" calls the script mkcheck, which
- requires bash, and which may need the paths to bash adjusted to
- work properly, as /bin/bash is assumed.
+ Test programs are here, and may be used to begin to exercise the
+ library. Support for "make check" and "make check-install" is
+ complete, and runs through all the subdirectories here when this
+ command is issued from the build directory. Please note that
+ "make check" requires DejaGNU 1.4 or later to be installed. Please
+ note that "make check-script" calls the script mkcheck, which
+ requires bash, and which may need the paths to bash adjusted to
+ work properly, as /bin/bash is assumed.
Other subdirectories contain variant versions of certain files
that are meant to be copied or linked by the configure script.
In addition, three subdirectories are convenience libraries:
libio
- Contains the subset of the GNU libio library needed for
- C++. Currently not used.
+ Contains the subset of the GNU libio library needed for
+ C++. Currently not used.
libmath
- Support routines needed for C++ math. Only needed if the
- underlying "C" implementation is weak or looses.
+ Support routines needed for C++ math. Only needed if the
+ underlying "C" implementation is weak or looses.
libsupc++
- Contains the runtime library for C++, including exception
- handling and memory allocation and deallocation, RTTI, terminate
- handlers, etc.
+ Contains the runtime library for C++, including exception
+ handling and memory allocation and deallocation, RTTI, terminate
+ handlers, etc.
Note that glibc also has a bits/ subdirectory. We will either
need to be careful not to collide with names in its bits/
-2002-02-01
+2002-03-05
Release Notes
-------------
to fully implement the ISO 14882 Standard C++ library as described in
chapters 17 through 27 and annex D.
-This is the thirteenth snapshot of the libstdc++ rewrite. It is still
+This is the fourteenth snapshot of the libstdc++ rewrite. It is 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.
New:
---
- more doxygen documentation.
-- extensions moved out of namespace std
-- HPUX long long support
-- more string optimizations
-- support for NetBSD cross compiles
-- concept_check merge from boost
-- header simplification
-- named locale bug shakeout
-- thread testsuite
+- more named locale bug fixes
+- support for symbol versioning when using GNU ld >= 2.12
+- wide-io
+- tuning for executable size
Bugs fixed:
-----------
-5148, 3829, 2054, 5174, 2913, 4879, 3150, 5331, 5280, 5198, 5432
-- fix Darwin build issue with '~' in prefix
+5816, 3955, 3983, 5708, 5697, 5286, 3860, 5579
+AIX linkage and threading fixes.
+ others.
Development tools:
------------------
-You will need a recent version of gcc to compile the snapshot of
-libstdc++. The use of CVS gcc, or gcc-3_0-branch is strongly
-recommended, which may introduce additional dependencies for
-up-to-date binutils. 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.
+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.