X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstaticlibrary.h;h=c76b314cd441021cbffc99c8ee968eb4d69b7e42;hb=42d80b43a463627e0e7edf6df3be9bd4b976d74c;hp=a4dbf59d5c7f80c82e438a0a62b8005d604bd573;hpb=632361796a7ddadf8a726526c937fab22281fb7b;p=builder.git diff --git a/source/staticlibrary.h b/source/staticlibrary.h index a4dbf59..c76b314 100644 --- a/source/staticlibrary.h +++ b/source/staticlibrary.h @@ -1,7 +1,7 @@ #ifndef STATICLIBRARY_H_ #define STATICLIBRARY_H_ -#include "library.h" +#include "filetarget.h" class Component; class ObjectFile; @@ -9,14 +9,25 @@ class ObjectFile; /** A static library target. */ -class StaticLibrary: public Library +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 &); +private: + static std::string generate_filename(const Component &); +public: virtual const char *get_type() const { return "StaticLibrary"; } -private: - static Msp::FS::Path generate_target_path(const Component &); + + void add_required_library(const std::string &); + virtual void collect_build_info(BuildInfo &) const; }; #endif