From 699e3bc87d1cbb3c2b19ddaf5db37909cb49f47b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 20 Jan 2017 12:38:06 +0200 Subject: Remove prerequisite caching in scope We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO). --- build2/scope | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'build2/scope') diff --git a/build2/scope b/build2/scope index f22383a..eff60b0 100644 --- a/build2/scope +++ b/build2/scope @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include #include @@ -184,18 +184,14 @@ namespace build2 // variable_type_map target_vars; - // Prerequisite cache. - // - public: - prerequisite_set prerequisites; - // Meta/operations supported by this project (set on the root // scope only). // + public: build2::meta_operations meta_operations; build2::operations operations; - typedef build2::path path_type; + using path_type = build2::path; // Set of buildfiles already loaded for this scope. The included // buildfiles are checked against the project's root scope while @@ -261,13 +257,13 @@ namespace build2 // NULL means no strong amalgamtion. }; - // Temporary scope. The idea is to be able to create a temporary - // scope in order not to change the variables in the current scope. - // Such a scope is not entered in to the scope map. As a result it - // can only be used as a temporary set of variables. In particular, - // defining targets/prerequisites directly in such a scope will surely - // end up badly. Defining any nested scopes will be as if defining - // such a scope in the parent (since path() returns parent's path). + // Temporary scope. The idea is to be able to create a temporary scope in + // order not to change the variables in the current scope. Such a scope is + // not entered in to the scope map. As a result it can only be used as a + // temporary set of variables. In particular, defining targetsdirectly in + // such a scope will surely end up badly. Defining any nested scopes will be + // as if defining such a scope in the parent (since path() returns parent's + // path). // class temp_scope: public scope { -- cgit v1.1