aboutsummaryrefslogtreecommitdiff
path: root/bpkg/package-configuration.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-06-09 08:58:12 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-06-10 07:16:07 +0200
commitb9e8ca2f16bc06fdaa9b2b7c3bfffca01ec590ac (patch)
tree296472addaa10212a904ab852933a07dc23991a6 /bpkg/package-configuration.hxx
parent843627b2d3f801a7e9e45af0cc2cd4654077fac8 (diff)
Handle bogus configuration variables
Diffstat (limited to 'bpkg/package-configuration.hxx')
-rw-r--r--bpkg/package-configuration.hxx24
1 files changed, 24 insertions, 0 deletions
diff --git a/bpkg/package-configuration.hxx b/bpkg/package-configuration.hxx
index d6fc989..655b414 100644
--- a/bpkg/package-configuration.hxx
+++ b/bpkg/package-configuration.hxx
@@ -46,8 +46,32 @@ namespace bpkg
// first set this variable to this value.
//
optional<package_key> dependent;
+
+ // If origin is buildfile, then this flag indicates whether the
+ // originating dependent has been encountered during the negotiation
+ // retry.
+ //
+ bool confirmed;
+
+ public:
+ void
+ undefine ()
+ {
+ origin = build2::config::variable_origin::undefined;
+ value = nullopt;
+ dependent = nullopt;
+ confirmed = false;
+ }
+
+ // Serialize the variable value as a command line override.
+ //
+ string
+ serialize_cmdline () const;
};
+ void
+ to_checksum (sha256&, const config_variable_value&);
+
// A subset of config_variable_value for variable values set by the
// dependents (origin is buildfile). Used to track change history.
//