summaryrefslogtreecommitdiff
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
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
-rw-r--r--ChangeLog8
-rwxr-xr-xtool/config.sub6
-rwxr-xr-xwin32/mkexports.rb13
3 files changed, 25 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e030dfa0f7..d661b1f453 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Sep 23 18:54:39 2010 wanabe <s.wanabe@gmail.com>
+
+ * tool/config.sub: add mingw64.
+
+ * win32/mkexports.rb (Exports::Mingw64): added.
+
+ * win32/mkexports.rb (Exports::Mingw32): renamed from Exports::Mingw.
+
Thu Sep 23 09:01:28 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_cref_push): no outer cref is needed for proc
diff --git a/tool/config.sub b/tool/config.sub
index a39437d015..0e1ffea92d 100755
--- a/tool/config.sub
+++ b/tool/config.sub
@@ -723,6 +723,10 @@ case $basic_machine in
basic_machine=i386-pc
os=-mingw32
;;
+ mingw64)
+ basic_machine=i386-pc
+ os=-mingw64
+ ;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
@@ -1276,7 +1280,7 @@ case $os in
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -mingw64* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
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)}