Browse Source

gyp: install node-gyp

* fixes #2480
v0.7.4-release
Fedor Indutny 13 years ago
parent
commit
3d1476a316
  1. 13
      tools/addon.gypi
  2. 11
      tools/installer.js
  3. 8
      tools/node-gyp

13
tools/addon.gypi

@ -3,15 +3,20 @@
'type': 'loadable_module', 'type': 'loadable_module',
'product_extension': 'node', 'product_extension': 'node',
'product_prefix': '', 'product_prefix': '',
'conditions': [
[ 'OS=="mac"', {
'libraries': [ '-undefined dynamic_lookup' ]
}],
[ 'OS=="win"', {
'include_dirs': [ 'include_dirs': [
'../src', '../src',
'../deps/uv/include', '../deps/uv/include',
'../deps/v8/include' '../deps/v8/include'
], ],
'libraries': [ '-l<(node_root_dir>/Debug/node.lib' ],
'conditions': [ }, {
[ 'OS=="mac"', { 'include_dirs': ['../../../include/node']
'libraries': [ '-undefined dynamic_lookup' ],
}] }]
] ]
} }

11
tools/installer.js

@ -93,7 +93,13 @@ if (cmd === 'install') {
copy([ copy([
'deps/uv/include/ares.h', 'deps/uv/include/ares.h',
'deps/uv/include/ares_version.h' 'deps/uv/include/ares_version.h'
], 'include/node/c-ares/'); ], 'include/node/');
// Copy node-gyp files
copy('common.gypi', 'lib/node/');
copy('tools/*', 'lib/node/tools/');
queue.push('ln -sf ../lib/node/tools/node-gyp ' +
path.join(node_prefix, 'bin/node-gyp'));
// Copy binary file // Copy binary file
copy('out/Release/node', 'bin/node'); copy('out/Release/node', 'bin/node');
@ -106,7 +112,8 @@ if (cmd === 'install') {
} }
} else { } else {
remove([ remove([
'bin/node', 'bin/npm', 'include/node/*', 'lib/node_modules' 'bin/node', 'bin/npm', 'bin/node-gyp', 'include/node/*',
'lib/node', 'lib/node_modules'
]); ]);
} }

8
tools/gyp_addon → tools/node-gyp

@ -4,18 +4,20 @@ import sys
script_dir = os.path.dirname(__file__) script_dir = os.path.dirname(__file__)
node_root = os.path.normpath(os.path.join(script_dir, os.pardir)) node_root = os.path.normpath(os.path.join(script_dir, os.pardir))
node_tools = os.path.join(node_root, 'lib', 'node', 'tools')
sys.path.insert(0, os.path.join(node_root, 'tools', 'gyp', 'pylib')) sys.path.insert(0, os.path.join(node_tools, 'gyp', 'pylib'))
import gyp import gyp
if __name__ == '__main__': if __name__ == '__main__':
args = sys.argv[1:] args = sys.argv[1:]
addon_gypi = os.path.join(node_root, 'tools', 'addon.gypi') addon_gypi = os.path.join(node_tools, 'addon.gypi')
common_gypi = os.path.join(node_root, 'common.gypi') common_gypi = os.path.join(node_root, 'lib', 'node', 'common.gypi')
args.extend(['-I', addon_gypi]) args.extend(['-I', addon_gypi])
args.extend(['-I', common_gypi]) args.extend(['-I', common_gypi])
args.extend(['-Dlibrary=shared_library']) args.extend(['-Dlibrary=shared_library'])
args.extend(['-Dvisibility=default']) args.extend(['-Dvisibility=default'])
args.extend(['-Dnode_root_dir=%s' % node_root])
args.extend(['--depth=.']); args.extend(['--depth=.']);
gyp_args = list(args) gyp_args = list(args)
Loading…
Cancel
Save