source: chapter08/gmp.xml@ 8e79fc49

xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1
Last change on this file since 8e79fc49 was dd34ffc, checked in by Xi Ruoyao <xry111@…>, 13 months ago

loongarch: gmp: Update config.{guess,sub}

Comment out the note about "HW specific optimization" for now because
the current GMP release do not understand LoongArch-specific things.

  • Property mode set to 100644
File size: 5.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-gmp" role="wrap">
9 <?dbhtml filename="gmp.html"?>
10
11 <sect1info condition="script">
12 <productname>gmp</productname>
13 <productnumber>&gmp-version;</productnumber>
14 <address>&gmp-url;</address>
15 </sect1info>
16
17 <title>GMP-&gmp-version;</title>
18
19 <indexterm zone="ch-system-gmp">
20 <primary sortas="a-GMP">GMP</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The GMP package contains math libraries. These have useful functions
27 for arbitrary precision arithmetic.</para>
28
29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
32
33 <seglistitem>
34 <seg>&gmp-fin-sbu;</seg>
35 <seg>&gmp-fin-du;</seg>
36 </seglistitem>
37 </segmentedlist>
38
39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of GMP</title>
43<!--
44 <note>
45 <para>If you are building for 32-bit x86, but you have a CPU which is
46 capable of running 64-bit code <emphasis>and</emphasis> you have specified
47 <envar>CFLAGS</envar> in the environment, the configure script will
48 attempt to configure for 64-bits and fail.
49 Avoid this by invoking the configure command below with
50<screen role="nodump"><userinput><parameter>ABI=32</parameter> ./configure ...</userinput></screen></para>
51 </note>
52-->
53 &update-config-text;
54
55<screen><userinput remap="pre">tar &update-config-arg;</userinput></screen>
56
57 <note>
58 <para>The default settings of GMP produce libraries optimized for
59 the host processor. If libraries suitable for processors less
60 capable than the host's CPU are desired, generic libraries can be
61 created by running the following:
62
63<screen role="nodump"><userinput>cp -v configfsf.guess config.guess
64cp -v configfsf.sub config.sub</userinput></screen></para>
65 </note>
66
67 <para>Prepare GMP for compilation:</para>
68
69<screen><userinput remap="configure">./configure --prefix=/usr \
70 --enable-cxx \
71 --disable-static \
72 --docdir=/usr/share/doc/gmp-&gmp-version;</userinput></screen>
73
74 <variablelist>
75 <title>The meaning of the new configure options:</title>
76
77 <varlistentry>
78 <term><parameter>--enable-cxx</parameter></term>
79 <listitem>
80 <para>This parameter enables C++ support</para>
81 </listitem>
82 </varlistentry>
83
84 <varlistentry>
85 <term><parameter>--docdir=/usr/share/doc/gmp-&gmp-version;</parameter></term>
86 <listitem>
87 <para>This variable specifies the correct place for the
88 documentation.</para>
89 </listitem>
90 </varlistentry>
91
92 </variablelist>
93
94 <para>Compile the package and generate the HTML documentation:</para>
95
96<screen><userinput remap="make">make
97make html</userinput></screen>
98
99 <important>
100 <para>The test suite for GMP in this section is considered critical.
101 Do not skip it under any circumstances.</para>
102 </important>
103
104 <para>Test the results:</para>
105
106<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
107
108 <caution><para>The code in gmp is highly optimized for the processor where
109 it is built. Occasionally, the code that detects the processor misidentifies
110 the system capabilities and there will be errors in the tests or other
111 applications using the gmp libraries with the message "Illegal
112 instruction". In this case, gmp should be reconfigured with the option
113 --build=x86_64-pc-linux-gnu and rebuilt.</para></caution>
114
115 <para>Ensure that all 197 tests in the test suite passed.
116 Check the results by issuing the following command:</para>
117
118<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
119
120 <para>Install the package and its documentation:</para>
121
122<screen><userinput remap="install">make install
123make install-html</userinput></screen>
124
125 </sect2>
126
127 <sect2 id="contents-gmp" role="content">
128 <title>Contents of GMP</title>
129
130 <segmentedlist>
131 <segtitle>Installed Libraries</segtitle>
132 <segtitle>Installed directory</segtitle>
133
134 <seglistitem>
135 <seg>libgmp.so and libgmpxx.so</seg>
136 <seg>/usr/share/doc/gmp-&gmp-version;</seg>
137 </seglistitem>
138 </segmentedlist>
139
140 <variablelist>
141 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
142 <?dbfo list-presentation="list"?>
143 <?dbhtml list-presentation="table"?>
144
145 <varlistentry id="libgmp">
146 <term><filename class="libraryfile">libgmp</filename></term>
147 <listitem>
148 <para>Contains precision math functions</para>
149 <indexterm zone="ch-system-gmp libgmp">
150 <primary sortas="c-libgmp">libgmp</primary>
151 </indexterm>
152 </listitem>
153 </varlistentry>
154
155 <varlistentry id="libgmpxx">
156 <term><filename class="libraryfile">libgmpxx</filename></term>
157 <listitem>
158 <para>Contains C++ precision math functions</para>
159 <indexterm zone="ch-system-gmp libgmpxx">
160 <primary sortas="c-libgmpxx">libgmpxx</primary>
161 </indexterm>
162 </listitem>
163 </varlistentry>
164 </variablelist>
165
166 </sect2>
167
168</sect1>
Note: See TracBrowser for help on using the repository browser.