summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-04-21 17:29:00 +1000
committerAndrew Tridgell <tridge@samba.org>2010-04-21 17:29:06 +1000
commitadb5f943de841e00b5aabe67b0b4c58b692f9078 (patch)
treebcc25a1b65b227143f48ac92f2fa0dd14be495c7 /buildtools/wafsamba
parent681f3dad7c32fc5dcf51ceda889d1f115a641aaa (diff)
downloadsamba-adb5f943de841e00b5aabe67b0b4c58b692f9078.tar.gz
samba-adb5f943de841e00b5aabe67b0b4c58b692f9078.tar.bz2
samba-adb5f943de841e00b5aabe67b0b4c58b692f9078.zip
build: recalculate project deps when NONSHARED_BINARIES changes
Diffstat (limited to 'buildtools/wafsamba')
-rw-r--r--buildtools/wafsamba/samba_deps.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index 8911db3d7c..eb66e448f9 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -744,6 +744,7 @@ savedeps_version = 3
savedeps_inputs = ['samba_deps', 'samba_includes', 'local_include', 'local_include_first', 'samba_cflags', 'source']
savedeps_outputs = ['uselib', 'uselib_local', 'add_objects', 'includes', 'ccflags']
savedeps_outenv = ['INC_PATHS']
+savedeps_envvars = ['NONSHARED_BINARIES', 'GLOBAL_DEPENDENCIES']
savedeps_caches = ['GLOBAL_DEPENDENCIES', 'TARGET_ALIAS', 'TARGET_TYPE', 'INIT_FUNCTIONS', 'SYSLIB_DEPS']
savedeps_files = ['buildtools/wafsamba/samba_deps.py']
@@ -759,6 +760,7 @@ def save_samba_deps(bld, tgt_list):
denv.output = {}
denv.outenv = {}
denv.caches = {}
+ denv.envvar = {}
denv.files = {}
for f in savedeps_files:
@@ -767,6 +769,9 @@ def save_samba_deps(bld, tgt_list):
for c in savedeps_caches:
denv.caches[c] = LOCAL_CACHE(bld, c)
+ for e in savedeps_envvars:
+ denv.envvar[e] = bld.env[e]
+
for t in tgt_list:
# save all the input attributes for each target
tdeps = {}
@@ -824,6 +829,11 @@ def load_samba_deps(bld, tgt_list):
if c not in denv.caches or denv.caches[c] != LOCAL_CACHE(bld, c):
return False
+ # check if caches are the same
+ for e in savedeps_envvars:
+ if e not in denv.envvar or denv.envvar[e] != bld.env[e]:
+ return False
+
# check inputs are the same
for t in tgt_list:
tdeps = {}