0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 7.4.1077

Problem:    The build instructions for MS-Windows are incomplete.
Solution:   Add explanations for how to build with various interfaces. (Ken
            Takata)
This commit is contained in:
Bram Moolenaar 2016-01-10 14:35:58 +01:00
parent 6a3c8aff04
commit 30a89473ee
2 changed files with 251 additions and 29 deletions

View File

@ -13,7 +13,7 @@ be fine for most people.
With the exception of two sections (Windows 3.1 and MS-DOS), this document
assumes that you are building Vim for Win32 or later.
(Windows 95/98/Me/NT/2000/XP/2003/Vista/7)
(Windows 95/98/Me/NT/2000/XP/2003/Vista/7/8/10)
Contents:
@ -23,11 +23,16 @@ Contents:
4. Borland
5. Cross compiling for Win32 from a Linux machine
6. Building with Python support
7. Building with MzScheme support
8. Windows 3.1
9. MS-DOS
7. Building with Python3 support
8. Building with MzScheme support
9. Building with Lua support
10. Building with Perl support
11. Building with Ruby support
12. Building with Tcl support
13. Windows 3.1
14. MS-DOS
10. Installing after building from sources
15. Installing after building from sources
The currently preferred method is using the free Visual C++ Toolkit 2008
@ -42,8 +47,9 @@ you need the executable to run on Windows 98 or ME, use the 2003 one
Visual Studio
-------------
Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, and VS 2008)
is straightforward. (These instructions should also work for VS 4 and VS 5.)
Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, VS 2008,
VS2010, VS2012, VS2013 and VS2015) is straightforward. (These instructions
should also work for VS 4 and VS 5.)
Using VS C++ 2008 Express is recommended, the binaries build with that run on
nearly all platforms. Binaries from later versions may not run on Windows 95
@ -195,7 +201,7 @@ Vim with Make_mvc.mak.
Targeting Windows XP with new MSVC *new-msvc-windows-xp*
----------------------------------
Beginning with Visual C++ 2010, Microsoft changed the behavior of LINK.EXE
Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
so that it targets Windows 6.0 (Vista) by default. In order to override
this, the target Windows version number needs to be passed to LINK like
follows:
@ -345,6 +351,17 @@ Now you have created the Windows binary from your Linux box! Have fun...
For building with MSVC 2008 the "Windows Installer" from www.python.org
works fine.
When building, you need to set the following variables at least:
PYTHON: Where Python is installed. E.g. C:\Python27
DYNAMIC_PYTHON: Whether dynamic linking is used. Usually, set to yes.
PYTHON_VER: Python version. E.g. 27 for Python 2.7.X.
E.g. When using MSVC (as one line):
nmake -f Make_mvc.mak
PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
(rest written by Ron Aaron: <ronaharon@yahoo.com>)
Building with the mingw32 compiler, and the ActiveState ActivePython:
@ -380,7 +397,25 @@ And if you use msys2 to build python support (as one line):
You will end up with a Python-enabled, Win32 version. Enjoy!
7. Building with MzScheme support
7. Building with Python3 support
================================
For building with MSVC 2008 the "Windows Installer" from www.python.org
works fine. Python 3.4 is recommended.
When building, you need to set the following variables at least:
PYTHON3: Where Python3 is installed. E.g. C:\Python34
DYNAMIC_PYTHON3: Whether dynamic linking is used. Usually, set to yes.
PYTHON3_VER: Python3 version. E.g. 34 for Python 3.4.X.
E.g. When using MSVC (as one line):
nmake -f Make_mvc.mak
PYTHON3=C:\Python34 DYNAMIC_PYTHON3=yes PYTHON3_VER=34
8. Building with MzScheme support
=================================
(written by Sergey Khorev <sergey.khorev@gmail.com>)
@ -416,8 +451,193 @@ After a successful build, these dlls can be freely removed, leaving them in
%WINDOWS%\System32 only.
8. Windows 3.1x
===============
9. Building with Lua support
============================
Vim with Lua support can be built with either MSVC or MinGW (or Cygwin).
You can use binaries from LuaBinaries.
http://luabinaries.sourceforge.net/
1) Download and install LuaBinaries
Go to the Download page of LuaBinaries:
http://luabinaries.sourceforge.net/download.html
Download lua-X.Y.Z_Win32_dllw4_lib.zip for x86 or
lua-X.Y.Z_Win64_dllw4_lib.zip for x64. You can use them for both MSVC and
MinGW.
Unpack it to a working directory. E.g. C:\projects\lua53.
Lua's header files will be installed under the include directory.
2) Build
You need to set the following variables:
LUA: Where Lua is installed. E.g. C:\projects\lua53.
DYNAMIC_LUA: Whether dynamic linking is used. Usually, set to yes.
LUA_VER: Lua version. E.g. 53 for Lua 5.3.X.
E.g. When using MSVC (as one line):
nmake -f Make_mvc.mak
LUA=C:\projects\lua53 DYNAMIC_LUA=yes LUA_VER=53
Or when using MinGW (as one line):
mingw32-make -f Make_mingw.mak
LUA=C:\projects\lua53 DYNAMIC_LUA=yes LUA_VER=53
Or when using Cygwin (as one line):
make -f Make_cyg.mak
LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
10. Building with Perl support
==============================
Vim with Perl support can be built with either MSVC or MinGW (or Cygwin).
You can use binaries from ActiveState (ActivePerl) or Strawberry Perl.
http://www.activestate.com/activeperl
http://strawberryperl.com/
When building, you need to set the following variables:
PERL: Where perl is installed. E.g. C:\Perl, C:\Strawberry\perl
DYNAMIC_PERL: Whether dynamic linking is used. Usually, set to yes.
PERL_VER: Perl version. E.g. 522 for Perl 5.22.X.
E.g. When using MSVC (as one line):
nmake -f Make_mvc.mak
PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
Or when using MinGW (as one line):
mingw32-make -f Make_mingw.mak
PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
11. Building with Ruby support
==============================
Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
Ruby doesn't provide the official Windows binaries. The most widely used
Windows binaries might be RubyInstaller.
http://rubyinstaller.org/
If you use MinGW you can easily build with RubyInstaller, but if you use MSVC
you need some tricks described below.
(Another binary distribution is ActiveScriptRuby:
http://www.artonx.org/data/asr/)
When building, you need to set the following variables at least:
RUBY: Where ruby is installed. E.g. C:\Ruby22
DYNAMIC_RUBY: Whether dynamic linking is used. Usually, set to yes.
RUBY_VER: Ruby version. E.g. 22 for Ruby 2.2.X.
RUBY_VER_LONG: Ruby API version in a long format.
E.g. 2.2.0 for Ruby 2.2.X.
Ruby version vs. Ruby API version:
Ruby ver. | Ruby API ver.
=========================
1.8.X | 1.8
1.9.[1-3] | 1.9.1
2.0.0 | 2.0.0
2.X.Y | 2.X.0
(Ruby 1.9.0 is excluded from the table because it is an unstable version.)
A) Using MSVC
If you want to link with ruby, normally you must use the same compiler as
which was used to build the ruby binary. RubyInstaller is built with MinGW,
so normally you cannot use MSVC for building Vim if you want to link with
RubyInstaller. If you use a different complier, there are mainly two problems:
config.h and Ruby's DLL name. Here are the steps for working around them:
1) Download and Install RubyInstaller.
You can install RubyInstaller with the default options and directory.
E.g.:
C:\Ruby22 (32-bit) or C:\Ruby22-x64 (64-bit)
Ruby 2.2.X is used in this example.
2) Download Ruby 2.2.X's source code and generate config.h:
cd C:\projects
git clone https://github.com/ruby/ruby.git -b ruby_2_2
cd ruby
win32\configure.bat
nmake .config.h.time
Note that ruby_2_2 is the branch name for Ruby 2.2.X's source code.
There is no need to build whole Ruby, just config.h is needed.
If you use 32-bit MSVC10, the config.h is generated in the
.ext\include\i386-mswin32_100 directory.
3) Install the generated config.h.
xcopy /s .ext\include C:\Ruby22\include\ruby-2.2.0
Note that 2.2.0 is Ruby API version of Ruby 2.2.X.
4) Build Vim. Note that you need to adjust some variables (as one line):
nmake -f Make_mvc.mak
RUBY=C:\Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_VER_LONG=2.2.0
RUBY_MSVCRT_NAME=msvcrt
WINVER=0x500
WINVER must be set to >=0x500, when building with Ruby 2.1 or later.
When using this trick, you also need to set RUBY_MSVCRT_NAME to msvcrt
which is used for the Ruby's DLL name.
B) Using MinGW
Using MinGW is easier than using MSVC when linking with RubyInstaller.
After you install RubyInstaller, just type this (as one line):
mingw32-make -f Make_ming.mak
RUBY=C:/Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_VER_LONG=2.2.0
WINVER=0x500
WINVER must be set to >=0x500, when building with Ruby 2.1 or later.
12. Building with Tcl support
=============================
Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin).
You can use binaries from ActiveState (ActiveTcl).
http://www.activestate.com/activetcl
When building, you need to set the following variables:
TCL: Where tcl is installed. E.g. C:\Tcl86
DYNAMIC_TCL: Whether dynamic linking is used. Usually, set to yes.
TCL_VER: Tcl version in a short format. E.g. 86 for Tcl 8.6.X.
TCL_VER_LONG: Tcl version in a long format. E.g. 8.6 for Tcl 8.6.X.
E.g. When using MSVC (as one line):
nmake -f Make_mvc.mak
TCL=C:\Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
Or when using MinGW (as one line):
mingw32-make -f Make_mingw.mak
TCL=C:\Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
13. Windows 3.1x
================
make -f Make_w16.mak 16 bit, Borland C++ 5.0
@ -436,8 +656,8 @@ In MSVC 4.2 support for Win32s was dropped! Use this command:
nmake -f Make_mvc.mak GUI=yes
9. MS-DOS
=========
14. MS-DOS
==========
Summary:
ren Make_bc3.mak Makefile; make 16 bit, Borland C++ and Turbo C++
@ -479,48 +699,48 @@ If you get all kinds of strange error messages when compiling, try changing
the file format from "unix" to "dos".
10. Installing after building from sources
15. Installing after building from sources
==========================================
[provided by Michael Soyka]
After you've built the Vim binaries as described above, you're ready to
install Vim on your system. However, if you've obtained the Vim sources
using Mercurial or by downloading them as a unix tar file, you must first
create a "vim73" directory. If you instead downloaded the sources as
using Git, Mercurial or by downloading them as a unix tar file, you must
first create a "vim74" directory. If you instead downloaded the sources as
zip files, you can skip this setup as the zip archives already have the
correct directory structure.
A. Create a Vim "runtime" subdirectory named "vim73"
A. Create a Vim "runtime" subdirectory named "vim74"
-----------------------------------------------------
If you obtained your Vim sources as zip files, you can skip this step.
Otherwise, continue reading.
Go to the directory that contains the Vim "src" and "runtime"
directories and create a new subdirectory named "vim73".
directories and create a new subdirectory named "vim74".
Copy the "runtime" files into "vim73":
copy runtime\* vim73
Copy the "runtime" files into "vim74":
copy runtime\* vim74
B. Copy the new binaries into the "vim73" directory
B. Copy the new binaries into the "vim74" directory
----------------------------------------------------
Regardless of how you installed the Vim sources, you need to copy the
new binaries you created above into "vim73":
new binaries you created above into "vim74":
copy src\*.exe vim73
copy src\GvimExt\gvimext.dll vim73
copy src\xxd\xxd.exe vim73
copy src\*.exe vim74
copy src\GvimExt\gvimext.dll vim74
copy src\xxd\xxd.exe vim74
C. Move the "vim73" directory into the Vim installation subdirectory
C. Move the "vim74" directory into the Vim installation subdirectory
---------------------------------------------------------------------
Move the "vim73" subdirectory into the subdirectory where you want Vim
Move the "vim74" subdirectory into the subdirectory where you want Vim
to be installed. Typically, this subdirectory will be named "vim".
If you already have a "vim73" subdirectory in "vim", delete it first
If you already have a "vim74" subdirectory in "vim", delete it first
by running its uninstal.exe program.
D. Install Vim
---------------
"cd" to your Vim installation subdirectory "vim\vim73" and run the
"cd" to your Vim installation subdirectory "vim\vim74" and run the
"install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the

View File

@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1077,
/**/
1076,
/**/