install: install iojs -> node compat symlink

Install a symlink for compatibility with scripts that expect a binary
called `node` or have a /path/to/node shebang.  Only done on UNIX
platforms because symlinks on Windows require elevated privileges.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
This commit is contained in:
Ben Noordhuis 2015-01-08 14:21:26 +01:00
parent f17f473af5
commit 72f1b348b0

View File

@ -127,9 +127,22 @@ def subdir_files(path, dest, action):
action(files, subdir + '/')
def files(action):
exeext = '.exe' if sys.platform == 'win32' else ''
is_windows = sys.platform == 'win32'
exeext = '.exe' if is_windows else ''
action(['out/Release/iojs' + exeext], 'bin/iojs' + exeext)
if not is_windows:
# Install iojs -> node compatibility symlink.
link_target = 'bin/node'
link_path = abspath(install_path, link_target)
if action == uninstall:
action([link_path], link_target)
elif action == install:
try_symlink('iojs', link_path)
else:
assert(0) # Unhandled action type.
if 'true' == variables.get('node_use_dtrace'):
action(['out/Release/node.d'], 'lib/dtrace/node.d')