Vim: Compiling HowTofor Vim on Unix-like systems
Last change: 2011-12-24 12:21 UTC
Back to "The Vim Editor"
Back to Welcome page
export variable='value'There is one difficulty: you cannot just "run" this script (by giving its name to bash as a command name) you must "source" it each time you are ready to start a new compilation. But this actually belongs in a further paragraph, and we shall repeat it there. Here's the sample script I use; it is fairly general, and any features for which you don't have the required "development" packages will be eliminated at configure-time:
#!/bin/bash export CONF_OPT_GUI='--enable-gnome-check' export CONF_OPT_PERL='--enable-perlinterp' export CONF_OPT_PYTHON='--enable-pythoninterp' export CONF_OPT_TCL='--enable-tclinterp --with-tcl=tclsh8.4' export CONF_OPT_RUBY='--enable-rubyinterp' export CONF_OPT_MZSCHEME='--disable-mzschemeinterp' #export CONF_OPT_PLTHOME='--with-plthome=/usr/local/plt' export CONF_OPT_CSCOPE='--enable-cscope' export CONF_OPT_MULTIBYTE='--enable-multibyte' export CONF_OPT_FEAT='--with-features=huge' export CONF_OPT_COMPBY='"--firstname.lastname@example.org"'You may use that, except that you will of course have to put your name, not mine, in the last line; and you may or may not have to change the TCL version.
export CONF_ARGS='--with-vim-name=vi'to avoid ending up with several executables all of the same name. Note that you can only have at most one value for each environment variable, but you can concatenate several configure command-line argument (space-separated) in one quoted value, e.g.
export CONF_ARGS='--with-vim-name=vim-mod --with-modified-by="John Doe & Mary Roe"'Notice the use of both single and double quotes in the above example.
(date && hg pull -u) 2>&1 |tee -a ../hgvim.logor if you did (and have installed the fetch extension)
(date && hg fetch --switch-parent) 2>&1 |tee -a ../hgvim.log
make reconfig 2>&1 |tee ../make-vim.log
make 2>&1 |tee ../make-vim.log
cd src/tiny let's source the configure arguments into this shell's environment: this file does not exist by default, you must have set it up like mycfg in the above case, but with the configure arguments for this particular build: source tinycfg.sh make 2>&1 |tee tinymake.log Check that all went well: ./vi --version |more and if it looks OK: make installvimbin 2>&1 |tee tinyinst.log ls -l `which vi`
|Back to "The Vim Editor"||Back to Welcome page|