remove svn:executable from *.cs
[mono.git] / README
diff --git a/README b/README
index 402d404a17a388a1fee83770503b70a30484ab7a..6dc8fff9f6d4b54bc5b705efc233086e35656a8e 100644 (file)
--- a/README
+++ b/README
@@ -59,14 +59,32 @@ This is Mono.
 
                tar xzf mcs-XXXX.tar.gz
                tar xzf mono-XXXX.tar.gz
-               cd mono-XXXX
+               mv mono-XXX mono
+               mv mcs-XXX mcs
+               cd mono
                ./autogen.sh --prefix=/usr/local
-               make fullbuild
+               make
+
+    c. Building the software from CVS
+    ---------------------------------
+
+       If you are building the software from CVS, make sure that you
+       have up-to-date mcs and mono sources:
 
-    c. Upgrade from CVS
-    -------------------
+               svn co svn+ssh://USER@mono-cvs.ximian.com/source/trunk/mono
+               svn co svn+ssh://USER@mono-cvs.ximian.com/source/trunk/mcs
+
+       Then, go into the mono directory, and configure:
+
+               cd mono
+               ./autogen.sh --prefix=/usr/local
+
+       Depending on whether you have an existing Mono installation or
+       not, you can try the following:
+
+       i.   If you have an existing Mono installation
+            -----------------------------------------
 
-       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
@@ -79,25 +97,62 @@ This is Mono.
 
                mono x.exe
 
-       If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
+       If you get the output `OK' and no errors, and you have mono
+       version 0.31 or later, continue.  Otherwise, you can try option
+       (ii) below.
 
-       First, make sure that you have up-to-date mcs and mono sources:
+       You are ready to start your CVS upgrade.  Compile with
 
-               cvs co mono mcs
+               make
 
-       Then, go into the mono directory, and configure:
+       This will automatically go into the mcs/ tree and build the
+       binaries there, and copy them into the appropriate
+       sub-directories of  mono/runtime/.
 
-               cd mono
-               ./autogen.sh --prefix=/usr/local
+       Now, go to step (iii) below.
 
-       Then compile using the special target `fullbuild':
+       ii.  If you don't have a working Mono installation
+            ---------------------------------------------
 
-               make fullbuild
+       If you don't have a working Mono installation, an obvious choice
+       is to install the latest released packages of 'mono' for your
+       distribution and go back to step (i).
 
-       This step will compile and install at the same time.
+       You can also try a slightly more risky approach that should work
+       almost all the time.  
 
-       Failure to follow these steps will result in a broken installation. 
+       This works by first getting the latest version of the 'monolite'
+       distribution, which contains just enough to run the 'mcs'
+       compiler.  You do this by
+
+               make get-monolite-latest
+
+       This should place a monolite-latest.tar.gz in the parent
+       directory of the 'mono' source tree.  This will automatically
+       gunzip and untar the tarball, place the files appropriately,
+
+       You can then run:
+
+               make
+
+       iii. Testing and Installation
+            ------------------------
+
+       You can run the mono and mcs testsuites with the command:
 
+               make -k check
+
+       Expect to find several testsuite failures, especially in the
+       mcs/ tree.  As a sanity check, you can compare the failures you
+       got with
+
+               http://go-mono.com/tests/displayTestResults.php
+
+       You can now install it:
+
+               make install
+
+       Failure to follow these steps will result in a broken installation. 
 
 2. Using Mono
 =============