svn commit: r316952 - head/share/mk
Simon J. Gerraty
sjg at FreeBSD.org
Sat Apr 15 03:28:15 UTC 2017
Author: sjg
Date: Sat Apr 15 03:28:13 2017
New Revision: 316952
URL: https://svnweb.freebsd.org/changeset/base/316952
Log:
Latest version, we need to realpath anyway to check if an obj
dependency is also a src dependency.
Modified:
head/share/mk/meta2deps.py
Modified: head/share/mk/meta2deps.py
==============================================================================
--- head/share/mk/meta2deps.py Sat Apr 15 02:24:22 2017 (r316951)
+++ head/share/mk/meta2deps.py Sat Apr 15 03:28:13 2017 (r316952)
@@ -492,6 +492,21 @@ class MetaFile:
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 @@ class MetaFile:
# 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 @@ class MetaFile:
# 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
More information about the svn-src-all
mailing list