2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
[mono.git] / mcs / README
old mode 100755 (executable)
new mode 100644 (file)
index 9088cc2..fa6268f
@@ -1,24 +1,40 @@
-This contains the Mono C# compiler as well as the Mono runtime
-library.
+This contains code written in C# of Mono, it contains:
 
 
-See INSTALL.txt for a guide to building and installing mcs.
+       * Compilers written in C#
 
 
-Layout:
+       * Class Libraries.
+
+       * Regression Test Suites
+
+To install this source code, look at the INSTALL file in the `mono'
+package module which drives the compilation of this directory.
+
+* Layout
+========
+
+       build/
+               Rules, configuration and makefile components to build
+               this module.
 
        class/
 
        class/
-               Class libraries
+               The class libraries.
 
        errors/
 
        errors/
-               Sample programs that should generate errors by the compiler.
+               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.
 
        jay/
                Yacc-based parser generator.
 
        mcs/
 
        jay/
                Yacc-based parser generator.
 
        mcs/
-               The Mono C# compiler
+               The Mono C# compiler (1.0 + 2.0 minus generics).
 
        tests/
 
        tests/
-               Sample tests 
+               Regression test suite for the C# compiler
 
        docs/
                Some notes on the compiler and the class libraries.
 
        docs/
                Some notes on the compiler and the class libraries.
@@ -34,11 +50,48 @@ Layout:
                command line;  MonoStyle helps you keep your code indendented
                with the Mono programming style.
 
                command line;  MonoStyle helps you keep your code indendented
                with the Mono programming style.
 
+* 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,
+use the following command:
+
+       make PROFILE=net_1_1
+
+And to install:
+
+       make PROFILE=net_1_1 install
+
+To turn on verbose mode in the build (for example to diagnose a
+problem), you can use the V=1 flag, like this:
+
+       make V=1
+
+* 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')
+
+       make run-test PROFILE=net_1_1
+
+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
+
+* Acknowledgements
+==================
 
 Thanks a lot to Sergey Chaban for his help during the development of
 the C# compiler.
 
 
 Thanks a lot to Sergey Chaban for his help during the development of
 the C# compiler.
 
-LICENSE
+* 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.
 
 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.
@@ -80,4 +133,3 @@ 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.
 
 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.
 
-