Browse Source

build: reduce one level of spawning in node_gyp

`configure` will now call `node_gyp` as a module instead of forking
makes it easier to debug

PR-URL: https://github.com/nodejs/node/pull/12653
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
v6.x
Refael Ackermann 8 years ago
committed by Myles Borins
parent
commit
efc0f64c17
No known key found for this signature in database GPG Key ID: 933B01F40B5CA946
  1. 5
      configure
  2. 18
      tools/gyp_node.py

5
configure

@ -40,6 +40,7 @@ import nodedownload
# imports in tools/
sys.path.insert(0, os.path.join(root_dir, 'tools'))
import getmoduleversion
from gyp_node import run_gyp
# parse our options
parser = optparse.OptionParser()
@ -1370,7 +1371,7 @@ config = '\n'.join(map('='.join, config.iteritems())) + '\n'
write('config.mk', do_not_edit + config)
gyp_args = [sys.executable, 'tools/gyp_node.py', '--no-parallel']
gyp_args = ['--no-parallel']
if options.use_xcode:
gyp_args += ['-f', 'xcode']
@ -1389,4 +1390,4 @@ gyp_args += args
if warn.warned:
warn('warnings were emitted in the configure phase')
sys.exit(subprocess.call(gyp_args))
run_gyp(gyp_args)

18
tools/gyp_node.py

@ -13,14 +13,6 @@ import gyp
output_dir = os.path.join(os.path.abspath(node_root), 'out')
def run_gyp(args):
rc = gyp.main(args)
if rc != 0:
print 'Error running GYP'
sys.exit(rc)
if __name__ == '__main__':
args = sys.argv[1:]
# GYP bug.
# On msvs it will crash if it gets an absolute path.
# On Mac/make it will crash if it doesn't get an absolute path.
@ -58,5 +50,11 @@ if __name__ == '__main__':
args.append('-Dlinux_use_bundled_gold=0')
args.append('-Dlinux_use_gold_flags=0')
gyp_args = list(args)
run_gyp(gyp_args)
rc = gyp.main(args)
if rc != 0:
print 'Error running GYP'
sys.exit(rc)
if __name__ == '__main__':
run_gyp(sys.argv[1:])

Loading…
Cancel
Save