Update
[mono.git] / README
1
2 This is Mono.
3
4 1. Installation
5 2. Using Mono
6 3. Directory Roadmap
7
8 1. Compilation and Installation
9 ===============================
10
11    a. Build Requirements
12    ---------------------
13
14         To build Mono, you will need the following components:
15
16                 * pkg-config
17
18                   Available from: http://www.freedesktop.org/Software/pkgconfig
19
20                 * glib 2.0
21
22                   Available from: http://www.gtk.org/
23
24         Optional dependencies:
25
26                 * ICU library
27
28                   http://oss.software.ibm.com/icu/index.html
29
30                   You will need this one to get complete support for the international
31                   features of the .NET Framework.
32
33                 * Cairo
34
35                   If you want to get support for System.Drawing, you will need to get
36                   this package. 
37
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:
43
44                 ./configure --prefix=/usr/local
45                 make
46                 make install
47
48         If you obtained this as a snapshot, you will need an existing
49         Mono installation.  To upgrade your installation, unpack both
50         mono and mcs:
51
52                 tar xzf mcs-XXXX.tar.gz
53                 tar xzf mono-XXXX.tar.gz
54                 cd mono-XXXX
55                 ./autogen.sh --prefix=/usr/local
56                 make fullbuild
57
58     c. Upgrade from CVS
59     -------------------
60
61         If you are upgrading from CVS you will need an existing Mono installation.
62         First verify that you have a working installation:
63
64                 echo 'class X { static void Main () { System.Console.Write("OK");}'}' > x.cs
65
66         Compile:
67
68                 mcs x.cs
69
70         And run:
71
72                 mono x.exe
73
74         If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
75
76         First, make sure that you have up-to-date mcs and mono sources:
77
78                 cvs co mono mcs
79
80         Then, go into the mono directory, and configure:
81
82                 cd mono
83                 ./autogen --prefix=/usr/local
84
85         Then compile using the special target `fullbuild':
86
87                 make fullbuild
88
89         This step will compile and install at the same time.
90
91         Failure to follow these steps will result in a broken installation. 
92
93
94 2. Using Mono
95 =============
96
97         Once you have installed the software, you can run a few programs:
98
99         * runtime engine
100
101                 mono program.exe
102           or
103                 mint program.exe
104
105         * C# compiler
106
107                 mcs program.cs
108
109         * CIL Disassembler
110
111                 monodis program.exe
112
113         See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
114         for further details.
115
116 3. Directory Roadmap
117 ====================
118
119         doc/
120                 Contains the web site contents.
121
122         docs/
123                 Technical documents about the Mono runtime.
124
125         data/
126                 Configuration files installed as part of the Mono runtime.
127
128         mono/
129                 The core of the Mono Runtime.
130
131                 metadata/
132                         The object system and metadata reader.
133
134                 jit/
135                         The Just in Time Compiler.
136
137                 dis/
138                         CIL executable Disassembler
139
140                 cli/
141                         Common code for the JIT and the interpreter.
142
143                 io-layer/
144                         The I/O layer and system abstraction for 
145                         emulating the .NET IO model.
146
147                 cil/
148                         Common Intermediate Representation, XML
149                         definition of the CIL bytecodes.
150
151                 interp/
152                         Interpreter for CLI executables.
153
154                 arch/
155                         Architecture specific portions.
156
157         man/
158
159                 Manual pages for the various Mono commands and programs.
160
161         scripts/
162
163                 Scripts used to invoke Mono and the corresponding program.
164
165         runtime/
166
167                 A directory holding a pre-compiled version of the Mono
168                 runtime.
169
170