mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.6 KiB
56 lines
1.6 KiB
# Copyright (c) 2011 Google Inc. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""gypsh output module
|
|
|
|
gypsh is a GYP shell. It's not really a generator per se. All it does is
|
|
fire up an interactive Python session with a few local variables set to the
|
|
variables passed to the generator. Like gypd, it's intended as a debugging
|
|
aid, to facilitate the exploration of .gyp structures after being processed
|
|
by the input module.
|
|
|
|
The expected usage is "gyp -f gypsh -D OS=desired_os".
|
|
"""
|
|
|
|
|
|
import code
|
|
import sys
|
|
|
|
|
|
# All of this stuff about generator variables was lovingly ripped from gypd.py.
|
|
# That module has a much better description of what's going on and why.
|
|
_generator_identity_variables = [
|
|
'EXECUTABLE_PREFIX',
|
|
'EXECUTABLE_SUFFIX',
|
|
'INTERMEDIATE_DIR',
|
|
'PRODUCT_DIR',
|
|
'RULE_INPUT_ROOT',
|
|
'RULE_INPUT_DIRNAME',
|
|
'RULE_INPUT_EXT',
|
|
'RULE_INPUT_NAME',
|
|
'RULE_INPUT_PATH',
|
|
'SHARED_INTERMEDIATE_DIR',
|
|
]
|
|
|
|
generator_default_variables = {
|
|
}
|
|
|
|
for v in _generator_identity_variables:
|
|
generator_default_variables[v] = '<(%s)' % v
|
|
|
|
|
|
def GenerateOutput(target_list, target_dicts, data, params):
|
|
locals = {
|
|
'target_list': target_list,
|
|
'target_dicts': target_dicts,
|
|
'data': data,
|
|
}
|
|
|
|
# Use a banner that looks like the stock Python one and like what
|
|
# code.interact uses by default, but tack on something to indicate what
|
|
# locals are available, and identify gypsh.
|
|
banner='Python %s on %s\nlocals.keys() = %s\ngypsh' % \
|
|
(sys.version, sys.platform, repr(sorted(locals.keys())))
|
|
|
|
code.interact(banner, local=locals)
|
|
|