]> git.tdb.fi Git - builder.git/blobdiff - source/component.cpp
Delay locating tool executables until the tool is needed
[builder.git] / source / component.cpp
index 371e145a0369ab7f3a37a48131033d8446e567af..d0cc1e9822922726f5a5cce8f2af3c5fa0a7b7af 100644 (file)
@@ -138,7 +138,7 @@ void Component::create_targets() const
        string inst_loc;
        if(type==TARBALL)
        {
-               const Tool &tar = toolchain.get_tool("TAR");
+               Tool &tar = toolchain.get_tool("TAR");
 
                list<Target *> files;
                for(SourceList::const_iterator i=source_filenames.begin(); i!=source_filenames.end(); ++i)
@@ -171,7 +171,7 @@ void Component::create_targets() const
        else if(type==INSTALL)
        {
                Target *inst = build_graph.get_target("install");
-               const Tool &copy = toolchain.get_tool("CP");
+               Tool &copy = toolchain.get_tool("CP");
                for(SourceList::const_iterator i=source_filenames.begin(); i!=source_filenames.end(); ++i)
                {
                        FileTarget *ft;
@@ -184,7 +184,7 @@ void Component::create_targets() const
        }
        else if(type==DATAPACK)
        {
-               const Tool &dcomp = toolchain.get_tool("DATA");
+               Tool &dcomp = toolchain.get_tool("DATA");
 
                list<Target *> files;
                for(SourceList::const_iterator i=source_filenames.begin(); i!=source_filenames.end(); ++i)
@@ -214,7 +214,7 @@ void Component::create_targets() const
                for(SourceList::const_iterator i=source_filenames.begin(); i!=source_filenames.end(); ++i)
                {
                        string ext = FS::extpart(FS::basename(*i));
-                       const Tool *tool = toolchain.get_tool_for_suffix(ext, true);
+                       Tool *tool = toolchain.get_tool_for_suffix(ext, true);
                        if(tool)
                        {
                                Target *src = tool->create_source(*this, *i);
@@ -232,12 +232,12 @@ void Component::create_targets() const
                        }
                }
 
-               const Tool &linker = toolchain.get_tool("LINK");
+               Tool &linker = toolchain.get_tool("LINK");
 
                list<Target *> results;
                if(type==LIBRARY)
                {
-                       const Tool &archiver = toolchain.get_tool("AR");
+                       Tool &archiver = toolchain.get_tool("AR");
                        results.push_back(linker.create_target(objs, "shared"));
                        results.push_back(archiver.create_target(objs));
                }