tools,bootstrap: preprocess gypi files to json

PR-URL: https://github.com/nodejs/node/pull/19140
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
This commit is contained in:
Gus Caplan 2018-03-04 18:25:02 -06:00
parent 099e621648
commit 7314b170a4
No known key found for this signature in database
GPG Key ID: F00BD11880E82F0E
2 changed files with 6 additions and 8 deletions

View File

@ -128,16 +128,9 @@ function setupMemoryUsage() {
function setupConfig(_source) {
// NativeModule._source
// used for `process.config`, but not a real module
var config = _source.config;
const config = _source.config;
delete _source.config;
// strip the gyp comment line at the beginning
config = config.split('\n')
.slice(1)
.join('\n')
.replace(/"/g, '\\"')
.replace(/'/g, '"');
process.config = JSON.parse(config, function(key, value) {
if (value === 'true') return true;
if (value === 'false') return false;

View File

@ -292,6 +292,11 @@ def JS2C(source, target):
split = split[1:]
name = '/'.join(split)
# if its a gypi file we're going to want it as json
# later on anyway, so get it out of the way now
if name.endswith(".gypi"):
lines = re.sub(r'#.*?\n', '', lines)
lines = re.sub(r'\'', '"', lines)
name = name.split('.', 1)[0]
var = name.replace('-', '_').replace('/', '_')
key = '%s_key' % var