diff options
Diffstat (limited to 'win32/mkexports.rb')
-rwxr-xr-x | win32/mkexports.rb | 13 |
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)} |