From b1b290b0e3cad1b362ec56a7aeb8db05e63007da Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 16 Jun 2022 18:46:34 +0200 Subject: Fix dependency search and linking for ld and so targets. --- src/task_ld.cc | 2 +- src/task_so.cc | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/task_ld.cc b/src/task_ld.cc index 3e05fb1..df50001 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -87,7 +87,7 @@ int TaskLD::runInner() auto depFile = dep->targetFile(); if(depFile.extension() == ".so") { - args.push_back(std::string("-L") + settings.builddir); + args.push_back(std::string("-L") + targetFile().parent_path().string()); auto lib = depFile.stem().string().substr(3); // strip 'lib' prefix args.push_back(std::string("-l") + lib); } diff --git a/src/task_so.cc b/src/task_so.cc index 1af14b5..2bd27c4 100644 --- a/src/task_so.cc +++ b/src/task_so.cc @@ -33,9 +33,7 @@ TaskSO::TaskSO(const BuildConfiguration& config, for(const auto& dep : config.depends) { - std::filesystem::path depFile = settings.builddir; - depFile /= dep; - depFiles.push_back(depFile); + depFiles.push_back(dep); } flagsFile = std::filesystem::path(settings.builddir) / cleanUp(sourceDir) / targetFile().stem(); @@ -90,12 +88,7 @@ int TaskSO::runInner() for(const auto& task : getDependsTasks()) { - args.push_back(task->target()); - } - - for(const auto& depFile : depFiles) - { - args.push_back(depFile.string()); + args.push_back(task->targetFile().string()); } for(const auto& flag : config.flags.ldflags) -- cgit v1.2.3