diff options
| author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-16 19:13:29 +0900 |
|---|---|---|
| committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2016-02-16 19:13:29 +0900 |
| commit | 6ba79646008472dcbefa27e680b6103a04f378fe (patch) | |
| tree | d5b790f9d3a5e47eb24e07f6b03e014ff9be4383 | |
| parent | 54a3d538985a4e8edb66e6cb64282587713b80cb (diff) | |
| download | platform_build_kati-6ba79646008472dcbefa27e680b6103a04f378fe.tar.gz platform_build_kati-6ba79646008472dcbefa27e680b6103a04f378fe.tar.bz2 platform_build_kati-6ba79646008472dcbefa27e680b6103a04f378fe.zip | |
[C++] Ignore suppression rules for RCS/SCCS related rules
Kati doesn't have default rules for them.
| -rw-r--r-- | dep.cc | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -362,9 +362,24 @@ class DepBuilder { } } + bool IsIgnorableImplicitRule(const Rule* rule) { + // As kati doesn't have RCS/SCCS related default rules, we can + // safely ignore suppression for them. + if (rule->inputs.size() != 1) + return false; + if (!rule->order_only_inputs.empty()) + return false; + if (!rule->cmds.empty()) + return false; + const string& i = rule->inputs[0].str(); + return (i == "RCS/%,v" || i == "RCS/%" || i == "%,v" || + i == "s.%" || i == "SCCS/s.%"); + } + void PopulateImplicitRule(const Rule* rule) { for (Symbol output_pattern : rule->output_patterns) { - implicit_rules_->Add(output_pattern.str(), rule); + if (output_pattern.str() != "%" && !IsIgnorableImplicitRule(rule)) + implicit_rules_->Add(output_pattern.str(), rule); } } |
