mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
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:
@@ -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} \
|
||||
|
@@ -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:
|
||||
|
Reference in New Issue
Block a user