[Mono-list] [2]Compiling mcs with other C# Compiler

Pablo Fischer pablo@pablo.com.mx
Mon, 05 Jan 2004 00:19:58 -0600


Hi!

Well, First, I said thanks cause I thought that would work :), but it
isn't.

If I run in mcs-0.28 make with:

make MCS=/home/unmada/debian/mono-0.28/debian/tmp/usr/bin/mcs
BOOTSTRAP_MCS=/home/unmada/debian/mono-0.28/debian/tmp/usr/bin/mcs
RUNTIME=/home/unmada/debian/mono-0.28/debian/mono-jit/usr/bin/mono.exe

The first two files are compiled ok, but when It tries to compile corlib
it fails with the following error:

System/Decimal.cs(168) error CS1502: The best overloaded match for
method 'int System.Int32[].GetLength (int)' has some invalid arguments
System/Decimal.cs(168) error CS1503: Argument 0: Cannot convert from
'int' to 'int'
System/Decimal.cs(168) error CS1501: No overload for method `GetLength'
takes `1' arguments
System/Decimal.cs(168) error CS8006: Could not find any applicable
function for this argument list

And there, other 15 errors appears, am I doing something wrong?

Thanks!
Pablo
El sáb, 03-01-2004 a las 15:48, Peter Williams escribió:
> On Sat, 2004-01-03 at 02:37, Pablo Fischer wrote:
> > Hi!
> > 
> > I have a problem. I have officially mono and mcs compiled with the
> > lastest CVS version (Friday 2nd), however, I'd like to compile other mcs
> > and mono versions (.28), so, how can I compile mcs (.28) with another
> > mcs.exe?.
> 
> The MCS build system uses two variables that will be of interest to you:
> BOOTSTRAP_MCS, which is used to compile the new mcs and corlib, and MCS,
> which is used to compile the rest of the libraries. MCS is in turn
> defined in terms of INTERNAL_MCS, which is the mcs.exe compiled while
> building the class libraries.
> 
> Anyway, all you should need to do is set those variables and you should
> be good to go. You may also need to set the RUNTIME variable if you want
> to use a specific version of the mono runtime.
> 
> $ make MCS=/path/to/my/mcs.exe BOOTSTRAP_MCS=/path/to/my/mcs.exe
> 
> You might make a build profile out of that setup by creating a make
> fragment in mcs/build/profiles/myprofile.make that sets the variables
> that you need; then you can just do 
> 
> $ make PROFILE=myprofile
> 
> Peter