]> git.tdb.fi Git - builder.git/blobdiff - source/staticlibrary.h
Add gcc's private library directory to ClangLinker's system path
[builder.git] / source / staticlibrary.h
index 033e98a0e2cc889fe061967e7cfe071cc9e3d6de..98d299026bc366aed45ab21568530b02e82b84f2 100644 (file)
@@ -11,14 +11,24 @@ A static library target.
 */
 class StaticLibrary: public FileTarget
 {
+private:
+       /* TODO this really belongs in a Component, but some refactoring is required
+       to allow non-builder packages to have components.  Rename BinaryPackage to
+       ExternalPackage, add BuildableComponent and ExternalComponent classes. */
+       BuildInfo build_info;
+
 public:
-       StaticLibrary(Builder &, const Msp::FS::Path &);
-       StaticLibrary(Builder &, const Component &, const std::list<ObjectFile *> &);
+       StaticLibrary(Builder &b, const Msp::FS::Path &p): FileTarget(b, p) { }
+       StaticLibrary(Builder &, const Component &, const std::vector<ObjectFile *> &);
 private:
        static std::string generate_filename(const Component &);
 
 public:
-       virtual const char *get_type() const { return "StaticLibrary"; }
+       const char *get_type() const override { return "StaticLibrary"; }
+
+       void add_required_library(const std::string &);
+       void add_library_path(const Msp::FS::Path &);
+       void collect_build_info(BuildInfo &) const override;
 };
 
 #endif