[m-rev.] Re: for review: install the ILC grade

Peter Ross peter.ross at miscrit.be
Wed Jul 18 02:59:28 AEST 2001


Hi,

Here it is.


===================================================================


Estimated hours taken: 2.5
Branches: main

Fix mmake rules to install the ilc grade.

Mmakefile:
    Run the install command in the runtime directory so that the
    install_header command is run for the ilc target.
    
library/Mmakefile:
    No longer build mercury_all.dll, instead just use the individual
    library dlls directly as the fixed limit in gacutil has been
    removed.
    Install mercury.dll in the gac.

scripts/Mmake.vars.in:
    Set the location of the mercury library DLLs correctly.


Index: Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/Mmakefile,v
retrieving revision 1.68
diff -u -r1.68 Mmakefile
--- Mmakefile	9 Jul 2001 04:58:49 -0000	1.68
+++ Mmakefile	17 Jul 2001 16:34:09 -0000
@@ -424,7 +424,7 @@
 		  $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade GC_GRADE=$$gc_grade \
 		  	install_lib ) && \
 		( cd runtime && \
-		  $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade install_lib ) && \
+		  $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade install ) && \
 		( cd library && \
 		  $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade depend && \
 		  $(SUBDIR_MMAKE) MC=mmc GRADE=$$grade install_hdrs && \
Index: library/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/library/Mmakefile,v
retrieving revision 1.71
diff -u -r1.71 Mmakefile
--- library/Mmakefile	17 Jul 2001 15:40:38 -0000	1.71
+++ library/Mmakefile	17 Jul 2001 16:34:12 -0000
@@ -189,13 +189,11 @@
 
 #-----------------------------------------------------------------------------#
 
-.PHONY: os cs ss ils library.dlls dlls
+.PHONY: os cs ss ils 
 os: $(library.os)
 cs: $(library.cs)
 ss: $(library.ss)
 ils: $(library.ils)
-library.dlls = $(library.mods:%=%.dll)
-dlls: $(library.dlls)
 
 #-----------------------------------------------------------------------------#
 
@@ -204,7 +202,7 @@
 # The ilc and il grades target Microsoft's .NET frameworks.  
 ifeq ($(findstring il,$(GRADE)),il)        
 
-lib_std: dlls mercury.dll
+lib_std: mercury.dll
 
 # Instead of generating UNIX style libraries, we general a bunch of
 # DLLs.  We have to hardcode the names of the C code files and the
@@ -214,7 +212,6 @@
 # Turn this on if you wish to enable .NET debugging.
 #MS_ILASMFLAGS = /debug
 
-
 # If you do generate a new strong name, you had better update
 # compiler/mlds_to_il.m to generate references to it.  It is also hard-coded
 # in runtime/mercury_il.il.
@@ -223,13 +220,10 @@
 library_strong_name.sn:
 	sn -k library_strong_name.sn
 
-$(os_subdir)mercury_all.dll : $(library.ils)
-	rm -f $@
-	$(MS_ILASM) $(ALL_MS_ILASMFLAGS) /dll /quiet /OUT=$@ $(library.ils)
-
-mercury.dll: mercury_all.dll $(library.foreign_dlls) library_strong_name.sn
+mercury.dll: $(library.dlls) $(library.foreign_dlls) library_strong_name.sn
 	cp $(RUNTIME_DLLS) .
-	$(MS_AL) -v:0.0.0.0 -keyf:library_strong_name.sn -out:mercury.dll mercury_all.dll $(library.foreign_dlls) $(RUNTIME_DLLS) 
+	$(MS_AL) -v:0.0.0.0 -keyf:library_strong_name.sn -out:mercury.dll \
+		$(library.dlls) $(library.foreign_dlls) $(RUNTIME_DLLS) 
 
 else
 
@@ -335,9 +329,13 @@
 ifneq (,$(findstring il,$(GRADE)))
 
 .PHONY: install_library
-install_library: $(library.dlls) $(library.foreign_dlls) install_grade_dirs
-	cp `vpath_find $(library.dlls) $(library.foreign_dlls) mercury.dll` \
-		$(INSTALL_MERC_LIB_DIR)
+install_library: mercury.dll install_grade_dirs install_gac
+	cp `vpath_find $(library.foreign_dlls) mercury_all.dll \
+		mercury.dll` $(INSTALL_MERC_LIB_DIR)
+
+.PHONY: install_gac
+install_gac: mercury.dll
+	gacutil -i mercury.dll
 	
 else
 
Index: scripts/Mmake.vars.in
===================================================================
RCS file: /home/mercury1/repository/mercury/scripts/Mmake.vars.in,v
retrieving revision 1.50
diff -u -r1.50 Mmake.vars.in
--- scripts/Mmake.vars.in	17 Jul 2001 08:56:32 -0000	1.50
+++ scripts/Mmake.vars.in	17 Jul 2001 16:34:12 -0000
@@ -159,7 +159,7 @@
 # The system libraries were once needed here, but are currently unnecessary.
 MS_CL_LIBS	= 
 MERC_C_INCL_DIR = @LIBDIR@/inc
-MERC_DLL_DIR    = @LIBDIR@/inc
+MERC_DLL_DIR    = @LIBDIR@/lib/ilc/@FULLARCH@
 
 # MS_ILASM is the Microsoft IL assembler, which turns IL assembly code
 # into bytecode.

--------------------------------------------------------------------------
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