]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.cpp
Redesign the way commands are set for tools
[builder.git] / source / gnulinker.cpp
index 9ae5d640e3e8fcec5106133fce9c2a422fa11328..ea448acdcf3105980709bca561a1c1b3bc2ceb28 100644 (file)
@@ -115,7 +115,14 @@ Task *GnuLinker::run(const Target &) const
 GnuLinker::Linker::Linker(GnuLinker &p, const string &ct):
        SubTool(p),
        compiler_tag(ct)
-{ }
+{
+       if(compiler_tag=="CC")
+               set_command("gcc", true);
+       else if(compiler_tag=="CXX")
+               set_command("g++", true);
+       else
+               throw invalid_argument("GnuLinker::Linker::Linker");
+}
 
 Target *GnuLinker::Linker::create_target(const list<Target *> &sources, const string &arg)
 {
@@ -150,18 +157,6 @@ void GnuLinker::Linker::do_prepare()
                compiler.prepare();
                executable = compiler.get_executable();
        }
-       else
-       {
-               string command;
-               if(compiler_tag=="CC")
-                       command = "gcc";
-               else if(compiler_tag=="CXX")
-                       command = "g++";
-               else
-                       throw invalid_argument("GnuLinker::Linker::Linker");
-
-               set_executable(command, true);
-       }
 }
 
 Task *GnuLinker::Linker::run(const Target &target) const