aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bbot/machine-manifest5
-rw-r--r--bbot/machine-manifest.cxx8
-rw-r--r--bbot/worker.cxx5
3 files changed, 13 insertions, 5 deletions
diff --git a/bbot/machine-manifest b/bbot/machine-manifest
index 9975a3b..ec14c3f 100644
--- a/bbot/machine-manifest
+++ b/bbot/machine-manifest
@@ -35,7 +35,10 @@ namespace bbot
public:
machine_type type;
optional<string> mac; // Required in bootstrapped machine manifest.
- optional<strings> options;
+ optional<strings> options; // Note: could be quoted.
+
+ strings
+ unquoted_options (); // Return empty if absent.
machine_manifest (std::string i,
std::string n,
diff --git a/bbot/machine-manifest.cxx b/bbot/machine-manifest.cxx
index 2edf3dc..debdbcc 100644
--- a/bbot/machine-manifest.cxx
+++ b/bbot/machine-manifest.cxx
@@ -212,6 +212,14 @@ namespace bbot
s.next ("", ""); // End of manifest.
}
+ strings machine_manifest::
+ unquoted_options ()
+ {
+ return options
+ ? string_parser::unquote (*options)
+ : strings ();
+ }
+
// toolchain_manifest
//
toolchain_manifest::
diff --git a/bbot/worker.cxx b/bbot/worker.cxx
index a2e53b2..bd706a8 100644
--- a/bbot/worker.cxx
+++ b/bbot/worker.cxx
@@ -178,10 +178,6 @@ build (size_t argc, const char* argv[])
//
const vector_view<const char*> env (argv + 1, argc - 1);
- vector<string> cfg;
- for (const variable& v: tm.config)
- cfg.push_back (v.unquoted ());
-
// Use target (if present) or machine as configuration directory name.
//
dir_path dir (tm.target ? tm.target->string () : tm.machine);
@@ -190,6 +186,7 @@ build (size_t argc, const char* argv[])
"create",
"-d", dir.string (),
"--wipe",
+ tm.unquoted_config (),
cfg,
env);