Hi, At Wed, 18 Jan 2006 14:59:54 +0900, Austin Ziegler wrote in [ruby-core:07174]: > Is this against 1.9 or 1.8.4? 1.9. The patch for 1.8 is attached.
Index: mkconfig.rb =================================================================== RCS file: /cvs/ruby/src/ruby/mkconfig.rb,v retrieving revision 1.33.2.4 diff -U2 -p -r1.33.2.4 mkconfig.rb --- mkconfig.rb 10 Nov 2005 23:22:03 -0000 1.33.2.4 +++ mkconfig.rb 18 Jan 2006 07:26:50 -0000 @@ -42,7 +42,8 @@ File.foreach "config.status" do |line| ptn = $1.sub(/\$\$/, '$').split(/,/) #' v_fast << " CONFIG[\"ruby_install_name\"] = \"" + "ruby".sub(/#{ptn[0]}/,ptn[1]) + "\"\n" - elsif /^s[%,]@(\w+)@[%,](.*)[%,]/ =~ line - name = $1 - val = $2 || "" + elsif /^s([%,])@(\w+)@\1(.*)\1/ =~ line + extend = $1 + name = $2 + val = $3 || "" next if /^(?:ac_.*|DEFS|configure_input)$/ =~ name next if /^\$\(ac_\w+\)$/ =~ val @@ -51,6 +52,7 @@ File.foreach "config.status" do |line| next if $install_name and /^RUBY_INSTALL_NAME$/ =~ name next if $so_name and /^RUBY_SO_NAME$/ =~ name - v = " CONFIG[\"" + name + "\"] = " + - val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump + "\n" + val.gsub!(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&} + val = /%/ =~ extend ? "\"#{val}\"" : val.dump + v = " CONFIG[\"#{name}\"] = #{val}\n" if fast[name] v_fast << v Index: lib/mkmf.rb =================================================================== RCS file: /cvs/ruby/src/ruby/lib/mkmf.rb,v retrieving revision 1.162.2.47 diff -U2 -p -r1.162.2.47 mkmf.rb --- lib/mkmf.rb 28 Nov 2005 00:22:53 -0000 1.162.2.47 +++ lib/mkmf.rb 18 Jan 2006 07:28:44 -0000 @@ -994,4 +994,9 @@ preload = #{$preload.join(" ") if $prelo end end + config_string('SYSDEP_CONFS') do |s| + for x in s.split + config_string(x) {|s| mk << "#{x} = #{s}\n"} + end + end mk end @@ -1180,8 +1185,8 @@ site-install-rb: install-rb mfile.print "$(RUBYARCHDIR)/" if $extout - mfile.print "$(DLLIB): ", (makedef ? "$(DEFFILE) " : ""), "$(OBJS)\n\t" - mfile.print "@-$(RM) $@\n\t" - mfile.print "@-$(MAKEDIRS) $(@D)\n\t" if $extout - mfile.print LINK_SO, "\n\n" + mfile.print "$(DLLIB): ", (makedef ? "$(DEFFILE) " : ""), "$(OBJS)\n" + mfile.print "\t@-$(RM) $@\n" + mfile.print "\t@-$(MAKEDIRS) $(@D)\n" if $extout + mfile.print LINK_SO.gsub(/^\s*/, "\t"), "\n\n" unless $static.nil? mfile.print "$(STATIC_LIB): $(OBJS)\n\t" Index: win32/Makefile.sub =================================================================== RCS file: /cvs/ruby/src/ruby/win32/Makefile.sub,v retrieving revision 1.59.2.31 diff -U2 -p -r1.59.2.31 Makefile.sub --- win32/Makefile.sub 17 Jan 2006 02:11:32 -0000 1.59.2.31 +++ win32/Makefile.sub 18 Jan 2006 07:30:24 -0000 @@ -120,5 +120,8 @@ CFLAGS = -MD $(DEBUGFLAGS) $(OPTFLAGS) $ !endif !if !defined(LDFLAGS) -LDFLAGS = -link -incremental:no -debug -opt:ref -opt:icf +LDFLAGS = -link -incremental:no -opt:ref -opt:icf +!if $(MSC_VER) < 1400 +LDFLAGS = $(LDFLAGS) -debug +!endif !endif !if !defined(XLDFLAGS) @@ -138,4 +141,5 @@ CC = $(CC) -nologo LD = $(CC) LDSHARED = $(LD) -LD +LINK_SO = $$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS) XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing !if $(MSC_VER) >= 1400 @@ -147,4 +151,12 @@ DLDFLAGS = $(LDFLAGS) -dll SOLIBS = +!if $(MSC_VER) >= 1400 +MANIFESTTOOL = mt -nologo +EMBED_MANIFEST_EXE = $(MANIFESTTOOL) -manifest $@.manifest -outputresource:$@;1 +EMBED_MANIFEST_DLL = $(MANIFESTTOOL) -manifest $@.manifest -outputresource:$@;2 +LINK_SO = $(LINK_SO)\n$$(EMBED_MANIFEST_DLL)\n@$$(RM) $$(@).manifest +sysdep_confs = $(sysdep_confs) MANIFESTTOOL EMBED_MANIFEST_EXE EMBED_MANIFEST_DLL +!endif + LIBRUBY_LDSHARED = $(LDSHARED) LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF) @@ -197,5 +209,5 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/ @$(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat config.h << #if _MSC_VER != $(MSC_VER) -#error MSC version unmatch +#error MSC version unmatch: configured for $(MSC_VER) #endif #define STDC_HEADERS 1 @@ -391,5 +403,12 @@ s,@LIBPATHFLAG@, -libpath:"%s",;t t s,@RPATHFLAG@,,;t t s,@LIBARG@,%s.lib,;t t -s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t +!if defined(EMBED_MANIFEST_DLL) +s,@MANIFESTTOOL@,$(MANIFESTTOOL),;t t +s,@EMBED_MANIFEST_EXE@,$$(MANIFESTTOOL) -manifest $$(@).manifest -outputresource:$$(@);1,;t t +s,@EMBED_MANIFEST_DLL@,$$(MANIFESTTOOL) -manifest $$(@).manifest -outputresource:$$(@);2,;t t +s%@LINK_SO@%$(LINK_SO:$@=$$@)%;t t +!else +s,@LINK_SO@,$(LINK_SO),;t t +!endif s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t @@ -409,4 +428,5 @@ s,@configure_input@,$$configure_input,;t s,@srcdir@,$(srcdir),;t t s,@top_srcdir@,$(srcdir),;t t +s,@SYSDEP_CONFS@,$(sysdep_confs),;t t <<KEEP @@ -414,8 +434,10 @@ miniruby$(EXEEXT): @echo. $(LIBS) $(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) -Fe$@ $(LDFLAGS) + $(EMBED_MANIFEST_EXE) $(PROGRAM): $(RUBY_INSTALL_NAME).res $(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \ $(OUTFLAG)$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS) + $(EMBED_MANIFEST_EXE) $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res @@ -423,4 +445,5 @@ $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $( $(RUBYW_INSTALL_NAME).res $(OUTFLAG)$@ $(LIBRUBYARG) \ $(LDFLAGS) $(XLDFLAGS) -subsystem:Windows + $(EMBED_MANIFEST_EXE) $(LIBRUBY_A): $(OBJS) $(DMYEXT) @@ -435,4 +458,5 @@ $(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $ $(RUBY_SO_NAME).res $(LIBS) -Fe$@ $(LDFLAGS) \ $(LIBRUBY_DLDFLAGS) + $(EMBED_MANIFEST_DLL) $(RUBYDEF): $(LIBRUBY_A) $(PREP)
-- Nobu Nakada