0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-29 23:16:30 +01:00
nodejs/tools/specialize_node_d.py
Fedor Indutny b940e0fd86 gyp: specialize node.d for freebsd
`node.d` should use `psinfo.d` instead of `procfs.d` and have statically
defined architecture on FreeBSD.
2014-02-21 00:46:26 +04:00

33 lines
714 B
Python
Executable File

#!/usr/bin/env python
#
# specialize_node_d.py output_file src/node.d flavor arch
#
# Specialize node.d for given flavor (`freebsd`) and arch (`x64` or `ia32`)
#
import re
import subprocess
import sys
import errno
if len(sys.argv) != 5:
print "usage: specialize_node_d.py outfile src/node.d flavor arch"
sys.exit(2);
outfile = file(sys.argv[1], 'w');
infile = file(sys.argv[2], 'r');
flavor = sys.argv[3];
arch = sys.argv[4];
model = r'curpsinfo->pr_dmodel == PR_MODEL_ILP32'
for line in infile:
if flavor == 'freebsd':
line = re.sub('procfs.d', 'psinfo.d', line);
if arch == 'x64':
line = re.sub(model, '0', line);
else:
line = re.sub(model, '1', line);
outfile.write(line);