diff options
Diffstat (limited to 'src/tools.cc')
| -rw-r--r-- | src/tools.cc | 14 |
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: |
