* Environment.cs: Increase corlib version number.
[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 and libgdiplus
34
35                   If you want to get support for System.Drawing, you will need to get
36                   both Libgdiplus and Cairo.
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         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.
52
53         MacOS X Users: you will need to download the latest Boehm GC
54         Alpha release for garbage collection to work properly.
55
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:
59
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
65
66     c. Upgrade from CVS
67     -------------------
68
69         If you are upgrading from CVS you will need an existing Mono installation.
70         First verify that you have a working installation:
71
72                 echo 'class X { static void Main () { System.Console.Write("OK");}}' > x.cs
73
74         Compile:
75
76                 mcs x.cs
77
78         And run:
79
80                 mono x.exe
81
82         If you get the output `OK' and no errors, you are ready to start your CVS upgrade.
83
84         First, make sure that you have up-to-date mcs and mono sources:
85
86                 cvs co mono mcs
87
88         Then, go into the mono directory, and configure:
89
90                 cd mono
91                 ./autogen.sh --prefix=/usr/local
92
93         Then compile using the special target `fullbuild':
94
95                 make fullbuild
96
97         This step will compile and install at the same time.
98
99         Failure to follow these steps will result in a broken installation. 
100
101
102 2. Using Mono
103 =============
104
105         Once you have installed the software, you can run a few programs:
106
107         * runtime engine
108
109                 mono program.exe
110           or
111                 mint program.exe
112
113         * C# compiler
114
115                 mcs program.cs
116
117         * CIL Disassembler
118
119                 monodis program.exe
120
121         See the man pages for mono(1), mint(1), monodis(1) and mcs(2)
122         for further details.
123
124 3. Directory Roadmap
125 ====================
126
127         doc/
128                 Contains the web site contents.
129
130         docs/
131                 Technical documents about the Mono runtime.
132
133         data/
134                 Configuration files installed as part of the Mono runtime.
135
136         mono/
137                 The core of the Mono Runtime.
138
139                 metadata/
140                         The object system and metadata reader.
141
142                 jit/
143                         The Just in Time Compiler.
144
145                 dis/
146                         CIL executable Disassembler
147
148                 cli/
149                         Common code for the JIT and the interpreter.
150
151                 io-layer/
152                         The I/O layer and system abstraction for 
153                         emulating the .NET IO model.
154
155                 cil/
156                         Common Intermediate Representation, XML
157                         definition of the CIL bytecodes.
158
159                 interp/
160                         Interpreter for CLI executables.
161
162                 arch/
163                         Architecture specific portions.
164
165         man/
166
167                 Manual pages for the various Mono commands and programs.
168
169         scripts/
170
171                 Scripts used to invoke Mono and the corresponding program.
172
173         runtime/
174
175                 A directory holding a pre-compiled version of the Mono
176                 runtime.
177
178