mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
parent
5ec0913ada
commit
175ce0bcb0
@ -419,7 +419,7 @@ class file:
|
|||||||
print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=')
|
print('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=')
|
||||||
return macros
|
return macros
|
||||||
|
|
||||||
def _shell(self, line):
|
def _shell(self, line, nesting = 0):
|
||||||
#
|
#
|
||||||
# Parse the line and handle nesting '()' pairs. If on Windows
|
# Parse the line and handle nesting '()' pairs. If on Windows
|
||||||
# handle embedded '"' (double quotes) as the command is run as
|
# handle embedded '"' (double quotes) as the command is run as
|
||||||
@ -442,6 +442,9 @@ class file:
|
|||||||
output))
|
output))
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
if nesting > 200:
|
||||||
|
raise error.general('shell macro failed: too many nesting levels')
|
||||||
|
|
||||||
updating = True
|
updating = True
|
||||||
while updating:
|
while updating:
|
||||||
updating = False
|
updating = False
|
||||||
@ -455,9 +458,11 @@ class file:
|
|||||||
if braces > 0:
|
if braces > 0:
|
||||||
braces -= 1
|
braces -= 1
|
||||||
else:
|
else:
|
||||||
line = line[:pos] + _exec(line[pos:p + 1]) + line[p + 1:]
|
shell_cmd = '%(' + self._shell(line[pos + 2:p], nesting + 1) + ')'
|
||||||
|
line = line[:pos] + _exec(shell_cmd) + line[p + 1:]
|
||||||
updating = True
|
updating = True
|
||||||
break
|
break
|
||||||
|
|
||||||
return line
|
return line
|
||||||
|
|
||||||
def _pkgconfig_check(self, test):
|
def _pkgconfig_check(self, test):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user