-StaticLibrary::StaticLibrary(Builder &b, const Component &c, const list<ObjectFile *> &objs):
- FileTarget(b, &c.get_package(), generate_target_path(c)),
- Library(b, package, path, c.get_name()),
- comp(c)
+StaticLibrary::StaticLibrary(Builder &b, const FS::Path &p):
+ FileTarget(b, p)
+{ }
+
+StaticLibrary::StaticLibrary(Builder &b, const Component &c, const vector<ObjectFile *> &objs):
+ FileTarget(b, c.get_package(), c.get_package().get_output_directory()/generate_filename(c))
+{
+ component = &c;
+ for(ObjectFile *o: objs)
+ add_dependency(*o);
+
+ install_location = "lib";
+ nested_build_sig = true;
+ arch_in_build_sig = true;
+}
+
+string StaticLibrary::generate_filename(const Component &comp)
+{
+ const Architecture &arch = comp.get_package().get_builder().get_current_arch();
+ return arch.create_filename<StaticLibrary>(comp.get_name());
+}
+
+void StaticLibrary::add_required_library(const string &lib)
+{
+ build_info.libs.push_back(lib);
+}
+
+void StaticLibrary::add_library_path(const FS::Path &pth)