]> git.tdb.fi Git - builder.git/blobdiff - source/builder.cpp
Add Symlink target and associated action
[builder.git] / source / builder.cpp
index 208e7d5b389aec8524f75922e5d2df828848bdbc..17fbd32e2efece9636ea39f0ed05a589a572f8af 100644 (file)
@@ -626,7 +626,7 @@ int Builder::create_targets()
        // Apply what-ifs
        for(StringList::iterator i=what_if.begin(); i!=what_if.end(); ++i)
        {
-               Target *tgt = get_target((cwd/ *i).str());
+               FileTarget *tgt = dynamic_cast<FileTarget *>(get_target((cwd/ *i).str()));
                if(!tgt)
                {
                        IO::print(IO::cerr, "Unknown what-if target %s\n", *i);
@@ -705,9 +705,7 @@ Target *Builder::get_library(const string &lib, const FS::Path &path, LibMode mo
 
                if(tgt)
                {
-                       Target *real_tgt = tgt;
-                       if(Install *inst = dynamic_cast<Install *>(tgt))
-                               real_tgt = &inst->get_source();
+                       Target *real_tgt = tgt->get_real_target();
 
                        /* Ignore dynamic libraries from local packages unless library mode is
                        DYNAMIC */