aboutsummaryrefslogtreecommitdiff
path: root/build/operation
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-04-02 15:06:55 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-04-02 15:06:55 +0200
commit65dca85d0acc1ae69518e85b52a2877e38dc8c6d (patch)
tree7e2f1c227d5114d30b8c84e2d9f6af826a36066a /build/operation
parent48f8883de7b8fa348423b3baf262de08c98eba18 (diff)
Implement translation of meta/operations to natural language
Diffstat (limited to 'build/operation')
-rw-r--r--build/operation18
1 files changed, 18 insertions, 0 deletions
diff --git a/build/operation b/build/operation
index ac93999..3d9c4a4 100644
--- a/build/operation
+++ b/build/operation
@@ -122,6 +122,13 @@ namespace build
{
const std::string name;
+ // Name derivatives for diagnostics. If empty, then the meta-
+ // operation need not be mentioned.
+ //
+ const std::string name_do; // E.g., [to] 'configure'.
+ const std::string name_doing; // E.g., [while] 'configuring'.
+ const std::string name_already_done; // E.g., [already] 'configured'.
+
void (*meta_operation_pre) (); // Start of meta-operation batch.
operation_id (*operation_pre) (operation_id); // Start of operation batch.
@@ -184,6 +191,17 @@ namespace build
struct operation_info
{
const std::string name;
+
+ // Name derivatives for diagnostics. Note that unlike meta-operations,
+ // these can only be empty for the default operation (id 1), And
+ // meta-operations that make use of the default operation shall not
+ // have empty derivatives (failed which only target name will be
+ // printed).
+ //
+ const std::string name_do; // E.g., [to] 'update'.
+ const std::string name_doing; // E.g., [while] 'updating'.
+ const std::string name_already_done; // E.g., [already] 'up to date'.
+
const execution_mode mode;
};