Use abstract configurations to switch between opt debug settings
authorjochen@chromium.org <jochen@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 9 Apr 2014 09:54:49 +0000 (09:54 +0000)
committerjochen@chromium.org <jochen@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 9 Apr 2014 09:54:49 +0000 (09:54 +0000)
commitd426cd10121659434fd68250ce18ce5bc82ca281
tree97a1bfa4854365e48fa5bb064976a447096d5574
parent728614daf92c8a4f3ea91451d9341c2731957273
Use abstract configurations to switch between opt debug settings

The problem is that conditions are evaluated before configuration inheritance is resolved, so we can't just define a configuration like this:

'Optdebug': {
  'inherits_from': ['Debug'],
  'variables': {
    'v8_optimized_debug': 2,
  }
}

Instead, we have to put the different settings depending on the optimization level into separate configurations, and use conditions inside the concrete configurations to inherit from the correct base class.

Common settings go in the base configuration DebugBaseCommon, and v8_optimized_debug dependent settings go into DebugBase{0,1,2}

The new Debug configuration inherits from DebugBaseCommon and DebugBase<(v8_optimized_debug), while the new configuration Optdebug inherits from DebugBaseCommon and DebugBase2.

BUG=v8:3252
R=machenbach@chromium.org, jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/224443003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
build/features.gypi
build/standalone.gypi
build/toolchain.gypi