aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-configure.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-03-28 15:04:35 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-06-20 09:17:52 +0200
commitdef2c2dfaf5374f139b310c4f05b0614cb99359e (patch)
tree53035c3bb52b1f6d1f59992bab7df3e256f6be9b /bpkg/pkg-configure.hxx
parent4c5fe206eff86e80a4c41977320db67e2779fc32 (diff)
Implement dependency configuration negotiation
For the detailed history see the dep-config and dep-config-neg branches.
Diffstat (limited to 'bpkg/pkg-configure.hxx')
-rw-r--r--bpkg/pkg-configure.hxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/bpkg/pkg-configure.hxx b/bpkg/pkg-configure.hxx
index 23dab83..16ed96f 100644
--- a/bpkg/pkg-configure.hxx
+++ b/bpkg/pkg-configure.hxx
@@ -33,9 +33,16 @@ namespace bpkg
// Configure the package, update its state, and commit the transaction.
//
- // The package dependency constraints are expected to be complete. Empty
- // dependency alternatives lists are allowed and are ignored (see pkg-build
- // for the use-case).
+ // The package dependency constraints are expected to be complete.
+ //
+ // The dependencies argument may contain pre-selected dependency
+ // alternatives (with the potential empty entries for the toolchain
+ // build-time dependencies or for dependencies with all the alternatives
+ // disabled; see pkg-build for the use-case). In this case the number of
+ // dependency alternatives for each dependency must be 1 (or 0) and the
+ // alternatives argument must be specified. The alternatives argument must
+ // be parallel to the dependencies argument and specify indexes of the
+ // selected alternatives.
//
// If prerequisites corresponding to the previous configured state of the
// package are specified, then for each depends value try to select an
@@ -49,8 +56,10 @@ namespace bpkg
transaction&,
const shared_ptr<selected_package>&,
const dependencies&,
+ const vector<size_t>* alternatives,
package_skeleton&&,
const vector<package_name>* prerequisites,
+ bool disfigured,
bool simulate,
const function<find_database_function>& = {});