summaryrefslogtreecommitdiff
path: root/src/INSTALLpc.txt
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-10 14:35:58 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-10 14:35:58 +0100
commit30a89473ee64a276215a55e7fa99e008945022df (patch)
tree51859601eb605dc0ab35c2c7f712b1606ab8245e /src/INSTALLpc.txt
parent6a3c8aff0439c8406082760c54b26e00ff19a90c (diff)
downloadvim-git-30a89473ee64a276215a55e7fa99e008945022df.tar.gz
patch 7.4.1077v7.4.1077
Problem: The build instructions for MS-Windows are incomplete. Solution: Add explanations for how to build with various interfaces. (Ken Takata)
Diffstat (limited to 'src/INSTALLpc.txt')
-rw-r--r--src/INSTALLpc.txt278
1 files changed, 249 insertions, 29 deletions
diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt
index b1e2309c3..3777784d1 100644
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -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