]> git.tdb.fi Git - builder.git/blobdiff - source/gnucompiler.cpp
Add FPU specification to Architecture and GnuCompiler
[builder.git] / source / gnucompiler.cpp
index 884776ab21927540885c03db4b135601889ca0a3..816a9a31eaf196e461e9ea3ca2423bd4804f2a38 100644 (file)
@@ -190,6 +190,21 @@ Task *GnuCompiler::run(const Target &target) const
                argv.push_back("-march="+cpu);
        }
 
+       if(!architecture->get_fpu().empty())
+       {
+               if(architecture->get_type()=="x86")
+               {
+                       argv.push_back("-mfpmath="+architecture->get_fpu());
+                       if(architecture->get_fpu()=="sse")
+                               argv.push_back("-msse2");
+               }
+               else if(architecture->get_type()=="arm")
+               {
+                       argv.push_back("-mfpu="+architecture->get_fpu());
+                       argv.push_back("-mfloat-abi=softfp");
+               }
+       }
+
        FS::Path obj_path = object.get_path();
        FS::Path src_path = object.get_source().get_path();
        FS::Path work_dir = object.get_component()->get_package().get_source_directory();