diff --git a/src/python/jw/pkg/App.py b/src/python/jw/pkg/App.py index df92bc7c..c7775ae5 100644 --- a/src/python/jw/pkg/App.py +++ b/src/python/jw/pkg/App.py @@ -639,20 +639,14 @@ class App(Base): ret.append(m) return ret - def get_libname(self, projects) -> str: - vals = self.get_project_refs( - projects, - ['build'], - 'libname', - scope = Scope.One, - add_self = False, - names_only = True, - ) - if not vals: - return ' '.join(projects) - if 'none' in vals: - vals.remove('none') - return ' '.join(reversed(vals)) + def get_libname(self, spec: str) -> str | None: + project_name = self.strip_module_from_spec(spec) + ret = self.get_value(project_name, 'build', 'libname') + if ret == 'none': + return None + if ret is None: + return project_name + return ret def is_excluded_from_build(self, project: str) -> str | None: log(DEBUG, 'checking if project ' + project + ' is excluded from build') diff --git a/src/python/jw/pkg/cmds/projects/CmdLdflags.py b/src/python/jw/pkg/cmds/projects/CmdLdflags.py index 7d44ffac..66f7f713 100644 --- a/src/python/jw/pkg/cmds/projects/CmdLdflags.py +++ b/src/python/jw/pkg/cmds/projects/CmdLdflags.py @@ -45,8 +45,8 @@ class CmdLdflags(Cmd): # export for m in deps: if m in exclude: continue - libname = self.app.get_libname([m]) - if not len(libname): + libname = self.app.get_libname(m) + if libname is None: continue path = self.app.find_dir(m, ['/lib']) if not path: @@ -69,9 +69,10 @@ class CmdLdflags(Cmd): # export for m in reversed(deps): if m in args.exclude: continue - libname = self.app.get_libname([m]) - if len(libname): - out.append('-l' + libname) + libname = self.app.get_libname(m) + if libname is None: + continue + out.append('-l' + libname) if not out: return ldpathflags = self.__get_ldpathflags(args.module, args.exclude)