2004-04-29 Ben Maurer <bmaurer@users.sourceforge.net>
[mono-project.git] / README
blob402d404a17a388a1fee83770503b70a30484ab7a
2 This is Mono.
4 1. Installation
5 2. Using Mono
6 3. Directory Roadmap
8 1. Compilation and Installation
9 ===============================
11    a. Build Requirements
12    ---------------------
14         To build Mono, you will need the following components:
16                 * pkg-config
18                   Available from: http://www.freedesktop.org/Software/pkgconfig
20                 * glib 2.0
22                   Available from: http://www.gtk.org/
24         Optional dependencies:
26                 * ICU library
28                   http://oss.software.ibm.com/icu/index.html
30                   You will need this one to get complete support for the international
31                   features of the .NET Framework.
33                 * Cairo and libgdiplus
35                   If you want to get support for System.Drawing, you will need to get
36                   both Libgdiplus and Cairo.
38     b. Building the Software
39     ------------------------
40         
41         If you obtained this package as an officially released tarball,
42         this is very simple, use configure and make:
44                 ./configure --prefix=/usr/local
45                 make
46                 make install
48         Mono supports a JIT engine on x86, SPARC and PowerPC systems.
49         The various commands that ship with Mono default to the JIT engine
50         on x86 and SPARC, to turn it on for PPC systems, use the --with-jit=yes 
51         command line option to configure.
53         MacOS X Users: you will need to download the latest Boehm GC
54         Alpha release for garbage collection to work properly.
56         If you obtained this as a snapshot, you will need an existing
57         Mono installation.  To upgrade your installation, unpack both
58         mono and mcs:
60                 tar xzf mcs-XXXX.tar.gz
61                 tar xzf mono-XXXX.tar.gz
62                 cd mono-XXXX
63                 ./autogen.sh --prefix=/usr/local
64                 make fullbuild
66     c. Upgrade from CVS
67     -------------------
69         If you are upgrading from CVS you will need an existing Mono installation.
70         First verify that you have a working installation:
72                 echo 'class X { static void Main () { System.Console.Write("OK");}}' > x.cs
74         Compile:
76                 mcs x.cs
78         And run:
80                 mono x.exe
82         If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
84         First, make sure that you have up-to-date mcs and mono sources:
86                 cvs co mono mcs
88         Then, go into the mono directory, and configure:
90                 cd mono
91                 ./autogen.sh --prefix=/usr/local
93         Then compile using the special target `fullbuild':
95                 make fullbuild
97         This step will compile and install at the same time.
99         Failure to follow these steps will result in a broken installation. 
102 2. Using Mono
103 =============
105         Once you have installed the software, you can run a few programs:
107         * runtime engine
109                 mono program.exe
110           or
111                 mint program.exe
113         * C# compiler
115                 mcs program.cs
117         * CIL Disassembler
119                 monodis program.exe
121         See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
122         for further details.
124 3. Directory Roadmap
125 ====================
127         doc/
128                 Contains the web site contents.
130         docs/
131                 Technical documents about the Mono runtime.
133         data/
134                 Configuration files installed as part of the Mono runtime.
136         mono/
137                 The core of the Mono Runtime.
139                 metadata/
140                         The object system and metadata reader.
142                 jit/
143                         The Just in Time Compiler.
145                 dis/
146                         CIL executable Disassembler
148                 cli/
149                         Common code for the JIT and the interpreter.
151                 io-layer/
152                         The I/O layer and system abstraction for 
153                         emulating the .NET IO model.
155                 cil/
156                         Common Intermediate Representation, XML
157                         definition of the CIL bytecodes.
159                 interp/
160                         Interpreter for CLI executables.
162                 arch/
163                         Architecture specific portions.
165         man/
167                 Manual pages for the various Mono commands and programs.
169         scripts/
171                 Scripts used to invoke Mono and the corresponding program.
173         runtime/
175                 A directory holding a pre-compiled version of the Mono
176                 runtime.