diff options
Diffstat (limited to 'site_scons/site_tools/chromium_load_component.py')
-rw-r--r-- | site_scons/site_tools/chromium_load_component.py | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/site_scons/site_tools/chromium_load_component.py b/site_scons/site_tools/chromium_load_component.py deleted file mode 100644 index 24c6e03..0000000 --- a/site_scons/site_tools/chromium_load_component.py +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -""" -Tool module for managing conditional loading of components in a -Chromium build (i.e., the LOAD= command-line argument). -""" - -from SCons.Script import * - -def generate(env): - - class LoadComponent: - """ - Class for deciding if a given component name is to be included - based on a list of included names, optionally prefixed with '-' - to exclude the name. - """ - def __init__(self, load=[], names=[]): - """ - Initialize a class with a list of names for possible loading. - - Arguments: - load: list of elements in the LOAD= specification - names: name(s) that represent this global collection - """ - self.included = set([c for c in load if not c.startswith('-')]) - self.excluded = set([c[1:] for c in load if c.startswith('-')]) - - # Remove the global collection name(s) from the included list. - # This supports (e.g.) specifying 'webkit' so the top-level of the - # hierarchy will read up the subsystem, and then 'test_shell' - # as one specific sub-component within 'webkit'. - self.included = self.included - set(names) - - if not self.included: - self.included = ['all'] - - def __call__(self, component): - """ - Returns True if the specified component should be loaded, - based on the initialized included and excluded lists. - """ - return (component in self.included or - ('all' in self.included and not component in self.excluded)) - - def ChromiumLoadComponentSConscripts(env, *args, **kw): - """ - Returns a list of SConscript files to load, based on LOAD=. - - SConscript files specified without keyword arguments are returned - unconditionally. SConscript files specified with a keyword arguments - (e.g. chrome = 'chrome.scons') are loaded only if the LOAD= line - indicates their keyword argument should be included in the load. - """ - try: - load = ARGUMENTS.get('LOAD').split(',') - except AttributeError: - load = [] - - try: - names = kw['LOAD_NAMES'] - except KeyError: - names = [] - else: - del kw['LOAD_NAMES'] - - load_component = LoadComponent(load, names) - - result = list(args) - for module, sconscript in kw.items(): - if load_component(module): - result.append(sconscript) - - return Flatten(result) - - env.AddMethod(ChromiumLoadComponentSConscripts) - -def exists(env): - return True |