Patch #409504: Fix regex problems, consider \-continuation lines in Makefile

and Setup.
This commit is contained in:
Martin v. Löwis 2001-03-21 06:58:25 +00:00
parent 55f826cd6a
commit 2c91c815d4
2 changed files with 15 additions and 2 deletions

View File

@ -12,7 +12,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
line = infp.readline()
if not line: break
outfp.write(line)
if m1 and m1.search(line) >= 0:
if m1 and m1.search(line):
m1 = None
for mod in modules:
if mod in never:
@ -22,7 +22,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
outfp.write('extern void init%s();\n' % mod)
if with_ifdef:
outfp.write("#endif\n")
elif m2 and m2.search(line) >= 0:
elif m2 and m2.search(line):
m2 = None
for mod in modules:
if mod in never:

View File

@ -13,11 +13,17 @@ makevardef = re.compile('^([a-zA-Z0-9_]+)[ \t]*=(.*)')
def getmakevars(filename):
variables = {}
fp = open(filename)
pendingline = ""
try:
while 1:
line = fp.readline()
if pendingline:
line = pendingline + line
pendingline = ""
if not line:
break
if line.endswith('\\\n'):
pendingline = line[:-2]
matchobj = makevardef.match(line)
if not matchobj:
continue
@ -44,15 +50,22 @@ def getsetupinfo(filename):
modules = {}
variables = {}
fp = open(filename)
pendingline = ""
try:
while 1:
line = fp.readline()
if pendingline:
line = pendingline + line
pendingline = ""
if not line:
break
# Strip comments
i = string.find(line, '#')
if i >= 0:
line = line[:i]
if line.endswith('\\\n'):
pendingline = line[:-2]
continue
matchobj = setupvardef.match(line)
if matchobj:
(name, value) = matchobj.group(1, 2)