updated for version 7.0001
This commit is contained in:
427
src/INSTALL
Normal file
427
src/INSTALL
Normal file
@ -0,0 +1,427 @@
|
||||
INSTALL - Installation of Vim on different machines.
|
||||
|
||||
This file contains instructions for compiling Vim. If you already have an
|
||||
executable version of Vim, you don't need this.
|
||||
|
||||
Contents:
|
||||
1. Generic
|
||||
2. Unix
|
||||
3. RISC OS
|
||||
4. Macintosh
|
||||
5. OS/2 (with EMX 0.9b)
|
||||
6. Atari MiNT
|
||||
|
||||
For OS/390 Unix see ../runtime/doc/os_390.txt
|
||||
For BeBox see ../runtime/doc/os_beos.txt.
|
||||
For Amiga see INSTALLami.txt
|
||||
For PC (MS-DOS, Windows NT, Windows 95) see INSTALLpc.txt
|
||||
For Macintosh see INSTALLmac.txt
|
||||
|
||||
|
||||
1. Generic
|
||||
==========
|
||||
|
||||
If you compile Vim without specifying anything, you will get the default
|
||||
behaviour as is documented, which should be fine for most people.
|
||||
|
||||
For features that you can't enable/disable in another way, you can edit the
|
||||
file "feature.h" to match your preferences.
|
||||
|
||||
|
||||
2. Unix
|
||||
=======
|
||||
|
||||
Summary:
|
||||
1. make run configure, compile and link
|
||||
2. make install installation in /usr/local
|
||||
|
||||
This will include the GUI and X11 libraries, if you have them. If you want a
|
||||
version of Vim that is small and starts up quickly, see the Makefile for how
|
||||
to disable the GUI and X11. If you don't have Motif and/or X11, these
|
||||
features will be disabled automatically.
|
||||
|
||||
See the start of Makefile for more detailed instructions about how to compile
|
||||
Vim.
|
||||
|
||||
If you need extra compiler and/or linker arguments, set $CFLAGS and/or $LIBS
|
||||
before starting configure. Example:
|
||||
|
||||
env CFLAGS=-I/usr/local/include LIBS=-lm make
|
||||
|
||||
This is only needed for things that configure doesn't offer a specific argument
|
||||
for or figures out by itself. First try running configure without extra
|
||||
arguments.
|
||||
|
||||
GNU Autoconf and a few other tools have been used to make Vim work on many
|
||||
different Unix systems. The advantage of this is that Vim should compile
|
||||
on most sytems without any adjustments. The disadvantage is that when
|
||||
adjustments are required, it takes some time to understand what is happening.
|
||||
|
||||
If configure finds all library files and then complains when linking that some
|
||||
of them can't be found, your linker doesn't return an error code for missing
|
||||
libraries. Vim should be linked fine anyway, mostly you can just ignore these
|
||||
errors.
|
||||
|
||||
If you run configure by hand (not using the Makefile), remember that any
|
||||
changes in the Makefile have no influence on configure. This may be what you
|
||||
want, but maybe not!
|
||||
|
||||
The advantage of running configure separately, is that you can write a script
|
||||
to build Vim, without changing the Makefile or feature.h. Example (using sh):
|
||||
|
||||
CFLAGS=-DCOMPILER_FLAG ./configure --enable-gui=motif
|
||||
|
||||
One thing to watch out for: If the configure script itself changes, running
|
||||
"make" will execute it again, but without your arguments. Do "make clean" and
|
||||
run configure again.
|
||||
|
||||
If you are compiling Vim for several machines, for each machine:
|
||||
a. make shadow
|
||||
b. mv shadow machine_name
|
||||
c. cd machine_name
|
||||
d. make; make install
|
||||
|
||||
[Don't use a path for machine_name, just a directory name, otherwise the links
|
||||
that "make shadow" creates won't work.]
|
||||
|
||||
|
||||
Unix: COMPILING WITH/WITHOUT GUI
|
||||
|
||||
These configure arguments can be used to select which GUI to use:
|
||||
--enable-gui= gtk, motif, athena or auto
|
||||
--disable-gtk-check
|
||||
--disable-motif-check
|
||||
--disable-athena-check
|
||||
|
||||
--enable-gui defaults to "auto", so it will automatically look for a GUI (in
|
||||
the order of GTK, Motif, then Athena). If one is found, then is uses it and
|
||||
does not proceed to check any of the remaining ones. Otherwise, it moves on
|
||||
to the next one.
|
||||
|
||||
--enable-{gtk,motif,athena}-check all default to "yes", such that if
|
||||
--enable-gui is "auto" (which it is by default), GTK, Motif, and Athena will
|
||||
be checked for. If you want to *exclude* a certain check, then you use
|
||||
--disable-{gtk,motif,athena}-check.
|
||||
|
||||
For example, if --enable-gui is set to "auto", but you don't want it look for
|
||||
Motif, you then also specify --disable-motif-check. This results in only
|
||||
checking for GTK and Athena.
|
||||
|
||||
Lastly, if you know which one you want to use, then you can just do
|
||||
--enable-gui={gtk,motif,athena}. So if you wanted to only use Motif, then
|
||||
you'd specify --enable-gui=motif. Once you specify what you want, the
|
||||
--enable-{gtk,motif,athena}-check options are ignored.
|
||||
|
||||
For compiling with the GTK+ GUI, you need a recent version of glib and gtk+.
|
||||
Configure checks for at least version 1.1.16, but below 2.0. An older versions
|
||||
is not selected automatically. If you want to use it anyway, run configure
|
||||
with "--disable-gtktest". GTK 2.0 doesn't work yet.
|
||||
GTK requires an ANSI C compiler. If you fail to compile Vim with GTK+ (it
|
||||
is the preferred choice), try selecting another one in the Makefile.
|
||||
If you are sure you have GTK installed, but for some reason configure says you
|
||||
do not, you may have left-over header files and/or library files from an older
|
||||
(and incompatible) version of GTK. if this is the case, please check
|
||||
auto/config.log for any error messages that may give you a hint as to what's
|
||||
happening.
|
||||
|
||||
Unix: COMPILING WITH MULTI-BYTE
|
||||
|
||||
When you want to compile with the multi-byte features enabled, make sure you
|
||||
compile on a machine where the locale settings actually work. otherwise the
|
||||
configure tests may fail. You need to compile with "big" features:
|
||||
|
||||
./configure --with-features=big
|
||||
|
||||
Unix: COMPILING ON LINUX
|
||||
|
||||
On Linux, when using -g to compile (which is default for gcc), the executable
|
||||
will probably be statically linked. If you don't want this, remove the -g
|
||||
option from CFLAGS.
|
||||
|
||||
Unix: PUTTING vimrc IN /etc
|
||||
|
||||
Some Linux distributions prefer to put the global vimrc file in /etc, and the
|
||||
Vim runtime files in /usr. This can be done with:
|
||||
./configure --prefix=/usr
|
||||
make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim MAKE="make -e"
|
||||
|
||||
Unix: COMPILING ON NeXT
|
||||
|
||||
Add the "-posix" argument to the compiler by using one of these commands:
|
||||
setenv CC 'cc -posix' (csh)
|
||||
export CC='cc -posix' (sh)
|
||||
And run configure with "--disable-motif-check".
|
||||
|
||||
|
||||
3. RISC OS
|
||||
=============
|
||||
|
||||
Much file renaming is needed before you can compile anything.
|
||||
You'll need UnixLib to link against, GCC and GNU make.
|
||||
|
||||
I suggest you get the RISC OS binary distribution, which includes the
|
||||
Templates file and the loader.
|
||||
|
||||
Try here: http://www.ecs.soton.ac.uk/~tal197
|
||||
|
||||
Do
|
||||
:help riscos
|
||||
|
||||
within the editor for more information, or read the os_riscos.txt help file.
|
||||
|
||||
|
||||
4. Macintosh
|
||||
============
|
||||
|
||||
Vim should work on the Macintosh, but I don't have a makefile for it.
|
||||
Work is being done to update the Macintosh port. It's a lot of work; don't
|
||||
expect it soon.
|
||||
|
||||
|
||||
5. OS/2
|
||||
=======
|
||||
|
||||
Summary:
|
||||
ren Makefile Makefile.unix
|
||||
ren makefile.os2 Makefile
|
||||
make
|
||||
|
||||
This port of Vim to OS/2 is based on the emx environment together
|
||||
with GNU C. The main design goal of emx is to simplify porting Unix
|
||||
software to OS/2 and DOS. Because of this, almost all the Unix defines
|
||||
etc. already existing in the Vim source code could be reused. Only where
|
||||
OS/2 specifics came into play were additional changes necessary. Those
|
||||
places can be found by searching for "OS2" and "__EMX__" (I've tried to
|
||||
keep emx-specific things separate from generic OS/2 stuff).
|
||||
|
||||
Note: This OS/2 port works well for me and an additional OS/2 user on
|
||||
the Vim development team (Karsten Sievert); however, since I
|
||||
haven't had any other feedback from other people, that either
|
||||
means no (OS/2-specific) bugs exist, or no one has yet created
|
||||
a situation in which any bugs are apparent.
|
||||
Report any problems or other comments to paul@wau.mis.ah.nl
|
||||
(email valid up to at least September 1996, after that try
|
||||
paul@wurtel.hobby.nl, paul@murphy.nl, or paulS@toecompst.nl).
|
||||
Textmode/notextmode and binary mode both seem to work well.
|
||||
|
||||
Prerequisites:
|
||||
- To compile, you need the emx environment (at least rev. 0.9b), GCC,
|
||||
some make utility (GNU make works fine). These are generally
|
||||
available as (ask Archie about them):
|
||||
emxrt.zip emx runtime package
|
||||
emxdev.zip emx development system (without compiler)
|
||||
GNU programs compiled for emx, patches and patched sources:
|
||||
gnudev1.zip GNU development tools compiled for emx (part 1)
|
||||
gnudev2.zip GNU development tools compiled for emx (part 2)
|
||||
gnumake.zip GNU make
|
||||
- Don't set a TERM environment variable; Vim defaults to os2ansi
|
||||
which is available as a builtin termcap entry. Using other values
|
||||
may give problems! (OS/2 ANSI emulation is quite limited.) If you
|
||||
need to set TERM for other programs, you may consider putting
|
||||
set term=os2ansi in the vimrc file.
|
||||
|
||||
Check vim_os2.txt for additional info on running Vim.
|
||||
|
||||
|
||||
6. Atari MiNT
|
||||
=============
|
||||
|
||||
|
||||
To compile Vim for MiNT you may either copy makefile.mint to Makefile or use
|
||||
the Unix Makefile adapted for the MiNT configuration.
|
||||
|
||||
Now proceed as described in the Unix section.
|
||||
|
||||
Prerequisites:
|
||||
|
||||
You need a curses or termcap library that supports non-alphanumeric
|
||||
termcap names. If you don't have any, link with termlib.o.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
The rest of this file is based on the INSTALL file that comes with GNU
|
||||
autoconf 2.12. Not everything applies to Vim. Read Makefile too!
|
||||
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=PATH' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
Reference in New Issue
Block a user