From 533bef13e179053fe56a1e5e504aa080f353ed3d Mon Sep 17 00:00:00 2001 From: William Deegan Date: Wed, 30 Jan 2019 13:33:58 -0800 Subject: Fix configure logic calling configured decider not handling DeciderNeedsNode exception which can be thrown by MD5-Timestamp decider logic --- src/engine/SCons/SConf.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/engine/SCons/SConf.py b/src/engine/SCons/SConf.py index 0dcbab8..f23c401 100644 --- a/src/engine/SCons/SConf.py +++ b/src/engine/SCons/SConf.py @@ -56,6 +56,7 @@ import SCons.Warnings import SCons.Conftest from SCons.Debug import Trace +from SCons.Node import DeciderNeedsNode # Turn off the Conftest error logging SCons.Conftest.LogInputFiles = 0 @@ -330,8 +331,14 @@ class SConfBuildTask(SCons.Taskmaster.AlwaysTask): # that the correct .sconsign info will get calculated # and keep the build state consistent. def force_build(dependency, target, prev_ni, - env_decider=env.decide_source): - env_decider(dependency, target, prev_ni) + env_decider=env.decide_source, + node=None): + try: + env_decider(dependency, target, prev_ni) + except DeciderNeedsNode as e: + e.decider(target, prev_ni, node=target) + except Exception as e: + raise e return True if env.decide_source.__code__ is not force_build.__code__: env.Decider(force_build) -- cgit v0.12