X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgnulinker.cpp;h=3693e2b0cc08386c6d9cb3bceecee05aa1d72455;hb=0696355a7c8be95d096e1f1e3f8c8c3595ad0d39;hp=43fb373bf6f90236089d1bf4dd5997f79b5d218a;hpb=632361796a7ddadf8a726526c937fab22281fb7b;p=builder.git diff --git a/source/gnulinker.cpp b/source/gnulinker.cpp index 43fb373..3693e2b 100644 --- a/source/gnulinker.cpp +++ b/source/gnulinker.cpp @@ -50,7 +50,6 @@ Target *GnuLinker::create_target(const list &sources, const std::strin Task *GnuLinker::run(const Target &target) const { const Binary &bin = dynamic_cast(target); - const SharedLibrary *shlib = dynamic_cast(&bin); string command = "gcc"; @@ -59,7 +58,7 @@ Task *GnuLinker::run(const Target &target) const if(ObjectFile *obj = dynamic_cast(*i)) { const Tool *tool = obj->get_tool(); - if(dynamic_cast(tool)) + if(tool->get_tag()=="CXX") command = "g++"; } @@ -68,7 +67,7 @@ Task *GnuLinker::run(const Target &target) const const Component &comp = *bin.get_component(); - if(shlib) + if(const SharedLibrary *shlib = dynamic_cast(&bin)) { argv.push_back("-shared"); argv.push_back("-fPIC"); @@ -103,8 +102,8 @@ Task *GnuLinker::run(const Target &target) const argv.push_back(relative(obj->get_path(), work_dir).str()); else if(StaticLibrary *stlib = dynamic_cast(tgt)) argv.push_back(stlib->get_path().str()); - else if(Library *lib = dynamic_cast(tgt)) - argv.push_back("-l"+lib->get_libname()); + else if(SharedLibrary *shlib = dynamic_cast(tgt)) + argv.push_back("-l"+shlib->get_libname()); } if(!builder.get_dry_run())