annotate src/INSTALLx.txt @ 1953:378e33d47ab0 v7.2.250

updated for version 7.2-250
author vimboss
date Fri, 11 Sep 2009 11:26:56 +0000
parents 5232b9862f23
children 7c8c7c95a865
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=... :
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
53 Which terminal library to.
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:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
71 If Python support is enabled, set this variables to the path for
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:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
77 If Python support is enabled, set this variables to the execution
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:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
84 If Python support is enabled, set this variables to the prefix of your
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
85 Python interpreter (that is, where was installed).
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:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
90 If Python support is enabled, set this variables to the version of the
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
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
136 of the your tty group or to "world" if they are world accessable.
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:
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
139 The default mode of pseudo terminals if they are not world accessable.
82b5078be2dd updated for version 7.2a
vimboss
parents:
diff changeset
140 Most propably the value "0620".
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.