# HG changeset patch # User Christian Brabandt # Date 1473192907 -7200 # Node ID 8bfcb960e6bda69c25666613859aa34558331f65 # Parent 8e6070686e8119094940af548ab75d1bc2bab9e7 commit https://github.com/vim/vim/commit/6384c5db8dda70076c878d393ba19a1510695228 Author: Bram Moolenaar Date: Tue Sep 6 22:06:35 2016 +0200 patch 7.4.2340 Problem: MS-Windows: Building with Ruby uses old version. Solution: Update to 2.2.X. Use clearer name for the API version. (Ken Takata) diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -158,7 +158,7 @@ MINOR = 4 # - Move gvim.pdb to here. # - Copy "GvimExt/gvimext.dll" to here. # - Delete vimrun.exe, install.exe and uninstal.exe. -# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME: +# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME: # - Install the interfaces you want, see src/INSTALLpc.txt # - Build: # > cd src diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt --- a/src/INSTALLpc.txt +++ b/src/INSTALLpc.txt @@ -598,11 +598,11 @@ you need some tricks described below. 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: 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_API_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: @@ -653,7 +653,7 @@ config.h and Ruby's DLL name. Here are t 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=C:\Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_API_VER_LONG=2.2.0 RUBY_MSVCRT_NAME=msvcrt WINVER=0x501 @@ -668,7 +668,7 @@ Using MinGW is easier than using MSVC wh 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 + RUBY=C:/Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_API_VER_LONG=2.2.0 WINVER=0x501 If you set WINVER explicitly, it must be set to >=0x500, when building with diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak --- a/src/Make_cyg_ming.mak +++ b/src/Make_cyg_ming.mak @@ -348,36 +348,39 @@ endif # Ruby interface: # RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak) # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) -# RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18) -# RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8) -# You must set RUBY_VER_LONG when changing RUBY_VER. -# RUBY_API_VER is derived from RUBY_VER_LONG. +# RUBY_VER=[Ruby version, eg 19, 22] (default is 22) +# RUBY_API_VER_LONG=[Ruby API version, eg 1.8, 1.9.1, 2.2.0] +# (default is 2.2.0) +# You must set RUBY_API_VER_LONG when changing RUBY_VER. # Note: If you use Ruby 1.9.3, set as follows: # RUBY_VER=19 -# RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) +# RUBY_API_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) ifdef RUBY ifndef DYNAMIC_RUBY DYNAMIC_RUBY=yes endif # Set default value ifndef RUBY_VER -RUBY_VER = 18 +RUBY_VER = 22 endif ifndef RUBY_VER_LONG -RUBY_VER_LONG = 1.8 +RUBY_VER_LONG = 2.2.0 +endif +ifndef RUBY_API_VER_LONG +RUBY_API_VER_LONG = $(RUBY_API_VER_LONG) endif ifndef RUBY_API_VER -RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) +RUBY_API_VER = $(subst .,,$(RUBY_API_VER_LONG)) endif ifndef RUBY_PLATFORM ifeq ($(RUBY_VER), 16) RUBY_PLATFORM = i586-mswin32 else -ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) +ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/i386-mingw32),) RUBY_PLATFORM = i386-mingw32 else -ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) +ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw32),) RUBY_PLATFORM = x64-mingw32 else RUBY_PLATFORM = i386-mswin32 @@ -406,9 +409,9 @@ ifeq (19, $(word 1,$(sort 19 $(RUBY_VER) RUBY_19_OR_LATER = 1 endif -RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/$(RUBY_PLATFORM) ifdef RUBY_19_OR_LATER -RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) +RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_API_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_API_VER_LONG)/$(RUBY_PLATFORM) endif ifeq (no, $(DYNAMIC_RUBY)) RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -67,13 +67,13 @@ # Ruby interface: # RUBY=[Path to Ruby directory] # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) -# RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18) -# RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8) -# You must set RUBY_VER_LONG when change RUBY_VER. -# RUBY_API_VER is derived from RUBY_VER_LONG. +# RUBY_VER=[Ruby version, eg 19, 22] (default is 22) +# RUBY_API_VER_LONG=[Ruby API version, eg 1.8, 1.9.1, 2.2.0] +# (default is 2.2.0) +# You must set RUBY_API_VER_LONG when change RUBY_VER. # Note: If you use Ruby 1.9.3, set as follows: # RUBY_VER=19 -# RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) +# RUBY_API_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) # # Tcl interface: # TCL=[Path to Tcl directory] @@ -917,13 +917,16 @@ XSUBPP_TYPEMAP = $(PERL)\lib\ExtUtils\ty !ifdef RUBY # Set default value !ifndef RUBY_VER -RUBY_VER = 18 +RUBY_VER = 22 !endif !ifndef RUBY_VER_LONG -RUBY_VER_LONG = 1.8 +RUBY_VER_LONG = 2.2.0 +!endif +!ifndef RUBY_API_VER_LONG +RUBY_API_VER_LONG = $(RUBY_VER_LONG) !endif !ifndef RUBY_API_VER -RUBY_API_VER = $(RUBY_VER_LONG:.=) +RUBY_API_VER = $(RUBY_API_VER_LONG:.=) !endif !if $(RUBY_VER) >= 18 @@ -966,9 +969,9 @@ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_A CFLAGS = $(CFLAGS) -DFEAT_RUBY RUBY_OBJ = $(OUTDIR)\if_ruby.obj !if $(RUBY_VER) >= 19 -RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" +RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_API_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_API_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_API_VER_LONG)\$(RUBY_PLATFORM)" !else -RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" +RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_API_VER_LONG)\$(RUBY_PLATFORM)" !endif RUBY_LIB = $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib # Do we want to load Ruby dynamically? diff --git a/src/bigvim.bat b/src/bigvim.bat --- a/src/bigvim.bat +++ b/src/bigvim.bat @@ -1,5 +1,5 @@ :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\" SET TOOLDIR=E:\ -%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=%TOOLDIR%perl524 DYNAMIC_PERL=yes PERL_VER=524 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=19 RUBY_VER_LONG=1.9.2 RUBY_MSVCRT_NAME=msvcrt TCL=%TOOLDIR%tcl TCL_VER=86 TCL_VER_LONG=8.6 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes +%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=%TOOLDIR%perl524 DYNAMIC_PERL=yes PERL_VER=524 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 RUBY=%TOOLDIR%rubyw2 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_API_VER_LONG=2.2.0 RUBY_MSVCRT_NAME=msvcrt TCL=%TOOLDIR%tcl TCL_VER=86 TCL_VER_LONG=8.6 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2340, +/**/ 2339, /**/ 2338,