Latest version of ruby is 1.9.3. This API version is 1.9.1 (different from 
ruby version).
So, curently, we should specify RUBY_VER and RUBY_VER_LONG like following 
on windows.

------
MSVC:
nmake -f Make_mvc.mak RUBY=c:/ruby193 DYNAMIC_RUBY=yes RUBY_VER=191 
RUBY_VER_LONG=1.9.1

MINGW32:
mingw32-make -f Make_ming.mak RUBY=c:/ruby193 DYNAMIC_RUBY=yes RUBY_VER=191 
RUBY_VER_LONG=1.9.1
------

But, if_ruby is checking DYNAMIC_RUBY_VER (= RUBY_VER) like following.

------
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
------

DYNAMIC_RUBY_VER is specified 191 above which is greater than 19. This will 
make confusing.
DYNAMIC_RUBY_VER/RUBY_VER must be 19. And name of dll 
"msvcrt-ruby$(RUBY_VER).dll" must not use RUBY_VER.
Below is a patch. This don't change the way to build.

diff -r 54d621a3b561 src/Make_ming.mak
--- a/src/Make_ming.mak Thu Jan 26 20:58:26 2012 +0100
+++ b/src/Make_ming.mak Fri Jan 27 09:19:27 2012 +0900
@@ -269,6 +269,9 @@
 ifndef RUBY_VER_LONG
 RUBY_VER_LONG = 1.6
 endif
+ifndef RUBY_API_VER
+RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
+endif
 
 ifndef RUBY_PLATFORM
 ifeq ($(RUBY_VER), 16)
@@ -284,9 +287,9 @@
 
 ifndef RUBY_INSTALL_NAME
 ifeq ($(RUBY_VER), 16)
-RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
+RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
 else
-RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
+RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
 endif
 endif
 
diff -r 54d621a3b561 src/Make_mvc.mak
--- a/src/Make_mvc.mak Thu Jan 26 20:58:26 2012 +0100
+++ b/src/Make_mvc.mak Fri Jan 27 09:19:27 2012 +0900
@@ -805,28 +805,31 @@
 !ifndef RUBY_VER_LONG
 RUBY_VER_LONG = 1.8
 !endif
+!ifndef RUBY_API_VER
+RUBY_API_VER = $(RUBY_VER_LONG:.=)
+!endif
 
 !if $(RUBY_VER) >= 18
 !ifndef RUBY_PLATFORM
 RUBY_PLATFORM = i386-mswin32
 !endif
 !ifndef RUBY_INSTALL_NAME
-RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
+RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
 !endif
 !else
 !ifndef RUBY_PLATFORM
 RUBY_PLATFORM = i586-mswin32
 !endif
 !ifndef RUBY_INSTALL_NAME
-RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
+RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
 !endif
 !endif # $(RUBY_VER) >= 18
 
 !message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
 CFLAGS = $(CFLAGS) -DFEAT_RUBY
 RUBY_OBJ = $(OUTDIR)\if_ruby.obj
-!if $(RUBY_VER) >= 190
-RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I 
"$(RUBY)\include\ruby-$(RUBY_VER_LONG)"
+!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)"
 !else
 RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
 !endif


-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui