From 4457345b0c37c7996099bf3b6dff8c55e2078fab Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 16 Sep 2016 10:54:01 +0000 Subject: [PATCH] projects.py: Derive -L options from pkg.required.run not build, as opposed to -l Signed-off-by: Jan Lindemann --- scripts/projects.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/projects.py b/scripts/projects.py index c297827c..9870d86e 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -153,6 +153,17 @@ def get_libname(names): vals.remove('none') return ' '.join(reversed(vals)) +# -L needs to contain more paths than libs linked with -l would require +def get_ldpathflags(names): + deps = get_modules_from_project_txt(names, 'pkg.required', 'run', + scope = 2, add_self=True, names_only=True) + r = '' + for m in deps: + libname = get_libname([m]) + if len(libname): + r = r + ' -L' + proj_dir(m) + '/lib' + print(r[1:]) + def get_ldflags(names): #print(names) deps = get_modules_from_project_txt(names, 'pkg.required', 'build', @@ -162,8 +173,12 @@ def get_ldflags(names): for m in reversed(deps): libname = get_libname([m]) if len(libname): - r = r + ' -L' + proj_dir(m) + '/lib -l' + libname + #r = r + ' -L' + proj_dir(m) + '/lib -l' + libname + r = r + ' -l' + libname if len(r): + ldpathflags = get_ldpathflags(names) + if ldpathflags: + r = ldpathflags + ' ' + r return r[1::] return ''