-This contains code written in C# of Mono, it contains:
+This contains the C# components of the Mono project.
* Compilers written in C#
class/
The class libraries.
+ docs/
+ Some notes on the compiler and the class libraries.
+
errors/
Sample programs that should generate errors by the C# compiler.
- gmcs/
-
- The Mono C# compiler with Generics support. This will
- become the default in Mono 2.0.
+ ilasm/
+ The IL assembler.
jay/
Yacc-based parser generator.
mcs/
- The Mono C# compiler (1.0 + 2.0 minus generics).
+ The Mono C# compiler
- tests/
- Regression test suite for the C# compiler
+ nunit24/
+ An old copy of the NUnit 2.4 library that we ship for historical reasons.
- docs/
- Some notes on the compiler and the class libraries.
+ packages/
+ Integrates some packages from NuGet (like Roslyn) into the build system.
- nant/
- A copy of nant source code, used during the build process
- on Windows.
+ tests/
+ Regression test suite for the C# compiler
tools/
Various small development tools: CorCompare used to compare
- two assemblies for differences in the API; TypeReflector is
- a tool used to introspect types from assemblies from the
- command line; MonoStyle helps you keep your code indendented
- with the Mono programming style.
+ two assemblies for differences in the API; csharp is a C# REPL;
+ cil-strip trims IL from assemblies.
* Building Individual Directories
=================================
You can build individual components in the hierarchy by running the command
"make", and to install it use "make install".
-By default, the 2.x profile is built, if you want to build the net 1.1 profile,
+By default, the 4.x profile is built, if you want to build other profiles,
use the following command:
- make PROFILE=net_1_1
+ make PROFILE=<profilename>
And to install:
- make PROFILE=net_1_1 install
+ make PROFILE=<profilename> install
To turn on verbose mode in the build (for example to diagnose a
problem), you can use the V=1 flag, like this:
* Running Unit tests
====================
-You can run unit tests in individual components by running the command
-"make run-test". If you want to run tests for a different profile (say
-'net_1_1')
+You can run unit tests in individual components by running the command:
- make run-test PROFILE=net_1_1
+ make run-test
If you want to only run the tests in a single fixture (say
'MonoTests.System.TypeTest'), you can use
- make run-test TEST_HARNESS_FLAGS=/fixture:MonoTests.System.TypeTest
+ make run-test TEST_FIXTURE=System.TypeTest
* Acknowledgements
==================
Thanks a lot to Sergey Chaban for his help during the development of
the C# compiler.
-* LICENSE
-=========
-
-The mcs C# compiler and monoresgen are licensed to you under the GPL, version 2.
-The complete text of the GPL is in the 'COPYING' file.
-
- Copyright (C) 2001-2002 Ximian, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of version 2 of the GNU General Public License as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-The class libraries are licensed according to the following license:
-
- Copyright (C) 2001-2002 Ximian, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-