CWG 616, 1213 - value category of subobject references.
[official-gcc.git] / libstdc++-v3 / doc / xml / manual / prerequisites.xml
blobaa677647555fb9d4d4c4f64b7345039cd6d3b527
1 <section xmlns="http://docbook.org/ns/docbook" version="5.0" 
2          xml:id="manual.intro.setup.prereq" xreflabel="Prerequisites">
3 <?dbhtml filename="prerequisites.html"?>
5 <info><title>Prerequisites</title>
6   <keywordset>
7     <keyword>ISO C++</keyword>
8     <keyword>Prerequisites</keyword>
9   </keywordset>
10 </info>
14 <para>
15   Because libstdc++ is part of GCC, the primary source for
16    installation instructions is
17    <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">the GCC install page</link>.
18    In particular, list of prerequisite software needed to build the library
19    <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">
20    starts with those requirements.</link> The same pages also list
21    the tools you will need if you wish to modify the source.
22 </para>
24   <para>
25    Additional data is given here only where it applies to libstdc++.
26   </para>
28    <para>As of GCC 4.0.1 the minimum version of binutils required to build
29       libstdc++ is <code>2.15.90.0.1.1</code>.
30       Older releases of libstdc++ do not require such a recent version,
31       but to take full advantage of useful space-saving features and
32       bug-fixes you should use a recent binutils whenever possible.
33       The configure process will automatically detect and use these
34       features if the underlying support is present.
35    </para>
37    <para>
38      To generate the API documentation from the sources you will need
39      Doxygen, see <link linkend="appendix.porting.doc">Documentation
40      Hacking</link> in the appendix for full details.
41    </para>
43    <para>
44    Finally, a few system-specific requirements:
45    </para>
47    <variablelist>
48       <varlistentry>
49         <term>linux</term>
51         <listitem>
52         <para>
53           If GCC 3.1.0 or later on is being used on GNU/Linux, an attempt
54           will be made to use "C" library functionality necessary for
55           C++ named locale support.  For GCC 4.6.0 and later, this
56           means that glibc 2.3 or later is required.
57         </para>
59         <para>
60           If the 'gnu' locale model is being used, the following
61           locales are used and tested in the libstdc++ testsuites.
62           The first column is the name of the locale, the second is
63           the character set it is expected to use.
64         </para>
65 <programlisting>
66 de_DE               ISO-8859-1
67 de_DE@euro          ISO-8859-15
68 en_GB               ISO-8859-1
69 en_HK               ISO-8859-1
70 en_PH               ISO-8859-1
71 en_US               ISO-8859-1
72 en_US.ISO-8859-1    ISO-8859-1
73 en_US.ISO-8859-15   ISO-8859-15
74 en_US.UTF-8         UTF-8
75 es_ES               ISO-8859-1
76 es_MX               ISO-8859-1
77 fr_FR               ISO-8859-1
78 fr_FR@euro          ISO-8859-15
79 is_IS               UTF-8
80 it_IT               ISO-8859-1
81 ja_JP.eucjp         EUC-JP
82 ru_RU.ISO-8859-5    ISO-8859-5
83 ru_RU.UTF-8         UTF-8
84 se_NO.UTF-8         UTF-8
85 ta_IN               UTF-8
86 zh_TW               BIG5
87 </programlisting>
89       <para>Failure to have installed the underlying "C" library
90       locale information for any of the above regions means that
91       the corresponding C++ named locale will not work:  because of
92       this, the libstdc++ testsuite will skip named locale tests
93       which need missing information.  If this isn't an issue, don't
94       worry about it.  If a named locale is needed, the underlying
95       locale information must be installed.  Note that rebuilding
96       libstdc++ after "C" locales are installed is not necessary.
97       </para>
99       <para>
100         To install support for locales, do only one of the following:
101       </para>
103       <itemizedlist>
104         <listitem>
105           <para>install all locales</para>
106         </listitem>
107         <listitem>
108           <para>install just the necessary locales</para>
109           <itemizedlist>
110             <listitem>
111               <para>with Debian GNU/Linux:</para>
112               <para> Add the above list, as shown, to the file
113               <code>/etc/locale.gen</code> </para>
114               <para> run <code>/usr/sbin/locale-gen</code> </para>
115             </listitem>
116             <listitem>
117               <para>on most Unix-like operating systems:</para>
118               <para><code> localedef -i de_DE -f ISO-8859-1 de_DE </code></para>
119               <para>(repeat for each entry in the above list) </para>
120             </listitem>
121             <listitem>
122             <para>
123                Instructions for other operating systems solicited.
124             </para>
125             </listitem>
126           </itemizedlist>
127         </listitem>
128       </itemizedlist>
129       </listitem>
130       </varlistentry>
131    </variablelist>
133 </section>