aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/mpc.xml
blob: 5bcfd0292892e8ec027c0311da70ee7024cd1e4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-mpc" role="wrap">
  <?dbhtml filename="mpc.html"?>

  <sect1info condition="script">
    <productname>mpc</productname>
    <productnumber>&mpc-version;</productnumber>
    <address>&mpc-url;</address>
  </sect1info>

  <title>MPC-&mpc-version;</title>

  <indexterm zone="ch-system-mpc">
    <primary sortas="a-MPC">MPC</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>The MPC package contains a library for the arithmetic of complex
    numbers with arbitrarily high precision and correct rounding of the
    result.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&mpc-fin-sbu;</seg>
        <seg>&mpc-fin-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Installation of MPC</title>

    <para>First, make a fix identified upstream:</para>

<screen><userinput remap="pre">sed -i '273{ h; d; }; 274,286 { H; d; }; 287 G' src/mpc.h</userinput></screen>

    <note> 
       <para>This sed is a little complex and needs some explanation.  It holds
       the line 273 in a buffer, adds lines 274-286 to it. It then writes the
       buffer out after line 287 is read. The result is that the line 287 is
       moved upwards from an incorrect location to its correct location in an
       #ifdef block.</para>
    </note>

    <para>Prepare MPC for compilation:</para>

<screen><userinput remap="configure">./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/mpc-&mpc-version;</userinput></screen>

    <para>Compile the package and generate the HTML documentation:</para>

<screen><userinput remap="make">make
make html</userinput></screen>

    <para>To test the results, issue:</para>

<screen><userinput remap="test">make check</userinput></screen>

    <para>Install the package and its documentation:</para>

<screen><userinput remap="install">make install
make install-html</userinput></screen>

  </sect2>


  <sect2 id="contents-mpc" role="content">
    <title>Contents of MPC</title>

    <segmentedlist>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directory</segtitle>

      <seglistitem>
        <seg>libmpc.so</seg>
        <seg>/usr/share/doc/mpc-&mpc-version;</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="libmpc">
        <term><filename class="libraryfile">libmpc</filename></term>
        <listitem>
          <para>Contains complex math functions</para>
          <indexterm zone="ch-system-mpc libmpc">
            <primary sortas="c-libmpc">libmpc</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>