summaryrefslogtreecommitdiff
path: root/win32/mkexports.rb
diff options
context:
space:
mode:
authorwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-23 09:59:38 +0000
committerwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-23 09:59:38 +0000
commitd06f38c6b9e72bcd7539c31e8ee4ae8833d383a4 (patch)
tree69cb0f1a2b9bf8957f8159e2f47b1d9587cd43ac /win32/mkexports.rb
parente1819967a85e90d03f3676c5f4edd274bf970382 (diff)
* tool/config.sub: add mingw64.
* win32/mkexports.rb (Exports::Mingw64): added. * win32/mkexports.rb (Exports::Mingw32): renamed from Exports::Mingw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32/mkexports.rb')
-rwxr-xr-xwin32/mkexports.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/win32/mkexports.rb b/win32/mkexports.rb
index e96f9339d0..86ba979ddf 100755
--- a/win32/mkexports.rb
+++ b/win32/mkexports.rb
@@ -149,7 +149,7 @@ class Exports::Cygwin < Exports
end
end
-class Exports::Mingw < Exports::Cygwin
+class Exports::Mingw32 < Exports::Cygwin
def each_export(objs)
super
yield "strcasecmp", "_stricmp"
@@ -157,6 +157,17 @@ class Exports::Mingw < Exports::Cygwin
end
end
+class Exports::Mingw64 < Exports::Cygwin
+ def each_export(objs)
+ objdump(objs) do |l|
+ next if /@.*@/ =~ l
+ yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_?((?!Init_|.*_threadptr_|DllMain[@\n]).*)$/ =~ l
+ end
+ yield "strcasecmp", "_stricmp"
+ yield "strncasecmp", "_strnicmp"
+ end
+end
+
END {
exports = Exports.extract(ARGV)
Exports.output {|f| f.puts(*exports)}