X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Ftarget.cpp;h=f99b0bc4165d1f4c342ebf9c9127159b90ca4bd2;hb=9c2bb20163b1dc5b17c46086a744ec117433248c;hp=dbdd950e4a3bd7570c920b6122b0ee3cfcecf3e2;hpb=c8e829c219c65ff8e93b6c7b66212ff0876441c5;p=builder.git diff --git a/source/lib/target.cpp b/source/lib/target.cpp index dbdd950..f99b0bc 100644 --- a/source/lib/target.cpp +++ b/source/lib/target.cpp @@ -122,6 +122,8 @@ void Target::prepare() } state = PREPARING; + if(primary_target) + primary_target->prepare(); /* Prepare existing dependencies early, because their information may be needed to find other dependencies. */ for(Target *d: depends) @@ -136,12 +138,11 @@ void Target::prepare() { if(FileTarget *tool_exe = tool->get_executable()) add_dependency(*tool_exe); - broken |= !tool->get_problems().empty(); + broken |= tool->is_broken(); - // Only check package and component problems for buildable targets - // XXX How to propagate nested package problems? - broken |= (package && !package->get_problems().empty()); - broken |= (component && !component->get_problems().empty()); + // Only check package and component brokenness for buildable targets + broken |= (package && package->is_broken()); + broken |= (component && component->is_broken()); } /* Now that all dependencies are known, prepare them again. This will do