]> git.tdb.fi Git - builder.git/blobdiff - source/importlibrary.cpp
Use a separate category for import library filename patterns
[builder.git] / source / importlibrary.cpp
index 1e6650fdac1ee648ebae4fbf642ef2cf498a1c6e..3cdc103f8ef190aa0cd6d672f1cf985ea620c1cd 100644 (file)
@@ -1,4 +1,6 @@
 #include <msp/strings/format.h>
+#include "architecture.h"
+#include "builder.h"
 #include "component.h"
 #include "exportdefinitions.h"
 #include "importlibrary.h"
@@ -14,7 +16,7 @@ ImportLibrary::ImportLibrary(Builder &b, const FS::Path &p):
 { }
 
 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())),
+       FileTarget(b, c.get_package(), c.get_package().get_output_directory()/generate_filename(c, sl)),
        shared_lib(&sl)
 {
        component = &c;
@@ -25,5 +27,14 @@ ImportLibrary::ImportLibrary(Builder &b, const Component &c, SharedLibrary &sl,
 
        const string &version = component->get_package().get_interface_version();
        if(!version.empty())
-               install_filename = format("lib%s-%s.dll.a", sl.get_libname(), version);
+       {
+               const Architecture &arch = builder.get_current_arch();
+               install_filename = arch.create_filename<ImportLibrary>(format("%s-%s", sl.get_libname(), version));
+       }
+}
+
+string ImportLibrary::generate_filename(const Component &comp, const SharedLibrary &sl)
+{
+       const Architecture &arch = comp.get_package().get_builder().get_current_arch();
+       return arch.create_filename<ImportLibrary>(sl.get_libname());
 }