Karsten Hopp 4c79b2
To: vim_dev@googlegroups.com
Karsten Hopp 4c79b2
Subject: Patch 7.3.848
Karsten Hopp 4c79b2
Fcc: outbox
Karsten Hopp 4c79b2
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 4c79b2
Mime-Version: 1.0
Karsten Hopp 4c79b2
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 4c79b2
Content-Transfer-Encoding: 8bit
Karsten Hopp 4c79b2
------------
Karsten Hopp 4c79b2
Karsten Hopp 4c79b2
Patch 7.3.848
Karsten Hopp 4c79b2
Problem:    Can't build with Ruby 2.0 when using MinGW x64 or MSVC10.
Karsten Hopp 4c79b2
Solution:   Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64.
Karsten Hopp 4c79b2
	    (Ken Takata)
Karsten Hopp 4c79b2
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c
Karsten Hopp 4c79b2
Karsten Hopp 4c79b2
Karsten Hopp 4c79b2
*** ../vim-7.3.847/src/Make_cyg.mak	2013-02-26 14:56:24.000000000 +0100
Karsten Hopp 4c79b2
--- src/Make_cyg.mak	2013-03-07 14:56:29.000000000 +0100
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 229,246 ****
Karsten Hopp 4c79b2
--- 229,254 ----
Karsten Hopp 4c79b2
  ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
Karsten Hopp 4c79b2
  RUBY_PLATFORM = i386-mingw32
Karsten Hopp 4c79b2
  else
Karsten Hopp 4c79b2
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
Karsten Hopp 4c79b2
+ RUBY_PLATFORM = x64-mingw32
Karsten Hopp 4c79b2
+ else
Karsten Hopp 4c79b2
  RUBY_PLATFORM = i386-mswin32
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
+ endif
Karsten Hopp 4c79b2
  
Karsten Hopp 4c79b2
  ifndef RUBY_INSTALL_NAME
Karsten Hopp 4c79b2
  ifeq ($(RUBY_VER), 16)
Karsten Hopp 4c79b2
  RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
  else
Karsten Hopp 4c79b2
+ ifeq ($(ARCH),x86-64)
Karsten Hopp 4c79b2
+ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
+ else
Karsten Hopp 4c79b2
  RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
+ endif
Karsten Hopp 4c79b2
  
Karsten Hopp 4c79b2
  ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
Karsten Hopp 4c79b2
  RUBY_19_OR_LATER = 1
Karsten Hopp 4c79b2
*** ../vim-7.3.847/src/Make_ming.mak	2013-02-26 14:56:24.000000000 +0100
Karsten Hopp 4c79b2
--- src/Make_ming.mak	2013-03-07 14:56:29.000000000 +0100
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 288,305 ****
Karsten Hopp 4c79b2
--- 288,313 ----
Karsten Hopp 4c79b2
  ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
Karsten Hopp 4c79b2
  RUBY_PLATFORM = i386-mingw32
Karsten Hopp 4c79b2
  else
Karsten Hopp 4c79b2
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
Karsten Hopp 4c79b2
+ RUBY_PLATFORM = x64-mingw32
Karsten Hopp 4c79b2
+ else
Karsten Hopp 4c79b2
  RUBY_PLATFORM = i386-mswin32
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
+ endif
Karsten Hopp 4c79b2
  
Karsten Hopp 4c79b2
  ifndef RUBY_INSTALL_NAME
Karsten Hopp 4c79b2
  ifeq ($(RUBY_VER), 16)
Karsten Hopp 4c79b2
  RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
  else
Karsten Hopp 4c79b2
+ ifeq ($(ARCH),x86-64)
Karsten Hopp 4c79b2
+ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
+ else
Karsten Hopp 4c79b2
  RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
  endif
Karsten Hopp 4c79b2
+ endif
Karsten Hopp 4c79b2
  
Karsten Hopp 4c79b2
  ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
Karsten Hopp 4c79b2
  RUBY_19_OR_LATER = 1
Karsten Hopp 4c79b2
*** ../vim-7.3.847/src/if_ruby.c	2013-02-26 13:41:31.000000000 +0100
Karsten Hopp 4c79b2
--- src/if_ruby.c	2013-03-07 14:56:29.000000000 +0100
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 39,44 ****
Karsten Hopp 4c79b2
--- 39,47 ----
Karsten Hopp 4c79b2
   */
Karsten Hopp 4c79b2
  # define rb_cFalseClass		(*dll_rb_cFalseClass)
Karsten Hopp 4c79b2
  # define rb_cFixnum		(*dll_rb_cFixnum)
