OSDN Git Service

2001-12-05 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / README
index 1a94168..3ace755 100644 (file)
@@ -1,39 +1,55 @@
-file: isolib/README
+file: libstdc++-v3/README
 
-New users may wish to point their web browsers to the file index.html
-in the 'docs' 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 this snapshot appear
-in install.html.
+in docs/html/install.html.
 
 This directory contains the files needed to create [a still broken
 subset of] an ISO Standard C++ Library.
 
 It has subdirectories:
 
-  bits
+  docs
+     Files in HTML and text format that document usage, quirks of the
+     implementation, and contributor checklists.
+
+  include/bits
      Files included by standard headers and by other files in
      the bits directory.  Includes a set of files bits/std_xxxx.h
      that implement the standard headers <xxxx>.
 
-  std
+  include/std
      Files meant to be found by #include <name> directives in
-     standard-conforming user programs.  These headers are not
-     referred to by other headers, because such dependencies
-     confuse Make (leading it to delete them, all too often).
-     Installations may substitute symbolic links in place of
-     these files.
+     standard-conforming user programs.  
 
-  ext
+  include/ext
      Headers that define extensions to the standard library.  No
      standard header refers to any of them.
 
-  backward
+  include/backward
      Headers provided for backward compatibility, such as <iostream.h>.
      They are not used in this library.
 
+  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]
+
   src
      Files that are used in constructing the library, but are not
      installed.
@@ -42,53 +58,30 @@ It has subdirectories:
      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" calls the script mkcheck, which requires bash, and which
-     may need the paths to bash adjusted to work properly, as /bin/bash is
-     assumed.
-
-  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 _CSwamp namespace.
-     [NB: this is still experimental, and is not currently used.]
-
-  cshadow
-     The contents of this directory are constructed by scripts which 
-     examine the underlying C headers to discover other headers they
-     depend on.  These headers are wrappers for them.
-     [NB: this is still experimental, and is not currently used.]
+     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.
 Currently these are:
 
-  amm1 generic glibc math
+  config/cpu
+  config/os
+  config/io
+  config/locale
 
 Files needed only to construct the library, but not installed,
 are in src/.  Files to be copied as part of an installation are
 all found in the subdirectories mentioned above.  (A configure
 script may link files from another directory into one of these.)
 
-In a normal installation the bits/ directory is copied
-under the std/ directory, and arranged to be searched only
-when an include directive specifies a filename of "bits/..."
-or <bits/...>.  When building the library, we use
-
-  -Istd -I. -Iconfig/* -Iconfig/cpu/*
-
-to get the same effect.
-
 Note that glibc also has a bits/ subdirectory.  We will either
 need to be careful not to collide with names in its bits/
 directory; or rename bits to (e.g.) cppbits/.
 
-To install libstdc++ you need GNU make.  The makefiles do not work with
-any other make.
-
 In files throughout the system, lines marked with an "XXX" indicate
 a bug or incompletely-implemented feature.  Lines marked "XXX MT"
 indicate a place that may require attention for multi-thread safety.
-(Warning: places that need an atomic read are not so marked yet.)
-