summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--enc/depend1
-rw-r--r--lib/mkmf.rb4
-rw-r--r--win32/Makefile.sub1
4 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8fa198c6b9..3336c6603b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Mar 3 00:04:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * enc/depend (CPPFLAGS), lib/mkmf.rb (MakeMakefile#create_makefile):
+ define RUBY_EXPORT for static-linked-ext mswin. [Bug #7960]
+
Sat Mar 2 22:49:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/Makefile.sub (EXTOBJS, EXTOBJS, config.h): definitions for
diff --git a/enc/depend b/enc/depend
index 014fc4f584..56bf487a25 100644
--- a/enc/depend
+++ b/enc/depend
@@ -12,6 +12,7 @@
% transvpath_prefix = (rule_subst.dup.sub!(/\{[^{}]+\}/, '{$(TRANSVPATH)}') || "%s") % ""
% CONFIG['ARFLAGS'] = 'rcu ' if (CONFIG['ARFLAGS'] || "").empty?
% CONFIG['RANLIB'] = ':' if (CONFIG['RANLIB'] || "").empty?
+% CONFIG['CPPFLAGS'] += " -DRUBY_EXPORT=1" if CONFIG["EXTSTATIC"] == "static"
% if File::ALT_SEPARATOR
% pathrep = proc {|path| path.gsub('/', File::ALT_SEPARATOR).gsub(/\$\(([@<?*]\w?|\w+)\)/, "$(\\1:/=\\#{File::ALT_SEPARATOR})")}
% else
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index b745b79823..dcf1de4242 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -2106,6 +2106,10 @@ RULES
$distcleandirs.concat($INSTALLFILES.collect {|files, dir| dir})
end
+ if $extmk and $static
+ $defs << "-DRUBY_EXPORT=1"
+ end
+
if $extmk and not $extconf_h
create_header
end
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index d3d6a83e0a..e3b4bf11a9 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -944,6 +944,7 @@ $(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
$(Q) $(LDSHARED_0)
$(Q) $(LDSHARED_1)
$(Q) $(LDSHARED_2)
+# | findstr -v -c:LNK4049 -c:LNK4217
$(RUBYDEF): $(LIBRUBY_A) $(PREP)
$(ECHO) generating $(@:\=/)