X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=README;h=0c1dff13c8aa1773de39ee2a4b4cf94fbbe5b316;hb=4347c57e9783cf9348af2e0ec773024ab6d9b9fc;hp=95e4b3806a1ec854f1a7620e0dff6759117675db;hpb=a6126c15ea1e0fd9becc4bfadcfd7538f777e5d8;p=mono.git diff --git a/README b/README index 95e4b3806a1..0c1dff13c8a 100644 --- a/README +++ b/README @@ -1,24 +1,224 @@ This is Mono. -Installation: +1. Installation +2. Using Mono +3. Directory Roadmap - Read doc/download for installation instructions, - or read the HTML version: +1. Compilation and Installation +=============================== - http://www.go-mono.com/download.html + a. Build Requirements + --------------------- -A directory roadmap: + To build Mono, you will need the following components: + + * pkg-config + + Available from: http://www.freedesktop.org/Software/pkgconfig + + * glib 2.0 + + 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 + + If you want to get support for System.Drawing, you will need to get + both Libgdiplus and Cairo. + + b. Building the Software + ------------------------ + + If you obtained this package as an officially released tarball, + this is very simple, use configure and make: + + ./configure --prefix=/usr/local + 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. + + If you obtained this as a snapshot, you will need an existing + Mono installation. To upgrade your installation, unpack both + mono and mcs: + + tar xzf mcs-XXXX.tar.gz + tar xzf mono-XXXX.tar.gz + mv mono-XXX mono + mv mcs-XXX mcs + cd mono + ./autogen.sh --prefix=/usr/local + make bootstrap + + 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 + ----------------------------------------- + + 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 + + This will automatically go into the mcs/ tree and build the + binaries there, and copy them into the appropriate + sub-directories of mono/runtime/. + + Now, go to step (iii) below. + + 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 + + You can now install it: + + make install + + 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 +============= + + Once you have installed the software, you can run a few programs: + + * runtime engine + + mono program.exe + or + mint program.exe + + * C# compiler + + mcs program.cs + + * CIL Disassembler + + monodis program.exe + + See the man pages for mono(1), mint(1), monodis(1) and mcs(2) + for further details. + +3. Directory Roadmap +==================== doc/ - Contains documentation and the web site contents. + Contains the web site contents. + + docs/ + Technical documents about the Mono runtime. + + data/ + Configuration files installed as part of the Mono runtime. mono/ - The core of the executable. + The core of the Mono Runtime. metadata/ - The library to deal with executables and libraries for - .NET + The object system and metadata reader. + + jit/ + The Just in Time Compiler. dis/ CIL executable Disassembler @@ -26,6 +226,10 @@ A directory roadmap: cli/ Common code for the JIT and the interpreter. + io-layer/ + The I/O layer and system abstraction for + emulating the .NET IO model. + cil/ Common Intermediate Representation, XML definition of the CIL bytecodes. @@ -33,20 +237,20 @@ A directory roadmap: interp/ Interpreter for CLI executables. -* Using Mono + arch/ + Architecture specific portions. - Once you have installed the software, you can run a few programs: - - monodis program.exe + man/ - That will dump the bytecodes for program.exe. Monodis support - a number of options that dumps various metadata tables - (chapter 23 of the Partition III). + Manual pages for the various Mono commands and programs. - You can try the interpreter like this: + scripts/ - mint program.exe + Scripts used to invoke Mono and the corresponding program. + runtime/ + A directory holding a pre-compiled version of the Mono + runtime.