If I run "scons --debug=dumpenv", won't it still do a build? So I could get a lot of extra output if I just redirect stdout.
Does the output go to stdout or stderr? -Bill On Sat, Aug 8, 2015 at 11:28 AM, William Blevins <[email protected]> wrote: > > On Aug 8, 2015 1:47 PM, "Jason Kenny" <[email protected]> wrote: > > > > My only concern with this feature is that it can dump a lot of data. > Given Parts for example I would have lots of environment that would be > dumped. such information is generally only useful when you can map a given > environment to the correct file ( or part file in my case) or build actions > (such as this is the environment for link foo.so or this was the > environment for making hello.o). > > I am mapping a target to its build env and outputting the env data. Just > like your example :) > > > > Jason > > > > From: William Blevins > > Sent: Saturday, August 8, 2015 12:22 AM > > To: SCons developer list > > Subject: [Scons-dev] Patch for potential new debug option > > > > Here is a patch for dumping build environments via the command-line. > > > > I couldn't ever figure out a good way to get only explicitly lister > targets (non-default commandline targets). It will essentially print the > node.get_env().Dump() for all targets with a build_env defined. > > > > I could potentially change it from "--debug=envdump" to something like > "--envdump=<VARIABLE>" so that it could print a particular variable rather > than the whole env. > > > > Does this interest anyone or waste of chars? > > > >> diff -r 682b8a7a51fb src/engine/SCons/Script/Main.py > >> --- a/src/engine/SCons/Script/Main.py Mon Jun 29 15:37:44 2015 -0400 > >> +++ b/src/engine/SCons/Script/Main.py Thu Aug 06 23:44:50 2015 -0400 > >> @@ -391,6 +391,21 @@ > >> def prepare(self): > >> pass > >> > >> +class EnvDumpTask(SCons.Taskmaster.AlwaysTask): > >> + """SCons task for --debug=envdump. Prints env dump for > BUILD_TARGETS.""" > >> + def prepare(self): > >> + pass > >> + > >> + def execute(self): > >> + for target in self.targets: > >> + if target.get_build_env(): > >> + print 'Environment dump for target: ' + str(target) > >> + print target.get_env().Dump() > >> + > >> + def executed(self): > >> + pass > >> + > >> + > >> class QuestionTask(SCons.Taskmaster.AlwaysTask): > >> """An SCons task for the -q (question) option.""" > >> def prepare(self): > >> @@ -657,6 +672,7 @@ > >> if "memory" in debug_values: > >> memory_stats.enable(sys.stdout) > >> print_objects = ("objects" in debug_values) > >> + options.debug_envdump = ( "envdump" in debug_values ) > >> if print_objects: > >> SCons.Debug.track_instances = True > >> if "presub" in debug_values: > >> @@ -1210,8 +1226,13 @@ > >> failure_message = "done building targets (errors occurred > during build)." > >> else: > >> failure_message = "building terminated because of errors." > >> + > >> + if options.debug_envdump: > >> + task_class = EnvDumpTask > >> + > >> if options.question: > >> task_class = QuestionTask > >> + > >> try: > >> if options.clean: > >> task_class = CleanTask > >> diff -r 682b8a7a51fb src/engine/SCons/Script/SConsOptions.py > >> --- a/src/engine/SCons/Script/SConsOptions.py Mon Jun 29 15:37:44 > 2015 -0400 > >> +++ b/src/engine/SCons/Script/SConsOptions.py Thu Aug 06 23:44:50 > 2015 -0400 > >> @@ -673,7 +673,7 @@ > >> "tree" : '; please use --tree=all instead', > >> } > >> > >> - debug_options = ["count", "duplicate", "explain", "findlibs", > >> + debug_options = ["count", "duplicate", "explain", "envdump", > "findlibs", > >> "includes", "memoizer", "memory", "objects", > >> "pdb", "prepare", "presub", "stacktrace", > >> "time"] > >> > > > > > > V/R, > > William > > > > ________________________________ > > _______________________________________________ > > Scons-dev mailing list > > [email protected] > > https://pairlist2.pair.net/mailman/listinfo/scons-dev > > > > > > _______________________________________________ > > Scons-dev mailing list > > [email protected] > > https://pairlist2.pair.net/mailman/listinfo/scons-dev > > > > > _______________________________________________ > Scons-dev mailing list > [email protected] > https://pairlist2.pair.net/mailman/listinfo/scons-dev > >
_______________________________________________ Scons-dev mailing list [email protected] https://pairlist2.pair.net/mailman/listinfo/scons-dev
