Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: third_party/scons/scons-local/SCons/Taskmaster.py

Issue 43087: Have scons fully evaluate order-only prequisites Nodes before evaluating... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 1 #
2 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons F oundation 2 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons F oundation
3 # 3 #
4 # Permission is hereby granted, free of charge, to any person obtaining 4 # Permission is hereby granted, free of charge, to any person obtaining
5 # a copy of this software and associated documentation files (the 5 # a copy of this software and associated documentation files (the
6 # "Software"), to deal in the Software without restriction, including 6 # "Software"), to deal in the Software without restriction, including
7 # without limitation the rights to use, copy, modify, merge, publish, 7 # without limitation the rights to use, copy, modify, merge, publish,
8 # distribute, sublicense, and/or sell copies of the Software, and to 8 # distribute, sublicense, and/or sell copies of the Software, and to
9 # permit persons to whom the Software is furnished to do so, subject to 9 # permit persons to whom the Software is furnished to do so, subject to
10 # the following conditions: 10 # the following conditions:
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 self.ready_exc = sys.exc_info() 782 self.ready_exc = sys.exc_info()
783 if S: S.problem = S.problem + 1 783 if S: S.problem = S.problem + 1
784 if T: T.write(self.trace_message(' exception %s while scan ning children.\n' % e)) 784 if T: T.write(self.trace_message(' exception %s while scan ning children.\n' % e))
785 return node 785 return node
786 786
787 children_not_visited = [] 787 children_not_visited = []
788 children_pending = set() 788 children_pending = set()
789 children_not_ready = [] 789 children_not_ready = []
790 children_failed = False 790 children_failed = False
791 791
792 for child in chain(children, executor.get_all_prerequisites()): 792 #TODO(sgk)
793 # Evaluate order-only prerequisites before any "direct" children
794 # (sources and dependencies) are evaluated. This is in advance
795 # of a change that will be incorporated in the next upstream
796 # version of SCons, per:
797 # http://scons.tigris.org/issues/show_bug.cgi?id=2372
798 #TODO(sgk) - FROM THIS:
799 #for child in chain(children, executor.get_all_prerequisites()):
800 #TODO(sgk) - TO THIS:
801 for child in chain(executor.get_all_prerequisites(), children):
802 #TODO(sgk) - END CHANGES.
793 childstate = child.get_state() 803 childstate = child.get_state()
794 804
795 if T: T.write(self.trace_message(' ' + self.trace_node(chi ld))) 805 if T: T.write(self.trace_message(' ' + self.trace_node(chi ld)))
796 806
797 if childstate == NODE_NO_STATE: 807 if childstate == NODE_NO_STATE:
798 children_not_visited.append(child) 808 children_not_visited.append(child)
799 elif childstate == NODE_PENDING: 809 elif childstate == NODE_PENDING:
800 children_pending.add(child) 810 children_pending.add(child)
801 elif childstate == NODE_FAILED: 811 elif childstate == NODE_FAILED:
802 children_failed = True 812 children_failed = True
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 desc = 'Found dependency cycle(s):\n' 1017 desc = 'Found dependency cycle(s):\n'
1008 for node, cycle in nclist: 1018 for node, cycle in nclist:
1009 if cycle: 1019 if cycle:
1010 desc = desc + " " + string.join(map(str, cycle), " -> ") + "\n" 1020 desc = desc + " " + string.join(map(str, cycle), " -> ") + "\n"
1011 else: 1021 else:
1012 desc = desc + \ 1022 desc = desc + \
1013 " Internal Error: no cycle found for node %s (%s) in state %s\n" % \ 1023 " Internal Error: no cycle found for node %s (%s) in state %s\n" % \
1014 (node, repr(node), StateString[node.get_state()]) 1024 (node, repr(node), StateString[node.get_state()])
1015 1025
1016 raise SCons.Errors.UserError, desc 1026 raise SCons.Errors.UserError, desc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698