Karsten Hopp 4c79b2
+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
Karsten Hopp 4c79b2
+ #  define rb_cFloat		(*dll_rb_cFloat)
Karsten Hopp 4c79b2
+ # endif
Karsten Hopp 4c79b2
  # define rb_cNilClass		(*dll_rb_cNilClass)
Karsten Hopp 4c79b2
  # define rb_cSymbol		(*dll_rb_cSymbol)
Karsten Hopp 4c79b2
  # define rb_cTrueClass		(*dll_rb_cTrueClass)
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 249,254 ****
Karsten Hopp 4c79b2
--- 252,260 ----
Karsten Hopp 4c79b2
  static VALUE (*dll_rb_assoc_new) (VALUE, VALUE);
Karsten Hopp 4c79b2
  VALUE *dll_rb_cFalseClass;
Karsten Hopp 4c79b2
  VALUE *dll_rb_cFixnum;
Karsten Hopp 4c79b2
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
Karsten Hopp 4c79b2
+ VALUE *dll_rb_cFloat;
Karsten Hopp 4c79b2
+ #endif
Karsten Hopp 4c79b2
  VALUE *dll_rb_cNilClass;
Karsten Hopp 4c79b2
  static VALUE *dll_rb_cObject;
Karsten Hopp 4c79b2
  VALUE *dll_rb_cSymbol;
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 352,358 ****
Karsten Hopp 4c79b2
  {
Karsten Hopp 4c79b2
      return dll_rb_float_new(d);
Karsten Hopp 4c79b2
  }
Karsten Hopp 4c79b2
! unsigned long rb_num2ulong(VALUE x)
Karsten Hopp 4c79b2
  {
Karsten Hopp 4c79b2
      return (long)RSHIFT((SIGNED_VALUE)(x),1);
Karsten Hopp 4c79b2
  }
Karsten Hopp 4c79b2
--- 358,364 ----
Karsten Hopp 4c79b2
  {
Karsten Hopp 4c79b2
      return dll_rb_float_new(d);
Karsten Hopp 4c79b2
  }
Karsten Hopp 4c79b2
! VALUE rb_num2ulong(VALUE x)
Karsten Hopp 4c79b2
  {
Karsten Hopp 4c79b2
      return (long)RSHIFT((SIGNED_VALUE)(x),1);
Karsten Hopp 4c79b2
  }
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 373,378 ****
Karsten Hopp 4c79b2
--- 379,387 ----
Karsten Hopp 4c79b2
      {"rb_assoc_new", (RUBY_PROC*)&dll_rb_assoc_new},
Karsten Hopp 4c79b2
      {"rb_cFalseClass", (RUBY_PROC*)&dll_rb_cFalseClass},
Karsten Hopp 4c79b2
      {"rb_cFixnum", (RUBY_PROC*)&dll_rb_cFixnum},
Karsten Hopp 4c79b2
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
Karsten Hopp 4c79b2
+     {"rb_cFloat", (RUBY_PROC*)&dll_rb_cFloat},
Karsten Hopp 4c79b2
+ #endif
Karsten Hopp 4c79b2
      {"rb_cNilClass", (RUBY_PROC*)&dll_rb_cNilClass},
Karsten Hopp 4c79b2
      {"rb_cObject", (RUBY_PROC*)&dll_rb_cObject},
Karsten Hopp 4c79b2
      {"rb_cSymbol", (RUBY_PROC*)&dll_rb_cSymbol},
Karsten Hopp 4c79b2
*** ../vim-7.3.847/src/version.c	2013-03-07 14:50:30.000000000 +0100
Karsten Hopp 4c79b2
--- src/version.c	2013-03-07 14:57:03.000000000 +0100
Karsten Hopp 4c79b2
***************
Karsten Hopp 4c79b2
*** 730,731 ****
Karsten Hopp 4c79b2
--- 730,733 ----
Karsten Hopp 4c79b2
  {   /* Add new patch number below this line */
Karsten Hopp 4c79b2
+ /**/
Karsten Hopp 4c79b2
+     848,
Karsten Hopp 4c79b2
  /**/
Karsten Hopp 4c79b2
Karsten Hopp 4c79b2
-- 
Karsten Hopp 4c79b2
`The Guide says there is an art to flying,' said Ford, `or at least a
Karsten Hopp 4c79b2
knack. The knack lies in learning how to throw yourself at the ground
Karsten Hopp 4c79b2
and miss.' He smiled weakly.
Karsten Hopp 4c79b2
		-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
Karsten Hopp 4c79b2
Karsten Hopp 4c79b2
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 4c79b2
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 4c79b2
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 4c79b2
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///