]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.cpp
Make AndroidCompiler more robust about detecting the cxx-stl location
[builder.git] / source / gnulinker.cpp
index 75a1bac280609086da046f86e3c71e1cc115d5e5..a93f809bfa1df263531d157d063ddf35ab12c441 100644 (file)
@@ -27,6 +27,8 @@ GnuLinker::GnuLinker(Builder &b, const Architecture &a, const FS::Path &sysroot)
        input_suffixes.push_back(".o");
        input_suffixes.push_back(".a");
 
+       processing_unit = COMPONENT;
+
        if(!sysroot.empty())
        {
                build_info.sysroot = sysroot;
@@ -129,16 +131,6 @@ GnuLinker::Linker::Linker(GnuLinker &p, const string &ct):
                throw invalid_argument("GnuLinker::Linker::Linker");
 }
 
-Target *GnuLinker::Linker::create_target(const list<Target *> &sources, const string &arg)
-{
-       return parent.create_target(sources, arg);
-}
-
-Target *GnuLinker::Linker::create_install(Target &target) const
-{
-       return parent.create_install(target);
-}
-
 string GnuLinker::Linker::create_build_signature(const BuildInfo &binfo) const
 {
        string result = FS::basename(executable->get_path());
@@ -228,6 +220,9 @@ Task *GnuLinker::Linker::run(const Target &target) const
 
        bool static_link_ok = (binfo.libmode<=BuildInfo::STATIC);
 
+       if(architecture->get_system()=="windows" && architecture->get_cross_prefix().find("mingw")!=string::npos)
+               argv.push_back("-lmingw32");
+
        const Target::Dependencies &depends = target.get_dependencies();
        for(Target::Dependencies::const_iterator i=depends.begin(); i!=depends.end(); ++i)
        {