summaryrefslogtreecommitdiff
path: root/src/tools.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools.cc')
-rw-r--r--src/tools.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/tools.cc b/src/tools.cc
index f8662cc..e9c9b33 100644
--- a/src/tools.cc
+++ b/src/tools.cc
@@ -974,7 +974,14 @@ ctor::target_type target_type_from_extension(ctor::toolchain toolchain,
if(ext == ".so" ||
ext == ".dylib")
{
- return ctor::target_type::dynamic_library;
+ if(file.filename().string().substr(0, 3) != "lib")
+ {
+ return ctor::target_type::module;
+ }
+ else
+ {
+ return ctor::target_type::shared_library;
+ }
}
if(ext == ".o")
@@ -1003,7 +1010,7 @@ ctor::target_type target_type_from_extension(ctor::toolchain toolchain,
if(ext == ".dll")
{
- return ctor::target_type::dynamic_library;
+ return ctor::target_type::shared_library;
}
if(ext == ".obj")
@@ -1087,7 +1094,8 @@ std::filesystem::path extension(ctor::toolchain toolchain,
break;
}
break;
- case ctor::target_type::dynamic_library:
+ case ctor::target_type::shared_library:
+ case ctor::target_type::module:
switch(arch)
{
case ctor::arch::unix: