#include "filetarget.h"
-class Component;
class SourceFile;
/**
class ObjectFile: public FileTarget
{
private:
- const Component ∁
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 Component &get_component() const { return comp; }
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; }
+
+ virtual void collect_build_info(BuildInfo &) const;
private:
- /** Recursively looks for header targets and adds them as dependencies. */
- void find_depends(FileTarget *);
+ virtual void find_dependencies();
+
+ void find_dependencies(FileTarget *);
};
#endif