sb/config: Add support for line continuation.

- Add line continuation support so empty macros can be used at
  the end of configure command lines, ie RTEMS kernel. The
  config parser removes empty lines and wihout this support a
  trailing line continuation character joins a configure command
  line to next command.

- Fix freetype's gmake support for non-GNU operating systems.
This commit is contained in:
Chris Johns
2019-10-27 08:17:23 +11:00
parent fd612c5b30
commit 9b5017f898
2 changed files with 19 additions and 3 deletions

View File

@@ -41,8 +41,12 @@ URL: http://www.freetype.org/
%{host_build_flags}
%ifos freebsd
GNUMAKE=%{__make} \
GNUMAKE=%{__make}
%else
GNUMAKE=
%endif
GNUMAKE=${GNUMAKE} \
../${source_dir_freetype}/configure \
--host=%{_host} \
--prefix=%{_prefix} \

View File

@@ -1056,20 +1056,32 @@ class file:
line = line[0:-1]
b = line.find('#')
if b >= 0:
line = line[1:b]
line = line[1:b] + ('\\' if line[-1] == '\\' else '')
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
#
# Need to add code to count matching '{' and '}' and if they
# do not match get the next line and add to the string until
# they match. This closes an opening '{' that is on another
# line.
#
ll = ''
for l in config:
self.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 = ''
if isvalid:
indicator = '>'
else: