diff options
Diffstat (limited to 'src/buildtool/build_engine')
4 files changed, 6 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp index d7c28074..e1cf9c7f 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.cpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp @@ -1341,6 +1341,7 @@ void GenericRuleWithDeps( outs, out_dirs, argv, + "", env_val, std::nullopt, false, diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index c4bbcfae..75bf6607 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -697,6 +697,7 @@ void withDependencies( outputs, output_dirs, std::move(cmd), + "", env_exp, may_fail, no_cache, diff --git a/src/buildtool/build_engine/target_map/utils.cpp b/src/buildtool/build_engine/target_map/utils.cpp index 56f996ca..71defc4c 100644 --- a/src/buildtool/build_engine/target_map/utils.cpp +++ b/src/buildtool/build_engine/target_map/utils.cpp @@ -199,6 +199,7 @@ auto BuildMaps::Target::Utils::createAction( const ActionDescription::outputs_t& output_files, const ActionDescription::outputs_t& output_dirs, std::vector<std::string> command, + std::string cwd, const ExpressionPtr& env, std::optional<std::string> may_fail, bool no_cache, @@ -213,6 +214,7 @@ auto BuildMaps::Target::Utils::createAction( hasher.Update(hash_vector(hash_function, output_files)); hasher.Update(hash_vector(hash_function, output_dirs)); hasher.Update(hash_vector(hash_function, command)); + hasher.Update(hash_vector(hash_function, std::vector<std::string>{cwd})); hasher.Update(env->ToHash()); hasher.Update(hash_vector(hash_function, may_fail ? std::vector<std::string>{*may_fail} @@ -242,6 +244,7 @@ auto BuildMaps::Target::Utils::createAction( output_dirs, Action{std::move(action_id), std::move(command), + std::move(cwd), std::move(env_vars), std::move(may_fail), no_cache, diff --git a/src/buildtool/build_engine/target_map/utils.hpp b/src/buildtool/build_engine/target_map/utils.hpp index 8db440c8..d7722efb 100644 --- a/src/buildtool/build_engine/target_map/utils.hpp +++ b/src/buildtool/build_engine/target_map/utils.hpp @@ -64,6 +64,7 @@ auto getTainted(std::set<std::string>* tainted, auto createAction(const ActionDescription::outputs_t& output_files, const ActionDescription::outputs_t& output_dirs, std::vector<std::string> command, + std::string cwd, const ExpressionPtr& env, std::optional<std::string> may_fail, bool no_cache, |