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