aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-configure.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-03-23 20:49:32 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-03-28 13:45:24 +0300
commit13336bebdddb7721347407f64e432627d0d8d6c1 (patch)
treedf4dc1e7736c32822af0ddd88debae67bc2733ef /bpkg/pkg-configure.hxx
parentcd736d2602aae5502cbc86d5672505c2d534c79f (diff)
In pkg-build make sure that reconfiguring dependent doesn't change current dependency selection
Also fix the dependency alternative selection so that if the dependency package of a different version is already being built, then make sure that one of them is satisfactory for all the dependents and don't consider this alternative if that's not the case.
Diffstat (limited to 'bpkg/pkg-configure.hxx')
-rw-r--r--bpkg/pkg-configure.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/bpkg/pkg-configure.hxx b/bpkg/pkg-configure.hxx
index 5d6b2eb..23dab83 100644
--- a/bpkg/pkg-configure.hxx
+++ b/bpkg/pkg-configure.hxx
@@ -37,6 +37,12 @@ namespace bpkg
// dependency alternatives lists are allowed and are ignored (see pkg-build
// for the use-case).
//
+ // If prerequisites corresponding to the previous configured state of the
+ // package are specified, then for each depends value try to select an
+ // alternative where dependencies all belong to this list (the "recreate
+ // dependency decisions" mode). Failed that, select an alternative as if no
+ // prerequisites are specified (the "make dependency decisions" mode).
+ //
void
pkg_configure (const common_options&,
database&,
@@ -44,6 +50,7 @@ namespace bpkg
const shared_ptr<selected_package>&,
const dependencies&,
package_skeleton&&,
+ const vector<package_name>* prerequisites,
bool simulate,
const function<find_database_function>& = {});