diff options
Diffstat (limited to 'bcc32/mkexports.rb')
-rwxr-xr-x | bcc32/mkexports.rb | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb index 1b498f8515..888ab2e2a6 100755 --- a/bcc32/mkexports.rb +++ b/bcc32/mkexports.rb @@ -4,19 +4,21 @@ $:.unshift(File.expand_path("../..", __FILE__)) require 'win32/mkexports' class Exports::Bcc < Exports - Forwards = /^rb_w32_(\w+)/ - def forwarding(internal, export) internal[/\A_?/]+export end - def each_export(objs) + def each_line(objs, &block) objs.each do |obj| - opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32" - IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul") do |l| + opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32" + IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul", &block) + end + end + + def each_export(objs) + objdump(objs) do |l| next unless /(?:PUBDEF|PUBD32|EXPORT)/ =~ l - yield $1 if /'(.*?)'/ =~ l - end + yield $1 if /'(.*?)'/ =~ l end yield "_strcasecmp", "_stricmp" yield "_strncasecmp", "_strnicmp" |