aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 23:18:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 23:18:30 +0000
commit5ac71d9f9e4b413702e53b3c6464c1e249e298be (patch)
tree66de2937670853bca9fadcc801034f3d3635ae37
parentdc960b8729c195dab6e382d762c88cf904e8e0a2 (diff)
downloadruby-5ac71d9f9e4b413702e53b3c6464c1e249e298be.tar.gz
* cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too.
* win32/mkexports.rb (Exports::Cygwin): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--cygwin/GNUmakefile.in8
-rwxr-xr-xwin32/mkexports.rb14
3 files changed, 17 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 1af0bfe29f..06d171fbea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Feb 3 08:18:26 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * cygwin/GNUmakefile.in (RUBYDEF): uses mkexports.rb on cygwin too.
+
+ * win32/mkexports.rb (Exports::Cygwin): added.
+
Tue Feb 3 08:10:23 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (Doxyfile): moved from Makefile.in.
diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in
index f04489603e..eb6967aef5 100644
--- a/cygwin/GNUmakefile.in
+++ b/cygwin/GNUmakefile.in
@@ -69,14 +69,8 @@ endif
$(LIBRUBY_SO): $(RUBYDEF)
-$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG) GNUmakefile
-ifeq (@target_os@,cygwin)
- @NM@ --extern --defined $(LIBRUBY_A) | \
- $(MINIRUBY) -n -e 'BEGIN{puts "VERSION $(MAJOR).$(MINOR)","EXPORTS"}' \
- -e 'if / (?:(T)|[A-Z]) _((?!Init_).*)$$/; puts "#{$$2}#{" DATA" if !$$1}"; end' > $@
-else
+$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG)
$(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)
-endif
clean-local::
@$(RM) $(RUBYDEF)
diff --git a/win32/mkexports.rb b/win32/mkexports.rb
index 4d7eeb57eb..22bb2a1936 100755
--- a/win32/mkexports.rb
+++ b/win32/mkexports.rb
@@ -7,14 +7,14 @@ module RbConfig
end
class Exports
- @subclass = []
+ @@subclass = []
def self.inherited(klass)
- @subclass << [/#{klass.name.sub(/.*::/, '').downcase}/i, klass]
+ @@subclass << [/#{klass.name.sub(/.*::/, '').downcase}/i, klass]
end
def self.create(*args, &block)
platform = RUBY_PLATFORM
- pat, klass = @subclass.find {|p, k| p =~ platform}
+ pat, klass = @@subclass.find {|p, k| p =~ platform}
unless klass
raise ArgumentError, "unsupported platform: #{platform}"
end
@@ -128,7 +128,7 @@ class Exports::Mswin < Exports
end
end
-class Exports::Mingw < Exports
+class Exports::Cygwin < Exports
def self.nm
@@nm ||= RbConfig::CONFIG["NM"]
end
@@ -145,6 +145,12 @@ class Exports::Mingw < Exports
objdump(objs) do |l|
yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_).*)$/ =~ l
end
+ end
+end
+
+class Exports::Mingw < Exports::Cygwin
+ def each_export(objs)
+ super
yield "strcasecmp", "_stricmp"
yield "strncasecmp", "_strnicmp"
end