[xbuild] Set @(CollectedBuildOutput) for projects build from .sln .
[mono.git] / mcs / README
old mode 100755 (executable)
new mode 100644 (file)
index ea389e7..2a64e0f
@@ -1,14 +1,26 @@
+This contains the C# components of the Mono project.
 
-This contains the Mono C# compiler as well as the Mono runtime
-library.
+       * 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 libraries
+               The class libraries.
 
        errors/
-               Sample programs that should generate errors by the compiler.
+               Sample programs that should generate errors by the C# compiler.
 
        jay/
                Yacc-based parser generator.
@@ -17,5 +29,102 @@ Layout:
                The Mono C# compiler
 
        tests/
-               Sample tests 
-               
+               Regression test suite for the C# compiler
+
+       docs/
+               Some notes on the compiler and the class libraries.
+
+       nant/
+               A copy of nant source code, used during the build process
+               on Windows.
+
+       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.
+
+* 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.
+
+* 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.
+