ruby-changes:21830
From: nobu <ko1@a...>
Date: Mon, 28 Nov 2011 12:15:46 +0900 (JST)
Subject: [ruby-changes:21830] nobu:r33879 (trunk): * win32/mkexports.rb (Exports#read_substitution): need to read
nobu 2011-11-28 12:15:31 +0900 (Mon, 28 Nov 2011) New Revision: 33879 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33879 Log: * win32/mkexports.rb (Exports#read_substitution): need to read from subst.h too. [Bug #5675] Modified files: trunk/ChangeLog trunk/win32/mkexports.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 33878) +++ ChangeLog (revision 33879) @@ -1,3 +1,8 @@ +Mon Nov 28 12:15:28 2011 Nobuyoshi Nakada <nobu@r...> + + * win32/mkexports.rb (Exports#read_substitution): need to read + from subst.h too. [Bug #5675] + Mon Nov 28 11:46:35 2011 NAKAMURA Usaku <usa@r...> * io.c (rb_io_flush): release GVL during fsync() on Windows. Index: win32/mkexports.rb =================================================================== --- win32/mkexports.rb (revision 33878) +++ win32/mkexports.rb (revision 33879) @@ -41,8 +41,17 @@ syms[internal] = export winapis[$1] = internal if /^_?(rb_w32_\w+)(?:@\d+)?$/ =~ internal end - win32h = File.join(File.dirname(File.dirname(__FILE__)), "include/ruby/win32.h") - IO.foreach(win32h) do |line| + incdir = File.join(File.dirname(File.dirname(__FILE__)), "include/ruby") + read_substitution(incdir+"/win32.h", syms, winapis) + read_substitution(incdir+"/subst.h", syms, winapis) + syms["NtInitialize"] ||= "ruby_sysinit" if syms["ruby_sysinit"] + syms["rb_w32_vsnprintf"] ||= "ruby_vsnprintf" + syms["rb_w32_snprintf"] ||= "ruby_snprintf" + @syms = syms + end + + def read_substitution(header, syms, winapis) + IO.foreach(header) do |line| if /^#define (\w+)\((.*?)\)\s+(?:\(void\))?(rb_w32_\w+)\((.*?)\)\s*$/ =~ line and $2.delete(" ") == $4.delete(" ") export, internal = $1, $3 @@ -51,10 +60,6 @@ end end end - syms["NtInitialize"] ||= "ruby_sysinit" if syms["ruby_sysinit"] - syms["rb_w32_vsnprintf"] ||= "ruby_vsnprintf" - syms["rb_w32_snprintf"] ||= "ruby_snprintf" - @syms = syms end def exports(name = $name, library = $library, description = $description) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/