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

Tyson Dowd trd at cs.mu.OZ.AU
Mon Jul 23 19:51:36 AEST 2001


On 23-Jul-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 17-Jul-2001, Peter Ross <peter.ross at miscrit.be> wrote:
> >     
> > 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.
> 
> It's good that the fixed limit has been removed, but what's the advantage of
> using the individual library dlls directly rather than using mercury_all.dll?

This gives us better separate compilation.
ilasm takes forever to assembly all the il files on my laptop.

We are not currenly getting any advantage from the mercury_all.dll
workaround, so until we do I'd prefer to stay with the simpler system
that is more like the compilation model we use for all other Mercury
modules.

> > Index: library/Mmakefile
> > +.PHONY: install_gac
> > +install_gac: mercury.dll
> > +	gacutil -i mercury.dll
> 
> It would be helpful to have some comments here explaining what
> "gac" means and what "gacutil -i" does.

Ok, that's a good idea.

(see below)

> Why is it that only mercury.dll gets installed into the GAC?
> Don't we also need to install the other DLLs into the GAC too?

mercury.dll is the assembly, the other DLLs are not assemblies.
They are simply referenced from mercury.dll.

Installing mercury.dll will also suck in all the other DLLs in to the 
GAC too.


Here's the patch for the documentation, I'll commit it now.

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


Estimated hours taken: 0.1
Branches: main

library/Mmakefile:
	Add a comment about the GAC.


Index: library/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/library/Mmakefile,v
retrieving revision 1.73
diff -u -r1.73 Mmakefile
--- library/Mmakefile	2001/07/18 16:02:28	1.73
+++ library/Mmakefile	2001/07/23 09:49:52
@@ -333,6 +333,9 @@
 	cp `vpath_find $(library.foreign_dlls) $(library.dlls) \
 		mercury.dll` $(INSTALL_MERC_LIB_DIR)
 
+# The GAC is the global assembly cache, which is the system managed
+# place to put .NET assemblies.
+# gacutil installs (and uninstalls) DLLs from the GAC.
 .PHONY: install_gac
 install_gac: mercury.dll
 	gacutil -i mercury.dll


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