source: BOOK/temp-system/common/vim.xml @ 563e1e2

clfs-3.0.0-systemdsystemd
Last change on this file since 563e1e2 was 563e1e2, checked in by Chris Staub <chris@…>, 8 years ago

Revert "Don't use make install include from final-system vim. We don't want to install the documentation to /usr/share/doc for temp-system. Let vim install the documentation to its default location."

This reverts commit e6fe94de8833cd3f66c31a5a9c26bc800eb75c5b.

  • Property mode set to 100644
File size: 5.4 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-temp-system-vim" role="wrap">
9  <?dbhtml filename="vim.html"?>
10
11  <title>Vim-&vim-version;</title>
12
13  <indexterm zone="ch-temp-system-vim">
14    <primary sortas="a-Vim">Vim</primary>
15    <secondary>temporary system</secondary>
16  </indexterm>
17
18  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
19  href="../../final-system/common/vim.xml"
20  xpointer="xpointer(//*[@role='package'])"/>
21
22  <sect2 role="installation">
23    <title>Installation of VIM</title>
24
25    <para os="a">We will cross-compile Vim so that we can have a text editor in
26    <filename class="directory">/tools</filename>. Vim is not technically
27    necessary in the temporary system, in that it is not there to satisfy any
28    package dependencies in the final system, but we believe that a text editor
29    is an extremely useful tool to have there.<!-- If you prefer a different
30    editor, you may check the hints project at <ulink url="&hints-root;" />
31    for information on cross-compiling other text editors. (placeholder -
32    uncomment this sentence if/when such information actually exists)--></para>
33
34    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
35    href="../../final-system/common/vim.xml"
36    xpointer="xpointer(//*[@os='p1'])"/>
37
38    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
39    href="../../final-system/common/vim.xml"
40    xpointer="xpointer(//*[@os='p2'])"/>
41
42    <para os="c1">The <command>configure</command> script is full of logic
43    that aborts at the first sign of cross compiling. Work around this by
44    setting the cached values of several tests with the following
45    command:</para>
46
47<screen os="c2"><userinput>cat &gt; src/auto/config.cache &lt;&lt; "EOF"
48vim_cv_getcwd_broken=no
49vim_cv_memmove_handles_overlap=yes
50vim_cv_stat_ignores_slash=no
51vim_cv_terminfo=yes
52vim_cv_toupper_broken=no
53vim_cv_tty_group=world
54EOF</userinput></screen>
55
56    <para os="b">Change the default location of
57    the <filename>vimrc</filename> configuration file to <filename
58    class="directory">/tools/etc</filename>:</para>
59
60<screen os="c"><userinput>echo '#define SYS_VIMRC_FILE "/tools/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
61
62    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
63    href="../../final-system/common/vim.xml"
64    xpointer="xpointer(//*[@os='d'])"/>
65
66<screen os="e"><userinput>./configure \
67    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
68    --prefix=/tools --enable-multibyte --enable-gui=no \
69    --disable-gtktest --disable-xim --with-features=normal \
70    --disable-gpm --without-x --disable-netbeans \
71    --with-tlib=ncurses</userinput></screen>
72
73    <variablelist os="f">
74      <title>The meaning of the new configure options:</title>
75
76      <varlistentry>
77        <term><parameter>--enable-multibyte</parameter></term>
78        <listitem>
79          <para>This optional but highly recommended switch enables support
80          for editing files in multibyte character encodings. This is needed
81          if using a locale with a multibyte character set. This switch is
82          also helpful to be able to edit text files initially created in
83          Linux distributions like Fedora that use UTF-8 as a default
84          character set.</para>
85        </listitem>
86      </varlistentry>
87
88      <varlistentry>
89        <term><parameter>--enable-gui=no --disable-gtktest --disable-xim --with-features=normal --disable-gpm --without-x --disable-netbeans</parameter></term>
90        <listitem>
91          <para>These options prevent Vim from trying to link to libraries
92          that might be on the host but won't exist inside the temporary
93          build environment.</para>
94        </listitem>
95      </varlistentry>
96
97      <varlistentry>
98        <term><parameter>--with-tlib=ncurses</parameter></term>
99        <listitem>
100          <para>Tells Vim to use Ncurses as its terminal library.</para>
101        </listitem>
102      </varlistentry>
103
104    </variablelist>
105
106    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
107    href="../../final-system/common/vim.xml"
108    xpointer="xpointer(//*[@os='g'])"/>
109
110    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
111    href="../../final-system/common/vim.xml"
112    xpointer="xpointer(//*[@os='h'])"/>
113
114    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
115    href="../../final-system/common/vim.xml"
116    xpointer="xpointer(//*[@os='j'])"/>
117
118    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
119    href="../../final-system/common/vim.xml"
120    xpointer="xpointer(//*[@os='k'])"/>
121
122    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
123    href="../../final-system/common/vim.xml"
124    xpointer="xpointer(//*[@os='l'])"/>
125
126<screen os="m"><userinput>ln -sv vim /tools/bin/vi</userinput></screen>
127
128    <para os="tv1">Create a temporary vimrc to make it function more the way you may
129    expect it to. This is explained more in the final system:</para>
130
131<screen os="tv2"><userinput>cat &gt; /tools/etc/vimrc &lt;&lt; "EOF"
132<literal>" Begin /tools/etc/vimrc
133
134set nocompatible
135set backspace=2
136set ruler
137syntax on
138
139" End /tools/etc/vimrc</literal>
140EOF</userinput></screen>
141
142  </sect2>
143
144  <sect2 role="content">
145    <title/>
146
147    <para>Details on this package are located in <xref
148    linkend="contents-vim" role="."/></para>
149
150  </sect2>
151
152</sect1>
Note: See TracBrowser for help on using the repository browser.