aboutsummaryrefslogtreecommitdiff
path: root/regen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'regen.cc')
-rw-r--r--regen.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/regen.cc b/regen.cc
index 01bacb7..137d205 100644
--- a/regen.cc
+++ b/regen.cc
@@ -59,6 +59,7 @@ class StampChecker {
string cmd;
string result;
vector<string> missing_dirs;
+ vector<string> files;
vector<string> read_dirs;
};
@@ -245,6 +246,11 @@ class StampChecker {
LOAD_STRING(fp, &s);
sr->missing_dirs.push_back(s);
}
+ int num_files = LOAD_INT(fp);
+ for (int j = 0; j < num_files; j++) {
+ LOAD_STRING(fp, &s);
+ sr->files.push_back(s);
+ }
int num_read_dirs = LOAD_INT(fp);
for (int j = 0; j < num_read_dirs; j++) {
LOAD_STRING(fp, &s);
@@ -303,6 +309,10 @@ class StampChecker {
if (Exists(dir))
return true;
}
+ for (const string& file : sr->files) {
+ if (!Exists(file))
+ return true;
+ }
for (const string& dir : sr->read_dirs) {
// We assume we rarely do a significant change for the top
// directory which affects the results of find command.