From a49b6fff2ba25bf9150f89a4ecfc2c707ba633de Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 30 Oct 2023 10:38:53 +0200 Subject: WIP: install: complete reapply() for libu --- libbuild2/cc/install-rule.cxx | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'libbuild2/cc') diff --git a/libbuild2/cc/install-rule.cxx b/libbuild2/cc/install-rule.cxx index 0a5fb57..d3fa522 100644 --- a/libbuild2/cc/install-rule.cxx +++ b/libbuild2/cc/install-rule.cxx @@ -680,7 +680,8 @@ namespace build2 } } - return alias_rule::apply (a, t, me); + return alias_rule::apply_impl ( + a, t, me, me.cur_options != match_extra::all_options /* reapply */); } void libux_install_rule:: @@ -692,11 +693,8 @@ namespace build2 << ' ' << me.cur_options << ' ' << me.new_options; // @@ TMP - // If we are rematched with the buildtime option, propagate it to our - // prerequisite libraries. - // - // @@ Also libux? - // + me.cur_options |= me.new_options; + if ((me.new_options & lib::option_install_buildtime) != 0) { for (const target* pt: t.prerequisite_targets[a]) @@ -705,11 +703,9 @@ namespace build2 pt->is_a () || pt->is_a ())) rematch_sync (a, *pt, match_extra::all_options); } - } - - // @@ TODO: match additional prerequisites if required. - me.cur_options |= me.new_options; + alias_rule::reapply_impl (a, t, me); + } } } } -- cgit v1.1