aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-configure.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-08-08 15:28:25 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-09-25 11:35:25 +0300
commitbbf4d75525f54a41ebf38608c193f5787128c590 (patch)
treef66707abaaf18d15b339615fcfd24a56278b079a /bpkg/pkg-configure.hxx
parent6f40a051db7ef6c42c4856f0608ce1dad4fcf609 (diff)
Fix configuration negotiation in pkg-build to re-evaluate being reconfigured existing dependents
Diffstat (limited to 'bpkg/pkg-configure.hxx')
-rw-r--r--bpkg/pkg-configure.hxx18
1 files changed, 10 insertions, 8 deletions
diff --git a/bpkg/pkg-configure.hxx b/bpkg/pkg-configure.hxx
index 876d11a..cd74786 100644
--- a/bpkg/pkg-configure.hxx
+++ b/bpkg/pkg-configure.hxx
@@ -43,12 +43,13 @@ namespace bpkg
bool buildtime);
// Given dependencies of a package, return its prerequisite packages,
- // configuration variables that resulted from selection of these
- // prerequisites (import, reflection, etc), and sources of the configuration
- // variables resulted from evaluating the reflect clauses. Fail if for some
- // of the dependency alternative lists there is no satisfactory alternative
- // (all its dependencies are configured, satisfy the respective constraints,
- // etc).
+ // 1-based indexes of the selected dependency alternatives (0 for toolchain
+ // build-time dependencies, etc), configuration variables that resulted from
+ // selection of these prerequisites (import, reflection, etc), and sources
+ // of the configuration variables resulted from evaluating the reflect
+ // clauses. Fail if for some of the dependency alternative lists there is no
+ // satisfactory alternative (all its dependencies are configured, satisfy
+ // the respective constraints, etc).
//
// The package dependency constraints are expected to be complete.
//
@@ -101,8 +102,9 @@ namespace bpkg
//
struct configure_prerequisites_result
{
- package_prerequisites prerequisites;
- strings config_variables; // Note: name and value.
+ package_prerequisites prerequisites;
+ vector<size_t> dependency_alternatives;
+ strings config_variables; // Note: name and value.
// Only contains sources of configuration variables collected using the
// package skeleton, excluding those user-specified variables which are