diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-03-30 20:21:21 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-04-06 20:27:18 +1000 |
commit | b498378c8fcb2f87f7cb296e4e81ac392b1e34ff (patch) | |
tree | d8ac3fdd2142bebf9fc8a29f0581fe564227aebf /buildtools/wafsamba/samba_utils.py | |
parent | 20a8574717aef8f946ac9d8f3284e7318eeb9bf8 (diff) | |
download | samba-b498378c8fcb2f87f7cb296e4e81ac392b1e34ff.tar.gz samba-b498378c8fcb2f87f7cb296e4e81ac392b1e34ff.tar.bz2 samba-b498378c8fcb2f87f7cb296e4e81ac392b1e34ff.zip |
s4-waf: fixed some of the group ordering
We need to try to keep targets in the right groups
Diffstat (limited to 'buildtools/wafsamba/samba_utils.py')
-rw-r--r-- | buildtools/wafsamba/samba_utils.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index 4230d8066f..5bff769400 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -241,22 +241,36 @@ def ENFORCE_GROUP_ORDERING(bld): if Options.options.compile_targets: @feature('*') def force_previous_groups(self): - my_id = id(self) + if getattr(self.bld, 'enforced_group_ordering', False) == True: + return + self.bld.enforced_group_ordering = True + + def group_name(g): + tm = self.bld.task_manager + return [x for x in tm.groups_names if id(tm.groups_names[x]) == id(g)][0] + my_id = id(self) bld = self.bld stop = None for g in bld.task_manager.groups: for t in g.tasks_gen: if id(t) == my_id: stop = id(g) + debug('group: Forcing up to group %s', group_name(g)) break - if stop is None: - return + if stop != None: + break + if stop is None: + return - for g in bld.task_manager.groups: - if id(g) == stop: - break - for t in g.tasks_gen: + for g in bld.task_manager.groups: + if id(g) == stop: + break + debug('group: Forcing group %s', group_name(g)) + for t in g.tasks_gen: + if getattr(t, 'forced_groups', False) != True: + debug('group: Posting %s', t.name or t.target) + t.forced_groups = True t.post() Build.BuildContext.ENFORCE_GROUP_ORDERING = ENFORCE_GROUP_ORDERING |