| OLD | NEW |
| 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 Loading... |
| 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 } |
| OLD | NEW |