| # 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 adding, to a construction environment, Chromium-specific |
| wrappers around SCons builders. This gives us a central place for any |
| customization we need to make to the different things we build. |
| """ |
| |
| import sys |
| |
| from SCons.Script import * |
| |
| class Null(object): |
| def __new__(cls, *args, **kwargs): |
| if '_inst' not in vars(cls): |
| cls._inst = super(type, cls).__new__(cls, *args, **kwargs) |
| return cls._inst |
| def __init__(self, *args, **kwargs): pass |
| def __call__(self, *args, **kwargs): return self |
| def __repr__(self): return "Null()" |
| def __nonzero__(self): return False |
| def __getattr__(self, name): return self |
| def __setattr__(self, name, val): return self |
| def __delattr__(self, name): return self |
| def __getitem__(self, name): return self |
| |
| |
| def generate(env): |
| # Add the grit tool to the base environment because we use this a lot. |
| sys.path.append(env.Dir('$SRC_DIR/tools/grit').abspath) |
| env.Tool('scons', toolpath=[env.Dir('$SRC_DIR/tools/grit/grit')]) |
| |
| # Add the repack python script tool that we use in multiple places. |
| sys.path.append(env.Dir('$SRC_DIR/tools/data_pack').abspath) |
| env.Tool('scons', toolpath=[env.Dir('$SRC_DIR/tools/data_pack/')]) |
| |
| def exists(env): |
| return True |