'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',
}],
#!/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'))
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
# 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)