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}
|
%{host_build_flags}
|
||||||
|
|
||||||
%ifos freebsd
|
%ifos freebsd
|
||||||
GNUMAKE=%{__make} \
|
GNUMAKE=%{__make}
|
||||||
|
%else
|
||||||
|
GNUMAKE=
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
GNUMAKE=${GNUMAKE} \
|
||||||
../${source_dir_freetype}/configure \
|
../${source_dir_freetype}/configure \
|
||||||
--host=%{_host} \
|
--host=%{_host} \
|
||||||
--prefix=%{_prefix} \
|
--prefix=%{_prefix} \
|
||||||
|
@@ -1056,20 +1056,32 @@ class file:
|
|||||||
line = line[0:-1]
|
line = line[0:-1]
|
||||||
b = line.find('#')
|
b = line.find('#')
|
||||||
if b >= 0:
|
if b >= 0:
|
||||||
line = line[1:b]
|
line = line[1:b] + ('\\' if line[-1] == '\\' else '')
|
||||||
return line.strip()
|
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
|
# Need to add code to count matching '{' and '}' and if they
|
||||||
# do not match get the next line and add to the string until
|
# do not match get the next line and add to the string until
|
||||||
# they match. This closes an opening '{' that is on another
|
# they match. This closes an opening '{' that is on another
|
||||||
# line.
|
# line.
|
||||||
#
|
#
|
||||||
|
ll = ''
|
||||||
for l in config:
|
for l in config:
|
||||||
self.lc += 1
|
self.lc += 1
|
||||||
l = _clean(l)
|
l = _clean_and_pack(l, ll)
|
||||||
if len(l) == 0:
|
if len(l) == 0:
|
||||||
continue
|
continue
|
||||||
|
if l[-1] == '\\':
|
||||||
|
ll = l[0:-1]
|
||||||
|
continue
|
||||||
|
ll = ''
|
||||||
if isvalid:
|
if isvalid:
|
||||||
indicator = '>'
|
indicator = '>'
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user