From 59692f8b9fa2b71711de78d07f031c4866024da4 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 13 May 2019 12:18:15 +0200 Subject: Remove order dependence in ad hoc group handling Also, don't match group_recipe since we neither execute nor access the state. --- build2/parser.cxx | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'build2/parser.cxx') diff --git a/build2/parser.cxx b/build2/parser.cxx index 27910b7..06be54a 100644 --- a/build2/parser.cxx +++ b/build2/parser.cxx @@ -985,6 +985,8 @@ namespace build2 // Add as an ad hoc member at the end of the chain skipping duplicates. // { + // @@ ADHOC: call add_adhoc_member()? + // const_ptr* mp (&target_->member); for (; *mp != nullptr; mp = &(*mp)->member) { @@ -1004,26 +1006,11 @@ namespace build2 continue; // Duplicate. } + // @@ ADHOC: What if it's something like .pdb where the group derives a + // custom extension... Hm... + // if (file* ft = at.is_a ()) ft->derive_path (); - - // Pre-match this target. Feels fuzzy/hacky. - // - // See match_recipe() and set_recipe() that it calls for the - // approximate semantics we want to achieve. - // - // @@ Can such a target be used as a prerequisite? Feels like - // will require a "permanenly applied" task_count value? Maybe - // special "adhoc" value? - // - { - auto& i (at.state.data[0]); // inner opstate - auto& o (at.state.data[1]); // outer opstate - - i.rule = o.rule = nullptr; - i.recipe = o.recipe = group_recipe; - i.state = o.state = target_state::group; - } } } -- cgit v1.1