X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fobjectfile.h;h=4f116e9f2d99e50e044b259bce2656fa3b214beb;hb=82c7d6187fdaeaa1b9cfbd6637d9b047a78f17ec;hp=2e9b6e1a4333074e71c18fe1502ab49661a68c13;hpb=2aaad259f2dff58c1e909f1e6d83961e78fd7d3e;p=builder.git diff --git a/source/objectfile.h b/source/objectfile.h index 2e9b6e1..4f116e9 100644 --- a/source/objectfile.h +++ b/source/objectfile.h @@ -12,24 +12,26 @@ class ObjectFile: public FileTarget { private: SourceFile &source; - + bool used_in_shlib; + public: ObjectFile(Builder &, const Component &, SourceFile &); private: - static Msp::FS::Path generate_target_path(const Component &, const std::string &); + static Msp::FS::Path generate_target_path(const Component &, const Msp::FS::Path &); public: - virtual const char *get_type() const { return "ObjectFile"; } + const char *get_type() const override { return "ObjectFile"; } SourceFile &get_source() const { return source; } - /** Processes as many new dependences as possible. Some may be created on - the fly and can't be processed until their own dependencies are ready. In - such cases this function needs to be called again. */ - virtual void find_depends(); + void set_used_in_shared_library(bool); + bool is_used_in_shared_library() const { return used_in_shlib; } + + void collect_build_info(BuildInfo &) const override; private: - /** Recursively looks for header targets and adds them as dependencies. */ - void find_depends(FileTarget *); + void find_dependencies() override; + + void find_dependencies(FileTarget &, std::vector &); }; #endif