aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/extconf.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-26 03:49:26 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-26 03:49:26 +0000
commite7d56fde5f0a55cc7d0da6196626f90e70cadc1a (patch)
treec252395da67b6f601aa93f90ed730c0a04311644 /ext/tk/extconf.rb
parentd635cd73a5ace8cca7524be84f7d27179e29e16c (diff)
downloadruby-e7d56fde5f0a55cc7d0da6196626f90e70cadc1a.tar.gz
* ext/tk/extconf.rb: support new tk scheme on mswin32.
fixed: [ruby-dev:25535] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/extconf.rb')
-rw-r--r--ext/tk/extconf.rb33
1 files changed, 21 insertions, 12 deletions
diff --git a/ext/tk/extconf.rb b/ext/tk/extconf.rb
index 48c777e0d5..919ce92c0c 100644
--- a/ext/tk/extconf.rb
+++ b/ext/tk/extconf.rb
@@ -307,25 +307,34 @@ if mac_need_framework ||
mk_tkutil << CLEANINGS.sub(/\$\(CLEANLIBS\)/, "$(CLEANLIBS) $(CLEANLIBS2)")
mk_tkutil << "\n\n"
- mk_tkutil << "$(DLLIB2): $(OBJS2)\n\t"
+ DLDFLAGS2 = "#$LDFLAGS #$DLDFLAGS #$ARCH_FLAG".gsub(/\$\(DEFFILE\)/, '$(DEFFILE2)')
+ mk_tkutil << "DLDFLAGS2 = #{DLDFLAGS2}\n"
+ mk_tkutil << "DEFFILE2 = $(TARGET2)-$(arch).def\n" if EXPORT_PREFIX
+ mk_tkutil << "\n"
+
+ mk_tkutil << "$(DLLIB2): #{EXPORT_PREFIX ? '$(DEFFILE2) ':''}$(OBJS2)\n\t"
mk_tkutil << "@-$(RM) $@\n\t"
mk_tkutil << "@-$(RM) $(TARGET2).lib\n\t" if $mswin
- LINK_SO2 = if CONFIG["DLEXT"] == $OBJEXT
- "ld $(DLDFLAGS) -r -o $(DLLIB2) $(OBJS2)\n"
- else
- "$(LDSHARED) $(DLDFLAGS) $(LIBPATH) #{OUTFLAG}$(DLLIB2) " \
- "$(OBJS2) $(LOCAL_LIBS) $(LIBS)"
- end
+ LINK_SO2 = LINK_SO.gsub(/\$\(DLLIB\)/, '$(DLLIB2)').gsub(/\$\(OBJS\)/, '$(OBJS2)').gsub(/\$\(DLDFLAGS\)/, '$(DLDFLAGS2)')
mk_tkutil << LINK_SO2
mk_tkutil << "\n\n"
- mk_tkutil << "$(STATIC_LIB2): $(OBJS2)\n\t"
- mk_tkutil << "$(AR) #{config_string('ARFLAGS') || 'cru '}$@ $(OBJS2)"
- if ranlib = config_string('RANLIB')
- mk_tkutil << "\n\t@-#{ranlib} $(DLLIB2) 2> /dev/null || true"
+ unless $static.nil?
+ mk_tkutil << "$(STATIC_LIB2): $(OBJS2)\n\t"
+ mk_tkutil << "$(AR) #{config_string('ARFLAGS') || 'cru '}$@ $(OBJS2)"
+ if ranlib = config_string('RANLIB')
+ mk_tkutil << "\n\t@-#{ranlib} $(DLLIB2) 2> /dev/null || true"
+ end
end
- mk_tkutil << "\n\n\n"
+ mk_tkutil << "\n\n"
+
+ if EXPORT_PREFIX
+ mk_tkutil << "$(DEFFILE2):\n"
+ mk_tkutil << %Q!\t$(RUBY) -e "puts 'EXPORTS', 'Init_$(TARGET2)'" > $@\n!
+ mk_tkutil << "\n\n"
+ end
+ mk_tkutil << "\n"
mk_tkutil << "install: $(RUBYARCHDIR)/$(DLLIB2)\n"
mk_tkutil << "$(RUBYARCHDIR)/$(DLLIB2): $(DLLIB2) $(RUBYARCHDIR)\n"