#include <map>
#include <set>
#include <string>
+#include <sigc++/signal.h>
#include <msp/time/timestamp.h>
class Builder;
UPTODATE
};
+public:
+ sigc::signal<void> signal_bubble_rebuild;
+
+protected:
Builder &builder;
const Package *package;
const Component *component;
void set_tool(const Tool &);
const Tool *get_tool() const { return tool; }
+ /** Indicates if it's possible to build this target. */
bool is_buildable() const { return tool!=0; }
+
+ /** Indicates if this target needs rebuilding. Only makes sense after the
+ target has been prepared. */
bool needs_rebuild() const { return state>PREPARING && state<UPTODATE; }
+
+ /** Returns the reason for rebuilding this target. Only makes sense after
+ the target has been prepared. */
const std::string &get_rebuild_reason() const { return rebuild_reason; }
+
+ /** Forces rebuild of the target. */
+ void force_rebuild();
+
bool is_installable() const { return !install_location.empty(); }
const std::string &get_install_location() const { return install_location; }
void add_depend(Target *);