]> git.tdb.fi Git - builder.git/blobdiff - source/architecture.cpp
Tool names are no longer retrieved from Architecture
[builder.git] / source / architecture.cpp
index e0b69667952c64c1ad2e70229e5c4e951a128d7f..a416551f23312b74febc418f2c4e41b7f9a5049e 100644 (file)
@@ -105,11 +105,21 @@ Architecture::Architecture(Builder &b, const string &spec):
        if(!cpu.empty())
                name += format("-%s", cpu);
        name += format("-%d-%s", bits, system);
-}
 
-void Architecture::set_tool(const string &t, const string &p)
-{
-       tools[t] = p;
+       if(system=="windows")
+       {
+               sharedlib_patterns.push_back(Pattern("%.dll"));
+               sharedlib_patterns.push_back(Pattern("lib%.dll"));
+               staticlib_patterns.push_back(Pattern("lib%.a"));
+               staticlib_patterns.push_back(Pattern("lib%.dll.a"));
+               executable_patterns.push_back(Pattern("%.exe"));
+       }
+       else
+       {
+               sharedlib_patterns.push_back(Pattern("lib%.so"));
+               staticlib_patterns.push_back(Pattern("lib%.a"));
+               executable_patterns.push_back(Pattern("%"));
+       }
 }
 
 void Architecture::set_cross_prefix(const string &p)
@@ -117,29 +127,6 @@ void Architecture::set_cross_prefix(const string &p)
        cross_prefix = p;
 }
 
-std::string Architecture::get_tool(const string &t) const
-{
-       StringMap::const_iterator i = tools.find(t);
-       if(i!=tools.end())
-       {
-               if(i->second[0]=='-')
-                       return cross_prefix+i->second;
-               else
-                       return i->second;
-       }
-
-       const Architecture &native_arch = builder.get_native_arch();
-       if(this!=&native_arch)
-       {
-               if(!cross_prefix.empty())
-                       return cross_prefix+"-"+native_arch.get_tool(t);
-               else
-                       return native_arch.get_tool(t);
-       }
-       else
-               throw invalid_argument("Unknown tool");
-}
-
 bool Architecture::match_name(const string &pattern) const
 {
        vector<string> parts = split(pattern, "-");
@@ -215,10 +202,4 @@ Architecture::Loader::Loader(Architecture &a):
        arch(a)
 {
        add("prefix", &Architecture::cross_prefix);
-       add("tool",   &Loader::tool);
-}
-
-void Architecture::Loader::tool(const string &t, const string &p)
-{
-       arch.tools[t] = p;
 }