From e85e2a730009fd1833fd7702a5332cab015cdfcc Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Thu, 8 Sep 2022 08:15:13 +1000 Subject: sb/setbuilder: Support line continuation Updates #4716 --- source-builder/sb/setbuilder.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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': -- cgit v1.2.3