mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-18 21:13:56 +01:00
projects.py: Add --exclude support to ldflags
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
0acffa7b70
commit
db9cd2755f
1 changed files with 9 additions and 4 deletions
|
|
@ -209,29 +209,33 @@ def get_libname(names):
|
||||||
return ' '.join(reversed(vals))
|
return ' '.join(reversed(vals))
|
||||||
|
|
||||||
# -L needs to contain more paths than libs linked with -l would require
|
# -L needs to contain more paths than libs linked with -l would require
|
||||||
def get_ldpathflags(names):
|
def get_ldpathflags(names, exclude = []):
|
||||||
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
|
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
|
||||||
scope = 2, add_self=True, names_only=True)
|
scope = 2, add_self=True, names_only=True)
|
||||||
r = ''
|
r = ''
|
||||||
for m in deps:
|
for m in deps:
|
||||||
|
if m in exclude:
|
||||||
|
continue
|
||||||
libname = get_libname([m])
|
libname = get_libname([m])
|
||||||
if len(libname):
|
if len(libname):
|
||||||
r = r + ' -L' + proj_dir(m) + '/lib'
|
r = r + ' -L' + proj_dir(m) + '/lib'
|
||||||
print(r[1:])
|
print(r[1:])
|
||||||
|
|
||||||
def get_ldflags(names):
|
def get_ldflags(names, exclude = []):
|
||||||
#print(names)
|
#print(names)
|
||||||
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
|
deps = get_modules_from_project_txt(names, 'pkg.required.jw', 'build',
|
||||||
scope = 1, add_self=False, names_only=True)
|
scope = 1, add_self=False, names_only=True)
|
||||||
#print(deps)
|
#print(deps)
|
||||||
r = ''
|
r = ''
|
||||||
for m in reversed(deps):
|
for m in reversed(deps):
|
||||||
|
if m in exclude:
|
||||||
|
continue
|
||||||
libname = get_libname([m])
|
libname = get_libname([m])
|
||||||
if len(libname):
|
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
|
r = r + ' -l' + libname
|
||||||
if len(r):
|
if len(r):
|
||||||
ldpathflags = get_ldpathflags(names)
|
ldpathflags = get_ldpathflags(names, exclude)
|
||||||
if ldpathflags:
|
if ldpathflags:
|
||||||
r = ldpathflags + ' ' + r
|
r = ldpathflags + ' ' + r
|
||||||
return r[1::]
|
return r[1::]
|
||||||
|
|
@ -309,8 +313,9 @@ def cmd_libname(args_):
|
||||||
def cmd_ldflags(args_):
|
def cmd_ldflags(args_):
|
||||||
parser = argparse.ArgumentParser(description='ldlibpath')
|
parser = argparse.ArgumentParser(description='ldlibpath')
|
||||||
parser.add_argument('module', nargs='*', help='Modules')
|
parser.add_argument('module', nargs='*', help='Modules')
|
||||||
|
parser.add_argument('--exclude', action='append', help='Exclude Modules', default=[])
|
||||||
args=parser.parse_args(args_)
|
args=parser.parse_args(args_)
|
||||||
print(get_ldflags(args.module))
|
print(get_ldflags(args.module, args.exclude))
|
||||||
|
|
||||||
def cmd_cflags(args_):
|
def cmd_cflags(args_):
|
||||||
parser = argparse.ArgumentParser(description='cflags')
|
parser = argparse.ArgumentParser(description='cflags')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue