2005-03-09 Dick Porter <dick@ximian.com>
[mono.git] / README
diff --git a/README b/README
index 7119d3068a9b7cf413f49a2fe8bad4540af22606..6e3b38940e9ba44e7ee17501823e4f5846d718f2 100644 (file)
--- a/README
+++ b/README
@@ -17,23 +17,16 @@ This is Mono.
 
                  Available from: http://www.freedesktop.org/Software/pkgconfig
 
-               * glib 2.0
+               * glib 2.4
 
                  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
+               * libgdiplus
 
                  If you want to get support for System.Drawing, you will need to get
-                 both Libgdiplus and Cairo.
+                 Libgdiplus.
 
     b. Building the Software
     ------------------------
@@ -45,13 +38,7 @@ This is Mono.
                make
                make install
 
-       Mono supports a JIT engine on x86, SPARC and PowerPC systems.
-       The various commands that ship with Mono default to the JIT engine
-       on x86 and SPARC, to turn it on for PPC systems, use the --with-jit=yes 
-       command line option to configure.
-
-       MacOS X Users: you will need to download the latest Boehm GC
-       Alpha release for garbage collection to work properly.
+       Mono supports a JIT engine on x86, SPARC, S/390, AMD64 and PowerPC systems.
 
        If you obtained this as a snapshot, you will need an existing
        Mono installation.  To upgrade your installation, unpack both
@@ -63,119 +50,84 @@ 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:
 
-               cvs co mono mcs
+               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
-            -----------------------------------------
-
-       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:
-
-               make monolite-bootstrap
-
-       This will automatically gunzip and untar the tarball, and place
-       the files appropriately, and then completes the bootstrap.
-
-       iii. Testing and Installation
-            ------------------------
-
-       You can run the mono and mcs testsuites with the command:
-
-               make -k bootstrap-check
+       This will download and automatically gunzip and untar the
+       tarball, and place the files appropriately so that you can then
+       just run:
 
-       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 the libraries
-       used by it have not been changed.
+       Failure to follow these steps may result in a broken installation. 
 
 2. Using Mono
 =============
@@ -250,7 +202,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.