2010-04-16 Sebastien Pouliot <sebastien@ximian.com>
[mono/afaerber.git] / msvc / scripts / README
bloba1bf2a3afc461bdc105e18e2b7225243f85c08f4
2 The scripts in this directory are used to:
4         * Extract the order, compiler and compilation flags for all
5           managed code in Mono.
7         * Generate csproj files from the previous step
9         * Support the generated csproj file
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.
15 * Extracting the Compilation Metadata
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.
22         The extraction is done like this, from the toplevel Mono
23         directory run:
25                   make update-csproj
27         With this input, it is possible to generate an XML file, to do
28         this do:
30                   make package-inputs
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.
36 * Generate csproj files
38         
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)