summaryrefslogtreecommitdiffstats
path: root/src/msvc_helper.h
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-08-12 23:29:43 (GMT)
committerEvan Martin <martine@danga.com>2012-08-12 23:29:43 (GMT)
commit449b62075c81431c58ab9fef0054d61513d9d656 (patch)
tree2fba32069a42caa65a8d00112ea461a7d129a5fe /src/msvc_helper.h
parentde3f570cfe0bfdd564913a1431dc95fd17ff44eb (diff)
downloadNinja-449b62075c81431c58ab9fef0054d61513d9d656.zip
Ninja-449b62075c81431c58ab9fef0054d61513d9d656.tar.gz
Ninja-449b62075c81431c58ab9fef0054d61513d9d656.tar.bz2
msvc helper: drop system includes
Drop any #includes that look like they're referencing system headers. This reduces the dependency information considerably.
Diffstat (limited to 'src/msvc_helper.h')
-rw-r--r--src/msvc_helper.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/msvc_helper.h b/src/msvc_helper.h
index 5bf9787..41b9f9b 100644
--- a/src/msvc_helper.h
+++ b/src/msvc_helper.h
@@ -16,8 +16,6 @@
#include <vector>
using namespace std;
-struct StringPiece;
-
/// Visual Studio's cl.exe requires some massaging to work with Ninja;
/// for example, it emits include information on stderr in a funny
/// format when building with /showIncludes. This class wraps a CL
@@ -34,6 +32,11 @@ struct CLWrapper {
/// Exposed for testing.
static string FilterShowIncludes(const string& line);
+ /// Return true if a mentioned include file is a system path.
+ /// Expects the path to already by normalized (including lower case).
+ /// Filtering these out reduces dependency information considerably.
+ static bool IsSystemInclude(const string& path);
+
/// Parse a line of cl.exe output and return true if it looks like
/// it's printing an input filename. This is a heuristic but it appears
/// to be the best we can do.