]>
Commit | Line | Data |
---|---|---|
89e37ad7 | 1 | file: libstdc++-v3/README |
b2dad0e3 | 2 | |
c01bfdbf BK |
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. | |
b2dad0e3 | 7 | |
9560d353 BK |
8 | Instructions for configuring and building appear in |
9 | docs/html/install.html. | |
b2dad0e3 | 10 | |
9560d353 BK |
11 | This directory contains the files needed to create an ISO Standard C++ |
12 | Library. | |
b2dad0e3 BK |
13 | |
14 | It has subdirectories: | |
15 | ||
89e37ad7 | 16 | docs |
c01bfdbf BK |
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. | |
9560d353 | 56 | |
b2dad0e3 | 57 | src |
c01bfdbf BK |
58 | Files that are used in constructing the library, but are not |
59 | installed. | |
b2dad0e3 | 60 | |
f5d09ce7 | 61 | testsuites/[thread, 17_* to 27_*] |
c01bfdbf BK |
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. | |
b2dad0e3 | 70 | |
b2dad0e3 BK |
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 | ||
89e37ad7 BK |
75 | config/cpu |
76 | config/os | |
69bcf124 BK |
77 | config/io |
78 | config/locale | |
b2dad0e3 | 79 | |
9560d353 BK |
80 | In addition, three subdirectories are convenience libraries: |
81 | ||
82 | libio | |
c01bfdbf BK |
83 | Contains the subset of the GNU libio library needed for |
84 | C++. Currently not used. | |
9560d353 BK |
85 | |
86 | libmath | |
c01bfdbf | 87 | Support routines needed for C++ math. Only needed if the |
251a817e BK |
88 | underlying "C" implementation is non-existent, in particular |
89 | required or optimal long double, long long, and C99 functionality. | |
9560d353 BK |
90 | |
91 | libsupc++ | |
c01bfdbf BK |
92 | Contains the runtime library for C++, including exception |
93 | handling and memory allocation and deallocation, RTTI, terminate | |
94 | handlers, etc. | |
b2dad0e3 | 95 | |
b2dad0e3 BK |
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 | ||
b2dad0e3 BK |
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. |