#include <msp/strings/format.h>
+#include "component.h"
+#include "exportdefinitions.h"
#include "importlibrary.h"
+#include "sharedlibrary.h"
+#include "sourcepackage.h"
+using namespace std;
using namespace Msp;
ImportLibrary::ImportLibrary(Builder &b, const FS::Path &p):
- FileTarget(b, p)
+ FileTarget(b, p),
+ shared_lib(0)
{ }
+
+ImportLibrary::ImportLibrary(Builder &b, const Component &c, SharedLibrary &sl, ExportDefinitions &exp):
+ FileTarget(b, c.get_package(), c.get_package().get_output_directory()/format("lib%s.dll.a", sl.get_libname())),
+ shared_lib(&sl)
+{
+ component = &c;
+ add_dependency(exp);
+ shared_lib->set_import_library(this);
+
+ install_location = "lib";
+
+ const string &version = component->get_package().get_interface_version();
+ if(!version.empty())
+ install_filename = format("lib%s-%s.dll.a", sl.get_libname(), version);
+}