diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2018-12-07 15:29:59 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2018-12-11 14:03:09 +0300 |
commit | b740417add06a6df0dff65b60fbd92a8c8d95aab (patch) | |
tree | e07e9a6e7c2f39164ff8bba7b6ee933679bf99aa /libbbot/build-config.hxx | |
parent | 1d977345398584ff774990cf436289ddd64d2b42 (diff) |
Add support for build configuration class inheritance
Diffstat (limited to 'libbbot/build-config.hxx')
-rw-r--r-- | libbbot/build-config.hxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libbbot/build-config.hxx b/libbbot/build-config.hxx index 3f1c0cc..9396782 100644 --- a/libbbot/build-config.hxx +++ b/libbbot/build-config.hxx @@ -5,6 +5,7 @@ #ifndef LIBBBOT_BUILD_CONFIG_HXX #define LIBBBOT_BUILD_CONFIG_HXX +#include <map> #include <string> #include <vector> #include <iosfwd> @@ -27,21 +28,26 @@ namespace bbot std::string name; // Configuration name. butl::target_triplet target; std::vector<std::string> classes; - std::vector<std::string> vars; // Note: quoting is preserved. + std::vector<std::string> args; // Note: quoting is preserved. // Warning-detecting regular expressions. Note that quoting is preserved. // std::vector<std::string> warning_regexes; }; - using build_configs = std::vector<build_config>; + struct build_configs: std::vector<build_config> + { + // A map of derived class names to their bases. + // + std::map<std::string, std::string> class_inheritance_map; + }; // Parse buildtab stream or file. Throw tab_parsing on parsing error, // ios::failure on the underlying OS error. // // buildtab consists of lines in the following format: // - // <machine-pattern> <config> <target> [<config-vars>] [<warning-regex>] + // <machine-pattern> <config> <target> <classes> [<config-arg>]* [<warning-regex>]* // using butl::tab_parsing; |