| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 'chromium_code': 1, | 7 'chromium_code': 1, |
| 8 | 8 |
| 9 # Keep the archive builder happy. | 9 # Keep the archive builder happy. |
| 10 'chrome_personalization%': 1, | 10 'chrome_personalization%': 1, |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 'urlmon_upload_data_stream_unittest.cc', | 147 'urlmon_upload_data_stream_unittest.cc', |
| 148 'vtable_patch_manager_unittest.cc', | 148 'vtable_patch_manager_unittest.cc', |
| 149 ], | 149 ], |
| 150 'include_dirs': [ | 150 'include_dirs': [ |
| 151 '<(DEPTH)/breakpad/src', | 151 '<(DEPTH)/breakpad/src', |
| 152 ], | 152 ], |
| 153 'resource_include_dirs': [ | 153 'resource_include_dirs': [ |
| 154 '<(INTERMEDIATE_DIR)', | 154 '<(INTERMEDIATE_DIR)', |
| 155 ], | 155 ], |
| 156 'conditions': [ | 156 'conditions': [ |
| 157 # We can't instrument code for coverage if it depends on 3rd party | |
| 158 # binaries that we don't have PDBs for. See here for more details: | |
| 159 # http://connect.microsoft.com/VisualStudio/feedback/details/176188/can-
not-disable-warning-lnk4099 | |
| 160 ['coverage==0', { | |
| 161 'conditions': [ | |
| 162 ['OS=="win"', { | |
| 163 'dependencies': [ | |
| 164 '../breakpad/breakpad.gyp:breakpad_handler', | |
| 165 # TODO(slightlyoff): Get automation targets working on OS X | |
| 166 '../chrome/chrome.gyp:automation', | |
| 167 ], | |
| 168 }], | |
| 169 ], | |
| 170 }], | |
| 171 ['OS=="win" and buildtype=="Official"', { | 157 ['OS=="win" and buildtype=="Official"', { |
| 172 'configurations': { | 158 'configurations': { |
| 173 'Release': { | 159 'Release': { |
| 174 'msvs_settings': { | 160 'msvs_settings': { |
| 175 'VCCLCompilerTool': { | 161 'VCCLCompilerTool': { |
| 176 'WholeProgramOptimization': 'false', | 162 'WholeProgramOptimization': 'false', |
| 177 }, | 163 }, |
| 178 }, | 164 }, |
| 179 }, | 165 }, |
| 180 }, | 166 }, |
| 181 },], | 167 },], |
| 182 ['OS=="win"', { | 168 ['OS=="win"', { |
| 183 'link_settings': { | 169 'link_settings': { |
| 184 'libraries': [ | 170 'libraries': [ |
| 185 '-lshdocvw.lib', | 171 '-lshdocvw.lib', |
| 186 '-loleacc.lib', | 172 '-loleacc.lib', |
| 187 ], | 173 ], |
| 188 }, | 174 }, |
| 189 'msvs_settings': { | 175 'msvs_settings': { |
| 190 'VCLinkerTool': { | 176 'VCLinkerTool': { |
| 191 'DelayLoadDLLs': ['shdocvw.dll'], | 177 'DelayLoadDLLs': ['shdocvw.dll'], |
| 192 }, | 178 }, |
| 193 }, | 179 }, |
| 194 'dependencies': [ | 180 'dependencies': [ |
| 181 '../breakpad/breakpad.gyp:breakpad_handler', |
| 195 # TODO(slightlyoff): Get automation targets working on OS X | 182 # TODO(slightlyoff): Get automation targets working on OS X |
| 196 '../chrome/chrome.gyp:automation', | 183 '../chrome/chrome.gyp:automation', |
| 197 '../chrome/chrome.gyp:installer_util', | 184 '../chrome/chrome.gyp:installer_util', |
| 198 '../google_update/google_update.gyp:google_update', | 185 '../google_update/google_update.gyp:google_update', |
| 199 ], | 186 ], |
| 200 'configurations': { | 187 'configurations': { |
| 201 'Debug_Base': { | 188 'Debug_Base': { |
| 202 'msvs_settings': { | 189 'msvs_settings': { |
| 203 'VCLinkerTool': { | 190 'VCLinkerTool': { |
| 204 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', | 191 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 955 'VCManifestTool': { | 942 'VCManifestTool': { |
| 956 'AdditionalManifestFiles': [ | 943 'AdditionalManifestFiles': [ |
| 957 '$(ProjectDir)\\resources\\npchrome_frame.dll.manifest', | 944 '$(ProjectDir)\\resources\\npchrome_frame.dll.manifest', |
| 958 ], | 945 ], |
| 959 }, | 946 }, |
| 960 }, | 947 }, |
| 961 }], | 948 }], |
| 962 ], | 949 ], |
| 963 }, | 950 }, |
| 964 ], | 951 ], |
| 965 'conditions': [ | |
| 966 # To enable the coverage targets, do | |
| 967 # GYP_DEFINES='coverage=1' gclient sync | |
| 968 ['coverage!=0', | |
| 969 { 'targets': [ | |
| 970 { | |
| 971 # Coverage BUILD AND RUN. | |
| 972 # Not named coverage_build_and_run for historical reasons. | |
| 973 'target_name': 'gcf_coverage', | |
| 974 'dependencies': [ 'gcf_coverage_build', 'gcf_coverage_run' ], | |
| 975 # do NOT place this in the 'all' list; most won't want it. | |
| 976 'suppress_wildcard': 1, | |
| 977 'type': 'none', | |
| 978 'actions': [ | |
| 979 { | |
| 980 'message': 'Coverage is now complete', | |
| 981 # MSVS must have an input file and an output file. | |
| 982 'inputs': [ '<(PRODUCT_DIR)/gcf_coverage.info' ], | |
| 983 'outputs': [ '<(PRODUCT_DIR)/gcf_coverage-build-and-run.stamp' ], | |
| 984 'action_name': 'gcf_coverage', | |
| 985 # Wish gyp had some basic builtin commands (e.g. 'touch'). | |
| 986 'action': [ 'python', '-c', | |
| 987 'import os; ' \ | |
| 988 'open(' \ | |
| 989 '\'<(PRODUCT_DIR)\' + os.path.sep + ' \ | |
| 990 '\'gcf_coverage-build-and-run.stamp\'' \ | |
| 991 ', \'w\').close()' ], | |
| 992 # Use outputs of this action as inputs for the main target build. | |
| 993 # Seems as a misnomer but makes this happy on Linux (scons). | |
| 994 'process_outputs_as_sources': 1, | |
| 995 }, | |
| 996 ], | |
| 997 }, | |
| 998 # Coverage BUILD. Compile only; does not run the bundles. | |
| 999 # Intended as the build phase for our coverage bots. | |
| 1000 # | |
| 1001 # Builds unit test bundles needed for coverage. | |
| 1002 # Outputs this list of bundles into gcf_coverage_bundles.py. | |
| 1003 # | |
| 1004 # If you want to both build and run coverage from your IDE, | |
| 1005 # use the 'gcf_coverage' target. | |
| 1006 { | |
| 1007 'target_name': 'gcf_coverage_build', | |
| 1008 'suppress_wildcard': 1, | |
| 1009 'type': 'none', | |
| 1010 'dependencies': [ | |
| 1011 # Some tests are disabled because they depend on browser.lib which | |
| 1012 # has some trouble to link with instrumentation. Until this is | |
| 1013 # fixed on the Chrome side we won't get complete coverage from | |
| 1014 # our tests but we at least get the process rolling... | |
| 1015 # TODO(mad): FIX THIS! | |
| 1016 #'chrome_frame_net_tests', | |
| 1017 #'chrome_frame_reliability_tests', | |
| 1018 | |
| 1019 # Other tests depend on Chrome bins being available when they run. | |
| 1020 # Those should be re-enabled as soon as we setup the build slave to | |
| 1021 # also build (or download an archive of) Chrome, even it it isn't | |
| 1022 # instrumented itself. | |
| 1023 # TODO(mad): FIX THIS! | |
| 1024 #'chrome_frame_perftests', | |
| 1025 #'chrome_frame_tests', | |
| 1026 | |
| 1027 'chrome_frame_unittests', | |
| 1028 ], # 'dependencies' | |
| 1029 'actions': [ | |
| 1030 { | |
| 1031 # TODO(jrg): | |
| 1032 # Technically I want inputs to be the list of | |
| 1033 # executables created in <@(_dependencies) but use of | |
| 1034 # that variable lists the dep by dep name, not their | |
| 1035 # output executable name. | |
| 1036 # Is there a better way to force this action to run, always? | |
| 1037 # | |
| 1038 # If a test bundle is added to this gcf_coverage_build target it | |
| 1039 # necessarily means this file (chrome_frame.gyp) is changed, | |
| 1040 # so the action is run (gcf_coverage_bundles.py is generated). | |
| 1041 # Exceptions to that rule are theoretically possible | |
| 1042 # (e.g. re-gyp with a GYP_DEFINES set). | |
| 1043 # Else it's the same list of bundles as last time. They are | |
| 1044 # built (since on the deps list) but the action may not run. | |
| 1045 # For now, things work, but it's less than ideal. | |
| 1046 'inputs': [ 'chrome_frame.gyp' ], | |
| 1047 'outputs': [ '<(PRODUCT_DIR)/gcf_coverage_bundles.py' ], | |
| 1048 'action_name': 'gcf_coverage_build', | |
| 1049 'action': [ 'python', '-c', | |
| 1050 'import os; ' | |
| 1051 'f = open(' \ | |
| 1052 '\'<(PRODUCT_DIR)\' + os.path.sep + ' \ | |
| 1053 '\'gcf_coverage_bundles.py\'' \ | |
| 1054 ', \'w\'); ' \ | |
| 1055 'deplist = \'' \ | |
| 1056 '<@(_dependencies)' \ | |
| 1057 '\'.split(\' \'); ' \ | |
| 1058 'f.write(str(deplist)); ' \ | |
| 1059 'f.close()'], | |
| 1060 # Use outputs of this action as inputs for the main target build. | |
| 1061 # Seems as a misnomer but makes this happy on Linux (scons). | |
| 1062 'process_outputs_as_sources': 1, | |
| 1063 }, | |
| 1064 ], | |
| 1065 }, | |
| 1066 # Coverage RUN. Does not actually compile the bundles (though it | |
| 1067 # depends on the gcf_coverage_build step which will do it). | |
| 1068 # This target mirrors the run_coverage_bundles buildbot phase. | |
| 1069 # If you update this command update the mirror in | |
| 1070 # $BUILDBOT/scripts/master/factory/chromium_commands.py. | |
| 1071 # If you want both build and run, use the 'gcf_coverage' target which | |
| 1072 # adds a bit more magic to identify if we need to run or not. | |
| 1073 { | |
| 1074 'target_name': 'gcf_coverage_run', | |
| 1075 'dependencies': [ 'gcf_coverage_build' ], | |
| 1076 'suppress_wildcard': 1, | |
| 1077 'type': 'none', | |
| 1078 'actions': [ | |
| 1079 { | |
| 1080 # MSVS must have an input file and an output file. | |
| 1081 'inputs': [ '<(PRODUCT_DIR)/gcf_coverage_bundles.py' ], | |
| 1082 'outputs': [ '<(PRODUCT_DIR)/gcf_coverage.info' ], | |
| 1083 'action_name': 'gcf_coverage_run', | |
| 1084 'action': [ 'python', | |
| 1085 '../tools/code_coverage/coverage_posix.py', | |
| 1086 '--directory', | |
| 1087 '<(PRODUCT_DIR)', | |
| 1088 '--src_root', | |
| 1089 '.', | |
| 1090 '--bundles', | |
| 1091 '<(PRODUCT_DIR)/gcf_coverage_bundles.py', | |
| 1092 ], | |
| 1093 # Use outputs of this action as inputs for the main target build. | |
| 1094 # Seems as a misnomer but makes this happy on Linux (scons). | |
| 1095 'process_outputs_as_sources': 1, | |
| 1096 }, | |
| 1097 ], | |
| 1098 }, | |
| 1099 ], | |
| 1100 }, ], # 'coverage!=0' | |
| 1101 ], # 'conditions' | |
| 1102 } | 952 } |
| OLD | NEW |