[mono-vb] Building just mbas on Cygwin+Windows

Jambunathan Jambunathan kjambunathan@novell.com
Wed, 03 Nov 2004 04:58:43 -0700


If you are using Cygwin+Windows this is what you may have to do to
build just mbas. For this it is necessary to have the entire mcs tree
checked out.

1) Build jay
   cd mcs/jay

   Jay is the Mono's yacc.

2) Build Mono.GetOptions
   cd mcs/class/Mono.GetOptions

This would create a signed Mono.GetOptions.dll under
The only catch in this step is that by default the delay signing
happens through the locally built sn.exe. If you hack the Makefile a
bit you can essentially use MS's sn.exe do the signing for
you. Subsequently you can install the Mono.GetOptions to MS's GAC
using gacutil.

3) Build mbas
   cd mcs/class/mbas

Copy the mbas.exe so generated to the

4) You are all set to use mbas now.

5) Optionally build and use Mono's Microsoft.VisualBasic.dll.
     cd mcs/class/Microsoft.VisualBasic

I am typing this mail from the top of my head, so possible that I
might have missed some (trivial) steps. Nevertheless there wouldn't be
much deviation from what I have outlined here.

I am afraid you may not be able to build the stuff entirely in VS.NET
because mono uses jay to dynamically generate the parser
(mb-parser.cs) from the rules file (mb-parser.jay) which then is
compiled with other files to create mbas.exe.

(Btw, if you replace the MS's Microsoft.VisualBasic.dll by Mono's
Microsoft.VisualBasic.dll then you will have thel mono's VB.NET
runtime in it's entirety on Windows. )

I appreciate your interest in out VB.NET compiler. Please do drop a 
mail on the list on how successful you were and any tweaks that
you had to do get mbas running on Windows. This would be of 
immense help to fellow mbas enthusiasts.

Jambunathan K.

>>> Muhammad Abubakar <abubakarm@gmail.com> 11/03/04 12:59 PM >>>
I have found the Mono.GetOptions dll.

Only one error is left in building the mbas source with vs.net 2003.
The file
 mb-tokenizer.cs is not getting compiled. Its says on this line(27):

public class Tokenizer : yyParser.yyInput

it says "type or namespace yyParser not found".
How do I make this work?

Mono-vb mailing list