こんにちは、なかむら(う)です。

In message "[ruby-dev:25535] Re: merge tcltklib and tk"
    on Jan.26,2005 11:29:00, <usa / garbagecollect.jp> wrote:
| うーん、mkmf.rbから手を入れないとどうしようもなさそうです。

とか言いつつ、やっぱりmake自体が通らないのは不便なので、汚く
どうにかしてみました。
他プラットフォームへの副作用とかは未確認です。

Index: ext/tk/extconf.rb =================================================================== RCS file: /home/cvs/ruby/ext/tk/extconf.rb,v retrieving revision 1.5 diff -u -1 -p -r1.5 extconf.rb --- ext/tk/extconf.rb 25 Jan 2005 14:31:44 -0000 1.5 +++ ext/tk/extconf.rb 26 Jan 2005 02:54:48 -0000 @@ -309,3 +309,8 @@ if mac_need_framework || - 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" @@ -313,8 +318,3 @@ if mac_need_framework || - 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 @@ -322,8 +322,17 @@ if mac_need_framework || 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" + + 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\n\n" + mk_tkutil << "\n"
それでは。 -- U.Nakamura <usa / garbagecollect.jp>