| OLD | NEW |
| 1 using System; | 1 using System; |
| 2 using System.Collections.Generic; | 2 using System.Collections.Generic; |
| 3 using System.Linq; | 3 using System.Linq; |
| 4 using System.Text; | 4 using System.Text; |
| 5 | 5 |
| 6 using System.IO; | 6 using System.IO; |
| 7 using System.Text.RegularExpressions; | 7 using System.Text.RegularExpressions; |
| 8 | 8 |
| 9 namespace NaCl.Build.CPPTasks | 9 namespace NaCl.Build.CPPTasks |
| 10 { | 10 { |
| 11 class GCCUtilities | 11 class GCCUtilities |
| 12 { | 12 { |
| 13 public const int s_CommandLineLength = 256; | 13 public const int s_CommandLineLength = 256; |
| 14 | 14 |
| 15 /// <summary> |
| 16 /// Find python executable in user's PATH. |
| 17 /// </summary> |
| 18 public static bool FindPython() |
| 19 { |
| 20 string envvar = Environment.GetEnvironmentVariable("Path", Environme
ntVariableTarget.Process); |
| 21 List<string> pathList = new List<string>(envvar.Split(';')); |
| 22 foreach (string path in pathList) |
| 23 { |
| 24 string testPath = Path.Combine(path, "python.bat"); |
| 25 if (File.Exists(testPath)) |
| 26 { |
| 27 return true; |
| 28 } |
| 29 testPath = Path.Combine(path, "python.exe"); |
| 30 if (File.Exists(testPath)) |
| 31 { |
| 32 return true; |
| 33 |
| 34 } |
| 35 } |
| 36 return false; |
| 37 } |
| 38 |
| 15 public static string ConvertPathWindowsToPosix(string path) | 39 public static string ConvertPathWindowsToPosix(string path) |
| 16 { | 40 { |
| 17 return path.Replace('\\', '/'); | 41 return path.Replace('\\', '/'); |
| 18 } | 42 } |
| 19 | 43 |
| 20 public static string ConvertPathPosixToWindows(string path) | 44 public static string ConvertPathPosixToWindows(string path) |
| 21 { | 45 { |
| 22 path = path.Replace('/', '\\'); | 46 path = path.Replace('/', '\\'); |
| 23 // also make double backslashes a single slash | 47 // also make double backslashes a single slash |
| 24 // TODO: speed this up by iterating instead of two replaces | 48 // TODO: speed this up by iterating instead of two replaces |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 }, | 116 }, |
| 93 new GCCRegexLineConverter | 117 new GCCRegexLineConverter |
| 94 { | 118 { |
| 95 OutputExpression = new Regex(@"^\s*(.?.?[^:]*.*?):(.?.?[^:]
*.*?):([1-9]\d*):(.*$)"), | 119 OutputExpression = new Regex(@"^\s*(.?.?[^:]*.*?):(.?.?[^:]
*.*?):([1-9]\d*):(.*$)"), |
| 96 FilenameIdentifier = @"$2", | 120 FilenameIdentifier = @"$2", |
| 97 RemainderIdentifier = @"($3):'$1' $4" | 121 RemainderIdentifier = @"($3):'$1' $4" |
| 98 } | 122 } |
| 99 }; | 123 }; |
| 100 } // GCCUtilities | 124 } // GCCUtilities |
| 101 } // namespace | 125 } // namespace |
| OLD | NEW |