]>
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 | ||
c01bfdbf BK |
38 | include/bits |
39 | Files included by standard headers and by other files in | |
40 | the bits directory. | |
41 | ||
42 | include/backward | |
43 | Headers provided for backward compatibility, such as <iostream.h>. | |
44 | They are not used in this library. | |
45 | ||
46 | include/ext | |
47 | Headers that define extensions to the standard library. No | |
48 | standard header refers to any of them. | |
9560d353 | 49 | |
cdc1242a BK |
50 | scripts |
51 | Scripts that are used during the configure, build, make, or test | |
52 | process. | |
53 | ||
b2dad0e3 | 54 | src |
c01bfdbf BK |
55 | Files that are used in constructing the library, but are not |
56 | installed. | |
b2dad0e3 | 57 | |
cdc1242a | 58 | testsuites/[backward, demangle, ext, performance, thread, 17_* to 27_*] |
c01bfdbf BK |
59 | Test programs are here, and may be used to begin to exercise the |
60 | library. Support for "make check" and "make check-install" is | |
61 | complete, and runs through all the subdirectories here when this | |
62 | command is issued from the build directory. Please note that | |
63 | "make check" requires DejaGNU 1.4 or later to be installed. Please | |
64 | note that "make check-script" calls the script mkcheck, which | |
65 | requires bash, and which may need the paths to bash adjusted to | |
66 | work properly, as /bin/bash is assumed. | |
b2dad0e3 | 67 | |
b2dad0e3 BK |
68 | Other subdirectories contain variant versions of certain files |
69 | that are meant to be copied or linked by the configure script. | |
70 | Currently these are: | |
71 | ||
cdc1242a | 72 | config/abi |
89e37ad7 | 73 | config/cpu |
69bcf124 BK |
74 | config/io |
75 | config/locale | |
cdc1242a | 76 | config/os |
b2dad0e3 | 77 | |
6dfe0fc9 | 78 | In addition, two subdirectories are convenience libraries: |
9560d353 | 79 | |
9560d353 | 80 | libmath |
c01bfdbf | 81 | Support routines needed for C++ math. Only needed if the |
251a817e BK |
82 | underlying "C" implementation is non-existent, in particular |
83 | required or optimal long double, long long, and C99 functionality. | |
9560d353 BK |
84 | |
85 | libsupc++ | |
c01bfdbf BK |
86 | Contains the runtime library for C++, including exception |
87 | handling and memory allocation and deallocation, RTTI, terminate | |
88 | handlers, etc. | |
b2dad0e3 | 89 | |
b2dad0e3 BK |
90 | Note that glibc also has a bits/ subdirectory. We will either |
91 | need to be careful not to collide with names in its bits/ | |
92 | directory; or rename bits to (e.g.) cppbits/. | |
93 | ||
b2dad0e3 BK |
94 | In files throughout the system, lines marked with an "XXX" indicate |
95 | a bug or incompletely-implemented feature. Lines marked "XXX MT" | |
96 | indicate a place that may require attention for multi-thread safety. |