]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.3.3/doc/html/manual/bk01apas02.html
Inital import
[l4.git] / l4 / pkg / libstdc++-v3 / contrib / libstdc++-v3-4.3.3 / doc / html / manual / bk01apas02.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Directory Layout and Source Conventions</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="&#10;      ISO C++&#10;    , &#10;      library&#10;    " /><link rel="start" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="appendix_contributing.html" title="Appendix A. Contributing" /><link rel="prev" href="appendix_contributing.html" title="Appendix A. Contributing" /><link rel="next" href="bk01apas03.html" title="Coding Style" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Directory Layout and Source Conventions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><th width="60%" align="center">Appendix A. Contributing</th><td width="20%" align="right"> <a accesskey="n" href="bk01apas03.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contrib.organization"></a>Directory Layout and Source Conventions</h2></div></div></div><p>
4     The unpacked source directory of libstdc++ contains the files
5     needed to create the GNU C++ Library.
6   </p><div class="literallayout"><p><br />
7 It has subdirectories:<br />
8 <br />
9   doc<br />
10     Files in HTML and text format that document usage, quirks of the<br />
11     implementation, and contributor checklists.<br />
12 <br />
13   include<br />
14     All header files for the C++ library are within this directory,<br />
15     modulo specific runtime-related files that are in the libsupc++<br />
16     directory.<br />
17 <br />
18     include/std<br />
19       Files meant to be found by #include &lt;name&gt; directives in<br />
20       standard-conforming user programs.  <br />
21 <br />
22     include/c<br />
23       Headers intended to directly include standard C headers. <br />
24       [NB: this can be enabled via --enable-cheaders=c]<br />
25 <br />
26     include/c_global <br />
27       Headers intended to include standard C headers in<br />
28       the global namespace, and put select names into the std::<br />
29       namespace.  [NB: this is the default, and is the same as<br />
30       --enable-cheaders=c_global]<br />
31 <br />
32     include/c_std <br />
33       Headers intended to include standard C headers<br />
34       already in namespace std, and put select names into the std::<br />
35       namespace.  [NB: this is the same as --enable-cheaders=c_std]<br />
36 <br />
37     include/bits<br />
38       Files included by standard headers and by other files in<br />
39       the bits directory. <br />
40 <br />
41     include/backward<br />
42       Headers provided for backward compatibility, such as &lt;iostream.h&gt;.<br />
43       They are not used in this library.<br />
44 <br />
45     include/ext<br />
46       Headers that define extensions to the standard library.  No<br />
47       standard header refers to any of them.<br />
48 <br />
49   scripts<br />
50     Scripts that are used during the configure, build, make, or test<br />
51     process.<br />
52 <br />
53   src<br />
54     Files that are used in constructing the library, but are not<br />
55     installed.<br />
56 <br />
57   testsuites/[backward, demangle, ext, performance, thread, 17_* to 27_*]<br />
58     Test programs are here, and may be used to begin to exercise the <br />
59     library.  Support for "make check" and "make check-install" is<br />
60     complete, and runs through all the subdirectories here when this<br />
61     command is issued from the build directory.  Please note that<br />
62     "make check" requires DejaGNU 1.4 or later to be installed.  Please<br />
63     note that "make check-script" calls the script mkcheck, which<br />
64     requires bash, and which may need the paths to bash adjusted to<br />
65     work properly, as /bin/bash is assumed.<br />
66 <br />
67 Other subdirectories contain variant versions of certain files<br />
68 that are meant to be copied or linked by the configure script.<br />
69 Currently these are:<br />
70 <br />
71   config/abi<br />
72   config/cpu<br />
73   config/io<br />
74   config/locale<br />
75   config/os<br />
76 <br />
77 In addition, two subdirectories are convenience libraries:<br />
78 <br />
79   libmath<br />
80     Support routines needed for C++ math. Only needed if the<br />
81     underlying "C" implementation is non-existent, in particular<br />
82     required or optimal long double, long long, and C99 functionality.<br />
83 <br />
84   libsupc++<br />
85     Contains the runtime library for C++, including exception<br />
86     handling and memory allocation and deallocation, RTTI, terminate<br />
87     handlers, etc.<br />
88 <br />
89 Note that glibc also has a bits/ subdirectory.  We will either<br />
90 need to be careful not to collide with names in its bits/<br />
91 directory; or rename bits to (e.g.) cppbits/.<br />
92 <br />
93 In files throughout the system, lines marked with an "XXX" indicate<br />
94 a bug or incompletely-implemented feature.  Lines marked "XXX MT"<br />
95 indicate a place that may require attention for multi-thread safety.<br />
96   </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="appendix_contributing.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_contributing.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01apas03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix A. Contributing </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Coding Style</td></tr></table></div></body></html>