aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/link-rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-06-26 12:28:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-06-26 12:28:05 +0200
commitd1fbcace59846d55c66e741dbc3d59e20ae3e5cf (patch)
treeaf1325d7d519bda64535f602c8ea1a3147b97b31 /build2/cc/link-rule.hxx
parentdc3d7c5fa4062cac36d718766504c87696a3de41 (diff)
Fix C/C++ link rule matching ambiguity by seeing-through utility libraries
Diffstat (limited to 'build2/cc/link-rule.hxx')
-rw-r--r--build2/cc/link-rule.hxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/build2/cc/link-rule.hxx b/build2/cc/link-rule.hxx
index 1a77aef..2df22cf 100644
--- a/build2/cc/link-rule.hxx
+++ b/build2/cc/link-rule.hxx
@@ -24,6 +24,18 @@ namespace build2
public:
link_rule (data&&);
+ struct match_result
+ {
+ bool seen_x = false;
+ bool seen_c = false;
+ bool seen_cc = false;
+ bool seen_obj = false;
+ bool seen_lib = false;
+ };
+
+ match_result
+ match (action, target&, ltype, bool) const;
+
virtual bool
match (action, target&, const string&) const override;