summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-08-26 23:11:39 +0200
committerStefan Metzmacher <metze@samba.org>2014-09-05 19:47:05 +0200
commitee8fbbd41741e958e0ab6d7b9ab465d664abac60 (patch)
treea2ae9bb88d55eb209b086887df6c684ad80fc3a3 /buildtools
parent210d7de34f953c308e5fa3db9506796ef2b21688 (diff)
downloadsamba-ee8fbbd41741e958e0ab6d7b9ab465d664abac60.tar.gz
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.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 109e1606531..ba34fe5400f 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: