]> git.tdb.fi Git - builder.git/blob - source/binary.h
a8d10f0384008a9599a8a001b5a6c87294e63ca2
[builder.git] / source / binary.h
1 #ifndef BINARY_H_
2 #define BINARY_H_
3
4 #include "buildinfo.h"
5 #include "filetarget.h"
6
7 class Component;
8 class ObjectFile;
9
10 /**
11 Produces a binary file, which may be either a standalone executable or a shared
12 library.
13 */
14 class Binary: public FileTarget
15 {
16 private:
17         BuildInfo static_binfo;
18
19 protected:
20         std::list<ObjectFile *> objects;
21
22         Binary(Builder &, const Msp::FS::Path &);
23         Binary(Builder &, const Component &, const std::string &, const std::list<ObjectFile *> &);
24
25 public:
26         void collect_build_info(BuildInfo &) const override;
27
28 protected:
29         void find_dependencies() override;
30 };
31
32 #endif