X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=README;h=6d257c99df310772741bdd2e00c2615f4aeab765;hb=b994f7a27d4b2683f11980a4e91dbd102b835d8c;hp=402d404a17a388a1fee83770503b70a30484ab7a;hpb=f64af1c345b88e0a6122f5498f7a754f03b8ec6f;p=mono.git diff --git a/README b/README index 402d404a17a..6d257c99df3 100644 --- a/README +++ b/README @@ -59,45 +59,88 @@ 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. Upgrade from CVS - ------------------- + c. Building the software from SVN + --------------------------------- - If you are upgrading from CVS you will need an existing Mono installation. - First verify that you have a working installation: + If you are building the software from SVN, make sure that you + have up-to-date mcs and mono sources: - echo 'class X { static void Main () { System.Console.Write("OK");}}' > x.cs + svn co svn+ssh://USER@mono-cvs.ximian.com/source/trunk/mono + svn co svn+ssh://USER@mono-cvs.ximian.com/source/trunk/mcs - Compile: + Then, go into the mono directory, and configure: - mcs x.cs + cd mono + ./autogen.sh --prefix=/usr/local + make - And run: + This will automatically go into the mcs/ tree and build the + binaries there. - mono x.exe + 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 - If you get the output `OK' and no errors, you are ready to start your CVS upgrade. + make EXTERNAL_MCS=/foo/bar/mcs EXTERNAL_RUNTIME=/somewhere/else/mono + + If you don't have a working Mono installation + --------------------------------------------- - First, make sure that you have up-to-date mcs and mono sources: + 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 try from the beginning. - cvs co mono mcs + You can also try a slightly more risky approach that should work + almost all the time. - Then, go into the mono directory, and configure: + This works by first getting the latest version of the 'monolite' + distribution, which contains just enough to run the 'mcs' + compiler. You do this with: - cd mono - ./autogen.sh --prefix=/usr/local + make get-monolite-latest + + This will download and automatically gunzip and untar the + tarball, and place the files appropriately so that you can then + just run: + + make + + To ensure that you're using the 'monolite' distribution, you can + also try passing EXTERNAL_MCS=false on the make command-line. + + Testing and Installation + ------------------------ + + You can run (part of) the mono and mcs testsuites with the command: + + make check + + All tests should pass. - Then compile using the special target `fullbuild': + 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 - make fullbuild + make -k check - This step will compile and install at the same time. + Expect to find a few testsuite failures. As a sanity check, you + can compare the failures you got with - Failure to follow these steps will result in a broken installation. + http://go-mono.com/tests/displayTestResults.php + You can now install mono with: + + make install + + Failure to follow these steps may result in a broken installation. 2. Using Mono ============= @@ -172,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.