X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinary.cpp;h=636def98a295f318e0926cec71b39a277b7f3e21;hb=05a2b9dabd01414e9e9a91f9d69babaca4ccb32d;hp=591e9347f59298cda7e454f56320d09fb173a4b3;hpb=66d1078c04849ec17a7343d0494d6ed087e04318;p=builder.git diff --git a/source/binary.cpp b/source/binary.cpp index 591e934..636def9 100644 --- a/source/binary.cpp +++ b/source/binary.cpp @@ -1,7 +1,7 @@ /* $Id$ This file is part of builder -Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions +Copyright © 2006-2010 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ @@ -24,42 +24,41 @@ Binary::Binary(Builder &b, const Component &c, const list &objs): FileTarget(b, &c.get_package(), generate_target_path(c)), comp(c) { - buildable=true; + buildable = true; for(list::const_iterator i=objs.begin(); i!=objs.end(); ++i) add_depend(*i); } void Binary::find_depends() { - LibMode libmode=comp.get_package().get_library_mode(); + LibMode libmode = comp.get_package().get_library_mode(); if(dynamic_cast(this)) - libmode=DYNAMIC; + libmode = DYNAMIC; list queue; list dep_libs; queue.push_back(&comp); while(!queue.empty()) { - const Component *c=queue.front(); + const Component *c = queue.front(); queue.erase(queue.begin()); - const StringList &libpath=c->get_build_info().libpath; + const StringList &libpath = c->get_build_info().libpath; - const list &libs=c->get_build_info().libs; + const list &libs = c->get_build_info().libs; for(StringList::const_iterator i=libs.begin(); i!=libs.end(); ++i) { - Target *lib=builder.get_library(*i, libpath, libmode); + Target *lib = builder.get_library(*i, libpath, libmode); if(lib) { dep_libs.push_back(lib); - if(Install *inst=dynamic_cast(lib)) - lib=&inst->get_source(); - if(StaticLibrary *stlib=dynamic_cast(lib)) + lib = lib->get_real_target(); + if(StaticLibrary *stlib = dynamic_cast(lib)) queue.push_back(&stlib->get_component()); } else - builder.problem(comp.get_package().get_name(), format("Couldn't find library %s for %s", *i, FS::basename(name))); + builder.problem(comp.get_package().get_name(), format("Couldn't find library %s for %s", *i, name)); } } @@ -67,14 +66,14 @@ void Binary::find_depends() This ensures that static library ordering is correct. */ for(list::iterator i=dep_libs.begin(); i!=dep_libs.end(); ++i) { - bool last=true; + bool last = true; for(list::iterator j=i; (last && j!=dep_libs.end()); ++j) - last=(j==i || *j!=*i); + last = (j==i || *j!=*i); if(last) add_depend(*i); } - deps_ready=true; + deps_ready = true; } Action *Binary::create_action() @@ -84,24 +83,24 @@ Action *Binary::create_action() FS::Path Binary::generate_target_path(const Component &c) { - const SourcePackage &pkg=c.get_package(); + const SourcePackage &pkg = c.get_package(); string prefix, suffix; - const string &arch=pkg.get_builder().get_current_arch().get_name(); + const string &sys = pkg.get_builder().get_current_arch().get_system(); if(c.get_type()==Component::LIBRARY) { - prefix="lib"; - if(arch=="win32") - suffix=".dll"; + prefix = "lib"; + if(sys=="windows") + suffix = ".dll"; else - suffix=".so"; + suffix = ".so"; } else if(c.get_type()==Component::MODULE) - suffix=".m"; + suffix = ".m"; else if(c.get_type()==Component::PROGRAM) { - if(arch=="win32") - suffix=".exe"; + if(sys=="windows") + suffix = ".exe"; } return pkg.get_out_dir()/(prefix+c.get_name()+suffix);