From a2cad68fe340a66ad54b93f88e39f97898fc462e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 1 Aug 2017 10:49:09 +0200 Subject: Reimplement pkg-config generation with more conservative approach for now --- build2/bin/rule.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'build2/bin') diff --git a/build2/bin/rule.cxx b/build2/bin/rule.cxx index 7d32e26..bb9036b 100644 --- a/build2/bin/rule.cxx +++ b/build2/bin/rule.cxx @@ -38,7 +38,7 @@ namespace build2 // our prerequisites. // match_result lib_rule:: - match (action, target& xt, const string&) const + match (action act, target& xt, const string&) const { lib& t (xt.as ()); @@ -57,7 +57,15 @@ namespace build2 t.a = a ? &search (t, t.dir, t.out, t.name) : nullptr; t.s = s ? &search (t, t.dir, t.out, t.name) : nullptr; - return true; + match_result mr (true); + + // If there is an outer operation, indicate that we match + // unconditionally so that we don't override ourselves. + // + if (act.outer_operation () != 0) + mr.recipe_action = action (act.meta_operation (), act.operation ()); + + return mr; } recipe lib_rule:: -- cgit v1.1