#include "target.h"
class Analyzer;
+class Config;
class Package;
/**
Target *get_library(const std::string &, const StringList &, LibMode);
const Msp::Path::Path &get_cwd() const { return cwd; }
const std::string &get_arch_prefix(const std::string &) const;
+ std::string get_tool(const std::string &, const std::string &);
+ void apply_profile_template(Config &, const std::string &) const;
int main();
~Builder();
typedef std::list<Package *> PackageList;
typedef std::map<std::string, Package *> PackageMap;
typedef std::map<std::string, Target *> TargetMap;
- typedef std::map<std::string, std::string> ToolMap;
+ typedef std::map<std::string, StringMap> ToolMap;
+ typedef std::map<std::string, StringMap> ProfileTemplateMap;
StringList cmdline_targets;
- RawOptionMap cmdline_options;
+ StringMap cmdline_options;
Msp::Path::Path cwd;
PackageMap packages;
TargetMap includes;
TargetMap libraries;
- ToolMap tools; /// Not used yet
- StringMap archs; /// arch -> prefix
+ ToolMap tools; //< arch, tool name -> program name
+ StringMap archs; //< arch -> prefix
+ ProfileTemplateMap profile_tmpl;
Analyzer *analyzer;
bool do_build;