else:
assert(0) # unhandled action type
+def subdir_files(path, dest, action):
+ ret = {}
+ for dirpath, dirnames, filenames in os.walk(path):
+ files = [dirpath + '/' + f for f in filenames if f.endswith('.h')]
+ ret[dest + dirpath.replace(path, '')] = files
+ for subdir, files in ret.items():
+ action(files, subdir + '/')
+
def files(action):
action(['out/Release/node'], 'bin/node')
if 'true' == variables.get('node_install_npm'): npm_files(action)
+ action([
+ 'config.gypi',
+ 'src/node.h',
+ 'src/node_buffer.h',
+ 'src/node_internals.h',
+ 'src/node_object_wrap.h',
+ 'src/node_version.h',
+ ], 'include/node/')
+
+ if 'false' == variables.get('node_shared_cares'):
+ subdir_files('deps/cares/include', 'include/node/', action)
+
+ if 'false' == variables.get('node_shared_libuv'):
+ subdir_files('deps/uv/include', 'include/node/', action)
+
+ if 'false' == variables.get('node_shared_openssl'):
+ action(['deps/openssl/config/opensslconf.h'], 'include/node/openssl/')
+ subdir_files('deps/openssl/include/openssl', 'include/node/openssl/', action)
+
+ if 'false' == variables.get('node_shared_v8'):
+ subdir_files('deps/v8/include', 'include/node/', action)
+
+ if 'false' == variables.get('node_shared_zlib'):
+ action([
+ 'deps/zlib/zconf.h',
+ 'deps/zlib/zlib.h',
+ ], 'include/node/')
+
def run(args):
global dst_dir, node_prefix, target_defaults, variables