X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgnulinker.cpp;h=2d7438d61b547e01f137c0905c049ed7f1f7d89d;hb=375526d108ec742a84926e1d458428fd2d0f37f3;hp=6a2fcd54cdfd17d90f330f53f75b66b5bbe625e8;hpb=3f0f7216789aeedba206308c452623351e406e75;p=builder.git diff --git a/source/gnulinker.cpp b/source/gnulinker.cpp index 6a2fcd5..2d7438d 100644 --- a/source/gnulinker.cpp +++ b/source/gnulinker.cpp @@ -216,7 +216,6 @@ Task *GnuLinker::Linker::run(const Target &target) const argv.push_back(relative(bin.get_path(), work_dir).str()); bool static_link_ok = (binfo.libmode<=BuildInfo::STATIC); - bool need_l_objc = false; const Target::Dependencies &depends = target.get_dependencies(); for(Target::Dependencies::const_iterator i=depends.begin(); i!=depends.end(); ++i) @@ -225,13 +224,7 @@ Task *GnuLinker::Linker::run(const Target &target) const Target *tgt = (*i)->get_real_target(); if(ObjectFile *obj = dynamic_cast(tgt)) - { argv.push_back(relative(obj->get_path(), work_dir).str()); - /* XXX This is a hack. A more generic way is needed for tools to pass - information down the chain. */ - if(obj->get_tool()->get_tag()=="OBJC") - need_l_objc = true; - } else if(StaticLibrary *stlib = dynamic_cast(tgt)) argv.push_back((file?file:stlib)->get_path().str()); else if(SharedLibrary *shlib = dynamic_cast(tgt)) @@ -257,8 +250,6 @@ Task *GnuLinker::Linker::run(const Target &target) const argv.push_back(i->substr(0, i->size()-10)); } - if(need_l_objc) - argv.push_back("-lobjc"); if(static_link_ok) argv.push_back("-static"); else if(architecture->get_system()=="windows")