[Mono-devel-list] The arrival of the GAC

Martin Baulig martin at ximian.com
Sat Apr 3 18:20:42 EST 2004

On Sat, 2004-04-03 at 12:48, Miguel de Icaza wrote:
> 	  I think we need to "stage" this build: 
> 		* build .NET 1.1 mcs/mscorlib 
> 		* use mcs to build mscorlib with "reflection.emit"
> 	  	  support for generics (mscorlib-genreflection.dll)
> 		* use mcs and the mscorlib-genreflection.dll to build
> 	  	  gmcs.

We may be able to skip one stage by using a little trick:

	* mcs itself doesn't require a .NET 1.2 corlib in order to build
	  gmcs - but gmcs references stuff in that .NET 1.2 corlib.

	* So I think the trick is to build gmcs after building corlib
	  and making it use the new corlib.

This'd allow us having a `net_1_2' (or however we call it) profile,
which'll create a corlib with the "reflection.emit" stuff in it (but
without S.C.G) and also gmcs.

> 		* use gmcs and mscorlib-genreflection.dll to build the
> 		  full mscorlib 2.0 that includes the
> 		  System.Collections.Generics.
> 	  We should have a full process that bootstraps the NET_2_0
> 	  profile for sanity purposes. 

Long-term (in 1-2 months from now), I would like to use generics inside
gmcs - and at this point, we'll ship a binary-only gmcs-bootstrap.exe
(which can be the current gmcs compiled with mcs, or the new gmcs
compiled with csc) and then bootstrapping will look somehow like this:

	* get a corlib containing the "reflection.emit" stuff somehow
	  (either by compiling it with mcs or by using a binary)

	* use the binary-only gmcs-bootstrap.exe to compile gmcs.

	* use gmcs to compile corlib that includes S.C.G.

Martin Baulig <martin at ximian.com>
Now blogging !  http://primates.ximian.com/~martin/blog

More information about the Mono-devel-list mailing list