aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/bash
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-10-26 11:15:18 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-11-01 10:28:43 +0200
commit50f9844b8a97aa06edf09b6d8a538721a0cd24ea (patch)
tree9d3d008e18a147355d0a6798ad5de3d0a45a7d42 /libbuild2/bash
parentded8aa661b013f325aaab7267cf6cc811d6d94cb (diff)
Use match options for runtime/buildtime distinction when installing libraries
Specifically, now, if a library is installed solely as a prerequisite of an executable (potentially recursively), then only its runtime files are installed omitting everything buildtime-related (static/import libraries, non-versioned symlinks for shared libraries, pkg-config files, headers, etc). If you are familiar with the runtime and -dev/-devel package splits for libraries in Debian/Fedora, this is an analogous semantics.
Diffstat (limited to 'libbuild2/bash')
-rw-r--r--libbuild2/bash/rule.cxx4
-rw-r--r--libbuild2/bash/rule.hxx2
2 files changed, 3 insertions, 3 deletions
diff --git a/libbuild2/bash/rule.cxx b/libbuild2/bash/rule.cxx
index 502a206..6e96b34 100644
--- a/libbuild2/bash/rule.cxx
+++ b/libbuild2/bash/rule.cxx
@@ -455,9 +455,9 @@ namespace build2
}
recipe install_rule::
- apply (action a, target& t) const
+ apply (action a, target& t, match_extra& me) const
{
- recipe r (file_rule::apply_impl (a, t));
+ recipe r (file_rule::apply_impl (a, t, me));
if (r == nullptr)
return noop_recipe;
diff --git a/libbuild2/bash/rule.hxx b/libbuild2/bash/rule.hxx
index 444d176..3f9618f 100644
--- a/libbuild2/bash/rule.hxx
+++ b/libbuild2/bash/rule.hxx
@@ -74,7 +74,7 @@ namespace build2
match (action, target&) const override;
virtual recipe
- apply (action, target&) const override;
+ apply (action, target&, match_extra&) const override;
protected:
const in_rule& in_;