views:

253

answers:

1

I checked out the Mono source code, and searched all files for some of my favorite .NET classes with no results. I'm pretty lost and I want to know:

  1. In which language Mono is written?
  2. Where are, in all those folders, the source files with the equivalent .NET classes implementations?
  3. It's easier to build it in Windows or Linux?
+4  A: 
  1. The runtime, JIT and AOT is written in C, most of the other tools in C#. Even the C# compiler is written in C#.
  2. /trunk/mcs/class/ That is, /mcs/class/{assembly}/{namespace}/{class}.cs for code files.
  3. Currently definitely Linux, as this was were they started to develop for, this as full build support. On windows cygwin is required, I don't know if the Visual Studio project files are completed yet.
Dykam
Many thanks man! I don't know what I checked out, but whatever it was it didn't contains the /trunk/mcs/class folder.
Jader Dias
When I check out using the SVN protocol, a incomplete version is downloaded. I only got the mcs/class folder when I used the HTTP protocol.
Jader Dias
Why there are compiler directive flags like NET_2_1 and MONO_STRICT in Mono's source code?
Jader Dias
The flags are for different version of Mono. Some of the 3.5 libraries are different some from 2.0. This is done to maintain one codebase. The NET_1_0/NET_1_1 flags are currently being removed as support for 1.1 is being dropped. But yeah, those flags are to be able to use one code trunk instead of duplicate code for each version.
Dykam
About SVN, I am not sure, I just checked out the complete /trunk//mcs/, and /trunk/mono/, those include/are needed for building Mono (on linux) easily.
Dykam
NET_2_1 is the Silverlight subset of the class libraries.
jstedfast