[#7055] More on VC++ 2005 — Austin Ziegler <halostatue@...>

Okay. I've got Ruby compiling. I'm attempting to get everything in

17 messages 2006/01/05
[#7058] Re: More on VC++ 2005 — nobuyoshi nakada <nobuyoshi.nakada@...> 2006/01/06

Hi,

[#7084] mathn: ugly warnings — hadmut@... (Hadmut Danisch)

Hi,

22 messages 2006/01/10
[#7097] Re: mathn: ugly warnings — Daniel Berger <Daniel.Berger@...> 2006/01/10

Hadmut Danisch wrote:

[#7098] Design contracts and refactoring (was Re: mathn: ugly warnings) — mathew <meta@...> 2006/01/10

Daniel Berger wrote:

[#7118] Re: Design contracts and refactoring (was Re: mathn: ugly warnings) — mathew <meta@...> 2006/01/12

*Dean Wampler *<deanwampler gmail.com> writes:

[#7226] Fwd: Re: Question about massive API changes — "Sean E. Russell" <ser@...>

Hello,

23 messages 2006/01/28
[#7228] Re: Question about massive API changes — Caleb Tennis <caleb@...> 2006/01/28

>

Re: More on VC++ 2005

From: nobuyoshi nakada <nobuyoshi.nakada@...>
Date: 2006-01-18 07:35:19 UTC
List: ruby-core #7175
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

In This Thread

Prev Next