diff options
author | Chris Johns <chrisj@rtems.org> | 2022-09-08 08:15:13 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2022-09-14 17:15:48 +1000 |
commit | e85e2a730009fd1833fd7702a5332cab015cdfcc (patch) | |
tree | d8aaa26e8de18badc6d5ab1a381f68161fc99df1 | |
parent | sb/getsources: Fixes to configurations (diff) | |
download | rtems-source-builder-e85e2a730009fd1833fd7702a5332cab015cdfcc.tar.bz2 |
sb/setbuilder: Support line continuation
Updates #4716
-rw-r--r-- | source-builder/sb/setbuilder.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source-builder/sb/setbuilder.py b/source-builder/sb/setbuilder.py index 16e8cc8..55bd86f 100644 --- a/source-builder/sb/setbuilder.py +++ b/source-builder/sb/setbuilder.py @@ -284,6 +284,13 @@ class buildset: line = line[1:b] return line.strip() + def _clean_and_pack(line, last_line): + leading_ws = ' ' if len(line) > 0 and line[0].isspace() else '' + line = _clean(line) + if len(last_line) > 0: + line = last_line + leading_ws + line + return line + bset = macro_expand(self.macros, bset) bsetname = bset @@ -306,11 +313,16 @@ class buildset: try: lc = 0 + ll = '' for l in bset: lc += 1 - l = _clean(l) + l = _clean_and_pack(l, ll) if len(l) == 0: continue + if l[-1] == '\\': + ll = l[0:-1] + continue + ll = '' log.trace('_bset: : %s: %03d: %s' % (self.bset, lc, l)) ls = l.split() if ls[0][-1] == ':' and ls[0][:-1] == 'package': |