diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2019-08-12 14:56:03 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2019-08-13 16:52:16 +0300 |
commit | edab35e216bc3839915129e54f98160428634283 (patch) | |
tree | 51c1ae471e39aca817038f16d33cc25be4998369 /bdep/new-parsers.cxx | |
parent | 54c937f78562fc6a5d2ea01c8747c62ccea980cb (diff) |
Add support for default options files
Diffstat (limited to 'bdep/new-parsers.cxx')
-rw-r--r-- | bdep/new-parsers.cxx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/bdep/new-parsers.cxx b/bdep/new-parsers.cxx index 7a12132..49dee66 100644 --- a/bdep/new-parsers.cxx +++ b/bdep/new-parsers.cxx @@ -76,6 +76,8 @@ namespace bdep r.parse (s); } + // parser<type> + // void parser<type>:: parse (type& r, bool& xs, scanner& s) { @@ -114,6 +116,19 @@ namespace bdep xs = true; } + void parser<type>:: + merge (type& b, const type& a) + { + b.type = a.type; + + b.exe_opt.merge (a.exe_opt); + b.lib_opt.merge (a.lib_opt); + b.bare_opt.merge (a.bare_opt); + b.empty_opt.merge (a.empty_opt); + } + + // parser<lang> + // void parser<lang>:: parse (lang& r, bool& xs, scanner& s) { @@ -142,6 +157,17 @@ namespace bdep xs = true; } + void parser<lang>:: + merge (lang& b, const lang& a) + { + b.lang = a.lang; + + b.c_opt.merge (a.c_opt); + b.cxx_opt.merge (a.cxx_opt); + } + + // parser<vcs> + // void parser<vcs>:: parse (vcs& r, bool& xs, scanner& s) { @@ -169,5 +195,14 @@ namespace bdep xs = true; } + + void parser<vcs>:: + merge (vcs& b, const vcs& a) + { + b.vcs = a.vcs; + + b.git_opt.merge (a.git_opt); + b.none_opt.merge (a.none_opt); + } } } |