Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Unified Diff: visual_studio/NativeClientVSAddIn/NaCl.Build.CPPTasks/DependencyParser.cs

Issue 10831030: NaCl settings and completed install scripts. (Closed) Base URL: https://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: visual_studio/NativeClientVSAddIn/NaCl.Build.CPPTasks/DependencyParser.cs
diff --git a/visual_studio/NativeClientVSAddIn/NaCl.Build.CPPTasks/DependencyParser.cs b/visual_studio/NativeClientVSAddIn/NaCl.Build.CPPTasks/DependencyParser.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9a516605a234e7950b893d7a5420afbbfe7d3507
--- /dev/null
+++ b/visual_studio/NativeClientVSAddIn/NaCl.Build.CPPTasks/DependencyParser.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using System.IO;
+
+namespace NaCl.Build.CPPTasks
+{
+ class DependencyParser
+ {
+ private static char[] elementEndings = new char[] { ' ', '\n', '\\' };
+ private List<string> m_dependencies;
+ public List<String> Dependencies
+ {
+ get
+ {
+ return m_dependencies;
+ }
+ }
+
+ public DependencyParser(string filename)
+ {
+ m_dependencies = new List<string>();
+
+ using (StreamReader reader = new StreamReader(filename, Encoding.ASCII))
+ {
+ while (!reader.EndOfStream)
+ {
+ string str = reader.ReadLine();
+ ParseLine(str);
+ }
+ reader.Close();
+ }
+ }
+
+ private void ParseLine(string line)
+ {
+ string[] paths = line.Split(elementEndings, StringSplitOptions.RemoveEmptyEntries);
+
+ foreach (string path in paths)
+ {
+ // ignore the source object file
+ // assumes .o file is only possible file ending with 'o'
+ if (path.ElementAt(path.Length - 1) != 'o' && path.ElementAt(path.Length - 1) != ':')
+ {
+ string newDependency = GCCUtilities.Convert_Path_Posix_To_Windows(path);
+ m_dependencies.Add(newDependency);
+ }
+ }
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698