summaryrefslogtreecommitdiff
path: root/src/tools.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2026-01-27 19:42:57 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2026-01-27 19:42:57 +0100
commit7b493a531decb401ab9b141dd2d7aa7d1338fbdf (patch)
tree9343c843b5a4c2e8234f7a7e085ffc07ceb1ebad /src/tools.cc
parent282f90f717d93267b2bc64d8bfa4e3e2b7c21711 (diff)
Clean up target_type usage a bit and add new ctor::target_type::module type.modules
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: