Latest version, we need to realpath anyway to check if an obj
dependency is also a src dependency.
This commit is contained in:
parent
b98582b146
commit
c0339e7dfd
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=316952
@ -492,6 +492,21 @@ def parse(self, name=None, file=None):
|
||||
if not file:
|
||||
f.close()
|
||||
|
||||
def is_src(self, base, dir, rdir):
|
||||
"""is base in srctop"""
|
||||
for dir in [dir,rdir]:
|
||||
if not dir:
|
||||
continue
|
||||
path = '/'.join([dir,base])
|
||||
srctop = self.find_top(path, self.srctops)
|
||||
if srctop:
|
||||
if self.dpdeps:
|
||||
self.add(self.file_deps, path.replace(srctop,''), 'file')
|
||||
self.add(self.src_deps, dir.replace(srctop,''), 'src')
|
||||
self.seenit(dir)
|
||||
return True
|
||||
return False
|
||||
|
||||
def parse_path(self, path, cwd, op=None, w=[]):
|
||||
"""look at a path for the op specified"""
|
||||
|
||||
@ -520,10 +535,9 @@ def parse_path(self, path, cwd, op=None, w=[]):
|
||||
# to the src dir, we may need to add dependencies for each
|
||||
rdir = dir
|
||||
dir = abspath(dir, cwd, self.last_dir, self.debug, self.debug_out)
|
||||
if rdir == dir or rdir.find('./') > 0:
|
||||
rdir = None
|
||||
if os.path.islink(dir):
|
||||
rdir = os.path.realpath(dir)
|
||||
if rdir == dir:
|
||||
rdir = None
|
||||
# now put path back together
|
||||
path = '/'.join([dir,base])
|
||||
if self.debug > 1:
|
||||
@ -544,17 +558,9 @@ def parse_path(self, path, cwd, op=None, w=[]):
|
||||
# finally, we get down to it
|
||||
if dir == self.cwd or dir == self.curdir:
|
||||
return
|
||||
srctop = self.find_top(path, self.srctops)
|
||||
if srctop:
|
||||
if self.dpdeps:
|
||||
self.add(self.file_deps, path.replace(srctop,''), 'file')
|
||||
self.add(self.src_deps, dir.replace(srctop,''), 'src')
|
||||
if self.is_src(base, dir, rdir):
|
||||
self.seenit(w[2])
|
||||
self.seenit(dir)
|
||||
if rdir and not rdir.startswith(srctop):
|
||||
dir = rdir # for below
|
||||
rdir = None
|
||||
else:
|
||||
if not rdir:
|
||||
return
|
||||
|
||||
objroot = None
|
||||
|
Loading…
Reference in New Issue
Block a user