Simplified version of a patch by Chih-Hao Huang, who wrote:

"""
When there are additional Setup files, specified by -e option of freeze,
checkextenstions.py assumes that *.o, *.a, -Lpath, and -Rpath are all
relative to where the Setup file is. select() inserts the path to the
Setup file to make them absolute. However, the assumption is not true.
There are cases that absolute paths are specified for them. The inserted
prefix, by select(), results in error.

The following fix check for absolute paths. The assumption is: an
absolute path begins with either '/' or '$'. In the latter case, it is
from the environmental variable. (Variables defined locally in the Setup
file have already been handled by expandvars())
"""

My version of the patch has been verified by Charles Waldman (a
colleague of Chih-Hao).
This commit is contained in:
Guido van Rossum 1999-06-23 21:37:57 +00:00
parent 7c2426439e
commit ce7695191f
1 changed files with 3 additions and 2 deletions

View File

@ -47,9 +47,10 @@ def select(e, mods, vars, mod, skipofiles):
for w in string.split(w):
if skipofiles and w[-2:] == '.o':
continue
if w[0] != '-' and w[-2:] in ('.o', '.a'):
# Assume $var expands to absolute pathname
if w[0] not in ('-', '$') and w[-2:] in ('.o', '.a'):
w = os.path.join(e, w)
if w[:2] in ('-L', '-R'):
if w[:2] in ('-L', '-R') and w[2:3] != '$':
w = w[:2] + os.path.join(e, w[2:])
files.append(w)
return files