| Index: build/common.gypi
 | 
| ===================================================================
 | 
| --- build/common.gypi	(revision 13066)
 | 
| +++ build/common.gypi	(working copy)
 | 
| @@ -25,6 +25,12 @@
 | 
|  
 | 
|      # Override branding to select the desired branding flavor.
 | 
|      'branding%': 'Chromium',
 | 
| +
 | 
| +    # Set to 1 to enable code coverage.  In addition to build changes
 | 
| +    # (e.g. extra CFLAGS), also creates a new target in the src/chrome
 | 
| +    # project file called "coverage".
 | 
| +    # Currently ignored on Windows.
 | 
| +    'coverage%': 0,
 | 
|    },
 | 
|    'target_defaults': {
 | 
|      'conditions': [
 | 
| @@ -33,6 +39,35 @@
 | 
|        }, {  # else: branding!="Chrome"
 | 
|          'defines': ['CHROMIUM_BUILD'],
 | 
|        }],
 | 
| +      ['coverage!=0', {
 | 
| +        'conditions': [
 | 
| +          ['OS=="mac"', {
 | 
| +            'xcode_settings': {
 | 
| +              'GCC_INSTRUMENT_PROGRAM_FLOW_ARCS': 'YES',
 | 
| +              'GCC_GENERATE_TEST_COVERAGE_FILES': 'YES',
 | 
| +	    },
 | 
| +            # Add -lgcov for executables, not for static_libraries.
 | 
| +            # This is a delayed conditional.
 | 
| +            'target_conditions': [
 | 
| +              ['_type=="executable"', {
 | 
| +                'xcode_settings': { 'OTHER_LDFLAGS': [ '-lgcov' ] },
 | 
| +	      }],
 | 
| +	    ],
 | 
| +	  }],
 | 
| +          # TODO(jrg): complete this work once Linux transitions to gyp.
 | 
| +          # This is untested (--> likely doesn't work).
 | 
| +          ['OS=="linux"', {
 | 
| +            'cflags': [ '-ftest-coverage',
 | 
| +                        '-fprofile-arcs' ],
 | 
| +            'target_conditions': [
 | 
| +              ['_type=="executable"', {
 | 
| +                'link_settings': { 'libraries': [ '-lgcov' ] },
 | 
| +	      }],
 | 
| +	    ],
 | 
| +          }],
 | 
| +        ]},
 | 
| +      # TODO(jrg): options for code coverage on Windows
 | 
| +      ],
 | 
|      ],
 | 
|      'default_configuration': 'Debug',
 | 
|      'configurations': {
 | 
| 
 |