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.
9 'version_py_path': 'tools/build/version.py',
10 'version_path': 'VERSION',
12 'version_py_path': '<(version_py_path)',
13 'version_path': '<(version_path)',
15 '<!(python <(version_py_path) -f <(version_path) -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")',
17 '<!(python <(version_py_path) -f <(version_path) -t "@BUILD@.@PATCH_HI@.@PATCH_LO@" -e "PATCH_HI=int(PATCH)/256" -e "PATCH_LO=int(PATCH)%256")',
19 # Define the common dependencies that contain all the actual
20 # Chromium functionality. This list gets pulled in below by
21 # the link of the actual chrome (or chromium) executable on
22 # Linux or Mac, and into chrome.dll on Windows.
23 'chromium_dependencies': [
31 '../content/content.gyp:content_gpu',
32 '../content/content.gyp:content_ppapi_plugin',
33 '../content/content.gyp:content_worker',
34 '../printing/printing.gyp:printing',
35 '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:inspector_resources',
37 'nacl_win64_dependencies': [
39 'common_constants_win64',
40 'installer_util_nacl_win64',
42 'allocator_target': '../base/allocator/allocator.gyp:allocator',
43 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
44 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
45 'repack_locales_cmd': ['python', 'tools/build/repack_locales.py'],
46 # TODO: remove this helper when we have loops in GYP
47 'apply_locales_cmd': ['python', '<(DEPTH)/build/apply_locales.py'],
55 'platform_locale_settings_grd':
56 'app/resources/locale_settings_win.grd',
66 'platform_locale_settings_grd':
67 'app/resources/locale_settings_cros.grd',
70 'platform_locale_settings_grd':
71 'app/resources/locale_settings_linux.grd',
76 'tweak_info_plist_path': 'tools/build/mac/tweak_info_plist',
82 'platform_locale_settings_grd':
83 'app/resources/locale_settings_mac.grd',
85 ['branding=="Chrome"', {
86 'mac_bundle_id': 'com.google.Chrome',
87 'mac_creator': 'rimZ',
88 # The policy .grd file also needs the bundle id.
89 'grit_defines': ['-D', 'mac_bundle_id=com.google.Chrome'],
90 }, { # else: branding!="Chrome"
91 'mac_bundle_id': 'org.chromium.Chromium',
92 'mac_creator': 'Cr24',
93 # The policy .grd file also needs the bundle id.
94 'grit_defines': ['-D', 'mac_bundle_id=org.chromium.Chromium'],
98 ['target_arch=="ia32"', {
100 # TODO(gregoryd): consider getting this from NaCl's common.gypi
101 'NACL_TARGET_SUBARCH=32',
102 'NACL_BUILD_SUBARCH=32',
105 ['target_arch=="x64"', {
107 # TODO(gregoryd): consider getting this from NaCl's common.gypi
108 'NACL_TARGET_SUBARCH=64',
109 'NACL_BUILD_SUBARCH=64',
115 # Place some targets in gypi files to reduce contention on this file.
116 # By using an include, we keep everything in a single xcodeproj file.
117 # Note on Win64 targets: targets that end with win64 be used
118 # on 64-bit Windows only. Targets that end with nacl_win64 should be used
119 # by Native Client only.
120 'app/policy/policy_templates.gypi',
121 'chrome_browser.gypi',
122 'chrome_common.gypi',
125 'chrome_installer.gypi',
126 'chrome_installer_util.gypi',
127 'chrome_renderer.gypi',
129 'common_constants.gypi',
134 # TODO(mark): It would be better if each static library that needed
135 # to run grit would list its own .grd files, but unfortunately some
136 # of the static libraries currently have circular dependencies among
138 'target_name': 'chrome_resources',
140 'msvs_guid': 'B95AB527-F7DB-41E9-AD91-EB51EE0F56BE',
144 'action_name': 'autofill_resources',
146 'grit_grd_file': 'browser/autofill/autofill_resources.grd',
148 'includes': [ '../build/grit_action.gypi' ],
151 'action_name': 'browser_resources',
153 'grit_grd_file': 'browser/browser_resources.grd',
155 'includes': [ '../build/grit_action.gypi' ],
158 'action_name': 'common_resources',
160 'grit_grd_file': 'common/common_resources.grd',
162 'includes': [ '../build/grit_action.gypi' ],
165 'action_name': 'renderer_resources',
167 'grit_grd_file': 'renderer/renderer_resources.grd',
169 'includes': [ '../build/grit_action.gypi' ],
172 'includes': [ '../build/grit_target.gypi' ],
175 # TODO(mark): It would be better if each static library that needed
176 # to run grit would list its own .grd files, but unfortunately some
177 # of the static libraries currently have circular dependencies among
179 'target_name': 'chrome_strings',
180 'msvs_guid': 'D9DDAF60-663F-49CC-90DC-3D08CC3D1B28',
184 # HACK(nsylvain): We want to enforce a fake dependency on
185 # intaller_util_string. install_util depends on both
186 # chrome_strings and installer_util_strings, but for some reasons
187 # Incredibuild does not enforce it (most likely a bug). By changing
188 # the type and making sure we depend on installer_util_strings, it
189 # will always get built before installer_util.
190 'type': 'dummy_executable',
191 'dependencies': ['installer_util_strings'],
195 # Localizable resources.
197 'action_name': 'locale_settings',
199 'grit_grd_file': 'app/resources/locale_settings.grd',
201 'includes': [ '../build/grit_action.gypi' ],
204 'action_name': 'chromium_strings.grd',
206 'grit_grd_file': 'app/chromium_strings.grd',
208 'includes': [ '../build/grit_action.gypi' ],
211 'action_name': 'generated_resources',
213 'grit_grd_file': 'app/generated_resources.grd',
215 'includes': [ '../build/grit_action.gypi' ],
218 'action_name': 'google_chrome_strings',
220 'grit_grd_file': 'app/google_chrome_strings.grd',
222 'includes': [ '../build/grit_action.gypi' ],
225 'includes': [ '../build/grit_target.gypi' ],
228 'target_name': 'theme_resources',
230 'msvs_guid' : 'A158FB0A-25E4-6523-6B5A-4BB294B73D31',
233 'action_name': 'theme_resources',
235 'grit_grd_file': 'app/theme/theme_resources.grd',
237 'includes': [ '../build/grit_action.gypi' ],
240 'includes': [ '../build/grit_target.gypi' ],
243 'target_name': 'platform_locale_settings',
247 'action_name': 'platform_locale_settings',
249 'grit_grd_file': '<(platform_locale_settings_grd)',
251 'includes': [ '../build/grit_action.gypi' ],
254 'includes': [ '../build/grit_target.gypi' ],
257 'target_name': 'chrome_extra_resources',
260 '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:generate_devtools_grd',
262 # These resources end up in resources.pak because they are resources
263 # used by internal pages. Putting them in a spearate pak file makes
264 # it easier for us to reference them internally.
267 'action_name': 'component_extension_resources',
269 'grit_grd_file': 'browser/resources/component_extension_resources.grd',
271 'includes': [ '../build/grit_action.gypi' ],
274 'action_name': 'net_internals_resources',
276 'grit_grd_file': 'browser/resources/net_internals_resources.grd',
278 'includes': [ '../build/grit_action.gypi' ],
281 'action_name': 'shared_resources',
283 'grit_grd_file': 'browser/resources/shared_resources.grd',
285 'includes': [ '../build/grit_action.gypi' ],
288 'action_name': 'sync_internals_resources',
290 'grit_grd_file': 'browser/resources/sync_internals_resources.grd',
292 'includes': [ '../build/grit_action.gypi' ],
295 'action_name': 'devtools_resources',
296 # This can't use ../build/grit_action.gypi because the grd file
297 # is generated a build time, so the trick of using grit_info to get
298 # the real inputs/outputs at GYP time isn't possible.
300 'grit_cmd': ['python', '../tools/grit/grit.py'],
301 'grit_grd_file': '<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd',
307 '<(grit_out_dir)/grit/devtools_resources.h',
308 '<(grit_out_dir)/devtools_resources.pak',
309 '<(grit_out_dir)/grit/devtools_resources_map.cc',
310 '<(grit_out_dir)/grit/devtools_resources_map.h',
312 'action': ['<@(grit_cmd)',
313 '-i', '<(grit_grd_file)', 'build',
314 '-o', '<(grit_out_dir)',
315 '-D', 'SHARED_INTERMEDIATE_DIR=<(SHARED_INTERMEDIATE_DIR)',
316 '<@(grit_defines)' ],
317 'message': 'Generating resources from <(grit_grd_file)',
320 'includes': [ '../build/grit_target.gypi' ],
323 'target_name': 'default_extensions',
325 'msvs_guid': 'DA9BAB64-91DC-419B-AFDE-6FF8C569E83A',
330 'destination': '<(PRODUCT_DIR)/extensions',
332 'browser/extensions/default_extensions/external_extensions.json'
337 ['OS=="linux" and chromeos==1 and branding=="Chrome"', {
340 'destination': '<(PRODUCT_DIR)/extensions',
342 '>!@(ls browser/extensions/default_extensions/chromeos/cache/*)'
350 'target_name': 'debugger',
351 'type': '<(library)',
352 'msvs_guid': '57823D8C-A317-4713-9125-2C91FDFD12D6',
356 '../net/net.gyp:http_server',
358 '../skia/skia.gyp:skia',
359 '../third_party/icu/icu.gyp:icui18n',
360 '../third_party/icu/icu.gyp:icuuc',
366 'browser/debugger/browser_list_tabcontents_provider.cc',
367 'browser/debugger/browser_list_tabcontents_provider.h',
368 'browser/debugger/debugger_remote_service.cc',
369 'browser/debugger/debugger_remote_service.h',
370 'browser/debugger/devtools_client_host.cc',
371 'browser/debugger/devtools_client_host.h',
372 'browser/debugger/devtools_http_protocol_handler.cc',
373 'browser/debugger/devtools_http_protocol_handler.h',
374 'browser/debugger/devtools_manager.cc',
375 'browser/debugger/devtools_manager.h',
376 'browser/debugger/devtools_netlog_observer.cc',
377 'browser/debugger/devtools_netlog_observer.h',
378 'browser/debugger/devtools_protocol_handler.cc',
379 'browser/debugger/devtools_protocol_handler.h',
380 'browser/debugger/devtools_remote.h',
381 'browser/debugger/devtools_remote_listen_socket.cc',
382 'browser/debugger/devtools_remote_listen_socket.h',
383 'browser/debugger/devtools_remote_message.cc',
384 'browser/debugger/devtools_remote_message.h',
385 'browser/debugger/devtools_remote_service.cc',
386 'browser/debugger/devtools_remote_service.h',
387 'browser/debugger/devtools_handler.cc',
388 'browser/debugger/devtools_handler.h',
389 'browser/debugger/devtools_toggle_action.h',
390 'browser/debugger/devtools_window.cc',
391 'browser/debugger/devtools_window.h',
392 'browser/debugger/extension_ports_remote_service.cc',
393 'browser/debugger/extension_ports_remote_service.h',
394 'browser/debugger/inspectable_tab_proxy.cc',
395 'browser/debugger/inspectable_tab_proxy.h',
398 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
400 '../build/linux/system.gyp:gtk',
406 'target_name': 'utility',
407 'type': '<(library)',
408 'msvs_guid': '4D2B38E6-65FF-4F97-B88A-E441DF54EBF7',
410 '../base/base.gyp:base',
411 '../skia/skia.gyp:skia',
414 'utility/utility_main.cc',
415 'utility/utility_thread.cc',
416 'utility/utility_thread.h',
424 '../build/linux/system.gyp:gtk',
430 'target_name': 'profile_import',
431 'type': '<(library)',
433 '../base/base.gyp:base',
436 'profile_import/profile_import_main.cc',
437 'profile_import/profile_import_thread.cc',
438 'profile_import/profile_import_thread.h',
442 # Provides a syncapi dynamic library target from checked-in binaries,
443 # or from compiling a stub implementation.
444 'target_name': 'syncapi',
445 'type': '<(library)',
447 'browser/sync/engine/http_post_provider_factory.h',
448 'browser/sync/engine/http_post_provider_interface.h',
449 'browser/sync/engine/syncapi.cc',
450 'browser/sync/engine/syncapi.h',
456 '_CRT_SECURE_NO_WARNINGS',
460 '../base/base.gyp:base',
461 '../build/temp_gyp/googleurl.gyp:googleurl',
462 '../jingle/jingle.gyp:notifier',
463 '../third_party/icu/icu.gyp:icuuc',
464 '../third_party/sqlite/sqlite.gyp:sqlite',
465 'app/policy/cloud_policy_codegen.gyp:policy',
466 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp',
472 'export_dependent_settings': [
473 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp',
476 # This target exports a hard dependency because syncapi.h includes
477 # generated proto header files from sync_proto_cpp.
478 'hard_dependency': 1,
481 'target_name': 'sync',
482 'type': '<(library)',
484 'browser/sync/engine/all_status.cc',
485 'browser/sync/engine/all_status.h',
486 'browser/sync/engine/apply_updates_command.cc',
487 'browser/sync/engine/apply_updates_command.h',
488 'browser/sync/engine/build_and_process_conflict_sets_command.cc',
489 'browser/sync/engine/build_and_process_conflict_sets_command.h',
490 'browser/sync/engine/build_commit_command.cc',
491 'browser/sync/engine/build_commit_command.h',
492 'browser/sync/engine/change_reorder_buffer.cc',
493 'browser/sync/engine/change_reorder_buffer.h',
494 'browser/sync/engine/cleanup_disabled_types_command.cc',
495 'browser/sync/engine/cleanup_disabled_types_command.h',
496 'browser/sync/engine/clear_data_command.cc',
497 'browser/sync/engine/clear_data_command.h',
498 'browser/sync/engine/conflict_resolver.cc',
499 'browser/sync/engine/conflict_resolver.h',
500 'browser/sync/engine/download_updates_command.cc',
501 'browser/sync/engine/download_updates_command.h',
502 'browser/sync/engine/get_commit_ids_command.cc',
503 'browser/sync/engine/get_commit_ids_command.h',
504 'browser/sync/engine/idle_query_linux.cc',
505 'browser/sync/engine/idle_query_linux.h',
506 'browser/sync/engine/model_changing_syncer_command.cc',
507 'browser/sync/engine/model_changing_syncer_command.h',
508 'browser/sync/engine/model_safe_worker.cc',
509 'browser/sync/engine/model_safe_worker.h',
510 'browser/sync/engine/net/server_connection_manager.cc',
511 'browser/sync/engine/net/server_connection_manager.h',
512 'browser/sync/engine/net/syncapi_server_connection_manager.cc',
513 'browser/sync/engine/net/syncapi_server_connection_manager.h',
514 'browser/sync/engine/net/url_translator.cc',
515 'browser/sync/engine/net/url_translator.h',
516 'browser/sync/engine/nudge_source.h',
517 'browser/sync/engine/polling_constants.cc',
518 'browser/sync/engine/polling_constants.h',
519 'browser/sync/engine/post_commit_message_command.cc',
520 'browser/sync/engine/post_commit_message_command.h',
521 'browser/sync/engine/process_commit_response_command.cc',
522 'browser/sync/engine/process_commit_response_command.h',
523 'browser/sync/engine/process_updates_command.cc',
524 'browser/sync/engine/process_updates_command.h',
525 'browser/sync/engine/resolve_conflicts_command.cc',
526 'browser/sync/engine/resolve_conflicts_command.h',
527 'browser/sync/engine/store_timestamps_command.cc',
528 'browser/sync/engine/store_timestamps_command.h',
529 'browser/sync/engine/syncer.cc',
530 'browser/sync/engine/syncer.h',
531 'browser/sync/engine/syncer_command.cc',
532 'browser/sync/engine/syncer_command.h',
533 'browser/sync/engine/syncer_end_command.cc',
534 'browser/sync/engine/syncer_end_command.h',
535 'browser/sync/engine/syncer_proto_util.cc',
536 'browser/sync/engine/syncer_proto_util.h',
537 'browser/sync/engine/syncer_thread_adapter.cc',
538 'browser/sync/engine/syncer_thread_adapter.h',
539 'browser/sync/engine/syncer_thread2.cc',
540 'browser/sync/engine/syncer_thread2.h',
541 'browser/sync/engine/syncer_thread.cc',
542 'browser/sync/engine/syncer_thread.h',
543 'browser/sync/engine/syncer_types.h',
544 'browser/sync/engine/syncer_util.cc',
545 'browser/sync/engine/syncer_util.h',
546 'browser/sync/engine/syncproto.h',
547 'browser/sync/engine/update_applicator.cc',
548 'browser/sync/engine/update_applicator.h',
549 'browser/sync/engine/verify_updates_command.cc',
550 'browser/sync/engine/verify_updates_command.h',
551 'browser/sync/js_arg_list.cc',
552 'browser/sync/js_arg_list.h',
553 'browser/sync/js_backend.h',
554 'browser/sync/js_event_handler.h',
555 'browser/sync/js_event_handler_list.cc',
556 'browser/sync/js_event_handler_list.h',
557 'browser/sync/js_event_router.h',
558 'browser/sync/js_frontend.h',
559 'browser/sync/js_sync_manager_observer.cc',
560 'browser/sync/js_sync_manager_observer.h',
561 'browser/sync/protocol/proto_enum_conversions.cc',
562 'browser/sync/protocol/proto_enum_conversions.h',
563 'browser/sync/protocol/proto_value_conversions.cc',
564 'browser/sync/protocol/proto_value_conversions.h',
565 'browser/sync/protocol/service_constants.h',
566 'browser/sync/sessions/ordered_commit_set.cc',
567 'browser/sync/sessions/ordered_commit_set.h',
568 'browser/sync/sessions/session_state.cc',
569 'browser/sync/sessions/session_state.h',
570 'browser/sync/sessions/status_controller.cc',
571 'browser/sync/sessions/status_controller.h',
572 'browser/sync/sessions/sync_session.cc',
573 'browser/sync/sessions/sync_session.h',
574 'browser/sync/sessions/sync_session_context.cc',
575 'browser/sync/sessions/sync_session_context.h',
576 'browser/sync/syncable/autofill_migration.h',
577 'browser/sync/syncable/blob.h',
578 'browser/sync/syncable/dir_open_result.h',
579 'browser/sync/syncable/directory_backing_store.cc',
580 'browser/sync/syncable/directory_backing_store.h',
581 'browser/sync/syncable/directory_event.h',
582 'browser/sync/syncable/directory_manager.cc',
583 'browser/sync/syncable/directory_manager.h',
584 'browser/sync/syncable/model_type.cc',
585 'browser/sync/syncable/model_type.h',
586 'browser/sync/syncable/model_type_payload_map.cc',
587 'browser/sync/syncable/model_type_payload_map.h',
588 'browser/sync/syncable/nigori_util.cc',
589 'browser/sync/syncable/nigori_util.h',
590 'browser/sync/syncable/syncable-inl.h',
591 'browser/sync/syncable/syncable.cc',
592 'browser/sync/syncable/syncable.h',
593 'browser/sync/syncable/syncable_changes_version.h',
594 'browser/sync/syncable/syncable_columns.h',
595 'browser/sync/syncable/syncable_id.cc',
596 'browser/sync/syncable/syncable_id.h',
597 'browser/sync/syncable/syncable_enum_conversions.cc',
598 'browser/sync/syncable/syncable_enum_conversions.h',
599 'browser/sync/util/channel.h',
600 'browser/sync/util/crypto_helpers.cc',
601 'browser/sync/util/crypto_helpers.h',
602 'browser/sync/util/cryptographer.cc',
603 'browser/sync/util/cryptographer.h',
604 'browser/sync/util/dbgq.h',
605 'browser/sync/util/extensions_activity_monitor.cc',
606 'browser/sync/util/extensions_activity_monitor.h',
607 'browser/sync/util/nigori.cc',
608 'browser/sync/util/nigori.h',
609 'browser/sync/util/user_settings.cc',
610 'browser/sync/util/user_settings.h',
611 'browser/sync/util/user_settings_posix.cc',
612 'browser/sync/util/user_settings_win.cc',
618 'SYNC_ENGINE_VERSION_STRING="Unknown"',
619 '_CRT_SECURE_NO_WARNINGS',
624 '../base/base.gyp:base',
625 '../skia/skia.gyp:skia',
626 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp',
628 'export_dependent_settings': [
629 '../base/base.gyp:base',
630 'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp',
632 # This target exports a hard dependency because its header files include
633 # protobuf header files from sync_proto_cpp.
634 'hard_dependency': 1,
638 'browser/sync/util/data_encryption.cc',
639 'browser/sync/util/data_encryption.h',
642 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
644 '../build/linux/system.gyp:gtk',
652 ['OS=="linux" and chromeos==1', {
660 '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
666 # A library for sending and receiving server-issued notifications.
668 'target_name': 'sync_notifier',
669 'type': '<(library)',
671 'browser/sync/notifier/cache_invalidation_packet_handler.cc',
672 'browser/sync/notifier/cache_invalidation_packet_handler.h',
673 'browser/sync/notifier/chrome_invalidation_client.cc',
674 'browser/sync/notifier/chrome_invalidation_client.h',
675 'browser/sync/notifier/chrome_system_resources.cc',
676 'browser/sync/notifier/chrome_system_resources.h',
677 'browser/sync/notifier/invalidation_notifier.h',
678 'browser/sync/notifier/invalidation_notifier.cc',
679 'browser/sync/notifier/invalidation_util.cc',
680 'browser/sync/notifier/invalidation_util.h',
681 'browser/sync/notifier/non_blocking_invalidation_notifier.h',
682 'browser/sync/notifier/non_blocking_invalidation_notifier.cc',
683 'browser/sync/notifier/p2p_notifier.h',
684 'browser/sync/notifier/p2p_notifier.cc',
685 'browser/sync/notifier/registration_manager.cc',
686 'browser/sync/notifier/registration_manager.h',
687 'browser/sync/notifier/state_writer.h',
688 'browser/sync/notifier/sync_notifier.h',
689 'browser/sync/notifier/sync_notifier_factory.h',
690 'browser/sync/notifier/sync_notifier_factory.cc',
691 'browser/sync/notifier/sync_notifier_callback.h',
698 '../jingle/jingle.gyp:notifier',
699 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
701 # This target exports a hard dependency because it depends on
702 # cacheinvalidation (which itself has hard_dependency set).
703 'hard_dependency': 1,
704 'export_dependent_settings': [
705 '../jingle/jingle.gyp:notifier',
706 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
710 'target_name': 'service',
711 'type': '<(library)',
712 'msvs_guid': '2DA87614-55C5-4E56-A17E-0CD099786197',
717 '../base/base.gyp:base',
718 '../jingle/jingle.gyp:notifier',
719 '../printing/printing.gyp:printing',
720 '../skia/skia.gyp:skia',
721 '../third_party/libjingle/libjingle.gyp:libjingle',
724 'service/service_child_process_host.cc',
725 'service/service_child_process_host.h',
726 'service/service_ipc_server.cc',
727 'service/service_ipc_server.h',
728 'service/service_main.cc',
729 'service/service_process.cc',
730 'service/service_process.h',
731 'service/service_process_prefs.cc',
732 'service/service_process_prefs.h',
733 'service/service_utility_process_host.cc',
734 'service/service_utility_process_host.h',
735 'service/cloud_print/cloud_print_consts.cc',
736 'service/cloud_print/cloud_print_consts.h',
737 'service/cloud_print/cloud_print_helpers.cc',
738 'service/cloud_print/cloud_print_helpers.h',
739 'service/cloud_print/cloud_print_proxy.cc',
740 'service/cloud_print/cloud_print_proxy.h',
741 'service/cloud_print/cloud_print_proxy_backend.cc',
742 'service/cloud_print/cloud_print_proxy_backend.h',
743 'service/cloud_print/cloud_print_url_fetcher.cc',
744 'service/cloud_print/cloud_print_url_fetcher.h',
745 'service/cloud_print/job_status_updater.cc',
746 'service/cloud_print/job_status_updater.h',
747 'service/cloud_print/print_system_dummy.cc',
748 'service/cloud_print/print_system.cc',
749 'service/cloud_print/print_system.h',
750 'service/cloud_print/printer_job_handler.cc',
751 'service/cloud_print/printer_job_handler.h',
752 'service/gaia/service_gaia_authenticator.cc',
753 'service/gaia/service_gaia_authenticator.h',
754 'service/net/service_url_request_context.cc',
755 'service/net/service_url_request_context.h',
756 'service/remoting/chromoting_host_manager.cc',
757 'service/remoting/chromoting_host_manager.h',
765 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
766 # of cloud print system, and allows to use custom implementaiton.
767 'CP_PRINT_SYSTEM_AVAILABLE',
770 'service/cloud_print/print_system_win.cc',
775 '../build/linux/system.gyp:gtk',
780 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
781 # of cloud print system, and allows to use custom implementaiton.
782 'CP_PRINT_SYSTEM_AVAILABLE',
785 'service/cloud_print/print_system_cups.cc',
791 '$(SDKROOT)/usr/lib/libcups.dylib',
806 '../remoting/remoting.gyp:chromoting_host',
811 'service/remoting/chromoting_host_manager.cc',
812 'service/remoting/chromoting_host_manager.h',
818 'target_name': 'ipclist',
819 'type': 'executable',
824 'test_support_common',
826 '../skia/skia.gyp:skia',
827 '../testing/gtest.gyp:gtest',
828 '../third_party/libxslt/libxslt.gyp:libxslt',
829 '../third_party/npapi/npapi.gyp:npapi',
835 'tools/ipclist/all_messages.h',
836 'tools/ipclist/ipclist.cc',
844 'target_name': 'helper_app',
845 'type': 'executable',
846 'product_name': '<(mac_product_name) Helper',
850 'interpose_dependency_shim',
851 'infoplist_strings_tool',
854 # chrome_exe_main_mac.mm's main() is the entry point for
855 # the "chrome" (browser app) target. All it does is jump
856 # to chrome_dll's ChromeMain. This is appropriate for
857 # helper processes too, because the logic to discriminate
858 # between process types at run time is actually directed
859 # by the --type command line argument processed by
860 # ChromeMain. Sharing chrome_exe_main_mac.mm with the
861 # browser app will suffice for now.
862 'app/chrome_exe_main_mac.mm',
863 'app/helper-Info.plist',
865 # TODO(mark): Come up with a fancier way to do this. It should only
866 # be necessary to list helper-Info.plist once, not the three times it
868 'mac_bundle_resources!': [
869 'app/helper-Info.plist',
871 # TODO(mark): For now, don't put any resources into this app. Its
872 # resources directory will be a symbolic link to the browser app's
873 # resources directory.
874 'mac_bundle_resources/': [
878 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
879 'CHROMIUM_SHORT_NAME': '<(branding)',
880 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves',
881 'INFOPLIST_FILE': 'app/helper-Info.plist',
885 'destination': '<(PRODUCT_DIR)/<(mac_product_name) Helper.app/Contents/MacOS',
887 '<(PRODUCT_DIR)/libplugin_carbon_interpose.dylib',
893 # Generate the InfoPlist.strings file
894 'action_name': 'Generate InfoPlist.strings files',
896 'tool_path': '<(PRODUCT_DIR)/infoplist_strings_tool',
897 # Unique dir to write to so the [lang].lproj/InfoPlist.strings
898 # for the main app and the helper app don't name collide.
899 'output_path': '<(INTERMEDIATE_DIR)/helper_infoplist_strings',
902 [ 'branding == "Chrome"', {
904 'branding_name': 'google_chrome_strings',
906 }, { # else branding!="Chrome"
908 'branding_name': 'chromium_strings',
915 # TODO: remove this helper when we have loops in GYP
916 '>!@(<(apply_locales_cmd) \'<(grit_out_dir)/<(branding_name)_ZZLOCALE.pak\' <(locales))',
919 # TODO: remove this helper when we have loops in GYP
920 '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/InfoPlist.strings\' <(locales))',
924 '-b', '<(branding_name)',
925 '-v', '<(version_path)',
926 '-g', '<(grit_out_dir)',
927 '-o', '<(output_path)',
931 'message': 'Generating the language InfoPlist.strings files',
932 'process_outputs_as_mac_bundle_resources': 1,
937 # The framework (chrome_dll) defines its load-time path
938 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
939 # (chrome). A different relative path needs to be used in
941 'postbuild_name': 'Fix Framework Link',
945 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
946 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
947 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
951 # Modify the Info.plist as needed. The script explains why this
952 # is needed. This is also done in the chrome and chrome_dll
953 # targets. In this case, -b0, -k0, and -s0 are used because
954 # Breakpad, Keystone, and Subersion keys are never placed into
956 'postbuild_name': 'Tweak Info.plist',
957 'action': ['<(tweak_info_plist_path)',
966 ['mac_breakpad==1', {
968 # A real .dSYM is needed for dump_syms to operate on.
973 }, # target helper_app
975 # This produces the app mode loader, but not as a bundle. Chromium
976 # itself is responsible for producing bundles.
977 'target_name': 'app_mode_app',
978 'type': 'executable',
979 'product_name': '<(mac_product_name) App Mode Loader',
981 'app/app_mode_loader_mac.mm',
982 'common/app_mode_common_mac.h',
983 'common/app_mode_common_mac.mm',
990 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
991 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
994 }, # target app_mode_app
996 # Convenience target to build a disk image.
997 'target_name': 'build_app_dmg',
998 # Don't place this in the 'all' list; most won't want it.
999 # In GYP, booleans are 0/1, not True/False.
1000 'suppress_wildcard': 1,
1006 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg',
1011 '<(build_app_dmg_script_path)',
1012 '<(PRODUCT_DIR)/<(branding).app',
1015 '<(PRODUCT_DIR)/<(branding).dmg',
1017 'action_name': 'build_app_dmg',
1018 'action': ['<(build_app_dmg_script_path)', '<@(branding)'],
1023 # Dummy target to allow chrome to require plugin_carbon_interpose to
1024 # build without actually linking to the resulting library.
1025 'target_name': 'interpose_dependency_shim',
1026 'type': 'executable',
1028 'plugin_carbon_interpose',
1030 # In release, we end up with a strip step that is unhappy if there is
1031 # no binary. Rather than check in a new file for this temporary hack,
1032 # just generate a source file on the fly.
1035 'action_name': 'generate_stub_main',
1036 'process_outputs_as_sources': 1,
1038 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
1041 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
1047 # dylib for interposing Carbon calls in the plugin process.
1048 'target_name': 'plugin_carbon_interpose',
1049 'type': 'shared_library',
1054 'browser/plugin_carbon_interpose_mac.cc',
1061 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
1065 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
1066 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
1067 'DYLIB_INSTALL_NAME_BASE': '@executable_path',
1071 # The framework (chrome_dll) defines its load-time path
1072 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
1073 # (chrome). A different relative path needs to be used in
1074 # plugin_carbon_interpose, which runs in the helper_app.
1075 'postbuild_name': 'Fix Framework Link',
1077 'install_name_tool',
1079 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
1080 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
1081 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
1087 'target_name': 'infoplist_strings_tool',
1088 'type': 'executable',
1091 '../base/base.gyp:base',
1092 '../app/app.gyp:app_base',
1098 'tools/mac_helpers/infoplist_strings_util.mm',
1102 }, { # else: OS != "mac"
1105 'target_name': 'convert_dict',
1106 'type': 'executable',
1107 'msvs_guid': '42ECD5EC-722F-41DE-B6B8-83764C8016DF',
1109 '../base/base.gyp:base',
1110 '../base/base.gyp:base_i18n',
1112 '../third_party/hunspell/hunspell.gyp:hunspell',
1115 'tools/convert_dict/convert_dict.cc',
1119 'target_name': 'convert_dict_lib',
1120 'product_name': 'convert_dict',
1121 'type': 'static_library',
1122 'msvs_guid': '1F669F6B-3F4A-4308-E496-EE480BDF0B89',
1127 'tools/convert_dict/aff_reader.cc',
1128 'tools/convert_dict/aff_reader.h',
1129 'tools/convert_dict/dic_reader.cc',
1130 'tools/convert_dict/dic_reader.h',
1131 'tools/convert_dict/hunspell_reader.cc',
1132 'tools/convert_dict/hunspell_reader.h',
1136 'target_name': 'flush_cache',
1137 'type': 'executable',
1138 'msvs_guid': '4539AFB3-B8DC-47F3-A491-6DAC8FD26657',
1140 '../base/base.gyp:base',
1141 '../base/base.gyp:test_support_base',
1144 'tools/perf/flush_cache/flush_cache.cc',
1148 # Mac needs 'process_outputs_as_mac_bundle_resources' to be set,
1149 # and the option is only effective when the target type is native
1150 # binary. Hence we cannot build the Mac bundle resources here and
1151 # the action is duplicated in chrome_dll.gypi.
1152 'target_name': 'packed_extra_resources',
1155 'repack_path': '../tools/data_pack/repack.py',
1158 'chrome_extra_resources',
1162 'action_name': 'repack_resources',
1165 '<(grit_out_dir)/component_extension_resources.pak',
1166 '<(grit_out_dir)/devtools_resources.pak',
1167 '<(grit_out_dir)/net_internals_resources.pak',
1168 '<(grit_out_dir)/shared_resources.pak',
1169 '<(grit_out_dir)/sync_internals_resources.pak',
1177 '<(PRODUCT_DIR)/resources.pak',
1179 'action': ['python', '<(repack_path)', '<@(_outputs)',
1189 'target_name': 'linux_symbols',
1192 ['linux_dump_symbols==1', {
1195 'action_name': 'dump_symbols',
1197 '<(DEPTH)/build/linux/dump_app_syms',
1198 '<(PRODUCT_DIR)/dump_syms',
1199 '<(PRODUCT_DIR)/chrome',
1202 '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)',
1204 'action': ['<(DEPTH)/build/linux/dump_app_syms',
1205 '<(PRODUCT_DIR)/dump_syms',
1206 '<(linux_strip_binary)',
1207 '<(PRODUCT_DIR)/chrome',
1209 'message': 'Dumping breakpad symbols to <(_outputs)',
1210 'process_outputs_as_sources': 1,
1215 '../breakpad/breakpad.gyp:dump_syms',
1218 ['linux_strip_reliability_tests==1', {
1221 'action_name': 'strip_reliability_tests',
1223 '<(PRODUCT_DIR)/automated_ui_tests',
1224 '<(PRODUCT_DIR)/reliability_tests',
1225 '<(PRODUCT_DIR)/lib.target/_pyautolib.so',
1228 '<(PRODUCT_DIR)/strip_reliability_tests.stamp',
1233 'message': 'Stripping reliability tests',
1237 'automated_ui_tests',
1238 'reliability_tests',
1248 # TODO(sgk): remove this when we change the buildbots to
1249 # use the generated build\all.sln file to build the world.
1250 'target_name': 'pull_in_all',
1253 'installer/mini_installer.gyp:*',
1254 'installer/installer_tools.gyp:*',
1255 'installer/upgrade_test.gyp:*',
1257 '../base/base.gyp:*',
1258 '../chrome_frame/chrome_frame.gyp:*',
1259 '../content/content.gyp:*',
1261 '../media/media.gyp:*',
1263 '../ppapi/ppapi.gyp:*',
1264 '../printing/printing.gyp:*',
1265 '../sdch/sdch.gyp:*',
1266 '../skia/skia.gyp:*',
1267 '../testing/gmock.gyp:*',
1268 '../testing/gtest.gyp:*',
1269 '../third_party/bsdiff/bsdiff.gyp:*',
1270 '../third_party/bspatch/bspatch.gyp:*',
1271 '../third_party/bzip2/bzip2.gyp:*',
1272 '../third_party/codesighs/codesighs.gyp:*',
1273 '../third_party/iccjpeg/iccjpeg.gyp:*',
1274 '../third_party/icu/icu.gyp:*',
1275 '../third_party/libpng/libpng.gyp:*',
1276 '../third_party/libwebp/libwebp.gyp:*',
1277 '../third_party/libxslt/libxslt.gyp:*',
1278 '../third_party/lzma_sdk/lzma_sdk.gyp:*',
1279 '../third_party/modp_b64/modp_b64.gyp:*',
1280 '../third_party/npapi/npapi.gyp:*',
1281 '../third_party/qcms/qcms.gyp:*',
1282 '../third_party/sqlite/sqlite.gyp:*',
1283 '../third_party/zlib/zlib.gyp:*',
1285 '../webkit/support/webkit_support.gyp:*',
1286 '../webkit/webkit.gyp:*',
1288 '../build/temp_gyp/googleurl.gyp:*',
1290 '../breakpad/breakpad.gyp:*',
1291 '../courgette/courgette.gyp:*',
1293 '../sandbox/sandbox.gyp:*',
1294 '../tools/memory_watcher/memory_watcher.gyp:*',
1295 '../v8/tools/gyp/v8.gyp:v8_shell',
1296 '<(libjpeg_gyp_path):*',
1299 ['win_use_allocator_shim==1', {
1301 '../base/allocator/allocator.gyp:*',
1307 'target_name': 'chrome_dll_version',
1309 #'msvs_guid': '414D4D24-5D65-498B-A33F-3A29AD3CDEDC',
1311 '../build/util/build_util.gyp:lastchange',
1313 'direct_dependent_settings': {
1315 '<(SHARED_INTERMEDIATE_DIR)/chrome_dll_version',
1320 'action_name': 'version',
1323 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1324 'template_input_path': 'app/chrome_dll_version.rc.version',
1327 [ 'branding == "Chrome"', {
1329 'branding_path': 'app/theme/google_chrome/BRANDING',
1331 }, { # else branding!="Chrome"
1333 'branding_path': 'app/theme/chromium/BRANDING',
1338 '<(template_input_path)',
1341 '<(lastchange_path)',
1344 '<(SHARED_INTERMEDIATE_DIR)/chrome_dll_version/chrome_dll_version.rc',
1348 '<(version_py_path)',
1349 '-f', '<(version_path)',
1350 '-f', '<(branding_path)',
1351 '-f', '<(lastchange_path)',
1352 '<(template_input_path)',
1355 'message': 'Generating version information in <(_outputs)'
1360 'target_name': 'chrome_version_header',
1362 'hard_dependency': 1,
1364 '../build/util/build_util.gyp:lastchange',
1368 'action_name': 'version_header',
1371 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1374 [ 'branding == "Chrome"', {
1376 'branding_path': 'app/theme/google_chrome/BRANDING',
1378 }, { # else branding!="Chrome"
1380 'branding_path': 'app/theme/chromium/BRANDING',
1387 '<(lastchange_path)',
1391 '<(SHARED_INTERMEDIATE_DIR)/version.h',
1395 '<(version_py_path)',
1396 '-f', '<(version_path)',
1397 '-f', '<(branding_path)',
1398 '-f', '<(lastchange_path)',
1402 'message': 'Generating version header file: <@(_outputs)',
1407 'target_name': 'automation',
1408 'type': '<(library)',
1409 'msvs_guid': '1556EF78-C7E6-43C8-951F-F6B43AC0DD12',
1412 '../skia/skia.gyp:skia',
1413 '../testing/gtest.gyp:gtest',
1419 'test/automation/autocomplete_edit_proxy.cc',
1420 'test/automation/autocomplete_edit_proxy.h',
1421 'test/automation/automation_handle_tracker.cc',
1422 'test/automation/automation_handle_tracker.h',
1423 'test/automation/automation_json_requests.cc',
1424 'test/automation/automation_json_requests.h',
1425 'test/automation/automation_proxy.cc',
1426 'test/automation/automation_proxy.h',
1427 'test/automation/browser_proxy.cc',
1428 'test/automation/browser_proxy.h',
1429 'test/automation/dom_element_proxy.cc',
1430 'test/automation/dom_element_proxy.h',
1431 'test/automation/extension_proxy.cc',
1432 'test/automation/extension_proxy.h',
1433 'test/automation/javascript_execution_controller.cc',
1434 'test/automation/javascript_execution_controller.h',
1435 'test/automation/tab_proxy.cc',
1436 'test/automation/tab_proxy.h',
1437 'test/automation/window_proxy.cc',
1438 'test/automation/window_proxy.h',
1442 'target_name': 'crash_service',
1443 'type': 'executable',
1444 'msvs_guid': '89C1C190-A5D1-4EC4-BD6A-67FF2195C7CC',
1446 'app/policy/cloud_policy_codegen.gyp:policy',
1449 '../base/base.gyp:base',
1450 '../breakpad/breakpad.gyp:breakpad_handler',
1451 '../breakpad/breakpad.gyp:breakpad_sender',
1457 'tools/crash_service/crash_service.cc',
1458 'tools/crash_service/crash_service.h',
1459 'tools/crash_service/main.cc',
1463 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1469 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
1471 'target_name': 'packed_resources',
1474 'repack_path': '../tools/data_pack/repack.py',
1477 # TODO(mark): These actions are duplicated for the Mac in the
1478 # chrome_dll target. Can they be unified?
1480 # Mac needs 'process_outputs_as_mac_bundle_resources' to be set,
1481 # and the option is only effective when the target type is native
1482 # binary. Hence we cannot build the Mac bundle resources here.
1484 'action_name': 'repack_chrome',
1487 '<(grit_out_dir)/autofill_resources.pak',
1488 '<(grit_out_dir)/browser_resources.pak',
1489 '<(grit_out_dir)/common_resources.pak',
1490 '<(grit_out_dir)/default_plugin_resources/default_plugin_resources.pak',
1491 '<(grit_out_dir)/renderer_resources.pak',
1492 '<(grit_out_dir)/theme_resources.pak',
1493 '<(SHARED_INTERMEDIATE_DIR)/app/app_resources/app_resources.pak',
1494 '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak',
1495 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
1496 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
1497 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
1505 '<(INTERMEDIATE_DIR)/repack/chrome.pak',
1507 'action': ['python', '<(repack_path)', '<@(_outputs)',
1511 'action_name': 'repack_locales',
1514 ['branding=="Chrome"', {
1515 'branding_flag': ['-b', 'google_chrome',],
1516 }, { # else: branding!="Chrome"
1517 'branding_flag': ['-b', 'chromium',],
1522 'tools/build/repack_locales.py',
1523 # NOTE: Ideally the common command args would be shared amongst
1524 # inputs/outputs/action, but the args include shell variables
1525 # which need to be passed intact, and command expansion wants
1526 # to expand the shell variables. Adding the explicit quoting
1527 # here was the only way it seemed to work.
1528 '>!@(<(repack_locales_cmd) -i <(branding_flag) -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))',
1531 '>!@(<(repack_locales_cmd) -o -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))',
1534 '<@(repack_locales_cmd)',
1535 '<@(branding_flag)',
1536 '-g', '<(grit_out_dir)',
1537 '-s', '<(SHARED_INTERMEDIATE_DIR)',
1538 '-x', '<(INTERMEDIATE_DIR)',
1543 # We'll install the resource files to the product directory.
1546 'destination': '<(PRODUCT_DIR)/locales',
1548 '>!@(<(repack_locales_cmd) -o -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))',
1552 'destination': '<(PRODUCT_DIR)',
1554 '<(INTERMEDIATE_DIR)/repack/chrome.pak'
1559 }], # OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"
1565 # indent-tabs-mode:nil
1567 # vim: set expandtab tabstop=2 shiftwidth=2: