annotate src/INSTALLx.txt @ 19444:a94d27943c93

Added tag v8.2.0279 for changeset 6b1a59e71f850ca81471501424eec4e0171e5012
author Bram Moolenaar <Bram@vim.org>
date Wed, 19 Feb 2020 16:00:05 +0100
parents 073ff46fe397
children 99ef85ff1af4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1702
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1621
diff changeset
1 INSTALLx.txt - cross-compiling Vim on Unix
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1621
diff changeset
2
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
3 Content:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
4 1. Introduction
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
5 2. Necessary arguments for "configure"
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
6 3. Necessary environment variables for "configure"
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
7 4. Example
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
8
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
9
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
10 1. INTRODUCTION
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
11 ===============
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
12
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
13 This document discusses cross-compiling VIM on Unix-like systems. We assume
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
14 you are already familiar with cross-compiling and have a working cross-compile
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
15 environment with at least the following components:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
16
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
17 * a cross-compiler
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
18 * a libc to link against
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
19 * ncurses library to link against
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
20
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
21 Discussing how to set up a cross-compile environment would go beyond the scope
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
22 of this document. See http://www.kegel.com/crosstool/ for more information and
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
23 a script that aids in setting up such an environment.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
24
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
25
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
26 The problem is that "configure" needs to compile and run small test programs
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
27 to check for certain features. Running these test programs can't be done when
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
28 cross-compiling so we need to pass the results these checks would produce via
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
29 environment variables. See the list of variables and the examples at the end of
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
30 this document.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
31
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
32
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
33 2. NECESSARY ARGUMENTS FOR "configure"
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
34 ======================================
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
35
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
36 You need to set the following "configure" command line switches:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
37
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
38 --build=... :
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
39 The build system (i.e. the platform name of the system you compile on
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
40 right now).
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
41 For example, "i586-linux".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
42
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
43 --host=... :
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
44 The system on which VIM will be run. Quite often this the name of your
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
45 cross-compiler without the "-gcc".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
46 For example, "powerpc-603-linux-gnu".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
47
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
48 --target=... :
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
49 Only relevant for compiling compilers. Set this to the same value as
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
50 --host.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
51
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
52 --with-tlib=... :
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
53 Which terminal library to use.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
54 For example, "ncurses".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
55
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
56
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
57 3. NECESSARY ENVIRONMENT VARIABLES FOR "configure"
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
58 ==================================================
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
59
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
60 Additionally to the variables listed here you might want to set the CPPFLAGS
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
61 environment variable to enable optimization for your target system (e.g.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
62 "CPPFLAGS=-march=arm5te").
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
63
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
64 The following variables need to be set:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
65
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
66 ac_cv_sizeof_int:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
67 The size of an "int" C type in bytes. Should be "4" on all 32bit
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
68 machines.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
69
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
70 vi_cv_path_python_conf:
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
71 If Python support is enabled, set this variable to the path for
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
72 Python's library implementation. This is a path like
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
73 "/usr/lib/pythonX.Y/config" (the directory contains a file
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
74 "config.c").
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
75
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
76 vi_cv_var_python_epfx:
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
77 If Python support is enabled, set this variable to the execution
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
78 prefix of your Python interpreter (that is, where it thinks it is
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
79 running).
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
80 This is the output of the following Python script:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
81 import sys; print sys.exec_prefix
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
82
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
83 vi_cv_var_python_pfx:
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
84 If Python support is enabled, set this variable to the prefix of your
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
85 Python interpreter (that is, where it was installed).
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
86 This is the output of the following Python script:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
87 import sys; print sys.prefix
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
88
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
89 vi_cv_var_python_version:
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
90 If Python support is enabled, set this variable to the version of the
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
91 Python interpreter that will be used.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
92 This is the output of the following Python script:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
93 import sys; print sys.version[:3]
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
94
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
95 vim_cv_bcopy_handles_overlap:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
96 Whether the "memmove" C library call is able to copy overlapping
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
97 memory regions. Set to "yes" if it does or "no" if it does not.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
98 You only need to set this if vim_cv_memmove_handles_overlap is set
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
99 to "no".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
100
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
101 vim_cv_getcwd_broken:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
102 Whether the "getcwd" C library call is broken. Set to "yes" if you
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
103 know that "getcwd" is implemented as 'system("sh -c pwd")', set to
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
104 "no" otherwise.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
105
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
106 vim_cv_memcpy_handles_overlap:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
107 Whether the "memcpy" C library call is able to copy overlapping
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
108 memory regions. Set to "yes" if it does or "no" if it does not.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
109 You only need to set this if both vim_cv_memmove_handles_overlap
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
110 and vim_cv_bcopy_handles_overlap are set to "no".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
111
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
112 vim_cv_memmove_handles_overlap:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
113 Whether the "memmove" C library call is able to copy overlapping
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
114 memory regions. Set to "yes" if it does or "no" if it does not.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
115
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
116 vim_cv_stat_ignores_slash:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
117 Whether the "stat" C library call ignores trailing slashes in the path
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
118 name. Set to "yes" if it ignores them or "no" if it does not ignore
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
119 them.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
120
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
121 vim_cv_tgetent:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
122 Whether the "tgetent" terminal library call returns a zero or non-zero
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
123 value when it encounters an unknown terminal. Set to either the string
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
124 "zero" or "non-zero", corresponding.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
125
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
126 vim_cv_terminfo:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
127 Whether the environment has terminfo support. Set to "yes" if so,
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
128 otherwise set to "no".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
129
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
130 vim_cv_toupper_broken:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
131 Whether the "toupper" C library function works correctly. Set to "yes"
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
132 if you know it's broken, otherwise set to "no".
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
133
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
134 vim_cv_tty_group:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
135 The default group of pseudo terminals. Either set to the numeric value
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
136 of your tty group or to "world" if they are world accessible.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
137
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
138 vim_cv_tty_mode:
2577
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
139 The default mode of pseudo terminals if they are not world accessible.
073ff46fe397 Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Bram Moolenaar <bram@vim.org>
parents: 2165
diff changeset
140 Most probably the value "0620".
1621
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
141
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
142
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
143 4. EXAMPLE:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
144 ===========
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
145
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
146 Assuming the target system string is "armeb-xscale-linux-gnu" (a Intel XScale
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
147 system) with glibc and ncurses, the call to configure would look like this:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
148
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
149 ac_cv_sizeof_int=4 \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
150 vim_cv_getcwd_broken=no \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
151 vim_cv_memmove_handles_overlap=yes \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
152 vim_cv_stat_ignores_slash=yes \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
153 vim_cv_tgetent=zero \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
154 vim_cv_terminfo=yes \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
155 vim_cv_toupper_broken=no \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
156 vim_cv_tty_group=world \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
157 ./configure \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
158 --build=i586-linux \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
159 --host=armeb-xscale-linux-gnu \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
160 --target=armeb-xscale-linux-gnu \
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
161 --with-tlib=ncurses
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
162
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
163
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
164
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
165 Written 2007 by Marc Haisenko <marc@darkdust.net> for the VIM project.