[#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-06 04:56:35 UTC
List: ruby-core #7064
Hi,

At Fri, 6 Jan 2006 12:42:54 +0900,
U.Nakamura wrote in [ruby-core:07063]:
> | > | Is .manifest file really mandatory?  I don't know how it is
> | > | used, but /manifest:no linker option seems to suppress making
> | > | it.
> | > 
> | > http://msdn2.microsoft.com/en-us/library/ms235624.aspx
> | 
> | I see.  Is it true for .so files?
> 
> It seems that DLL does not need .manifest if base .exe uses
> same .manifest .
> So, in this case, we will have to create only ruby.exe.manifest
> and rubyw.exe.manifest .

OK, Makefile.sub only.  Since the format of config.status
disallow multiline entries, it's hard to change LINK_SO.


Makefile.sub	6 Jan 2006 04:07:57 -0000
@@ -126,5 +126,8 @@ CXXFLAGS = $(CFLAGS)
 !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)
@@ -153,4 +156,10 @@ DLDFLAGS = $(LDFLAGS) -dll
 SOLIBS = 
 
+!if $(MSC_VER) >= 1400
+DLDFLAGS = $(DLDFLAGS) -manifest:no
+EMBED_MANIFEST_IN_EXE = mt -nologo -manifest $@.manifest -outputresource:$@;1
+EMBED_MANIFEST_IN_DLL = mt -nologo -manifest $@.manifest -outputresource:$@;2
+!endif
+
 LIBRUBY_LDSHARED = $(LDSHARED)
 LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF)
@@ -210,5 +219,5 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/
 	@$(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
@@ -448,8 +457,10 @@ miniruby$(EXEEXT):
 		@echo. $(LIBS)
 		$(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) -Fe$@ $(LDFLAGS)
+		$(EMBED_MANIFEST_IN_EXE)
 
 $(PROGRAM):	$(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
 		$(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \
 			$(OUTFLAG)$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS)
+		$(EMBED_MANIFEST_IN_EXE)
 
 $(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
@@ -457,4 +468,5 @@ $(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(
 			$(RUBYW_INSTALL_NAME).res $(OUTFLAG)$@ $(LIBRUBYARG) \
 			$(LDFLAGS) $(XLDFLAGS) -subsystem:Windows
+		$(EMBED_MANIFEST_IN_EXE)
 
 $(LIBRUBY_A):	$(OBJS) $(DMYEXT)
@@ -469,4 +481,5 @@ $(LIBRUBY):	$(RUBYDEF)
 			$(RUBY_SO_NAME).res $(LIBS) -Fe$@ $(LDFLAGS) \
 			$(LIBRUBY_DLDFLAGS)
+		$(EMBED_MANIFEST_IN_DLL)
 
 $(RUBYDEF):	$(LIBRUBY_A) $(PREP)


-- 
Nobu Nakada

In This Thread