2016/9/2 Fri 3:51:35 UTC+9 Bram Moolenaar wrote:
> Patch 7.4.2302
> Problem: Default interface versions for MS-Windows are outdated.
> Solution: Use Active Perl 5.24, Python 3.5.2. Could only make it work with
> Ruby 1.9.2.
> Files: src/bigvim.bat, src/bigvim64.bat
As I wrote in INSTALLpc.txt, you need a hack to link with recent Ruby.
(If you use a binary from rubyinstaller.org .)
You need to generate config.h from Ruby's source code. Also you need to set
RUBY_MSVCRT_NAME=msvcrt .
The build script in vim-win32-installer uses this hack.
https://github.com/vim/vim-win32-installer/blob/master/appveyor.bat#L113-L122
https://github.com/vim/vim-win32-installer/blob/master/appveyor.bat#L163
BTW, which ruby binary do you use? Maybe ruby-1.9.2-p136-i386-mswin32.zip
form http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html ?
If you use this, you also need to set RUBY_VER_LONG=1.9.1 instead of 1.9.2.
Because Ruby 1.9.2's API version is 1.9.1 and RUBY_VER_LONG is used for
specifying API version.
I think the name RUBY_VER_LONG is confusing. Renaming to RUBY_API_VER_LONG
makes the thing clearer. (But the name is long.)
Regards,
Ken Takata
2016/9/3 Sat 2:34:31 UTC+9 Bram Moolenaar wrote:
> Ken Takata wrote:
>
> > 2016/9/2 Fri 3:51:35 UTC+9 Bram Moolenaar wrote:
> > > Patch 7.4.2302
> > > Problem: Default interface versions for MS-Windows are outdated.
> > > Solution: Use Active Perl 5.24, Python 3.5.2. Could only make it work with
> > > Ruby 1.9.2.
> > > Files: src/bigvim.bat, src/bigvim64.bat
> >
> > As I wrote in INSTALLpc.txt, you need a hack to link with recent Ruby.
> > (If you use a binary from rubyinstaller.org .)
> > You need to generate config.h from Ruby's source code. Also you need to set
> > RUBY_MSVCRT_NAME=msvcrt .
> > The build script in vim-win32-installer uses this hack.
> > https://github.com/vim/vim-win32-installer/blob/master/appveyor.bat#L113-L122
> > https://github.com/vim/vim-win32-installer/blob/master/appveyor.bat#L163
>
> I tried part of this and it failed. I'll give it another try.
>
> > BTW, which ruby binary do you use? Maybe ruby-1.9.2-p136-i386-mswin32.zip
> > form http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html ?
> > If you use this, you also need to set RUBY_VER_LONG=1.9.1 instead of 1.9.2.
> > Because Ruby 1.9.2's API version is 1.9.1 and RUBY_VER_LONG is used for
> > specifying API version.
>
> Yes, that's what I used before. I renamed the directory.
Oh, that was incorrect. RUBY_VER_LONG is also used for the name of ruby's DLL.
The Vim binary with your configuration will try to load msvcrt-ruby192.dll, but
actual filename is msvcrt-ruby191.dll.
> > I think the name RUBY_VER_LONG is confusing. Renaming to RUBY_API_VER_LONG
> > makes the thing clearer. (But the name is long.)
>
> Yes, that's better.
Okay, I wrote a patch for this. RUBY_VER_LONG can be still used for backward
compatibility, but if RUBY_API_VER_LONG is defined, it overrides RUBY_VER_LONG.
And, when I wrote the patch, I found that makefiles for cygwin/mingw don't
have modelines. So I copied them from Make_mvc.mak. (But they differ from
Makefile. I'm not sure which modelines are prefer.)
Regards,
Ken Takata