3 #include "objectfile.h"
4 #include "sourcepackage.h"
5 #include "staticlibrary.h"
10 StaticLibrary::StaticLibrary(Builder &b, const FS::Path &p):
14 StaticLibrary::StaticLibrary(Builder &b, const Component &c, const list<ObjectFile *> &objs):
15 FileTarget(b, c.get_package(), c.get_package().get_output_directory()/generate_filename(c))
18 for(list<ObjectFile *>::const_iterator i=objs.begin(); i!=objs.end(); ++i)
21 install_location = "lib";
22 nested_build_sig = true;
23 arch_in_build_sig = true;
26 string StaticLibrary::generate_filename(const Component &comp)
28 const Architecture &arch = comp.get_package().get_builder().get_current_arch();
29 return arch.get_static_library_patterns().front().apply(comp.get_name());
32 void StaticLibrary::add_required_library(const string &lib)
34 build_info.libs.push_back(lib);
37 void StaticLibrary::add_library_path(const FS::Path &pth)
39 build_info.libpath.push_back(pth);
42 void StaticLibrary::collect_build_info(BuildInfo &binfo) const
44 Target::collect_build_info(binfo);
45 binfo.update_from(build_info);