diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 10:32:36 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 10:32:36 +0200 |
commit | 682836daacdd3dc486187c9d60479b372895a470 (patch) | |
tree | a042ab0e46052436b08355f43fd54d9055ce9b82 /build2/cc/install.hxx | |
parent | 2b922df93fcea9e3fad8e24b39c7fe579085d3ac (diff) |
Implement "see through" installation semantics for utility libraries
Diffstat (limited to 'build2/cc/install.hxx')
-rw-r--r-- | build2/cc/install.hxx | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/build2/cc/install.hxx b/build2/cc/install.hxx index b7d92fb..a846fc8 100644 --- a/build2/cc/install.hxx +++ b/build2/cc/install.hxx @@ -19,10 +19,12 @@ namespace build2 { class link; - class install: public build2::install::file_rule, virtual common + // Installation rule for exe, liba{}, and libs{}. + // + class file_install: public install::file_rule, virtual common { public: - install (data&&, const link&); + file_install (data&&, const link&); virtual const target* filter (action, const target&, prerequisite_member) const override; @@ -42,6 +44,23 @@ namespace build2 private: const link& link_; }; + + // Installation rule for libux{}. + // + class alias_install: public install::alias_rule, virtual common + { + public: + alias_install (data&&, const link&); + + virtual const target* + filter (action, const target&, prerequisite_member) const override; + + virtual match_result + match (action, target&, const string&) const override; + + private: + const link& link_; + }; } } |