X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobjectfile.h;h=9e3ff90a77c227cf157db6d8e646586409576bd1;hb=1ed833343bc83b83c5f61cbfd74423bbba677a04;hp=b04e630823c046506a16be4bae913b882f840f67;hpb=93db1636eac4ded5d89555d4c7e06b2126c3e4b0;p=builder.git diff --git a/source/objectfile.h b/source/objectfile.h index b04e630..9e3ff90 100644 --- a/source/objectfile.h +++ b/source/objectfile.h @@ -12,20 +12,26 @@ class ObjectFile: public FileTarget { private: SourceFile &source; - + bool used_in_shlib = false; + 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; } + 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: - virtual void find_dependencies(); + void find_dependencies() override; - void find_dependencies(FileTarget *); + void find_dependencies(FileTarget &, std::vector &); }; #endif