X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexecutable.cpp;h=8f8c9a2dc0f2c3d35ff93b0206acc45b6befd26b;hb=74266a6e650f019063cdcd1c9a7bd26d8f99041b;hp=4e7b1f4382c3b7224661bd72f83e0ec5e2c65e42;hpb=0d80cabf649b931b26e7055385156c75a7385d35;p=builder.git diff --git a/source/executable.cpp b/source/executable.cpp index 4e7b1f4..8f8c9a2 100644 --- a/source/executable.cpp +++ b/source/executable.cpp @@ -16,6 +16,9 @@ Executable::Executable(Builder &b, const Component &c, const list add_depend(*i); } +/** +Finds and adds any required libraries to the dependencies. +*/ void Executable::find_depends() { const list &libs=comp.get_build_info().libs; @@ -25,23 +28,28 @@ void Executable::find_depends() if(lib) add_depend(lib); } + + deps_ready=true; } Action *Executable::build() { - return Target::build(new Link(builder, *this, comp));; + return Target::build(new Link(builder, *this));; } -string Executable::generate_target_name(const Component &comp) +/** +Returns the name for the executable. We can't do this in the constructor since +we need to pass the value to the Target c'tor. +*/ +string Executable::generate_target_name(const Component &c) { - string prefix; - string suffix; + string prefix,suffix; - if(comp.get_type()==Component::LIBRARY) + if(c.get_type()==Component::LIBRARY) { prefix="lib"; suffix=".so"; } - return (comp.get_package().get_source()/(prefix+comp.get_name()+suffix)).str(); + return (c.get_package().get_source()/(prefix+c.get_name()+suffix)).str(); }