OSDN Git Service

2010-09-15 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / doc / xml / manual / prerequisites.xml
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"?>
4
5 <info><title>Prerequisites</title>
6   <keywordset>
7     <keyword>
8       ISO C++
9     </keyword>
10     <keyword>
11       Prerequisites
12     </keyword>
13   </keywordset>
14 </info>
15
16
17
18 <para>
19   Because libstdc++ is part of GCC, the primary source for
20    installation instructions is
21    <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">the GCC install page</link>.
22    In particular, list of prerequisite software needed to build the library
23    <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">
24    starts with those requirements.</link> The same pages also list
25    the tools you will need if you wish to modify the source.
26 </para>
27
28   <para>
29    Additional data is given here only where it applies to libstdc++.
30   </para>
31
32    <para>As of GCC 4.0.1 the minimum version of binutils required to build
33       libstdc++ is <code>2.15.90.0.1.1</code>. You can get snapshots
34       (as well as releases) of binutils from
35       <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ftp://sources.redhat.com/pub/binutils/">
36       ftp://sources.redhat.com/pub/binutils</link>.
37       Older releases of libstdc++ do not require such a recent version,
38       but to take full advantage of useful space-saving features and
39       bug-fixes you should use a recent binutils whenever possible.
40       The configure process will automatically detect and use these
41       features if the underlying support is present.
42    </para>
43
44    <para>
45      To generate the API documentation from the sources you will need
46      Doxygen, see <link linkend="contrib.doc_style">Documentation
47      Style</link> in the appendix for full details.
48    </para>
49
50    <para>
51    Finally, a few system-specific requirements:
52    </para>
53
54    <variablelist>
55       <varlistentry>
56         <term>linux</term>
57
58         <listitem>
59         <para>
60           If gcc 3.1.0 or later on is being used on linux, an attempt
61           will be made to use "C" library functionality necessary for
62           C++ named locale support.  For gcc 4.6.0 and later, this
63           means that glibc 2.3 or later is required.
64         </para>
65
66         <para>
67           If the 'gnu' locale model is being used, the following
68           locales are used and tested in the libstdc++ testsuites.
69           The first column is the name of the locale, the second is
70           the character set it is expected to use.
71         </para>
72 <programlisting>
73 de_DE               ISO-8859-1
74 de_DE@euro          ISO-8859-15
75 en_GB               ISO-8859-1
76 en_HK               ISO-8859-1
77 en_PH               ISO-8859-1
78 en_US               ISO-8859-1
79 en_US.ISO-8859-1    ISO-8859-1
80 en_US.ISO-8859-15   ISO-8859-15
81 en_US.UTF-8         UTF-8
82 es_ES               ISO-8859-1
83 es_MX               ISO-8859-1
84 fr_FR               ISO-8859-1
85 fr_FR@euro          ISO-8859-15
86 is_IS               UTF-8
87 it_IT               ISO-8859-1
88 ja_JP.eucjp         EUC-JP
89 ru_RU.ISO-8859-5    ISO-8859-5
90 ru_RU.UTF-8         UTF-8
91 se_NO.UTF-8         UTF-8
92 ta_IN               UTF-8
93 zh_TW               BIG5
94 </programlisting>
95
96       <para>Failure to have installed the underlying "C" library
97       locale information for any of the above regions means that
98       the corresponding C++ named locale will not work:  because of
99       this, the libstdc++ testsuite will skip named locale tests
100       which need missing information.  If this isn't an issue, don't
101       worry about it.  If a named locale is needed, the underlying
102       locale information must be installed.  Note that rebuilding
103       libstdc++ after "C" locales are installed is not necessary.
104       </para>
105
106       <para>
107         To install support for locales, do only one of the following:
108       </para>
109
110       <itemizedlist>
111         <listitem>
112           <para>install all locales</para>
113           <itemizedlist>
114             <listitem>
115               <para>with RedHat Linux:
116               </para>
117               <para> <code> export LC_ALL=C </code>
118               </para>
119               <para> <code> rpm -e glibc-common --nodeps </code>
120               </para>
121               <para>
122                 <code> rpm -i --define "_install_langs all"
123                  glibc-common-2.2.5-34.i386.rpm
124                 </code>
125               </para>
126             </listitem>
127              <listitem>
128              <para>
129                Instructions for other operating systems solicited.
130              </para>
131              </listitem>
132           </itemizedlist>
133         </listitem>
134         <listitem>
135           <para>install just the necessary locales</para>
136           <itemizedlist>
137             <listitem>
138               <para>with Debian Linux:</para>
139               <para> Add the above list, as shown, to the file
140               <code>/etc/locale.gen</code> </para>
141               <para> run <code>/usr/sbin/locale-gen</code> </para>
142             </listitem>
143             <listitem>
144               <para>on most Unix-like operating systems:</para>
145               <para><code> localedef -i de_DE -f ISO-8859-1 de_DE </code></para>
146               <para>(repeat for each entry in the above list) </para>
147             </listitem>
148             <listitem>
149             <para>
150                Instructions for other operating systems solicited.
151             </para>
152             </listitem>
153           </itemizedlist>
154         </listitem>
155       </itemizedlist>
156       </listitem>
157       </varlistentry>
158    </variablelist>
159
160 </section>