X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=README;h=0c1dff13c8aa1773de39ee2a4b4cf94fbbe5b316;hb=4347c57e9783cf9348af2e0ec773024ab6d9b9fc;hp=2b6683f503fc0b56ba1d810b4dbf44e5fdd880c0;hpb=ddd1fba375a8bc898a281e59c978e29aa1b1d10e;p=mono.git diff --git a/README b/README index 2b6683f503f..0c1dff13c8a 100644 --- a/README +++ b/README @@ -65,10 +65,25 @@ This is Mono. ./autogen.sh --prefix=/usr/local make bootstrap - c. Upgrade from CVS - ------------------- + 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: + + cvs co mono 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 @@ -81,29 +96,86 @@ 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 bootstrap - 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 `bootstrap': + ii. 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). + + 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 + + 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, 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 + + http://go-mono.com/tests/displayTestResults.php - make bootstrap - You can now install it: make install - This step will compile and install at the same time. - Failure to follow these steps will result in a broken installation. + iv. Other useful "bootstrap"-like facilities + ---------------------------------------- + + 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". + + You can try a two-stage bootstrap with: + + make faststrap + + This assumes that you have already run a "make bootstrap" on the + tree before. + + If you want to avoid waiting even for that, you can try the + riskier one-stage build: + + make fasterstrap + + 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. 2. Using Mono =============