source: chapter08/gmp.xml@ acb3c1f

xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/loongarch-12.2
Last change on this file since acb3c1f was 010577c, checked in by Xi Ruoyao <xry111@…>, 13 months ago

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

This reverts commit dd34ffcce0e54b31fa26d11081dd82c6c333f14a.

It's not needed with GMP 6.3.0.

  • Property mode set to 100644
File size: 5.4 KB
RevLine 
[6cc0516]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>
[fb386e0]34 <seg>&gmp-fin-sbu;</seg>
35 <seg>&gmp-fin-du;</seg>
[6cc0516]36 </seglistitem>
37 </segmentedlist>
38
39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of GMP</title>
[010577c]43
[e4eb4cce]44 <note>
[1018fd3]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
[b21778b]50<screen role="nodump"><userinput><parameter>ABI=32</parameter> ./configure ...</userinput></screen></para>
[e4eb4cce]51 </note>
52
[f63c0c3]53 <note>
54 <para>The default settings of GMP produce libraries optimized for
55 the host processor. If libraries suitable for processors less
[d672ab7]56 capable than the host's CPU are desired, generic libraries can be
[d0de26c]57 created by appending the <option>--host=none-linux-gnu</option> option
58 to the <command>configure</command> command.</para>
[f63c0c3]59
[d0de26c]60 <!-- To editors: the configure script says "the none host is obsolete,
61 use - -disable-assembly", but don't believe it: with the latter
62 CFLAGS is still automatically set to -march=something. -->
[f63c0c3]63 </note>
64
[6cc0516]65 <para>Prepare GMP for compilation:</para>
66
[73b2841]67<screen><userinput remap="configure">./configure --prefix=/usr \
68 --enable-cxx \
69 --disable-static \
[c296646]70 --docdir=/usr/share/doc/gmp-&gmp-version;</userinput></screen>
[6cc0516]71
[0bb67603]72 <variablelist>
[f1994dc]73 <title>The meaning of the new configure options:</title>
[0bb67603]74
75 <varlistentry>
76 <term><parameter>--enable-cxx</parameter></term>
77 <listitem>
78 <para>This parameter enables C++ support</para>
79 </listitem>
80 </varlistentry>
81
[b06fc9c]82 <varlistentry>
[94ea3c4]83 <term><parameter>--docdir=/usr/share/doc/gmp-&gmp-version;</parameter></term>
[b06fc9c]84 <listitem>
85 <para>This variable specifies the correct place for the
86 documentation.</para>
87 </listitem>
88 </varlistentry>
89
[0bb67603]90 </variablelist>
91
[b06fc9c]92 <para>Compile the package and generate the HTML documentation:</para>
[6cc0516]93
[b06fc9c]94<screen><userinput remap="make">make
95make html</userinput></screen>
[6cc0516]96
97 <important>
98 <para>The test suite for GMP in this section is considered critical.
99 Do not skip it under any circumstances.</para>
100 </important>
101
102 <para>Test the results:</para>
103
[10d231d]104<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
[d672ab7]105
[98bed7f]106 <caution><para>The code in gmp is highly optimized for the processor where
[1118b17]107 it is built. Occasionally, the code that detects the processor misidentifies
[98bed7f]108 the system capabilities and there will be errors in the tests or other
109 applications using the gmp libraries with the message "Illegal
110 instruction". In this case, gmp should be reconfigured with the option
[d0de26c]111 <option>--host=none-linux-gnu</option> and rebuilt.</para></caution>
[10d231d]112
[be5b2e0]113 <para>Ensure that all 199 tests in the test suite passed.
[98d78cf]114 Check the results by issuing the following command:</para>
[10d231d]115
[53366411]116<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
[10d231d]117
[b06fc9c]118 <para>Install the package and its documentation:</para>
[e7c8034]119
[b06fc9c]120<screen><userinput remap="install">make install
121make install-html</userinput></screen>
[6cc0516]122
[e7c8034]123 </sect2>
[6cc0516]124
125 <sect2 id="contents-gmp" role="content">
126 <title>Contents of GMP</title>
127
128 <segmentedlist>
129 <segtitle>Installed Libraries</segtitle>
[fe05b08]130 <segtitle>Installed directory</segtitle>
[6cc0516]131
132 <seglistitem>
[040ecb6]133 <seg>libgmp.so and libgmpxx.so</seg>
[fe05b08]134 <seg>/usr/share/doc/gmp-&gmp-version;</seg>
[6cc0516]135 </seglistitem>
136 </segmentedlist>
137
138 <variablelist>
139 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
140 <?dbfo list-presentation="list"?>
141 <?dbhtml list-presentation="table"?>
142
[0bb67603]143 <varlistentry id="libgmp">
[5f7456b]144 <term><filename class="libraryfile">libgmp</filename></term>
[6cc0516]145 <listitem>
[afba93b]146 <para>Contains precision math functions</para>
[0bb67603]147 <indexterm zone="ch-system-gmp libgmp">
148 <primary sortas="c-libgmp">libgmp</primary>
149 </indexterm>
150 </listitem>
151 </varlistentry>
152
153 <varlistentry id="libgmpxx">
[5f7456b]154 <term><filename class="libraryfile">libgmpxx</filename></term>
[0bb67603]155 <listitem>
[afba93b]156 <para>Contains C++ precision math functions</para>
[0bb67603]157 <indexterm zone="ch-system-gmp libgmpxx">
158 <primary sortas="c-libgmpxx">libgmpxx</primary>
159 </indexterm>
160 </listitem>
161 </varlistentry>
[6cc0516]162 </variablelist>
163
164 </sect2>
165
166</sect1>
Note: See TracBrowser for help on using the repository browser.