base.gyp revision c7f5f8508d98d5952d42ed7648c2a8f30a4da156
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 3# found in the LICENSE file. 4 5{ 6 'variables': { 7 'chromium_code': 1, 8 }, 9 'includes': [ 10 'base.gypi', 11 ], 12 'targets': [ 13 { 14 'target_name': 'base_i18n', 15 'type': '<(library)', 16 'msvs_guid': '968F3222-9798-4D21-BE08-15ECB5EF2994', 17 'dependencies': [ 18 'base', 19 '../third_party/icu/icu.gyp:icui18n', 20 '../third_party/icu/icu.gyp:icuuc', 21 ], 22 'export_dependent_settings': [ 23 'base', 24 ], 25 'sources': [ 26 'i18n/file_util_icu.cc', 27 'i18n/file_util_icu.h', 28 'i18n/icu_string_conversions.cc', 29 'i18n/icu_string_conversions.h', 30 'i18n/icu_util.cc', 31 'i18n/icu_util.h', 32 'i18n/number_formatting.cc', 33 'i18n/number_formatting.h', 34 'i18n/time_formatting.cc', 35 'i18n/time_formatting.h', 36 'i18n/word_iterator.cc', 37 'i18n/word_iterator.h', 38 ], 39 'conditions': [ 40 ['OS == "linux" or OS == "freebsd" or OS == "openbsd"', { 41 'dependencies': [ 42 '../build/linux/system.gyp:gtk', 43 ], 44 }], 45 ], 46 }, 47 { 48 'target_name': 'base_unittests', 49 'type': 'executable', 50 'msvs_guid': '27A30967-4BBA-48D1-8522-CDE95F7B1CEC', 51 'sources': [ 52 # Infrastructure files. 53 'multiprocess_test.h', 54 'test/run_all_unittests.cc', 55 'test/test_suite.h', 56 57 # Tests. 58 'at_exit_unittest.cc', 59 'atomicops_unittest.cc', 60 'base64_unittest.cc', 61 'bits_unittest.cc', 62 'cancellation_flag_unittest.cc', 63 'command_line_unittest.cc', 64 'condition_variable_unittest.cc', 65 'crypto/rsa_private_key_unittest.cc', 66 'crypto/signature_creator_unittest.cc', 67 'crypto/signature_verifier_unittest.cc', 68 'data_pack_unittest.cc', 69 'debug_util_unittest.cc', 70 'directory_watcher_unittest.cc', 71 'event_trace_consumer_win_unittest.cc', 72 'event_trace_controller_win_unittest.cc', 73 'event_trace_provider_win_unittest.cc', 74 'field_trial_unittest.cc', 75 'file_descriptor_shuffle_unittest.cc', 76 'file_path_unittest.cc', 77 'file_util_unittest.cc', 78 'file_version_info_unittest.cc', 79 'gfx/rect_unittest.cc', 80 'gmock_unittest.cc', 81 'histogram_unittest.cc', 82 'hmac_unittest.cc', 83 'id_map_unittest.cc', 84 'i18n/file_util_icu_unittest.cc', 85 'i18n/icu_string_conversions_unittest.cc', 86 'i18n/word_iterator_unittest.cc', 87 'json/json_reader_unittest.cc', 88 'json/json_writer_unittest.cc', 89 'json/string_escape_unittest.cc', 90 'lazy_instance_unittest.cc', 91 'leak_tracker_unittest.cc', 92 'linked_list_unittest.cc', 93 'linked_ptr_unittest.cc', 94 'mac_util_unittest.mm', 95 'message_loop_unittest.cc', 96 'message_pump_glib_unittest.cc', 97 'object_watcher_unittest.cc', 98 'observer_list_unittest.cc', 99 'path_service_unittest.cc', 100 'pe_image_unittest.cc', 101 'pickle_unittest.cc', 102 'pr_time_unittest.cc', 103 'process_util_unittest.cc', 104 'rand_util_unittest.cc', 105 'ref_counted_unittest.cc', 106 'scoped_bstr_win_unittest.cc', 107 'scoped_comptr_win_unittest.cc', 108 'scoped_ptr_unittest.cc', 109 'scoped_temp_dir_unittest.cc', 110 'scoped_variant_win_unittest.cc', 111 'sha1_unittest.cc', 112 'sha2_unittest.cc', 113 'shared_memory_unittest.cc', 114 'simple_thread_unittest.cc', 115 'singleton_unittest.cc', 116 'stack_container_unittest.cc', 117 'stats_table_unittest.cc', 118 'string_piece_unittest.cc', 119 'string_split_unittest.cc', 120 'string_tokenizer_unittest.cc', 121 'string_util_unittest.cc', 122 'sys_info_unittest.cc', 123 'sys_string_conversions_mac_unittest.mm', 124 'sys_string_conversions_unittest.cc', 125 'task_unittest.cc', 126 'thread_collision_warner_unittest.cc', 127 'thread_local_storage_unittest.cc', 128 'thread_local_unittest.cc', 129 'thread_unittest.cc', 130 'time_unittest.cc', 131 'time_win_unittest.cc', 132 'timer_unittest.cc', 133 'tools_sanity_unittest.cc', 134 'tracked_objects_unittest.cc', 135 'tuple_unittest.cc', 136 'utf_offset_string_conversions_unittest.cc', 137 'utf_string_conversions_unittest.cc', 138 'values_unittest.cc', 139 'version_unittest.cc', 140 'waitable_event_unittest.cc', 141 'waitable_event_watcher_unittest.cc', 142 'watchdog_unittest.cc', 143 'weak_ptr_unittest.cc', 144 'win_util_unittest.cc', 145 'wmi_util_unittest.cc', 146 'worker_pool_unittest.cc', 147 ], 148 'include_dirs': [ 149 # word_iterator.h (used by word_iterator_unittest.cc) leaks an ICU 150 # #include for unicode/uchar.h. This should probably be cleaned up. 151 '../third_party/icu/public/common', 152 ], 153 'dependencies': [ 154 'base', 155 'base_i18n', 156 '../testing/gmock.gyp:gmock', 157 '../testing/gtest.gyp:gtest', 158 ], 159 'conditions': [ 160 ['OS == "linux" or OS == "freebsd" or OS == "openbsd"', { 161 'sources!': [ 162 'file_version_info_unittest.cc', 163 'worker_pool_linux_unittest.cc', 164 ], 165 'conditions': [ 166 [ 'linux_use_tcmalloc==1', { 167 'dependencies': [ 168 'allocator/allocator.gyp:allocator', 169 ], 170 }, 171 ], 172 ], 173 'dependencies': [ 174 '../build/linux/system.gyp:gtk', 175 '../build/linux/system.gyp:nss', 176 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', 177 ], 178 }, { # OS != "linux" and OS != "freebsd" and OS != "openbsd" 179 'sources!': [ 180 'message_pump_glib_unittest.cc', 181 ] 182 }], 183 # This is needed to trigger the dll copy step on windows. 184 # TODO(mark): This should not be necessary. 185 ['OS == "win"', { 186 'dependencies': [ 187 '../third_party/icu/icu.gyp:icudata', 188 ], 189 'sources!': [ 190 'file_descriptor_shuffle_unittest.cc', 191 ], 192 }, { # OS != "win" 193 'sources!': [ 194 'event_trace_consumer_win_unittest.cc', 195 'event_trace_controller_win_unittest.cc', 196 'event_trace_provider_win_unittest.cc', 197 'object_watcher_unittest.cc', 198 'pe_image_unittest.cc', 199 'scoped_bstr_win_unittest.cc', 200 'scoped_comptr_win_unittest.cc', 201 'scoped_variant_win_unittest.cc', 202 'system_monitor_unittest.cc', 203 'time_win_unittest.cc', 204 'win_util_unittest.cc', 205 'wmi_util_unittest.cc', 206 ], 207 }], 208 ], 209 }, 210 { 211 'target_name': 'test_support_base', 212 'type': '<(library)', 213 'dependencies': [ 214 'base', 215 ], 216 'sources': [ 217 'test/test_file_util.h', 218 'test/test_file_util_linux.cc', 219 'test/test_file_util_mac.cc', 220 'test/test_file_util_posix.cc', 221 'test/test_file_util_win.cc', 222 ], 223 }, 224 { 225 'target_name': 'test_support_perf', 226 'type': '<(library)', 227 'dependencies': [ 228 'base', 229 '../testing/gtest.gyp:gtest', 230 ], 231 'sources': [ 232 'perftimer.cc', 233 'test/run_all_perftests.cc', 234 ], 235 'direct_dependent_settings': { 236 'defines': [ 237 'PERF_TEST', 238 ], 239 }, 240 'conditions': [ 241 ['OS == "linux" or OS == "freebsd" or OS == "openbsd"', { 242 'dependencies': [ 243 # Needed to handle the #include chain: 244 # base/test/perf_test_suite.h 245 # base/test/test_suite.h 246 # gtk/gtk.h 247 '../build/linux/system.gyp:gtk', 248 ], 249 }], 250 ], 251 }, 252 ], 253 'conditions': [ 254 [ 'OS == "win"', { 255 'targets': [ 256 { 257 'target_name': 'debug_message', 258 'type': 'executable', 259 'sources': [ 260 'debug_message.cc', 261 ], 262 'msvs_settings': { 263 'VCLinkerTool': { 264 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 265 }, 266 }, 267 }, 268 ], 269 }], 270 [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd"', { 271 'targets': [ 272 { 273 'target_name': 'linux_versioninfo', 274 'type': '<(library)', 275 'sources': [ 276 'file_version_info_linux.cc', 277 ], 278 'include_dirs': [ 279 '..', 280 '<(SHARED_INTERMEDIATE_DIR)', 281 ], 282 'actions': [ 283 { 284 'action_name': 'linux_version', 285 'variables': { 286 'lastchange_path': 287 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE', 288 'version_py_path': '../chrome/tools/build/version.py', 289 'version_path': '../chrome/VERSION', 290 'template_input_path': 'file_version_info_linux.h.version', 291 }, 292 'conditions': [ 293 [ 'branding == "Chrome"', { 294 'variables': { 295 'branding_path': 296 '../chrome/app/theme/google_chrome/BRANDING', 297 }, 298 }, { # else branding!="Chrome" 299 'variables': { 300 'branding_path': 301 '../chrome/app/theme/chromium/BRANDING', 302 }, 303 }], 304 ], 305 'inputs': [ 306 '<(template_input_path)', 307 '<(version_path)', 308 '<(branding_path)', 309 '<(lastchange_path)', 310 ], 311 'outputs': [ 312 '<(SHARED_INTERMEDIATE_DIR)/base/file_version_info_linux.h', 313 ], 314 'action': [ 315 'python', 316 '<(version_py_path)', 317 '-f', '<(version_path)', 318 '-f', '<(branding_path)', 319 '-f', '<(lastchange_path)', 320 '<(template_input_path)', 321 '<@(_outputs)', 322 ], 323 'message': 'Generating version information', 324 }, 325 ], 326 }, 327 ], 328 }], 329 ], 330} 331 332# Local Variables: 333# tab-width:2 334# indent-tabs-mode:nil 335# End: 336# vim: set expandtab tabstop=2 shiftwidth=2: 337