From def2c2dfaf5374f139b310c4f05b0614cb99359e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 28 Mar 2022 15:04:35 +0200 Subject: Implement dependency configuration negotiation For the detailed history see the dep-config and dep-config-neg branches. --- bpkg/pkg-configure.hxx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'bpkg/pkg-configure.hxx') 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&, const dependencies&, + const vector* alternatives, package_skeleton&&, const vector* prerequisites, + bool disfigured, bool simulate, const function& = {}); -- cgit v1.1