Tag LFS-7.9-systemd-rc2
[linux_from_scratch.git] / chapter05 / ncurses.xml
blob26ef70464fadb702bdac581f203755ce136393a6
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 ]>
8 <sect1 id="ch-tools-ncurses" role="wrap">
9   <?dbhtml filename="ncurses.html"?>
11   <sect1info condition="script">
12     <productname>ncurses</productname>
13     <productnumber>&ncurses-version;</productnumber>
14     <address>&ncurses-url;</address>
15   </sect1info>
17   <title>Ncurses-&ncurses-version;</title>
19   <indexterm zone="ch-tools-ncurses">
20     <primary sortas="a-Ncurses">Ncurses</primary>
21     <secondary>tools</secondary>
22   </indexterm>
24   <sect2 role="package">
25     <title/>
27     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
28     href="../chapter06/ncurses.xml"
29     xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
31     <segmentedlist>
32       <segtitle>&buildtime;</segtitle>
33       <segtitle>&diskspace;</segtitle>
35       <seglistitem>
36         <seg>&ncurses-ch5-sbu;</seg>
37         <seg>&ncurses-ch5-du;</seg>
38       </seglistitem>
39     </segmentedlist>
41   </sect2>
43   <sect2 role="installation">
44     <title>Installation of Ncurses</title>
46     <para>First, ensure that gawk is found first during configuration:</para>
48 <screen><userinput remap="pre">sed -i s/mawk// configure</userinput></screen>
50     <para>Prepare Ncurses for compilation:</para>
52 <screen><userinput remap="configure">./configure --prefix=/tools \
53             --with-shared   \
54             --without-debug \
55             --without-ada   \
56             --enable-widec  \
57             --enable-overwrite</userinput></screen>
59     <variablelist>
60       <title>The meaning of the configure options:</title>
62       <varlistentry>
63         <term><parameter>--without-ada</parameter></term>
64         <listitem>
65           <para>This ensures that Ncurses does not build support for the Ada
66           compiler which may be present on the host but will not be available
67           once we enter the <command>chroot</command> environment.</para>
68         </listitem>
69       </varlistentry>
71       <varlistentry>
72         <term><parameter>--enable-overwrite</parameter></term>
73         <listitem>
74           <para>This tells Ncurses to install its header files into
75           <filename class="directory">/tools/include</filename>, instead of
76           <filename class="directory">/tools/include/ncurses</filename>, to
77           ensure that other packages can find the Ncurses headers
78           successfully.</para>
79         </listitem>
80       </varlistentry>
82       <varlistentry>
83         <term><parameter>--enable-widec</parameter></term>
84         <listitem>
85           <para>This switch causes wide-character libraries (e.g., <filename
86           class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
87           to be built instead of normal ones (e.g., <filename
88           class="libraryfile">libncurses.so.&ncurses-version;</filename>).
89           These wide-character libraries are usable in both multibyte and
90           traditional 8-bit locales, while normal libraries work properly
91           only in 8-bit locales. Wide-character and normal libraries are
92           source-compatible, but not binary-compatible.</para>
93         </listitem>
94       </varlistentry>
96     </variablelist>
98     <para>Compile the package:</para>
100 <screen><userinput remap="make">make</userinput></screen>
102     <para>This package has a test suite, but it can only be run after the
103     package has been installed.  The tests reside in the
104     <filename class="directory">test/</filename> directory.  See the
105     <filename>README</filename> file in that directory for further details.
106     </para>
108     <para>Install the package:</para>
110 <screen><userinput remap="install">make install</userinput></screen>
112   </sect2>
114   <sect2 role="content">
115     <title/>
117     <para>Details on this package are located in
118     <xref linkend="contents-ncurses" role="."/></para>
120   </sect2>
122 </sect1>