build: recalculate project deps when NONSHARED_BINARIES changes
authorAndrew Tridgell <tridge@samba.org>
Wed, 21 Apr 2010 07:29:00 +0000 (17:29 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 21 Apr 2010 07:29:06 +0000 (17:29 +1000)
buildtools/wafsamba/samba_deps.py

index 8911db3d7cd6aee26e6412a4f9550f8947fe43e6..eb66e448f9bd76955660343f9c19f6f8231da656 100644 (file)
@@ -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 = {}