| author | David Anderson <dvander@alliedmods.net> |
| Mon Jul 07 06:33:42 2008 +0000 (2008-07-07) | |
| branch | refac-jit |
| changeset 2176 | 525f85d9af37 |
| parent 2168 | c24a6fa957db |
| child 2289 | 44045ead61cd |
| permissions | -rw-r--r-- |
| dvander@2168 | 1 |
using System; |
| dvander@2168 | 2 |
using System.IO; |
| dvander@2168 | 3 |
using System.Text; |
| dvander@2168 | 4 |
|
| dvander@2168 | 5 |
namespace builder |
| dvander@2168 | 6 |
{ |
| dvander@2168 | 7 |
public enum BasePlatform |
| dvander@2168 | 8 |
{ |
| dvander@2168 | 9 |
Platform_Windows, |
| dvander@2168 | 10 |
Platform_Linux |
| dvander@2168 | 11 |
}; |
| dvander@2168 | 12 |
|
| dvander@2168 | 13 |
public class Config |
| dvander@2168 | 14 |
{ |
| dvander@2168 | 15 |
public string source_path; |
| dvander@2168 | 16 |
public string pkg_path; |
| dvander@2168 | 17 |
public string builder_path; |
| dvander@2168 | 18 |
public string build_options; |
| dvander@2168 | 19 |
public string pdb_log_file; |
| dvander@2168 | 20 |
public builder.BasePlatform Platform; |
| dvander@2168 | 21 |
|
| dvander@2168 | 22 |
public Config() |
| dvander@2168 | 23 |
{ |
| dvander@2168 | 24 |
if ((int)System.Environment.OSVersion.Platform == 128) |
| dvander@2168 | 25 |
{ |
| dvander@2168 | 26 |
Platform = BasePlatform.Platform_Linux; |
| dvander@2168 | 27 |
} |
| dvander@2168 | 28 |
else |
| dvander@2168 | 29 |
{ |
| dvander@2168 | 30 |
Platform = BasePlatform.Platform_Windows; |
| dvander@2168 | 31 |
} |
| dvander@2168 | 32 |
} |
| dvander@2168 | 33 |
|
| dvander@2168 | 34 |
public static string PathFormat(string format, params string [] args) |
| dvander@2168 | 35 |
{ |
| dvander@2168 | 36 |
string temp = string.Format(format, args); |
| dvander@2168 | 37 |
return temp.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); |
| dvander@2168 | 38 |
} |
| dvander@2168 | 39 |
|
| dvander@2168 | 40 |
public bool ReadFromFile(string file) |
| dvander@2168 | 41 |
{ |
| dvander@2168 | 42 |
bool read = true; |
| dvander@2168 | 43 |
StreamReader sr = null; |
| dvander@2168 | 44 |
try |
| dvander@2168 | 45 |
{ |
| dvander@2168 | 46 |
sr = new StreamReader(file); |
| dvander@2168 | 47 |
|
| dvander@2168 | 48 |
string line; |
| dvander@2168 | 49 |
string delim = "\t \n\r\v"; |
| dvander@2168 | 50 |
string split = "="; |
| dvander@2168 | 51 |
|
| dvander@2168 | 52 |
while ( (line = sr.ReadLine()) != null ) |
| dvander@2168 | 53 |
{ |
| dvander@2168 | 54 |
line = line.Trim(delim.ToCharArray()); |
| dvander@2168 | 55 |
if (line.Length < 1 || line[0] == ';') |
| dvander@2168 | 56 |
{ |
| dvander@2168 | 57 |
continue; |
| dvander@2168 | 58 |
} |
| dvander@2168 | 59 |
string [] s = line.Split(split.ToCharArray()); |
| dvander@2168 | 60 |
string key, val = ""; |
| dvander@2168 | 61 |
if (s.GetLength(0) >= 1) |
| dvander@2168 | 62 |
{ |
| dvander@2168 | 63 |
key = s[0]; |
| dvander@2168 | 64 |
if (s.GetLength(0) >= 2) |
| dvander@2168 | 65 |
{ |
| dvander@2168 | 66 |
for (int i=1; i<s.GetLength(0); i++) |
| dvander@2168 | 67 |
{ |
| dvander@2168 | 68 |
val += s[i]; |
| dvander@2168 | 69 |
} |
| dvander@2168 | 70 |
} |
| dvander@2168 | 71 |
key = key.Trim(delim.ToCharArray()); |
| dvander@2168 | 72 |
val = val.Trim(delim.ToCharArray()); |
| dvander@2168 | 73 |
if (key.CompareTo("SourceBase") == 0) |
| dvander@2168 | 74 |
{ |
| dvander@2168 | 75 |
source_path = val; |
| dvander@2168 | 76 |
} |
| dvander@2168 | 77 |
else if (key.CompareTo("OutputBase") == 0) |
| dvander@2168 | 78 |
{ |
| dvander@2168 | 79 |
pkg_path = val; |
| dvander@2168 | 80 |
} |
| dvander@2168 | 81 |
else if (key.CompareTo("BuilderPath") == 0) |
| dvander@2168 | 82 |
{ |
| dvander@2168 | 83 |
builder_path = val; |
| dvander@2168 | 84 |
} |
| dvander@2168 | 85 |
else if (key.CompareTo("BuildOptions") == 0) |
| dvander@2168 | 86 |
{ |
| dvander@2168 | 87 |
build_options = val; |
| dvander@2168 | 88 |
} |
| dvander@2168 | 89 |
else if (key.CompareTo("PDBLog") == 0) |
| dvander@2168 | 90 |
{ |
| dvander@2168 | 91 |
pdb_log_file = val; |
| dvander@2168 | 92 |
} |
| dvander@2168 | 93 |
} |
| dvander@2168 | 94 |
} |
| dvander@2168 | 95 |
} |
| dvander@2168 | 96 |
catch (System.Exception e) |
| dvander@2168 | 97 |
{ |
| dvander@2168 | 98 |
Console.WriteLine("Unable to read {0:s}: {1:s}", file, e.Message); |
| dvander@2168 | 99 |
read = false; |
| dvander@2168 | 100 |
} |
| dvander@2168 | 101 |
|
| dvander@2168 | 102 |
if (sr != null) |
| dvander@2168 | 103 |
{ |
| dvander@2168 | 104 |
sr.Close(); |
| dvander@2168 | 105 |
} |
| dvander@2168 | 106 |
|
| dvander@2168 | 107 |
return read; |
| dvander@2168 | 108 |
} |
| dvander@2168 | 109 |
} |
| dvander@2168 | 110 |
} |