summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDirk Baechle <dl9obn@darc.de>2014-09-27 16:23:41 (GMT)
committerDirk Baechle <dl9obn@darc.de>2014-09-27 16:23:41 (GMT)
commit2a2bb65ba5daa067950ea2be8b13ee812db47241 (patch)
treef337d53b5bb0551974489b2b5ae5842161d8e2f1 /src
parent3460931829a56a63ee077d126e051032cf5aedef (diff)
downloadSCons-2a2bb65ba5daa067950ea2be8b13ee812db47241.zip
SCons-2a2bb65ba5daa067950ea2be8b13ee812db47241.tar.gz
SCons-2a2bb65ba5daa067950ea2be8b13ee812db47241.tar.bz2
- fix for issue #2971 (Interactive build doesn't work anymore)
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt6
-rw-r--r--src/engine/SCons/Script/Main.py9
2 files changed, 11 insertions, 4 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index d516131..58071ab 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -6,9 +6,9 @@
RELEASE VERSION/DATE TO BE FILLED IN LATER
- From John Doe:
-
- - Whatever John Doe did.
+ From Bernhard Walle and Dirk Baechle:
+ - Fixed the interactive mode, in connection with
+ Configure contexts (#2971).
RELEASE 2.3.3 - Sun, 24 Aug 2014 21:08:33 -0400
diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py
index 439b869..c7a9d27 100644
--- a/src/engine/SCons/Script/Main.py
+++ b/src/engine/SCons/Script/Main.py
@@ -953,6 +953,14 @@ def _main(parser):
if options.include_dir:
sys.path = options.include_dir + sys.path
+ # If we're about to start SCons in the interactive mode,
+ # inform the FS about this right here. Else, the release_target_info
+ # method could get called on some nodes, like the used "gcc" compiler,
+ # when using the Configure methods within the SConscripts.
+ # This would then cause subtle bugs, as already happened in #2971.
+ if options.interactive:
+ SCons.Node.interactive = True
+
# That should cover (most of) the options. Next, set up the variables
# that hold command-line arguments, so the SConscript files that we
# read and execute have access to them.
@@ -1082,7 +1090,6 @@ def _main(parser):
platform = SCons.Platform.platform_module()
if options.interactive:
- SCons.Node.interactive = True
SCons.Script.Interactive.interact(fs, OptionsParser, options,
targets, target_top)