From cdf1a3d4bfa0c945b450e67f42e882a67699efd3 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 8 Mar 2010 20:34:15 +1100 Subject: build: added ENFORCE_GROUP_ORDERING() --- buildtools/wafsamba/samba_utils.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'buildtools') diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index 069d578847..40a7536b4c 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -241,3 +241,31 @@ def to_list(str): def SUBST_ENV_VAR(conf, varname): '''Substitute an environment variable for any embedded variables''' return Utils.subst_vars(conf.env[varname], conf.env) + + +def ENFORCE_GROUP_ORDERING(bld): + '''enforce group ordering for the project. This + makes the group ordering apply even when you specify + a target with --target''' + if Options.options.compile_targets: + @feature('*') + def force_previous_groups(self): + 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) + break + if stop is None: + return + + for g in bld.task_manager.groups: + if id(g) == stop: + break + for t in g.tasks_gen: + t.post() +Build.BuildContext.ENFORCE_GROUP_ORDERING = ENFORCE_GROUP_ORDERING + -- cgit