[m-rev.] diff: more .NET fixes

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Feb 19 17:21:24 AEDT 2003


Estimated hours taken: 1
Branches: main

analysis/Mmakefile:
compiler/Mmakefile:
browser/Mmakefile:
profiler/Mmakefile:
	Add `ils' target, for use by tools/bootcheck.

library/Mmakefile:
	Add a missing dependency to ensure that we build all of the
	`.int*' files for the `il' grade (it was forgetting to build
	`library.int3').
	Also, add a target to build the library as an executable,
	so that you can run PEverify on it (PEverify doesn't
	work properly on multi-file assemblies unless they
	are executables).

Workspace: /home/fjh/ws/hermes
Index: analysis/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/analysis/Mmakefile,v
retrieving revision 1.1
diff -u -d -r1.1 Mmakefile
--- analysis/Mmakefile	2 Jan 2003 06:53:53 -0000	1.1
+++ analysis/Mmakefile	19 Feb 2003 06:08:57 -0000
@@ -88,15 +88,17 @@
 
 #-----------------------------------------------------------------------------#
 
-.PHONY: os cs ss
+.PHONY: os cs ss ils
 ifeq ($(MMAKE_USE_MMC_MAKE),no)
 os: $($(ANALYSIS_LIB_NAME).os)
 cs: $($(ANALYSIS_LIB_NAME).cs)
 ss: $($(ANALYSIS_LIB_NAME).ss)
+ils: $($(ANALYSIS_LIB_NAME).ils)
 else
 os: $(ANALYSIS_LIB_NAME).os
 cs: $(ANALYSIS_LIB_NAME).cs
 ss: $(ANALYSIS_LIB_NAME).ss
+ils: $(ANALYSIS_LIB_NAME).ils
 endif
 
 #-----------------------------------------------------------------------------#
Index: browser/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/browser/Mmakefile,v
retrieving revision 1.27
diff -u -d -r1.27 Mmakefile
--- browser/Mmakefile	5 Feb 2003 14:41:09 -0000	1.27
+++ browser/Mmakefile	19 Feb 2003 06:08:57 -0000
@@ -120,15 +120,17 @@
 
 #-----------------------------------------------------------------------------#
 
-.PHONY: os cs ss
+.PHONY: os cs ss ils
 ifeq ($(MMAKE_USE_MMC_MAKE),no)
 os: $($(BROWSER_LIB_NAME).os)
 cs: $($(BROWSER_LIB_NAME).cs)
 ss: $($(BROWSER_LIB_NAME).ss)
+ils: $($(BROWSER_LIB_NAME).ils)
 else
 os: $(BROWSER_LIB_NAME).os
 cs: $(BROWSER_LIB_NAME).cs
 ss: $(BROWSER_LIB_NAME).ss
+ils: $(BROWSER_LIB_NAME).ils
 endif
 
 #-----------------------------------------------------------------------------#
Index: compiler/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/Mmakefile,v
retrieving revision 1.67
diff -u -d -r1.67 Mmakefile
--- compiler/Mmakefile	15 Feb 2003 23:59:40 -0000	1.67
+++ compiler/Mmakefile	19 Feb 2003 06:08:57 -0000
@@ -281,16 +281,18 @@
 #-----------------------------------------------------------------------------#
 
 # Note that the cs and os targets don't build top_level_init.{c,o}
-.PHONY: os cs ss
+.PHONY: os cs ss ils
 ifeq ($(MMAKE_USE_MMC_MAKE),no)
 os: $($(MC_PROG).os)
 cs: $($(MC_PROG).cs)
 ss: $($(MC_PROG).ss)
+ils: $($(MC_PROG).ils)
 opts: $($(MC_PROG).opts)
 else
 os: $(MC_PROG).os
 cs: $(MC_PROG).cs
 ss: $(MC_PROG).ss
+ils: $(MC_PROG).ils
 opts: $(MC_PROG).opts
 endif
 
Index: library/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/library/Mmakefile,v
retrieving revision 1.107
diff -u -d -r1.107 Mmakefile
--- library/Mmakefile	15 Feb 2003 23:59:41 -0000	1.107
+++ library/Mmakefile	19 Feb 2003 06:08:58 -0000
@@ -200,7 +200,7 @@
 # The ilc and il grades target Microsoft's .NET frameworks.  
 ifeq ($(findstring il,$(GRADE)),il)        
 
-lib_std: mercury.dll
+lib_std: mercury.dll lib$(STD_LIB_NAME)
 
 # We have to hardcode the names of the runtime DLL files.
 RUNTIME_DLLS=mercury_mcpp.dll mercury_il.dll
@@ -225,6 +225,15 @@
 mercury.dll: $($(STD_LIB_NAME).dlls) $($(STD_LIB_NAME).foreign_dlls) \
 		$(RUNTIME_DLLS) library_strong_name.sn
 	$(MS_AL) -v:0.0.0.0 -keyf:library_strong_name.sn -out:mercury.dll \
+		$($(STD_LIB_NAME).dlls) $($(STD_LIB_NAME).foreign_dlls) \
+		$(RUNTIME_DLLS) 
+
+# This is useful for running PEverify on the library.
+# For multi-file assemblies, PEverify only works on executables,
+# not on libraries.
+mercury_exe.exe: $($(STD_LIB_NAME).dlls) $($(STD_LIB_NAME).foreign_dlls) \
+		$(RUNTIME_DLLS) library_strong_name.sn
+	$(MS_AL) -v:0.0.0.0 -keyf:library_strong_name.sn -out:mercury_exe.exe \
 		$($(STD_LIB_NAME).dlls) $($(STD_LIB_NAME).foreign_dlls) \
 		$(RUNTIME_DLLS) 
 
Index: profiler/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/profiler/Mmakefile,v
retrieving revision 1.23
diff -u -d -r1.23 Mmakefile
--- profiler/Mmakefile	15 Feb 2003 23:59:41 -0000	1.23
+++ profiler/Mmakefile	19 Feb 2003 06:08:58 -0000
@@ -65,9 +65,11 @@
 
 #-----------------------------------------------------------------------------#
 
-.PHONY: os cs
+.PHONY: os cs ss ils
 os: $(mercury_profile.os) $(os_subdir)mercury_profile_init.o
 cs: $(mercury_profile.cs) $(cs_subdir)mercury_profile_init.c
+ss: $(mercury_profile.ss)
+ils: $(mercury_profile.ils)
 
 #-----------------------------------------------------------------------------#
 

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list