1 # Copyright (c) 2011 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 'target_defaults': { 7 'variables': { 8 'base_target': 0, 9 }, 10 'target_conditions': [ 11 # This part is shared between the targets defined below. 12 ['base_target==1', { 13 'sources': [ 14 '../build/build_config.h', 15 'third_party/dmg_fp/dmg_fp.h', 16 'third_party/dmg_fp/g_fmt.cc', 17 'third_party/dmg_fp/dtoa_wrapper.cc', 18 'third_party/icu/icu_utf.cc', 19 'third_party/icu/icu_utf.h', 20 'third_party/nspr/prtime.cc', 21 'third_party/nspr/prtime.h', 22 'at_exit.cc', 23 'at_exit.h', 24 'atomic_ref_count.h', 25 'atomic_sequence_num.h', 26 'atomicops.h', 27 'atomicops_internals_x86_gcc.cc', 28 'atomicops_internals_x86_msvc.h', 29 'base_api.h', 30 'base_paths.cc', 31 'base_paths.h', 32 'base_paths_mac.h', 33 'base_paths_mac.mm', 34 'base_paths_linux.cc', 35 'base_paths_win.cc', 36 'base_paths_win.h', 37 'basictypes.h', 38 'bind.h', 39 'bind_helpers.h', 40 'bind_internal.h', 41 'bind_internal_win.h', 42 'bits.h', 43 'bzip2_error_handler.cc', 44 'callback.h', 45 'callback_internal.cc', 46 'callback_internal.h', 47 'callback_old.h', 48 'command_line.cc', 49 'command_line.h', 50 'compiler_specific.h', 51 'cpu.cc', 52 'cpu.h', 53 'debug/debug_on_start_win.cc', 54 'debug/debug_on_start_win.h', 55 'debug/debugger.cc', 56 'debug/debugger.h', 57 'debug/debugger_posix.cc', 58 'debug/debugger_win.cc', 59 'debug/leak_annotations.h', 60 'debug/leak_tracker.h', 61 'debug/profiler.cc', 62 'debug/profiler.h', 63 'debug/stack_trace.cc', 64 'debug/stack_trace.h', 65 'debug/stack_trace_posix.cc', 66 'debug/stack_trace_win.cc', 67 'debug/trace_event_win.cc', 68 'debug/trace_event.cc', 69 'debug/trace_event.h', 70 'dir_reader_fallback.h', 71 'dir_reader_linux.h', 72 'dir_reader_posix.h', 73 'environment.cc', 74 'environment.h', 75 'file_path.cc', 76 'file_path.h', 77 'file_util.cc', 78 'file_util.h', 79 'file_util_deprecated.h', 80 'file_util_linux.cc', 81 'file_util_mac.mm', 82 'file_util_posix.cc', 83 'file_util_win.cc', 84 'file_util_proxy.cc', 85 'file_util_proxy.h', 86 'file_version_info.h', 87 'file_version_info_mac.h', 88 'file_version_info_mac.mm', 89 'file_version_info_win.cc', 90 'file_version_info_win.h', 91 'files/file_path_watcher.cc', 92 'files/file_path_watcher.h', 93 'files/file_path_watcher_linux.cc', 94 'files/file_path_watcher_mac.cc', 95 'files/file_path_watcher_win.cc', 96 'fix_wp64.h', 97 'float_util.h', 98 'foundation_utils_mac.h', 99 'global_descriptors_posix.cc', 100 'global_descriptors_posix.h', 101 'gtest_prod_util.h', 102 'hash_tables.h', 103 'id_map.h', 104 'json/json_reader.cc', 105 'json/json_reader.h', 106 'json/json_writer.cc', 107 'json/json_writer.h', 108 'json/string_escape.cc', 109 'json/string_escape.h', 110 'lazy_instance.cc', 111 'lazy_instance.h', 112 'linked_list.h', 113 'logging.cc', 114 'logging.h', 115 'logging_win.cc', 116 'logging_win.h', 117 'mac/cocoa_protocols.h', 118 'mac/foundation_util.h', 119 'mac/foundation_util.mm', 120 'mac/mac_util.h', 121 'mac/mac_util.mm', 122 'mac/os_crash_dumps.cc', 123 'mac/os_crash_dumps.h', 124 'mac/scoped_aedesc.h', 125 'mac/scoped_cftyperef.h', 126 'mac/scoped_nsautorelease_pool.h', 127 'mac/scoped_nsautorelease_pool.mm', 128 'mach_ipc_mac.h', 129 'mach_ipc_mac.mm', 130 'memory/linked_ptr.h', 131 'memory/memory_debug.cc', 132 'memory/memory_debug.h', 133 'memory/raw_scoped_refptr_mismatch_checker.h', 134 'memory/ref_counted.cc', 135 'memory/ref_counted.h', 136 'memory/ref_counted_memory.cc', 137 'memory/ref_counted_memory.h', 138 'memory/scoped_callback_factory.h', 139 'memory/scoped_handle.h', 140 'memory/scoped_native_library.cc', 141 'memory/scoped_native_library.h', 142 'memory/scoped_nsobject.h', 143 'memory/scoped_open_process.h', 144 'memory/scoped_ptr.h', 145 'memory/scoped_temp_dir.cc', 146 'memory/scoped_temp_dir.h', 147 'memory/scoped_vector.h', 148 'memory/singleton.h', 149 'memory/weak_ptr.cc', 150 'memory/weak_ptr.h', 151 'message_loop.cc', 152 'message_loop.h', 153 'message_loop_proxy.cc', 154 'message_loop_proxy.h', 155 'message_loop_proxy_impl.cc', 156 'message_loop_proxy_impl.h', 157 'message_pump.cc', 158 'message_pump.h', 159 'message_pump_default.cc', 160 'message_pump_default.h', 161 'message_pump_win.cc', 162 'message_pump_win.h', 163 'metrics/histogram.cc', 164 'metrics/histogram.h', 165 'metrics/nacl_histogram.cc', 166 'metrics/nacl_histogram.h', 167 'metrics/stats_counters.cc', 168 'metrics/stats_counters.h', 169 'metrics/stats_table.cc', 170 'metrics/stats_table.h', 171 'mime_util.h', 172 'mime_util_xdg.cc', 173 'native_library.h', 174 'native_library_linux.cc', 175 'native_library_mac.mm', 176 'native_library_win.cc', 177 'observer_list.h', 178 'observer_list_threadsafe.h', 179 'path_service.cc', 180 'path_service.h', 181 'pickle.cc', 182 'pickle.h', 183 'platform_file.cc', 184 'platform_file.h', 185 'platform_file_posix.cc', 186 'platform_file_win.cc', 187 'port.h', 188 'process.h', 189 'process_linux.cc', 190 'process_posix.cc', 191 'process_util.cc', 192 'process_util.h', 193 'process_util_linux.cc', 194 'process_util_mac.mm', 195 'process_util_posix.cc', 196 'process_util_win.cc', 197 'process_win.cc', 198 'rand_util.cc', 199 'rand_util.h', 200 'rand_util_posix.cc', 201 'rand_util_win.cc', 202 'resource_util.cc', 203 'resource_util.h', 204 'safe_strerror_posix.cc', 205 'safe_strerror_posix.h', 206 'scoped_ptr.h', 207 'sha1.h', 208 'sha1_portable.cc', 209 'sha1_win.cc', 210 'shared_memory.h', 211 'shared_memory_posix.cc', 212 'shared_memory_win.cc', 213 'spin_wait.h', 214 'stack_container.h', 215 'stl_util-inl.h', 216 'string_number_conversions.cc', 217 'string_number_conversions.h', 218 'string_piece.cc', 219 'string_piece.h', 220 'string_split.cc', 221 'string_split.h', 222 'string_tokenizer.h', 223 'string_util.cc', 224 'string_util.h', 225 'string_util_win.h', 226 'stringize_macros.h', 227 'stringprintf.cc', 228 'stringprintf.h', 229 'synchronization/cancellation_flag.cc', 230 'synchronization/cancellation_flag.h', 231 'synchronization/condition_variable.h', 232 'synchronization/condition_variable_posix.cc', 233 'synchronization/condition_variable_win.cc', 234 'synchronization/lock.cc', 235 'synchronization/lock.h', 236 'synchronization/lock_impl.h', 237 'synchronization/lock_impl_posix.cc', 238 'synchronization/lock_impl_win.cc', 239 'synchronization/waitable_event.h', 240 'synchronization/waitable_event_posix.cc', 241 'synchronization/waitable_event_watcher.h', 242 'synchronization/waitable_event_watcher_posix.cc', 243 'synchronization/waitable_event_watcher_win.cc', 244 'synchronization/waitable_event_win.cc', 245 'sys_info.h', 246 'sys_info_chromeos.cc', 247 'sys_info_freebsd.cc', 248 'sys_info_linux.cc', 249 'sys_info_mac.cc', 250 'sys_info_openbsd.cc', 251 'sys_info_posix.cc', 252 'sys_info_win.cc', 253 'sys_string_conversions.h', 254 'sys_string_conversions_linux.cc', 255 'sys_string_conversions_mac.mm', 256 'sys_string_conversions_win.cc', 257 'task.cc', 258 'task.h', 259 'task_queue.cc', 260 'task_queue.h', 261 'template_util.h', 262 'threading/non_thread_safe.h', 263 'threading/non_thread_safe_impl.cc', 264 'threading/non_thread_safe_impl.h', 265 'threading/platform_thread.h', 266 'threading/platform_thread_mac.mm', 267 'threading/platform_thread_posix.cc', 268 'threading/platform_thread_win.cc', 269 'threading/simple_thread.cc', 270 'threading/simple_thread.h', 271 'threading/thread.cc', 272 'threading/thread.h', 273 'threading/thread_checker.h', 274 'threading/thread_checker_impl.cc', 275 'threading/thread_checker_impl.h', 276 'threading/thread_collision_warner.cc', 277 'threading/thread_collision_warner.h', 278 'threading/thread_local.h', 279 'threading/thread_local_posix.cc', 280 'threading/thread_local_storage.h', 281 'threading/thread_local_storage_posix.cc', 282 'threading/thread_local_storage_win.cc', 283 'threading/thread_local_win.cc', 284 'threading/thread_restrictions.h', 285 'threading/thread_restrictions.cc', 286 'threading/watchdog.cc', 287 'threading/watchdog.h', 288 'threading/worker_pool.h', 289 'threading/worker_pool_posix.cc', 290 'threading/worker_pool_posix.h', 291 'threading/worker_pool_win.cc', 292 'time.cc', 293 'time.h', 294 'time_win.cc', 295 'timer.cc', 296 'timer.h', 297 'tracked.cc', 298 'tracked.h', 299 'tracked_objects.cc', 300 'tracked_objects.h', 301 'tuple.h', 302 'utf_offset_string_conversions.cc', 303 'utf_offset_string_conversions.h', 304 'utf_string_conversion_utils.cc', 305 'utf_string_conversion_utils.h', 306 'utf_string_conversions.cc', 307 'utf_string_conversions.h', 308 'values.cc', 309 'values.h', 310 'value_conversions.cc', 311 'value_conversions.h', 312 'version.cc', 313 'version.h', 314 'vlog.cc', 315 'vlog.h', 316 'win/event_trace_consumer.h', 317 'win/event_trace_controller.cc', 318 'win/event_trace_controller.h', 319 'win/event_trace_provider.cc', 320 'win/event_trace_provider.h', 321 'win/i18n.cc', 322 'win/i18n.h', 323 'win/object_watcher.cc', 324 'win/object_watcher.h', 325 'win/registry.cc', 326 'win/registry.h', 327 'win/scoped_bstr.cc', 328 'win/scoped_bstr.h', 329 'win/scoped_comptr.h', 330 'win/scoped_gdi_object.h', 331 'win/scoped_handle.h', 332 'win/scoped_hdc.h', 333 'win/scoped_hglobal.h', 334 'win/scoped_variant.cc', 335 'win/scoped_variant.h', 336 'win/win_util.cc', 337 'win/win_util.h', 338 'win/windows_version.cc', 339 'win/windows_version.h', 340 'win/wrapped_window_proc.cc', 341 'win/wrapped_window_proc.h', 342 'nix/xdg_util.h', 343 'nix/xdg_util.cc', 344 ], 345 'include_dirs': [ 346 '..', 347 ], 348 # These warnings are needed for the files in third_party\dmg_fp. 349 'msvs_disabled_warnings': [ 350 4244, 4554, 4018, 4102, 351 ], 352 'mac_framework_dirs': [ 353 '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks', 354 ], 355 'conditions': [ 356 [ 'OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris"', { 357 'sources/': [ 358 ['exclude', '^nix/'], 359 ], 360 'sources!': [ 361 'atomicops_internals_x86_gcc.cc', 362 'message_pump_glib.cc', 363 'message_pump_glib_x.cc', 364 ], 365 }], 366 [ 'OS != "linux"', { 367 'sources!': [ 368 # Not automatically excluded by the *linux.cc rules. 369 'gtk_util.cc', 370 'gtk_util.h', 371 'linux_util.cc', 372 ], 373 }, 374 ], 375 [ 'OS != "mac"', { 376 'sources!': [ 377 'scoped_aedesc.h' 378 ], 379 }], 380 # For now, just test the *BSD platforms enough to exclude them. 381 # Subsequent changes will include them further. 382 [ 'OS != "freebsd"', { 383 'sources/': [ ['exclude', '_freebsd\\.cc$'] ], 384 }, 385 ], 386 [ 'OS != "openbsd"', { 387 'sources/': [ ['exclude', '_openbsd\\.cc$'] ], 388 }, 389 ], 390 ['OS != "win"', { 391 'sources/': [ ['exclude', '^win/'] ], 392 }, 393 ], 394 [ 'OS == "win"', { 395 'include_dirs': [ 396 '<(DEPTH)/third_party/wtl/include', 397 ], 398 'sources!': [ 399 'event_recorder_stubs.cc', 400 'file_descriptor_shuffle.cc', 401 'message_pump_libevent.cc', 402 # Not using sha1_win.cc because it may have caused a 403 # regression to page cycler moz. 404 'sha1_win.cc', 405 'string16.cc', 406 'debug/trace_event.cc', 407 ], 408 },], 409 ['OS=="freebsd" or OS=="openbsd"', { 410 'sources!': [ 411 'base/files/file_path_watcher_linux.cc', 412 ], 413 'sources': [ 414 'base/files/file_path_watcher_stub.cc', 415 ], 416 }], 417 ], 418 }], 419 ], 420 }, 421 'targets': [ 422 { 423 'target_name': 'base', 424 'type': '<(library)', 425 'msvs_guid': '1832A374-8A74-4F9E-B536-69A699B3E165', 426 'variables': { 427 'base_target': 1, 428 }, 429 'dependencies': [ 430 'base_static', 431 '../third_party/modp_b64/modp_b64.gyp:modp_b64', 432 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 433 ], 434 # TODO(gregoryd): direct_dependent_settings should be shared with the 435 # 64-bit target, but it doesn't work due to a bug in gyp 436 'direct_dependent_settings': { 437 'include_dirs': [ 438 '..', 439 ], 440 }, 441 'conditions': [ 442 [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', { 443 'conditions': [ 444 [ 'chromeos==1', { 445 'sources/': [ ['include', '_chromeos\\.cc$'] ] 446 }, 447 ], 448 [ 'linux_use_tcmalloc==0', { 449 'defines': [ 450 'NO_TCMALLOC', 451 ], 452 'direct_dependent_settings': { 453 'defines': [ 454 'NO_TCMALLOC', 455 ], 456 }, 457 }, 458 ], 459 ], 460 'dependencies': [ 461 'symbolize', 462 '../build/util/build_util.gyp:lastchange', 463 '../build/linux/system.gyp:gtk', 464 '../build/linux/system.gyp:x11', 465 'xdg_mime', 466 ], 467 'defines': [ 468 'USE_SYMBOLIZE', 469 ], 470 'cflags': [ 471 '-Wno-write-strings', 472 ], 473 'export_dependent_settings': [ 474 '../build/linux/system.gyp:gtk', 475 '../build/linux/system.gyp:x11', 476 ], 477 }, { # OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris" 478 'sources/': [ 479 ['exclude', '/xdg_user_dirs/'], 480 ['exclude', '_nss\.cc$'], 481 ], 482 }], 483 [ 'OS == "freebsd" or OS == "openbsd"', { 484 'link_settings': { 485 'libraries': [ 486 '-L/usr/local/lib -lexecinfo', 487 ], 488 }, 489 }, 490 ], 491 [ 'OS == "linux"', { 492 'link_settings': { 493 'libraries': [ 494 # We need rt for clock_gettime(). 495 '-lrt', 496 # For 'native_library_linux.cc' 497 '-ldl', 498 ], 499 }, 500 }], 501 [ 'OS == "mac"', { 502 'link_settings': { 503 'libraries': [ 504 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', 505 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', 506 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework', 507 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', 508 '$(SDKROOT)/System/Library/Frameworks/IOKit.framework', 509 '$(SDKROOT)/System/Library/Frameworks/Security.framework', 510 ], 511 }, 512 }], 513 [ 'OS != "win"', { 514 'dependencies': ['../third_party/libevent/libevent.gyp:libevent'], 515 'sources!': [ 516 'third_party/purify/pure_api.c', 517 'base_drag_source.cc', 518 'base_drop_target.cc', 519 'event_recorder.cc', 520 'file_version_info.cc', 521 'registry.cc', 522 'resource_util.cc', 523 'win_util.cc', 524 ], 525 },], 526 ], 527 'sources': [ 528 'third_party/nspr/prcpucfg.h', 529 'third_party/nspr/prcpucfg_win.h', 530 'third_party/nspr/prtypes.h', 531 'third_party/purify/pure.h', 532 'third_party/purify/pure_api.c', 533 'third_party/xdg_user_dirs/xdg_user_dir_lookup.cc', 534 'third_party/xdg_user_dirs/xdg_user_dir_lookup.h', 535 'auto_reset.h', 536 'base64.cc', 537 'base64.h', 538 'event_recorder.cc', 539 'event_recorder.h', 540 'event_recorder_stubs.cc', 541 'file_descriptor_shuffle.cc', 542 'file_descriptor_shuffle.h', 543 'linux_util.cc', 544 'linux_util.h', 545 'md5.cc', 546 'md5.h', 547 'message_pump_glib.cc', 548 'message_pump_glib.h', 549 'message_pump_glib_x.cc', 550 'message_pump_glib_x.h', 551 'message_pump_glib_x_dispatch.h', 552 'message_pump_libevent.cc', 553 'message_pump_libevent.h', 554 'message_pump_mac.h', 555 'message_pump_mac.mm', 556 'metrics/field_trial.cc', 557 'metrics/field_trial.h', 558 'string16.cc', 559 'string16.h', 560 'sync_socket.h', 561 'sync_socket_win.cc', 562 'sync_socket_posix.cc', 563 'time_mac.cc', 564 'time_posix.cc', 565 ], 566 }, 567 ], 568 'conditions': [ 569 [ 'OS == "win"', { 570 'targets': [ 571 { 572 'target_name': 'base_nacl_win64', 573 'type': '<(library)', 574 'msvs_guid': 'CEE1F794-DC70-4FED-B7C4-4C12986672FE', 575 'variables': { 576 'base_target': 1, 577 }, 578 'dependencies': [ 579 'base_static_win64', 580 'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', 581 ], 582 # TODO(gregoryd): direct_dependent_settings should be shared with the 583 # 32-bit target, but it doesn't work due to a bug in gyp 584 'direct_dependent_settings': { 585 'include_dirs': [ 586 '..', 587 ], 588 }, 589 'defines': [ 590 '<@(nacl_win64_defines)', 591 ], 592 'sources': [ 593 'i18n/icu_util_nacl_win64.cc', 594 ], 595 'configurations': { 596 'Common_Base': { 597 'msvs_target_platform': 'x64', 598 }, 599 }, 600 }, 601 ], 602 }], 603 [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', { 604 'targets': [ 605 { 606 'target_name': 'symbolize', 607 'type': '<(library)', 608 'variables': { 609 'chromium_code': 0, 610 }, 611 'conditions': [ 612 [ 'OS == "solaris"', { 613 'include_dirs': [ 614 '/usr/gnu/include', 615 '/usr/gnu/include/libelf', 616 ], 617 },], 618 ], 619 'cflags': [ 620 '-Wno-sign-compare', 621 ], 622 'cflags!': [ 623 '-Wextra', 624 ], 625 'sources': [ 626 'third_party/symbolize/symbolize.cc', 627 'third_party/symbolize/demangle.cc', 628 ], 629 }, 630 { 631 'target_name': 'xdg_mime', 632 'type': '<(library)', 633 'variables': { 634 'chromium_code': 0, 635 }, 636 'cflags!': [ 637 '-Wextra', 638 ], 639 'sources': [ 640 'third_party/xdg_mime/xdgmime.c', 641 'third_party/xdg_mime/xdgmime.h', 642 'third_party/xdg_mime/xdgmimealias.c', 643 'third_party/xdg_mime/xdgmimealias.h', 644 'third_party/xdg_mime/xdgmimecache.c', 645 'third_party/xdg_mime/xdgmimecache.h', 646 'third_party/xdg_mime/xdgmimeglob.c', 647 'third_party/xdg_mime/xdgmimeglob.h', 648 'third_party/xdg_mime/xdgmimeicon.c', 649 'third_party/xdg_mime/xdgmimeicon.h', 650 'third_party/xdg_mime/xdgmimeint.c', 651 'third_party/xdg_mime/xdgmimeint.h', 652 'third_party/xdg_mime/xdgmimemagic.c', 653 'third_party/xdg_mime/xdgmimemagic.h', 654 'third_party/xdg_mime/xdgmimeparent.c', 655 'third_party/xdg_mime/xdgmimeparent.h', 656 ], 657 }, 658 ], 659 }], 660 ], 661 } 662