mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
gyp: specialize node.d for freebsd
`node.d` should use `psinfo.d` instead of `procfs.d` and have statically defined architecture on FreeBSD.
This commit is contained in:
1 parent
085db9dd6c
commit
b940e0fd86
3 files changed
+65
-3
No files matched your search
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/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);
|
||||
Reference in new issue
Block a user