diff options
Diffstat (limited to 'src/task.cc')
-rw-r--r-- | src/task.cc | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/task.cc b/src/task.cc index fb50765..817ee3a 100644 --- a/src/task.cc +++ b/src/task.cc @@ -6,7 +6,7 @@ #include <unistd.h> #include <iostream> -Task::Task(const BuildConfiguration& config, const Settings& settings, +Task::Task(const ctor::build_configuration& config, const ctor::settings& settings, const std::string& sourceDir) : config(config) , output_system(config.system) @@ -107,45 +107,46 @@ State Task::state() const return task_state.load(); } -const BuildConfiguration& Task::buildConfig() const +const ctor::build_configuration& Task::buildConfig() const { return config; } -TargetType Task::targetType() const +ctor::target_type Task::targetType() const { return target_type; } -Language Task::sourceLanguage() const +ctor::language Task::sourceLanguage() const { return source_language; } -OutputSystem Task::outputSystem() const +ctor::output_system Task::outputSystem() const { return output_system; } std::string Task::compiler() const { + const auto& c = ctor::get_configuration(); switch(sourceLanguage()) { - case Language::C: + case ctor::language::c: switch(outputSystem()) { - case OutputSystem::Host: - return getConfiguration(cfg::host_cc, "/usr/bin/gcc"); - case OutputSystem::Build: - return getConfiguration(cfg::build_cc, "/usr/bin/gcc"); + case ctor::output_system::host: + return c.get(ctor::cfg::host_cc, "/usr/bin/gcc"); + case ctor::output_system::build: + return c.get(ctor::cfg::build_cc, "/usr/bin/gcc"); } - case Language::Cpp: + case ctor::language::cpp: switch(outputSystem()) { - case OutputSystem::Host: - return getConfiguration(cfg::host_cxx, "/usr/bin/g++"); - case OutputSystem::Build: - return getConfiguration(cfg::build_cxx, "/usr/bin/g++"); + case ctor::output_system::host: + return c.get(ctor::cfg::host_cxx, "/usr/bin/g++"); + case ctor::output_system::build: + return c.get(ctor::cfg::build_cxx, "/usr/bin/g++"); } default: std::cerr << "Unknown CC target type\n"; |