source: BOOK/final-system/common/ncurses.xml @ 7cd7f99

systemd
Last change on this file since 7cd7f99 was 7cd7f99, checked in by Chris Staub <chris@…>, 4 years ago

Put one configure option per line

  • Property mode set to 100644
File size: 10.6 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-ncurses" role="wrap">
9  <?dbhtml filename="ncurses.html"?>
10
11  <title>Ncurses-&ncurses-version;</title>
12
13  <indexterm zone="ch-system-ncurses">
14    <primary sortas="a-Ncurses">Ncurses</primary>
15  </indexterm>
16
17  <sect2 role="package">
18    <title/>
19
20    <para>The Ncurses package contains libraries for terminal-independent
21    handling of character screens.</para>
22
23  </sect2>
24
25  <sect2 role="installation">
26    <title>Installation of Ncurses</title>
27
28    <para os="p1">The following patch contains updates from the &ncurses-version; branch
29    by the Ncurses developers:</para>
30
31<screen os="p2"><userinput>patch -Np1 -i ../&ncurses-branch_update-patch;</userinput></screen>
32
33    <para os="a">Prepare Ncurses for compilation:</para>
34
35<screen os="b"><userinput>./configure \
36    --prefix=/usr \
37    --libdir=/lib \
38    --with-shared \
39    --without-debug \
40    --enable-widec \
41    --with-manpage-format=normal \
42    --enable-pc-files \
43    --with-default-terminfo-dir=/usr/share/terminfo</userinput></screen>
44
45    <variablelist os="b1">
46      <title>The meaning of the new configure option:</title>
47
48      <varlistentry>
49        <term><parameter>--with-manpage-format=normal</parameter></term>
50        <listitem>
51          <para>This tells Ncurses not to compress its installed manpages.</para>
52        </listitem>
53      </varlistentry>
54
55      <varlistentry>
56        <term><parameter>--enable-pc-files</parameter></term>
57        <listitem>
58          <para>This tells Ncurses to generate and install .pc files for
59          <command>pkg-config</command>.</para>
60        </listitem>
61      </varlistentry>
62    </variablelist>
63
64    <para os="c">Compile the package:</para>
65
66<screen os="d"><userinput>make</userinput></screen>
67
68    <para os="e">This package has a test suite, but it can only be run after
69    the package is installed. The tests are in the
70    <filename class="directory">test/</filename> directory. See the
71    <filename>README</filename> file in that directory for details.</para>
72
73    <para os="f">Install the package:</para>
74
75<screen os="g"><userinput>make install</userinput></screen>
76
77    <para os="h">Move the Ncurses static libraries to the proper location:</para>
78
79<screen os="i"><userinput>mv -v /lib/lib{panelw,menuw,formw,ncursesw,ncurses++w}.a /usr/lib</userinput></screen>
80
81    <para os="j">Create symlinks in <filename class="directory">/usr/lib:</filename></para>
82
83<screen os="k"><userinput>ln -svf ../../lib/$(readlink /lib/libncursesw.so) /usr/lib/libncursesw.so
84ln -svf ../../lib/$(readlink /lib/libmenuw.so) /usr/lib/libmenuw.so
85ln -svf ../../lib/$(readlink /lib/libpanelw.so) /usr/lib/libpanelw.so
86ln -svf ../../lib/$(readlink /lib/libformw.so) /usr/lib/libformw.so
87rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so</userinput></screen>
88
89    <para os="l">Many packages that use Ncurses will compile just fine against
90    the widechar libraries, but won't know to look for them. Create linker
91    scripts and symbolic links to allow older and non-widec compatible
92    programs to build properly:</para>
93
94<screen os="m"><userinput>for lib in curses ncurses form panel menu ; do
95        echo "INPUT(-l${lib}w)" &gt; /usr/lib/lib${lib}.so
96        ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a
97done
98ln -sfv libncursesw.so /usr/lib/libcursesw.so
99ln -sfv libncursesw.a /usr/lib/libcursesw.a
100ln -sfv libncurses++w.a /usr/lib/libncurses++.a
101ln -sfv ncursesw5-config /usr/bin/ncurses5-config</userinput></screen>
102
103  </sect2>
104
105  <sect2 id="contents-ncurses" role="content">
106    <title>Contents of Ncurses</title>
107
108    <segmentedlist>
109      <segtitle>Installed programs</segtitle>
110      <segtitle>Installed libraries</segtitle>
111      <segtitle>Installed directories</segtitle>
112
113      <seglistitem>
114        <seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
115        ncursesw5-config, reset (link to tset), tabs, tic, toe, tput, tset</seg>
116        <seg>libcursesw.so (link to libncursesw.so), libformw.[a,so],
117        libmenuw.[a,so], libncurses++w.a, libncursesw.[a,so],
118        libpanelw.[a,so]</seg>
119        <seg>/usr/share/tabset, /usr/share/terminfo</seg>
120      </seglistitem>
121    </segmentedlist>
122
123    <variablelist>
124      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
125      <?dbfo list-presentation="list"?>
126      <?dbhtml list-presentation="table"?>
127
128      <varlistentry id="captoinfo">
129        <term><command>captoinfo</command></term>
130        <listitem>
131          <para>Converts a termcap description into a terminfo description</para>
132          <indexterm zone="ch-system-ncurses captoinfo">
133            <primary sortas="b-captoinfo">captoinfo</primary>
134          </indexterm>
135        </listitem>
136      </varlistentry>
137
138      <varlistentry id="clear">
139        <term><command>clear</command></term>
140        <listitem>
141          <para>Clears the screen, if possible</para>
142          <indexterm zone="ch-system-ncurses clear">
143            <primary sortas="b-clear">clear</primary>
144          </indexterm>
145        </listitem>
146      </varlistentry>
147
148      <varlistentry id="infocmp">
149        <term><command>infocmp</command></term>
150        <listitem>
151          <para>Compares or prints out terminfo descriptions</para>
152          <indexterm zone="ch-system-ncurses infocmp">
153            <primary sortas="b-infocmp">infocmp</primary>
154          </indexterm>
155        </listitem>
156      </varlistentry>
157
158      <varlistentry id="infotocap">
159        <term><command>infotocap</command></term>
160        <listitem>
161          <para>Converts a terminfo description into a termcap description</para>
162          <indexterm zone="ch-system-ncurses infotocap">
163            <primary sortas="b-infotocap">infotocap</primary>
164          </indexterm>
165        </listitem>
166      </varlistentry>
167
168      <varlistentry id="ncursesw5-config">
169        <term><command>ncursesw5-config</command></term>
170        <listitem>
171          <para>Provides configuration information for ncurses</para>
172          <indexterm zone="ch-system-ncurses ncursesw5-config">
173            <primary sortas="b-ncursesw5-config">ncursesw5-config</primary>
174          </indexterm>
175        </listitem>
176      </varlistentry>
177
178      <varlistentry id="reset">
179        <term><command>reset</command></term>
180        <listitem>
181          <para>Reinitializes a terminal to its default values</para>
182          <indexterm zone="ch-system-ncurses reset">
183            <primary sortas="b-reset">reset</primary>
184          </indexterm>
185        </listitem>
186      </varlistentry>
187
188      <varlistentry id="tabs">
189        <term><command>tabs</command></term>
190        <listitem>
191          <para>Sets and clears tab stops on a terminal</para>
192          <indexterm zone="ch-system-ncurses tabs">
193            <primary sortas="b-tabs">tabs</primary>
194          </indexterm>
195        </listitem>
196      </varlistentry>
197
198      <varlistentry id="tic">
199        <term><command>tic</command></term>
200        <listitem>
201          <para>The terminfo entry-description compiler that translates a
202          terminfo file from source format into the binary format needed for the
203          ncurses library routines. A terminfo file contains information on the
204          capabilities of a certain terminal</para>
205          <indexterm zone="ch-system-ncurses tic">
206            <primary sortas="b-tic">tic</primary>
207          </indexterm>
208        </listitem>
209      </varlistentry>
210
211      <varlistentry id="toe">
212        <term><command>toe</command></term>
213        <listitem>
214          <para>Lists all available terminal types, giving the primary name and
215          description for each</para>
216          <indexterm zone="ch-system-ncurses toe">
217            <primary sortas="b-toe">toe</primary>
218          </indexterm>
219        </listitem>
220      </varlistentry>
221
222      <varlistentry id="tput">
223        <term><command>tput</command></term>
224        <listitem>
225          <para>Makes the values of terminal-dependent capabilities available to
226          the shell; it can also be used to reset or initialize a terminal or
227          report its long name</para>
228          <indexterm zone="ch-system-ncurses tput">
229            <primary sortas="b-tput">tput</primary>
230          </indexterm>
231        </listitem>
232      </varlistentry>
233
234      <varlistentry id="tset">
235        <term><command>tset</command></term>
236        <listitem>
237          <para>Can be used to initialize terminals</para>
238          <indexterm zone="ch-system-ncurses tset">
239            <primary sortas="b-tset">tset</primary>
240          </indexterm>
241        </listitem>
242      </varlistentry>
243
244      <varlistentry id="libcursesw">
245        <term><filename class="libraryfile">libcursesw</filename></term>
246        <listitem>
247          <para>A link to <filename>libncursesw</filename></para>
248          <indexterm zone="ch-system-ncurses libcursesw">
249            <primary sortas="c-libcursesw">libcursesw</primary>
250          </indexterm>
251        </listitem>
252      </varlistentry>
253
254      <varlistentry id="libncursesw">
255        <term><filename class="libraryfile">libncursesw</filename></term>
256        <listitem>
257          <para>Contains functions to display text in many complex ways on a
258          terminal screen; a good example of the use of these functions is the
259          menu displayed during the kernel's
260          <command>make menuconfig</command></para>
261          <indexterm zone="ch-system-ncurses libncursesw">
262            <primary sortas="c-libncursesw">libncursesw</primary>
263          </indexterm>
264        </listitem>
265      </varlistentry>
266
267      <varlistentry id="libformw">
268        <term><filename class="libraryfile">libformw</filename></term>
269        <listitem>
270          <para>Contains functions to implement forms</para>
271          <indexterm zone="ch-system-ncurses libformw">
272            <primary sortas="c-libformw">libformw</primary>
273          </indexterm>
274        </listitem>
275      </varlistentry>
276
277      <varlistentry id="libmenuw">
278        <term><filename class="libraryfile">libmenuw</filename></term>
279        <listitem>
280          <para>Contains functions to implement menus</para>
281          <indexterm zone="ch-system-ncurses libmenuw">
282            <primary sortas="c-libmenuw">libmenuw</primary>
283          </indexterm>
284        </listitem>
285      </varlistentry>
286
287      <varlistentry id="libpanelw">
288        <term><filename class="libraryfile">libpanelw</filename></term>
289        <listitem>
290          <para>Contains functions to implement panels</para>
291          <indexterm zone="ch-system-ncurses libpanelw">
292            <primary sortas="c-libpanelw">libpanelw</primary>
293          </indexterm>
294        </listitem>
295      </varlistentry>
296
297    </variablelist>
298
299  </sect2>
300
301</sect1>
Note: See TracBrowser for help on using the repository browser.