Index: build/toolchain.gypi |
diff --git a/build/toolchain.gypi b/build/toolchain.gypi |
index dc25036daa67c544e13c119e546d3c2862b7deb8..154ee99796b18d2c3bd2b9018a545708705de654 100644 |
--- a/build/toolchain.gypi |
+++ b/build/toolchain.gypi |
@@ -445,135 +445,154 @@ |
}], |
], # conditions |
'configurations': { |
- 'Debug': { |
- 'defines': [ |
- 'ENABLE_DISASSEMBLER', |
- 'V8_ENABLE_CHECKS', |
- 'OBJECT_PRINT', |
- 'VERIFY_HEAP', |
- 'DEBUG' |
- ], |
+ # Abstract configuration for v8_optimized_debug == 0. |
+ 'DebugBase0': { |
+ 'abstract': 1, |
'msvs_settings': { |
'VCCLCompilerTool': { |
+ 'Optimization': '0', |
'conditions': [ |
- ['v8_optimized_debug==0', { |
- 'Optimization': '0', |
- 'conditions': [ |
- ['component=="shared_library"', { |
- 'RuntimeLibrary': '3', # /MDd |
- }, { |
- 'RuntimeLibrary': '1', # /MTd |
- }], |
- ], |
- }], |
- ['v8_optimized_debug==1', { |
- 'Optimization': '1', |
- 'InlineFunctionExpansion': '2', |
- 'EnableIntrinsicFunctions': 'true', |
- 'FavorSizeOrSpeed': '0', |
- 'StringPooling': 'true', |
- 'BasicRuntimeChecks': '0', |
- 'conditions': [ |
- ['component=="shared_library"', { |
- 'RuntimeLibrary': '3', # /MDd |
- }, { |
- 'RuntimeLibrary': '1', # /MTd |
- }], |
- ], |
- }], |
- ['v8_optimized_debug==2', { |
- 'Optimization': '2', |
- 'InlineFunctionExpansion': '2', |
- 'EnableIntrinsicFunctions': 'true', |
- 'FavorSizeOrSpeed': '0', |
- 'StringPooling': 'true', |
- 'BasicRuntimeChecks': '0', |
- 'conditions': [ |
- ['component=="shared_library"', { |
- 'RuntimeLibrary': '3', #/MDd |
- }, { |
- 'RuntimeLibrary': '1', #/MTd |
- }], |
- ['v8_target_arch=="x64"', { |
- # TODO(2207): remove this option once the bug is fixed. |
- 'WholeProgramOptimization': 'true', |
- }], |
- ], |
+ ['component=="shared_library"', { |
+ 'RuntimeLibrary': '3', # /MDd |
+ }, { |
+ 'RuntimeLibrary': '1', # /MTd |
}], |
], |
}, |
'VCLinkerTool': { |
+ 'LinkIncremental': '2', |
+ }, |
+ }, |
+ 'conditions': [ |
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ |
+ OS=="qnx"', { |
+ 'cflags!': [ |
+ '-O0', |
+ '-O3', |
+ '-O2', |
+ '-O1', |
+ '-Os', |
+ ], |
+ 'cflags': [ |
+ '-fdata-sections', |
+ '-ffunction-sections', |
+ ], |
+ }], |
+ ['OS=="mac"', { |
+ 'xcode_settings': { |
+ 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 |
+ }, |
+ }], |
+ ], |
+ }, # DebugBase0 |
+ # Abstract configuration for v8_optimized_debug == 1. |
+ 'DebugBase1': { |
+ 'abstract': 1, |
+ 'msvs_settings': { |
+ 'VCCLCompilerTool': { |
+ 'Optimization': '1', |
+ 'InlineFunctionExpansion': '2', |
+ 'EnableIntrinsicFunctions': 'true', |
+ 'FavorSizeOrSpeed': '0', |
+ 'StringPooling': 'true', |
+ 'BasicRuntimeChecks': '0', |
'conditions': [ |
- ['v8_optimized_debug==0', { |
- 'LinkIncremental': '2', |
- }], |
- ['v8_optimized_debug==1', { |
- 'LinkIncremental': '2', |
- }], |
- ['v8_optimized_debug==2', { |
- 'LinkIncremental': '1', |
- 'OptimizeReferences': '2', |
- 'EnableCOMDATFolding': '2', |
+ ['component=="shared_library"', { |
+ 'RuntimeLibrary': '3', # /MDd |
+ }, { |
+ 'RuntimeLibrary': '1', # /MTd |
}], |
], |
}, |
+ 'VCLinkerTool': { |
+ 'LinkIncremental': '2', |
+ }, |
}, |
'conditions': [ |
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ |
OS=="qnx"', { |
- 'cflags': [ '-Woverloaded-virtual', '<(wno_array_bounds)', ], |
+ 'cflags!': [ |
+ '-O0', |
+ '-O3', # TODO(2807) should be -O1. |
+ '-O2', |
+ '-Os', |
+ ], |
+ 'cflags': [ |
+ '-fdata-sections', |
+ '-ffunction-sections', |
+ '-O1', # TODO(2807) should be -O3. |
+ ], |
'conditions': [ |
- ['v8_optimized_debug==0', { |
- 'cflags!': [ |
- '-O0', |
- '-O3', |
- '-O2', |
- '-O1', |
- '-Os', |
- ], |
+ ['gcc_version==44 and clang==0', { |
'cflags': [ |
- '-fdata-sections', |
- '-ffunction-sections', |
+ # Avoid crashes with gcc 4.4 in the v8 test suite. |
+ '-fno-tree-vrp', |
], |
}], |
- ['v8_optimized_debug==1', { |
- 'cflags!': [ |
- '-O0', |
- '-O3', # TODO(2807) should be -O1. |
- '-O2', |
- '-Os', |
- ], |
- 'cflags': [ |
- '-fdata-sections', |
- '-ffunction-sections', |
- '-O1', # TODO(2807) should be -O3. |
- ], |
+ ], |
+ }], |
+ ['OS=="mac"', { |
+ 'xcode_settings': { |
+ 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 |
+ 'GCC_STRICT_ALIASING': 'YES', |
+ }, |
+ }], |
+ ], |
+ }, # DebugBase1 |
+ # Abstract configuration for v8_optimized_debug == 2. |
+ 'DebugBase2': { |
+ 'abstract': 1, |
+ 'msvs_settings': { |
+ 'VCCLCompilerTool': { |
+ 'Optimization': '2', |
+ 'InlineFunctionExpansion': '2', |
+ 'EnableIntrinsicFunctions': 'true', |
+ 'FavorSizeOrSpeed': '0', |
+ 'StringPooling': 'true', |
+ 'BasicRuntimeChecks': '0', |
+ 'conditions': [ |
+ ['component=="shared_library"', { |
+ 'RuntimeLibrary': '3', #/MDd |
+ }, { |
+ 'RuntimeLibrary': '1', #/MTd |
}], |
- ['v8_optimized_debug==2', { |
- 'cflags!': [ |
- '-O0', |
- '-O1', |
- '-Os', |
- ], |
- 'cflags': [ |
- '-fdata-sections', |
- '-ffunction-sections', |
- ], |
- 'defines': [ |
- 'OPTIMIZED_DEBUG' |
- ], |
- 'conditions': [ |
- # TODO(crbug.com/272548): Avoid -O3 in NaCl |
- ['nacl_target_arch=="none"', { |
- 'cflags': ['-O3'], |
- 'cflags!': ['-O2'], |
- }, { |
- 'cflags': ['-O2'], |
- 'cflags!': ['-O3'], |
- }], |
- ], |
+ ['v8_target_arch=="x64"', { |
+ # TODO(2207): remove this option once the bug is fixed. |
+ 'WholeProgramOptimization': 'true', |
+ }], |
+ ], |
+ }, |
+ 'VCLinkerTool': { |
+ 'LinkIncremental': '1', |
+ 'OptimizeReferences': '2', |
+ 'EnableCOMDATFolding': '2', |
+ }, |
+ }, |
+ 'conditions': [ |
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ |
+ OS=="qnx"', { |
+ 'cflags!': [ |
+ '-O0', |
+ '-O1', |
+ '-Os', |
+ ], |
+ 'cflags': [ |
+ '-fdata-sections', |
+ '-ffunction-sections', |
+ ], |
+ 'defines': [ |
+ 'OPTIMIZED_DEBUG' |
+ ], |
+ 'conditions': [ |
+ # TODO(crbug.com/272548): Avoid -O3 in NaCl |
+ ['nacl_target_arch=="none"', { |
+ 'cflags': ['-O3'], |
+ 'cflags!': ['-O2'], |
+ }, { |
+ 'cflags': ['-O2'], |
+ 'cflags!': ['-O3'], |
}], |
- ['v8_optimized_debug!=0 and gcc_version==44 and clang==0', { |
+ ['gcc_version==44 and clang==0', { |
'cflags': [ |
# Avoid crashes with gcc 4.4 in the v8 test suite. |
'-fno-tree-vrp', |
@@ -581,6 +600,29 @@ |
}], |
], |
}], |
+ ['OS=="mac"', { |
+ 'xcode_settings': { |
+ 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 |
+ 'GCC_STRICT_ALIASING': 'YES', |
+ }, |
+ }], |
+ ], |
+ }, # DebugBase2 |
+ # Common settings for the Debug configuration. |
+ 'DebugBaseCommon': { |
+ 'abstract': 1, |
+ 'defines': [ |
+ 'ENABLE_DISASSEMBLER', |
+ 'V8_ENABLE_CHECKS', |
+ 'OBJECT_PRINT', |
+ 'VERIFY_HEAP', |
+ 'DEBUG' |
+ ], |
+ 'conditions': [ |
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" or \ |
+ OS=="qnx"', { |
+ 'cflags': [ '-Woverloaded-virtual', '<(wno_array_bounds)', ], |
+ }], |
['OS=="linux" and v8_enable_backtrace==1', { |
# Support for backtrace_symbols. |
'ldflags': [ '-rdynamic' ], |
@@ -599,17 +641,19 @@ |
}], |
], |
}], |
- ['OS=="mac"', { |
- 'xcode_settings': { |
- 'conditions': [ |
- ['v8_optimized_debug==0', { |
- 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 |
- }, { |
- 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 |
- 'GCC_STRICT_ALIASING': 'YES', |
- }], |
- ], |
- }, |
+ ], |
+ }, # DebugBaseCommon |
+ 'Debug': { |
+ 'inherit_from': ['DebugBaseCommon'], |
+ 'conditions': [ |
+ ['v8_optimized_debug==0', { |
+ 'inherit_from': ['DebugBase0'], |
+ }], |
+ ['v8_optimized_debug==1', { |
+ 'inherit_from': ['DebugBase1'], |
+ }], |
+ ['v8_optimized_debug==2', { |
+ 'inherit_from': ['DebugBase2'], |
}], |
], |
}, # Debug |