Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: build/common.gypi

Issue 56136: Start of code coverage for Mac.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 # .gyp files should set chromium_code to 1 if they build Chromium-specific 7 # .gyp files should set chromium_code to 1 if they build Chromium-specific
8 # code, as opposed to external code. This variable is used to control 8 # code, as opposed to external code. This variable is used to control
9 # such things as the set of warnings to enable, and whether warnings are 9 # such things as the set of warnings to enable, and whether warnings are
10 # treated as errors. 10 # treated as errors.
11 'chromium_code%': 0, 11 'chromium_code%': 0,
12 12
13 # Variables expected to be overriden on the GYP command line (-D) or by 13 # Variables expected to be overriden on the GYP command line (-D) or by
14 # ~/.gyp/include.gypi. 14 # ~/.gyp/include.gypi.
15 15
16 # Override chromium_mac_pch and set it to 0 to suppress the use of 16 # Override chromium_mac_pch and set it to 0 to suppress the use of
17 # precompiled headers on the Mac. Prefix header injection may still be 17 # precompiled headers on the Mac. Prefix header injection may still be
18 # used, but prefix headers will not be precompiled. This is useful when 18 # used, but prefix headers will not be precompiled. This is useful when
19 # using distcc to distribute a build to compile slaves that don't 19 # using distcc to distribute a build to compile slaves that don't
20 # share the same compiler executable as the system driving the compilation, 20 # share the same compiler executable as the system driving the compilation,
21 # because precompiled headers rely on pointers into a specific compiler 21 # because precompiled headers rely on pointers into a specific compiler
22 # executable's image. Setting this to 0 is needed to use an experimental 22 # executable's image. Setting this to 0 is needed to use an experimental
23 # Linux-Mac cross compiler distcc farm. 23 # Linux-Mac cross compiler distcc farm.
24 'chromium_mac_pch%': 1, 24 'chromium_mac_pch%': 1,
25 25
26 # Override branding to select the desired branding flavor. 26 # Override branding to select the desired branding flavor.
27 'branding%': 'Chromium', 27 'branding%': 'Chromium',
28
29 # Set to 1 to enable code coverage. In addition to build changes
30 # (e.g. extra CFLAGS), also creates a new target in the src/chrome
31 # project file called "coverage".
32 # Currently ignored on Windows.
33 'coverage%': 0,
28 }, 34 },
29 'target_defaults': { 35 'target_defaults': {
30 'conditions': [ 36 'conditions': [
31 ['branding=="Chrome"', { 37 ['branding=="Chrome"', {
32 'defines': ['GOOGLE_CHROME_BUILD'], 38 'defines': ['GOOGLE_CHROME_BUILD'],
33 }, { # else: branding!="Chrome" 39 }, { # else: branding!="Chrome"
34 'defines': ['CHROMIUM_BUILD'], 40 'defines': ['CHROMIUM_BUILD'],
35 }], 41 }],
42 ['coverage!=0', {
43 'conditions': [
44 ['OS=="mac"', {
45 'xcode_settings': {
46 'GCC_INSTRUMENT_PROGRAM_FLOW_ARCS': 'YES',
47 'GCC_GENERATE_TEST_COVERAGE_FILES': 'YES',
48 },
49 # Add -lgcov for executables, not for static_libraries.
50 # This is a delayed conditional.
51 'target_conditions': [
52 ['_type=="executable"', {
53 'xcode_settings': { 'OTHER_LDFLAGS': [ '-lgcov' ] },
54 }],
55 ],
56 }],
57 # TODO(jrg): complete this work once Linux transitions to gyp.
58 # This is untested (--> likely doesn't work).
59 ['OS=="linux"', {
60 'cflags': [ '-ftest-coverage',
61 '-fprofile-arcs' ],
62 'target_conditions': [
63 ['_type=="executable"', {
64 'link_settings': { 'libraries': [ '-lgcov' ] },
65 }],
66 ],
67 }],
68 ]},
69 # TODO(jrg): options for code coverage on Windows
70 ],
36 ], 71 ],
37 'default_configuration': 'Debug', 72 'default_configuration': 'Debug',
38 'configurations': { 73 'configurations': {
39 'Debug': { 74 'Debug': {
40 'conditions': [ 75 'conditions': [
41 [ 'OS=="mac"', { 76 [ 'OS=="mac"', {
42 'xcode_settings': { 77 'xcode_settings': {
43 'COPY_PHASE_STRIP': 'NO', 78 'COPY_PHASE_STRIP': 'NO',
44 'GCC_OPTIMIZATION_LEVEL': '0', 79 'GCC_OPTIMIZATION_LEVEL': '0',
45 } 80 }
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 # settings in target dicts. SYMROOT is a special case, because many other 369 # settings in target dicts. SYMROOT is a special case, because many other
335 # Xcode variables depend on it, including variables such as 370 # Xcode variables depend on it, including variables such as
336 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 371 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
337 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 372 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
338 # files to appear (when present) in the UI as actual files and not red 373 # files to appear (when present) in the UI as actual files and not red
339 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 374 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
340 # and therefore SYMROOT, needs to be set at the project level. 375 # and therefore SYMROOT, needs to be set at the project level.
341 'SYMROOT': '<(DEPTH)/xcodebuild', 376 'SYMROOT': '<(DEPTH)/xcodebuild',
342 }, 377 },
343 } 378 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698