From 0855b2177b62fa719eff6643e3b433c41eecf142 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 21 Nov 2021 21:09:42 +0100 Subject: Don't warn about missing external config cache values when bootstrapping. --- src/tasks.cc | 55 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 25 deletions(-) (limited to 'src/tasks.cc') diff --git a/src/tasks.cc b/src/tasks.cc index 3bfff8b..8ab296f 100644 --- a/src/tasks.cc +++ b/src/tasks.cc @@ -18,7 +18,8 @@ #include "rebuild.h" #include "configure.h" -const std::deque& getTargets(const Settings& settings) +const std::deque& getTargets(const Settings& settings, + bool resolve_externals) { static bool initialised{false}; static std::deque targets; @@ -36,31 +37,34 @@ const std::deque& getTargets(const Settings& settings) auto configs = configFiles[i].cb(); for(auto& config : configs) { - // Resolv config externals - for(const auto& external : config.externals) + if(resolve_externals) { - if(externals.find(external) == externals.end()) + // Resolv config externals + for(const auto& external : config.externals) { - std::cout << "External '" << external << - "' not found cache - run configure.\n"; - continue; + if(externals.find(external) == externals.end()) + { + std::cout << "External '" << external << + "' not found in cache - run configure.\n"; + exit(1); + } + const auto& flags = externals.at(external); + config.flags.cflags.insert(config.flags.cflags.end(), + flags.cflags.begin(), + flags.cflags.end()); + config.flags.cxxflags.insert(config.flags.cxxflags.end(), + flags.cxxflags.begin(), + flags.cxxflags.end()); + config.flags.ldflags.insert(config.flags.ldflags.end(), + flags.ldflags.begin(), + flags.ldflags.end()); + config.flags.asmflags.insert(config.flags.asmflags.end(), + flags.asmflags.begin(), + flags.asmflags.end()); + //config.libs.insert(config.libs.end(), + // libs.begin(), + // libs.end()); } - const auto& flags = externals.at(external); - config.flags.cflags.insert(config.flags.cflags.end(), - flags.cflags.begin(), - flags.cflags.end()); - config.flags.cxxflags.insert(config.flags.cxxflags.end(), - flags.cxxflags.begin(), - flags.cxxflags.end()); - config.flags.ldflags.insert(config.flags.ldflags.end(), - flags.ldflags.begin(), - flags.ldflags.end()); - config.flags.asmflags.insert(config.flags.asmflags.end(), - flags.asmflags.begin(), - flags.asmflags.end()); - //config.libs.insert(config.libs.end(), - // libs.begin(), - // libs.end()); } targets.push_back({config, path}); @@ -169,9 +173,10 @@ std::shared_ptr getNextTask(const std::list>& allTas } std::list> getTasks(const Settings& settings, - const std::vector names) + const std::vector names, + bool resolve_externals) { - auto& targets = getTargets(settings); + auto& targets = getTargets(settings, resolve_externals); std::list> tasks; for(const auto& target : targets) { -- cgit v1.2.3