a1bf2a3afc461bdc105e18e2b7225243f85c08f4
[mono.git] / msvc / scripts / README
1
2 The scripts in this directory are used to:
3
4         * Extract the order, compiler and compilation flags for all
5           managed code in Mono.
6
7         * Generate csproj files from the previous step
8
9         * Support the generated csproj file
10
11 The idea is to ensure that we do not miss any compilation flag,
12 define, resource, reference, icon or any other element that might be
13 necessary to build the Mono class libraries.
14
15 * Extracting the Compilation Metadata
16
17         The first step is to extract the compilation metadata from the
18         existing Makefiles.  This is done in stages, first a fully
19         working Mono compilation setup is required, and second the data
20         is extracted.
21
22         The extraction is done like this, from the toplevel Mono
23         directory run:
24
25                   make update-csproj
26
27         With this input, it is possible to generate an XML file, to do
28         this do:
29
30                   make package-inputs
31
32         This will generate order.xml, this contains the ordered list in
33         which directories must be compiled as well as the command line
34         options used to build it.
35
36 * Generate csproj files
37
38         
39
40
41 To generate the "order" file, run the command: make csproj in the mcs directory on a fully
42 configured Mono setup (Linux or Cygwin)