]> git.tdb.fi Git - builder.git/blobdiff - source/architecture.cpp
Add gcc's private library directory to ClangLinker's system path
[builder.git] / source / architecture.cpp
index 758d8b9b3a264d5f3905d9d18f10b033b7849e15..54ffcf0f872cf7d5e1483190e9156cded9012402 100644 (file)
@@ -128,16 +128,6 @@ Architecture::Architecture(Builder &b, const string &spec):
                        native = true;
        }
 
-       if(toolchain.empty())
-       {
-               if((system=="darwin" || system=="freebsd") && builder.get_vfs().find_binary("clang"))
-                       toolchain = "clang";
-               else if(system=="windows" && native)
-                       toolchain = "msvc";
-               else
-                       toolchain = "gnu";
-       }
-
        update();
 }
 
@@ -154,7 +144,9 @@ void Architecture::update()
                name += format("-%s", cpu);
        if(!fpu.empty())
                name += format("-%s", fpu);
-       name += format("-%d-%s-%s", bits, system, toolchain);
+       name += format("-%d-%s", bits, system);
+       if(!toolchain.empty())
+               name += format("-%s", toolchain);
 
        filename_patterns.clear();
        if(system=="windows")
@@ -335,5 +327,11 @@ void Architecture::parse_specification(const string &spec)
 Architecture::Loader::Loader(Architecture &a):
        DataFile::ObjectLoader<Architecture>(a)
 {
-       add("prefix", &Architecture::cross_prefix);
+       add("prefix", &Loader::cross_prefix);
+}
+
+void Architecture::Loader::cross_prefix(const string &p)
+{
+       if(!obj.native)
+               obj.cross_prefix = p;
 }