-This contains code written in C# of Mono, it contains:
+This contains the C# components of the Mono project.
* Compilers written in C#
To install this source code, look at the INSTALL file in the `mono'
package module which drives the compilation of this directory.
-Layout:
-
- bmcs/
- New experimental Basic compiler.
+* Layout
+========
build/
Rules, configuration and makefile components to build
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
+=================================
-Thanks a lot to Sergey Chaban for his help during the development of
-the C# compiler.
+You can build individual components in the hierarchy by running the command
+"make", and to install it use "make install".
-LICENSE
+By default, the 4.x profile is built, if you want to build other profiles,
+use the following command:
-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.
+ make PROFILE=<profilename>
- Copyright (C) 2001-2002 Ximian, Inc.
+And to install:
- 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.
+ make PROFILE=<profilename> install
- 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.
+To turn on verbose mode in the build (for example to diagnose a
+problem), you can use the V=1 flag, like this:
- 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
+ make V=1
-The class libraries are licensed according to the following license:
+* Running Unit tests
+====================
- Copyright (C) 2001-2002 Ximian, Inc.
+You can run unit tests in individual components by running the command:
-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:
+ make run-test
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
+If you want to only run the tests in a single fixture (say
+'MonoTests.System.TypeTest'), you can use
-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.
+ make run-test TEST_FIXTURE=System.TypeTest
+
+* Acknowledgements
+==================
+
+Thanks a lot to Sergey Chaban for his help during the development of
+the C# compiler.