From b25810b9668abe8f7cc7db24326a98c1b017966e Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Mon, 21 Jun 2021 21:39:46 +0200 Subject: Distinguish between host and target builds. --- task.cc | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'task.cc') diff --git a/task.cc b/task.cc index 928f95d..70d0b76 100644 --- a/task.cc +++ b/task.cc @@ -7,6 +7,7 @@ Task::Task(const BuildConfiguration& config, const std::vector& depends) : dependsStr(depends) , config(config) + , output_system(config.system) { } @@ -97,7 +98,39 @@ TargetType Task::targetType() const return target_type; } -Language Task::language() const +Language Task::sourceLanguage() const { - return _language; + return source_language; +} + +OutputSystem Task::outputSystem() const +{ + return output_system; +} + +std::string Task::compiler() const +{ + switch(sourceLanguage()) + { + case Language::C: + switch(outputSystem()) + { + case OutputSystem::Target: + return getConfiguration(cfg::target_cc, "/usr/bin/gcc"); + case OutputSystem::BuildHost: + return getConfiguration(cfg::host_cc, "/usr/bin/gcc"); + } + case Language::Cpp: + switch(outputSystem()) + { + case OutputSystem::Target: + return getConfiguration(cfg::target_cpp, "/usr/bin/g++"); + case OutputSystem::BuildHost: + return getConfiguration(cfg::host_cpp, "/usr/bin/g++"); + } + default: + std::cerr << "Unknown CC target type\n"; + exit(1); + break; + } } -- cgit v1.2.3