diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-08-26 23:11:39 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2014-09-05 19:47:05 +0200 |
commit | ee8fbbd41741e958e0ab6d7b9ab465d664abac60 (patch) | |
tree | a2ae9bb88d55eb209b086887df6c684ad80fc3a3 /buildtools | |
parent | 210d7de34f953c308e5fa3db9506796ef2b21688 (diff) | |
download | samba-ee8fbbd41741e958e0ab6d7b9ab465d664abac60.tar.gz samba-ee8fbbd41741e958e0ab6d7b9ab465d664abac60.tar.xz samba-ee8fbbd41741e958e0ab6d7b9ab465d664abac60.zip |
wafsamba: fix dependency calculation for SAMBA_GENERATOR()
We need to checksum the rule as string command of the
sourcecode of the python function.
This is stored in the 'ruledeps' envariable on the waf Task.
See exec_rule() in wafadmin/TaskGen.py.
dep_vars = getattr(self, 'dep_vars', ['ruledeps'])
if dep_vars:
tsk.dep_vars = dep_vars
if isinstance(self.rule, str):
tsk.env.ruledeps = self.rule
else:
# only works if the function is in a global module such as a waf tool
tsk.env.ruledeps = Utils.h_fun(self.rule)
If there's no 'dep_vars' it defaults to ['ruledeps'].
As we pass our own 'dep_vars' we need to explicitly add
'ruledeps'.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10472
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'buildtools')
-rw-r--r-- | buildtools/wafsamba/wafsamba.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 109e160653..ba34fe5400 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -603,6 +603,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='', dep_vars = vars.keys() elif isinstance(vars, list): dep_vars = vars + dep_vars.append('ruledeps') bld.SET_BUILD_GROUP(group) t = bld( @@ -614,7 +615,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='', before='cc', ext_out='.c', samba_type='GENERATOR', - dep_vars = [rule] + dep_vars, + dep_vars = dep_vars, name=name) if always: |