[Mono-list] Mono and Mint now compiling and running in Visual Studio

Paolo Molaro lupus@ximian.com
Sat, 4 May 2002 12:52:34 +0200


On 05/02/02 Ben Cooley wrote:
> I have managed to create visual studio project that will compile and
> run Mono and Mint from visual C++ 7.0.  I've tested it with a few modules,
> and it seems to work.  I haven't run the full test suite on it yet though.

Thanks! I guess the windows people will welcome this addition.

> The footprint of the msvc build is small (a subdirectory from in the
> "mono" directory that contains all the msvc specific libs, includes,
> projects, and bin directory).   The only changes to the main project
> path are a variety of minor source code changes that are necessary for
> cross platform compatibility.

Excellent!

> I will have a more complete list when I can grab the diffs off my
> computer and send them.

Thanks. We're waiting for them: we'll be able to offer more comments
when we see the actual diffs (please use the -u option of diff).

> ISSUES:
> 
> Can we come up with a solid way of handling multiple compiler versions.   Perhaps the following:
> 
> Macros: __GCC__, __MSVC__, __CODEWARRIOR__, __PRODG__, etc.
> 
> Dirs: mono/msvc - MSVC specific projects libs, includes, bin, etc.
>         mono/codewarrior - Codewarrior specific projects libs, includes, etc.
>         etc.
> 
> Possibly a "compiler.h" file..?
> 
> Currently I am using _MSC_VER, placing some extra bits in the msvc version of the config.h file, and #ifdef _MSC_VER including msvc specific include files where they are needed.

Yes, I think that's fine. As a general rule we'd like to keep .c files
free from #ifdefs if possible, but having them in an header file is fine.

> We have an application that needs to be both cross platform, but who's
> primary dev environment and tools are based in Windows.  This means that
> we need the same version of .NET running on all platforms (i.e. mono,
> because it's cross platform), but we do primary tools development in
> Windows, for Windows, in Visual Studio with MFC, etc.   Obviously this
> requires both that we have a working VS library for the mono jit and
> interpreter for the primary app, as well as CodeWarrior, ProDG, and
> GNU compatible versions of mono for the other platforms (i.e. GameCube,
> PS2, XBox).

I sense it will be fun to see mono support all that platforms:-)

> We still need a C# to C/C++ compiler for final highly optimized release
> builds of all static assemblies, but that will have to come a bit later
> I think.

We have plans for an ahead of time compiler, but that is still a few
months off...

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better