4
STDIN.reopen(open("nul"))
6
IO.foreach("|tdump -q -oiPUBDEF -oiPUBD32 #{obj.tr('/', '\\')}") do |l|
7
next unless /(?:PUBDEF|PUBD32)/ =~ l
8
SYM[$1] = true if /'(.*?)'/ =~ l
14
exports << "Name " + $name
16
exports << "Library " + $library
18
exports << "Description " + $description.dump if $description
19
exports << "EXPORTS" << SYM.keys.sort
22
open($output, 'w') {|f| f.puts exports.join("\n")}
24
puts exports.join("\n")
3
$:.unshift(File.expand_path("../..", __FILE__))
4
require 'win32/mkexports'
6
class Exports::Bcc < Exports
7
Forwards = /^rb_w32_(\w+)/
9
def forwarding(internal, export)
10
internal[/\A_?/]+export
15
opt = /\.(?:so|dll)\z/i =~ obj ? "-ee" : "-oiPUBDEF -oiPUBD32"
16
IO.foreach("|tdump -q #{opt} #{obj.tr('/', '\\')} < nul") do |l|
17
next unless /(?:PUBDEF|PUBD32|EXPORT)/ =~ l
18
yield $1 if /'(.*?)'/ =~ l
21
yield "_strcasecmp", "_stricmp"
22
yield "_strncasecmp", "_strnicmp"