blob: 1b498f85156d6363b44a5590256fbf0a1c4004d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!./miniruby -s
$:.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)
objs.each do |obj|
opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32"
IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul") do |l|
next unless /(?:PUBDEF|PUBD32|EXPORT)/ =~ l
yield $1 if /'(.*?)'/ =~ l
end
end
yield "_strcasecmp", "_stricmp"
yield "_strncasecmp", "_strnicmp"
end
end
|