2005-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / README
diff --git a/README b/README
index 948e1b0b718e434bf2e1aee32c24e3a949052675..6d257c99df310772741bdd2e00c2615f4aeab765 100644 (file)
--- a/README
+++ b/README
@@ -63,12 +63,12 @@ This is Mono.
                mv mcs-XXX mcs
                cd mono
                ./autogen.sh --prefix=/usr/local
-               make bootstrap 
+               make
 
-    c. Building the software from CVS
+    c. Building the software from SVN
     ---------------------------------
 
-       If you are building the software from CVS, make sure that you
+       If you are building the software from SVN, make sure that you
        have up-to-date mcs and mono sources:
 
                svn co svn+ssh://USER@mono-cvs.ximian.com/source/trunk/mono
@@ -78,105 +78,69 @@ This is Mono.
 
                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
-            -----------------------------------------
-
-       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, and you have mono
-       version 0.31 or later, continue.  Otherwise, you can try option
-       (ii) below.
-
-       You are ready to start your CVS upgrade.  Compile with
-
-               make bootstrap
+               make
 
        This will automatically go into the mcs/ tree and build the
-       binaries there, and copy them into the appropriate
-       sub-directories of  mono/runtime/.
+       binaries there.
 
-       Now, go to step (iii) below.
+       This assumes that you have a working mono installation, and that
+       there's a C# compiler named 'mcs', and a corresponding IL
+       runtime called 'mono'.  You can use two make variables
+       EXTERNAL_MCS and EXTERNAL_RUNTIME to override these.  e.g., you
+       can say
 
-       ii.  If you don't have a working Mono installation
-            ---------------------------------------------
+         make EXTERNAL_MCS=/foo/bar/mcs EXTERNAL_RUNTIME=/somewhere/else/mono
+       
+       If you don't have a working Mono installation
+       ---------------------------------------------
 
        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).
+       distribution and try from the beginning.
 
        You can also try a slightly more risky approach that should work
        almost all the time.  
 
        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
+       compiler.  You do this with:
 
                make get-monolite-latest
 
-       This should place a monolite-latest.tar.gz in the parent
-       directory of the 'mono' source tree.  You can then run:
+       This will download and automatically gunzip and untar the
+       tarball, and place the files appropriately so that you can then
+       just run:
 
-               make monolite-bootstrap
-
-       This will automatically gunzip and untar the tarball, place the
-       files appropriately, and then complete the bootstrap.
-
-       iii. Testing and Installation
-            ------------------------
-
-       You can run the mono and mcs testsuites with the command:
-
-               make -k bootstrap-check
-
-       Expect to find several testsuite failures, especially in the
-       mcs/ tree.  As a sanity check, you can compare the failures you
-       got with
+               make
 
-               http://go-mono.com/tests/displayTestResults.php
+       To ensure that you're using the 'monolite' distribution, you can
+       also try passing EXTERNAL_MCS=false on the make command-line.
 
-       You can now install it:
+       Testing and Installation
+        ------------------------
 
-               make install
+       You can run (part of) the mono and mcs testsuites with the command:
 
-       Failure to follow these steps will result in a broken installation. 
+               make check
 
-       iv.  Other useful "bootstrap"-like facilities
-            ----------------------------------------
+       All tests should pass.  
 
-       If you have a CVS snapshot that you keep updating periodically,
-       and/or do your development in, you may try using a couple of
-       specialty make targets that may be slightly faster than a
-       "make bootstrap".
+       If you want more extensive tests, including those that test the
+       class libraries, you need to re-run 'configure' with the
+       '--enable-nunit-tests' flag, and try
 
-       You can try a two-stage bootstrap with:
+               make -k check
 
-               make faststrap
+       Expect to find a few testsuite failures.  As a sanity check, you
+       can compare the failures you got with
 
-       This assumes that you have already run a "make bootstrap" on the
-       tree before.
+               http://go-mono.com/tests/displayTestResults.php
 
-       If you want to avoid waiting even for that, you can try the
-       riskier one-stage build:
+       You can now install mono with:
 
-               make fasterstrap
+               make install
 
-       This should be attempted only if you're sure that the sources of
-       the mcs compiler itself and the sources of the libraries used by
-       it have not been changed.
+       Failure to follow these steps may result in a broken installation. 
 
 2. Using Mono
 =============
@@ -251,7 +215,5 @@ This is Mono.
 
        runtime/
 
-               A directory holding a pre-compiled version of the Mono
-               runtime.
-
-
+               A directory that contains the Makefiles that link the
+               mono/ and mcs/ build systems.