From 5267c62f8c1f483c5348d4a2e498088a41c2e945 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 12 Apr 2023 07:34:39 +0200 Subject: Implement in-process package configuration --- bpkg/pkg-configure.hxx | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'bpkg/pkg-configure.hxx') diff --git a/bpkg/pkg-configure.hxx b/bpkg/pkg-configure.hxx index a7409b9..c4c2758 100644 --- a/bpkg/pkg-configure.hxx +++ b/bpkg/pkg-configure.hxx @@ -7,6 +7,9 @@ #include // version #include +#include +#include // variable_overrides + #include #include // transaction, selected_package #include @@ -100,17 +103,38 @@ namespace bpkg const function&, const function&); + // Configure the package, update its state, and commit the transaction. // + // This is a lower-level version meant for sharing the same build context + // to configure multiple packages (in the dependency order). + // + // Note: variable_overrides must include config.config.disfigure, if + // required. + // + // Note: expects all the non-external packages to be configured to be + // already unpackged (for subproject discovery). + // void pkg_configure (const common_options&, database&, transaction&, const shared_ptr&, configure_prerequisites_result&&, - bool disfigured, + const unique_ptr&, + const build2::variable_overrides&, bool simulate); + // Create a build context suitable for configuring packages. + // + unique_ptr + pkg_configure_context ( + const common_options&, + strings&& cmd_vars, + const function& = nullptr); + + // This is a higher-level version meant for configuring a single package. + // // Note: loads selected packages. // void -- cgit v1.1