mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
Fix #2830 for the old gcc bug on SmartOS
This commit is contained in:
12
common.gypi
12
common.gypi
@@ -36,12 +36,14 @@
|
||||
'Release': {
|
||||
'conditions': [
|
||||
[ 'OS!="solaris"', {
|
||||
'cflags': [ '-fomit-frame-pointer' ]
|
||||
'cflags': [ '-O3','-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
|
||||
}],
|
||||
[ 'OS=="solaris" and gcc_optimize_level =="-O3"', {
|
||||
'cflags': [ '-O3', '-fdata-sections', '-ffunction-sections' ],
|
||||
}],
|
||||
[ 'OS=="solaris" and gcc_optimize_level =="-O"', {
|
||||
'cflags': [ '-O', '-fdata-sections', '-ffunction-sections' ], # For bug fix of #2830
|
||||
}],
|
||||
],
|
||||
# 'defines': [ 'NDEBUG' ],
|
||||
'cflags': [ '-O3', '-fdata-sections', '-ffunction-sections' ],
|
||||
'conditions': [
|
||||
['target_arch=="x64"', {
|
||||
'msvs_configuration_platform': 'x64',
|
||||
}],
|
||||
|
||||
15
configure
vendored
15
configure
vendored
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user