]> git.tdb.fi Git - builder.git/blobdiff - source/gnucompiler.cpp
Add more recognized architectures
[builder.git] / source / gnucompiler.cpp
index 051722832ea66402e515733fb51cd5c6ad78aa8e..6daa99d81a565c482c05f6a49127986d0a457ead 100644 (file)
 using namespace std;
 using namespace Msp;
 
+namespace {
+
+const char *cpus[] =
+{
+       "athlonxp", "athlon-xp",
+       "armv7a",   "armv7-a",
+       0
+};
+
+}
+
 GnuCompiler::GnuCompiler(Builder &b, const Architecture &a, const string &t, const FS::Path &sysroot):
        Tool(b, a, t)
 {
@@ -165,9 +176,17 @@ Task *GnuCompiler::run(const Target &target) const
        if(architecture->is_native() && architecture->get_bits()!=native_arch.get_bits())
                argv.push_back(format("-m%d", architecture->get_bits()));
 
-       const string &cpu = architecture->get_cpu();
+       string cpu = architecture->get_cpu();
        if(!cpu.empty())
+       {
+               for(unsigned i=0; cpus[i]; i+=2)
+                       if(cpu==cpus[i])
+                       {
+                               cpu = cpus[i+1];
+                               break;
+                       }
                argv.push_back("-march="+cpu);
+       }
 
        FS::Path obj_path = object.get_path();
        FS::Path src_path = object.get_source().get_path();