diff options
author | Evan Martin <martine@danga.com> | 2012-08-12 23:29:43 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-08-12 23:29:43 (GMT) |
commit | 449b62075c81431c58ab9fef0054d61513d9d656 (patch) | |
tree | 2fba32069a42caa65a8d00112ea461a7d129a5fe /src/msvc_helper.h | |
parent | de3f570cfe0bfdd564913a1431dc95fd17ff44eb (diff) | |
download | Ninja-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.h | 7 |
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. |