1 | file: libstdc++-v3/README
|
---|
2 |
|
---|
3 | New users may wish to point their web browsers to the file
|
---|
4 | documentation.html in the 'docs/html' subdirectory. It contains brief
|
---|
5 | building instructions and notes on how to configure the library in
|
---|
6 | interesting ways.
|
---|
7 |
|
---|
8 | Instructions for configuring and building appear in
|
---|
9 | docs/html/install.html.
|
---|
10 |
|
---|
11 | This directory contains the files needed to create an ISO Standard C++
|
---|
12 | Library.
|
---|
13 |
|
---|
14 | It has subdirectories:
|
---|
15 |
|
---|
16 | docs
|
---|
17 | Files in HTML and text format that document usage, quirks of the
|
---|
18 | implementation, and contributor checklists.
|
---|
19 |
|
---|
20 | include
|
---|
21 | All header files for the C++ library are within this directory,
|
---|
22 | modulo specific runtime-related files that are in the libsupc++
|
---|
23 | directory.
|
---|
24 |
|
---|
25 | include/std
|
---|
26 | Files meant to be found by #include <name> directives in
|
---|
27 | standard-conforming user programs.
|
---|
28 |
|
---|
29 | include/c
|
---|
30 | Headers intended to directly include standard C headers.
|
---|
31 | [NB: this can be enabled via --enable-cheaders=c]
|
---|
32 |
|
---|
33 | include/c_std
|
---|
34 | Headers intended to include standard C headers, and put select
|
---|
35 | names into the std:: namespace.
|
---|
36 | [NB: this is the default, and is the same as --enable-cheaders=c_std]
|
---|
37 |
|
---|
38 | include/c_shadow
|
---|
39 | Headers intended to shadow standard C headers provided by an
|
---|
40 | underlying OS or C library, and other headers depended on directly
|
---|
41 | by C++ headers (e.g. unistd.h). These are meant to wrap the names
|
---|
42 | defined there into the _C_legacy namespace.
|
---|
43 | [NB: this can be enabled via --enable-cheaders=c_shadow]
|
---|
44 |
|
---|
45 | include/bits
|
---|
46 | Files included by standard headers and by other files in
|
---|
47 | the bits directory.
|
---|
48 |
|
---|
49 | include/backward
|
---|
50 | Headers provided for backward compatibility, such as <iostream.h>.
|
---|
51 | They are not used in this library.
|
---|
52 |
|
---|
53 | include/ext
|
---|
54 | Headers that define extensions to the standard library. No
|
---|
55 | standard header refers to any of them.
|
---|
56 |
|
---|
57 | src
|
---|
58 | Files that are used in constructing the library, but are not
|
---|
59 | installed.
|
---|
60 |
|
---|
61 | testsuites/[thread, 17_* to 27_*]
|
---|
62 | Test programs are here, and may be used to begin to exercise the
|
---|
63 | library. Support for "make check" and "make check-install" is
|
---|
64 | complete, and runs through all the subdirectories here when this
|
---|
65 | command is issued from the build directory. Please note that
|
---|
66 | "make check" requires DejaGNU 1.4 or later to be installed. Please
|
---|
67 | note that "make check-script" calls the script mkcheck, which
|
---|
68 | requires bash, and which may need the paths to bash adjusted to
|
---|
69 | work properly, as /bin/bash is assumed.
|
---|
70 |
|
---|
71 | Other subdirectories contain variant versions of certain files
|
---|
72 | that are meant to be copied or linked by the configure script.
|
---|
73 | Currently these are:
|
---|
74 |
|
---|
75 | config/cpu
|
---|
76 | config/os
|
---|
77 | config/io
|
---|
78 | config/locale
|
---|
79 |
|
---|
80 | In addition, three subdirectories are convenience libraries:
|
---|
81 |
|
---|
82 | libio
|
---|
83 | Contains the subset of the GNU libio library needed for
|
---|
84 | C++. Currently not used.
|
---|
85 |
|
---|
86 | libmath
|
---|
87 | Support routines needed for C++ math. Only needed if the
|
---|
88 | underlying "C" implementation is non-existent, in particular
|
---|
89 | required or optimal long double, long long, and C99 functionality.
|
---|
90 |
|
---|
91 | libsupc++
|
---|
92 | Contains the runtime library for C++, including exception
|
---|
93 | handling and memory allocation and deallocation, RTTI, terminate
|
---|
94 | handlers, etc.
|
---|
95 |
|
---|
96 | Note that glibc also has a bits/ subdirectory. We will either
|
---|
97 | need to be careful not to collide with names in its bits/
|
---|
98 | directory; or rename bits to (e.g.) cppbits/.
|
---|
99 |
|
---|
100 | In files throughout the system, lines marked with an "XXX" indicate
|
---|
101 | a bug or incompletely-implemented feature. Lines marked "XXX MT"
|
---|
102 | indicate a place that may require attention for multi-thread safety.
|
---|