mirror of https://gitlab.com/ita1024/waf.git
Allow for flat install of python files via `py` feature
This commit is contained in:
parent
d536d3ebab
commit
e319a9c2c9
|
@ -79,14 +79,19 @@ def process_py(self, node):
|
|||
"""
|
||||
Add signature of .py file, so it will be byte-compiled when necessary
|
||||
"""
|
||||
assert(hasattr(self, 'install_path')), 'add features="py"'
|
||||
assert(hasattr(self, 'install_path')), 'add features="py" for target "%s" in "%s/wscript".' % (self.target, self.path.nice_path())
|
||||
self.install_from = getattr(self, 'install_from', None)
|
||||
relative_trick = getattr(self, 'relative_trick', True)
|
||||
if self.install_from:
|
||||
assert isinstance(self.install_from, Node.Node), \
|
||||
'add features="py" for target "%s" in "%s/wscript" (%s).' % (self.target, self.path.nice_path(), type(self.install_from))
|
||||
|
||||
# where to install the python file
|
||||
if self.install_path:
|
||||
if self.install_from:
|
||||
self.add_install_files(install_to=self.install_path, install_from=node, cwd=self.install_from, relative_trick=True)
|
||||
self.add_install_files(install_to=self.install_path, install_from=node, cwd=self.install_from, relative_trick=relative_trick)
|
||||
else:
|
||||
self.add_install_files(install_to=self.install_path, install_from=node, relative_trick=True)
|
||||
self.add_install_files(install_to=self.install_path, install_from=node, relative_trick=relative_trick)
|
||||
|
||||
lst = []
|
||||
if self.env.PYC:
|
||||
|
@ -96,9 +101,11 @@ def process_py(self, node):
|
|||
|
||||
if self.install_path:
|
||||
if self.install_from:
|
||||
pyd = Utils.subst_vars("%s/%s" % (self.install_path, node.path_from(self.install_from)), self.env)
|
||||
target_dir = node.path_from(self.install_from) if relative_trick else node.name
|
||||
pyd = Utils.subst_vars("%s/%s" % (self.install_path, target_dir), self.env)
|
||||
else:
|
||||
pyd = Utils.subst_vars("%s/%s" % (self.install_path, node.path_from(self.path)), self.env)
|
||||
target_dir = node.path_from(self.path) if relative_trick else node.name
|
||||
pyd = Utils.subst_vars("%s/%s" % (self.install_path, target_dir), self.env)
|
||||
else:
|
||||
pyd = node.abspath()
|
||||
|
||||
|
@ -115,7 +122,7 @@ def process_py(self, node):
|
|||
tsk.pyd = pyd
|
||||
|
||||
if self.install_path:
|
||||
self.add_install_files(install_to=os.path.dirname(pyd), install_from=pyobj, cwd=node.parent.get_bld(), relative_trick=True)
|
||||
self.add_install_files(install_to=os.path.dirname(pyd), install_from=pyobj, cwd=node.parent.get_bld(), relative_trick=relative_trick)
|
||||
|
||||
class pyc(Task.Task):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue