aboutsummaryrefslogtreecommitdiff
path: root/bpkg/package.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-05-02 22:18:40 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-06-07 21:14:14 +0300
commitfb36673f0ea67e7e8298994259bf5da40f48fa05 (patch)
treed339d613b4604318b2533b77a32f5e55d84be881 /bpkg/package.hxx
parentce4004e65cfd2f22e9c2ca4a27118eadbea020c0 (diff)
Make collect_drop() to also use replaced_versions map to prevent dependency overconstraining
Diffstat (limited to 'bpkg/package.hxx')
-rw-r--r--bpkg/package.hxx20
1 files changed, 15 insertions, 5 deletions
diff --git a/bpkg/package.hxx b/bpkg/package.hxx
index d31e806..b473917 100644
--- a/bpkg/package.hxx
+++ b/bpkg/package.hxx
@@ -580,17 +580,27 @@ namespace bpkg
make_move_iterator (das.end ()));
}
- // If this is a toolchain build-time dependency, then verify its constraint
- // returning true if it is satisfied and failing otherwise. Return false for
- // a regular dependency. Note that the package argument is used for
- // diagnostics only.
+ // Return true if this is a toolchain build-time dependency. If the package
+ // argument is specified and this is a toolchain build-time dependency then
+ // also verify its constraint and fail if it is unsatisfied. Note that the
+ // package argument is used for diagnostics only.
//
class common_options;
bool
toolchain_buildtime_dependency (const common_options&,
const dependency_alternatives_ex&,
- const package_name&);
+ const package_name*);
+
+ // Return true if any dependency other than toolchain build-time
+ // dependencies is specified. Optionally, verify toolchain build-time
+ // dependencies specifying the package argument which will be used for
+ // diagnostics only.
+ //
+ bool
+ has_dependencies (const common_options&,
+ const dependencies&,
+ const package_name* = nullptr);
// Return true if some clause that is a buildfile fragment is specified for
// any of the dependencies.