summaryrefslogtreecommitdiffstats
path: root/site_scons/site_tools/chromium_load_component.py
diff options
context:
space:
mode:
Diffstat (limited to 'site_scons/site_tools/chromium_load_component.py')
-rw-r--r--site_scons/site_tools/chromium_load_component.py81
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