summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/task_so.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/task_so.cc b/src/task_so.cc
index c8926eb..e1ea6af 100644
--- a/src/task_so.cc
+++ b/src/task_so.cc
@@ -18,13 +18,11 @@ TaskSO::TaskSO(ctor::target_type resolved_target_type,
const std::vector<std::string>& objects,
const std::string& sourceDir_)
: Task(resolved_target_type, config_, settings_, sourceDir_)
+ , _targetFile(target)
, config(config_)
, settings(settings_)
, sourceDir(sourceDir_)
{
- std::filesystem::path base = sourceDir;
-
- _targetFile = base / target;
auto toolchain = getToolChain(config.system);
_targetFile = extension(toolchain, target_type, config.system, _targetFile);
for(const auto& object : objects)
@@ -92,7 +90,7 @@ int TaskSO::runInner()
append(args, ld_option(toolchain, ctor::ld_opt::position_independent_code));
append(args, ld_option(toolchain, ctor::ld_opt::build_shared));
-
+ append(args, ld_option(toolchain, ctor::ld_opt::custom, "-Wl,-module"));
append(args, ld_option(toolchain, ctor::ld_opt::output, targetFile().string()));
for(const auto& task : getDependsTasks())