|
|
@ -1,10 +1,10 @@ |
|
|
|
#!/usr/bin/env python |
|
|
|
|
|
|
|
import optparse |
|
|
|
import os |
|
|
|
import pprint |
|
|
|
import subprocess |
|
|
|
import sys |
|
|
|
from distutils.version import StrictVersion |
|
|
|
|
|
|
|
root_dir = os.path.dirname(__file__) |
|
|
|
sys.path.insert(0, os.path.join(root_dir, 'deps', 'v8', 'tools')) |
|
|
@ -200,6 +200,17 @@ def host_arch(): |
|
|
|
def target_arch(): |
|
|
|
return host_arch() |
|
|
|
|
|
|
|
def gcc_optimize_level(): |
|
|
|
cc = ['gcc'] |
|
|
|
cmd = cc + [ '-dumpversion' ] |
|
|
|
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
|
|
|
p.stdin.write('\n') |
|
|
|
out = p.communicate()[0] |
|
|
|
gcc_version = (str(out).split('\n'))[0] |
|
|
|
if StrictVersion(gcc_version) >= '4.6.1': |
|
|
|
return '-O3' |
|
|
|
else: |
|
|
|
return '-O' |
|
|
|
|
|
|
|
def configure_node(o): |
|
|
|
# TODO add gdb |
|
|
@ -214,7 +225,7 @@ def configure_node(o): |
|
|
|
# TODO move to node.gyp |
|
|
|
if sys.platform == 'sunos5': |
|
|
|
o['variables']['visibility'] = '' # FIXME -fvisibility=hidden, should be a gcc check |
|
|
|
|
|
|
|
o['variables']['gcc_optimize_level'] = gcc_optimize_level() # For bug fix of #2830 |
|
|
|
|
|
|
|
def configure_libz(o): |
|
|
|
o['variables']['node_shared_zlib'] = b(options.shared_zlib) |
|
|
|