This now builds System.Xml-basic
[mono.git] / msvc / scripts / prepare.cs
1 //
2 // C# implementation of a handful of shell steps
3 // this is used to automate the buidl in Windows
4 //
5 using System;
6 using System.Text;
7 using System.IO;
8
9 class Prepare {
10         delegate void filt (StreamReader sr, StreamWriter sw);
11         
12         static void Filter (string inpath, string outpath, filt filter)
13         {
14                 using (var ins = new StreamReader (inpath)){
15                         using (var outs = new StreamWriter (outpath)){
16                                 filter (ins, outs);
17                         }
18                 }
19         }
20         
21         static void Main (string [] args)
22         {
23                 string bdir = args.Length == 0 ? "../../../mcs" : args [0];
24
25                 if (!Directory.Exists (Path.Combine(bdir, "class"))){
26                         Console.Error.WriteLine ("The directory {0} does not contain class at {1}", Path.GetFullPath (bdir), Environment.CurrentDirectory);
27                         Environment.Exit (1);
28                 }
29                 
30                 Filter (bdir + "/class/System.XML/System.Xml.XPath/Parser.jay",
31                         bdir + "/class/System.XML/Mono.Xml.Xsl/PatternParser.jay",
32                         (i, o) => o.Write (i.ReadToEnd ().Replace ("%start Expr", "%start Pattern")));
33
34                 Filter (bdir + "/build/common/Consts.cs.in",
35                         bdir + "/build/common/Consts.cs",
36                         (i, o) => o.Write (i.ReadToEnd ().Replace ("@MONO_VERSION@", "Mono-VSBuild")));
37         }
38         
39 }