* CustomAttributeBuilder.cs: Add some argument checking. Handle
[mono.git] / README
diff --git a/README b/README
index 27f2ef4c497055e3e283d39f040337be9491ace8..b44d33ea8bc171de4a481388592f7a7f6760d4d5 100644 (file)
--- a/README
+++ b/README
@@ -1,3 +1,170 @@
-This is MonoNet.
 
-Ximian's portable implementation of .NET 
+This is Mono.
+
+1. Installation
+2. Using Mono
+3. Directory Roadmap
+
+1. Compilation and Installation
+===============================
+
+   a. Build Requirements
+   ---------------------
+
+       To build Mono, you will need the following components:
+
+               * pkg-config
+
+                 Available from: http://www.freedesktop.org/Software/pkgconfig
+
+               * glib 2.0
+
+                 Available from: http://www.gtk.org/
+
+       Optional dependencies:
+
+               * ICU library
+
+                 http://oss.software.ibm.com/icu/index.html
+
+                 You will need this one to get complete support for the international
+                 features of the .NET Framework.
+
+               * Cairo and libgdiplus
+
+                 If you want to get support for System.Drawing, you will need to get
+                 both Libgdiplus and Cairo.
+
+    b. Building the Software
+    ------------------------
+       
+       If you obtained this package as an officially released tarball,
+       this is very simple, use configure and make:
+
+               ./configure --prefix=/usr/local
+               make
+               make install
+
+       If you obtained this as a snapshot, you will need an existing
+       Mono installation.  To upgrade your installation, unpack both
+       mono and mcs:
+
+               tar xzf mcs-XXXX.tar.gz
+               tar xzf mono-XXXX.tar.gz
+               cd mono-XXXX
+               ./autogen.sh --prefix=/usr/local
+               make fullbuild
+
+    c. Upgrade from CVS
+    -------------------
+
+       If you are upgrading from CVS you will need an existing Mono installation.
+       First verify that you have a working installation:
+
+               echo 'class X { static void Main () { System.Console.Write("OK");}}' > x.cs
+
+       Compile:
+
+               mcs x.cs
+
+       And run:
+
+               mono x.exe
+
+       If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
+
+       First, make sure that you have up-to-date mcs and mono sources:
+
+               cvs co mono mcs
+
+       Then, go into the mono directory, and configure:
+
+               cd mono
+               ./autogen.sh --prefix=/usr/local
+
+       Then compile using the special target `fullbuild':
+
+               make fullbuild
+
+       This step will compile and install at the same time.
+
+       Failure to follow these steps will result in a broken installation. 
+
+
+2. Using Mono
+=============
+
+       Once you have installed the software, you can run a few programs:
+
+       * runtime engine
+
+               mono program.exe
+         or
+               mint program.exe
+
+       * C# compiler
+
+               mcs program.cs
+
+       * CIL Disassembler
+
+               monodis program.exe
+
+       See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
+       for further details.
+
+3. Directory Roadmap
+====================
+
+       doc/
+               Contains the web site contents.
+
+       docs/
+               Technical documents about the Mono runtime.
+
+       data/
+               Configuration files installed as part of the Mono runtime.
+
+       mono/
+               The core of the Mono Runtime.
+
+               metadata/
+                       The object system and metadata reader.
+
+               jit/
+                       The Just in Time Compiler.
+
+               dis/
+                       CIL executable Disassembler
+
+               cli/
+                       Common code for the JIT and the interpreter.
+
+               io-layer/
+                       The I/O layer and system abstraction for 
+                       emulating the .NET IO model.
+
+               cil/
+                       Common Intermediate Representation, XML
+                       definition of the CIL bytecodes.
+
+               interp/
+                       Interpreter for CLI executables.
+
+               arch/
+                       Architecture specific portions.
+
+       man/
+
+               Manual pages for the various Mono commands and programs.
+
+       scripts/
+
+               Scripts used to invoke Mono and the corresponding program.
+
+       runtime/
+
+               A directory holding a pre-compiled version of the Mono
+               runtime.
+
+