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
