X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinary.h;h=16ed1ecf95148b6c028a727dbb40d0af49946216;hb=aa053d637e8259755af7d2e4b510a242f4d29c7b;hp=9f694d877dbc5e9218ce1cf0f5e60be18e977e3a;hpb=632361796a7ddadf8a726526c937fab22281fb7b;p=builder.git diff --git a/source/binary.h b/source/binary.h index 9f694d8..16ed1ec 100644 --- a/source/binary.h +++ b/source/binary.h @@ -1,6 +1,7 @@ #ifndef BINARY_H_ #define BINARY_H_ +#include "buildinfo.h" #include "filetarget.h" class Component; @@ -10,16 +11,24 @@ class ObjectFile; Produces a binary file, which may be either a standalone executable or a shared library. */ -class Binary: public virtual FileTarget +class Binary: public FileTarget { +private: + BuildInfo static_binfo; + protected: - Binary(Builder &, const Component &, const std::list &); + std::vector objects; + + Binary(Builder &, const Msp::FS::Path &); + Binary(Builder &, const Component &, const std::string &, const std::vector &); + public: - virtual void find_depends(); + void collect_build_info(BuildInfo &) const override; + protected: - /** Returns the path for the binary. We can't do this in the constructor - since we need to pass the value to the Target c'tor. */ - static Msp::FS::Path generate_target_path(const Component &); + void find_dependencies() override; +private: + void find_dependencies(Target *, std::vector &, std::vector &, std::vector &); }; #endif