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': [
32 '../content/content.gyp:content_app',
33 '../content/content.gyp:content_gpu',
34 '../content/content.gyp:content_ppapi_plugin',
35 '../content/content.gyp:content_worker',
36 '../printing/printing.gyp:printing',
37 '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:inspector_resources',
39 'allocator_target': '../base/allocator/allocator.gyp:allocator',
40 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
41 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
42 'repack_locales_cmd': ['python', 'tools/build/repack_locales.py'],
43 # TODO: remove this helper when we have loops in GYP
44 'apply_locales_cmd': ['python', '<(DEPTH)/build/apply_locales.py'],
52 'platform_locale_settings_grd':
53 'app/resources/locale_settings_win.grd',
63 'platform_locale_settings_grd':
64 'app/resources/locale_settings_cros.grd',
67 'platform_locale_settings_grd':
68 'app/resources/locale_settings_linux.grd',
72 ['os_posix == 1 and OS != "mac" and OS != "linux"', {
73 'platform_locale_settings_grd':
74 'app/resources/locale_settings_linux.grd',
77 'tweak_info_plist_path': 'tools/build/mac/tweak_info_plist',
83 'platform_locale_settings_grd':
84 'app/resources/locale_settings_mac.grd',
86 ['branding=="Chrome"', {
87 'mac_bundle_id': 'com.google.Chrome',
88 'mac_creator': 'rimZ',
89 # The policy .grd file also needs the bundle id.
90 'grit_defines': ['-D', 'mac_bundle_id=com.google.Chrome'],
91 }, { # else: branding!="Chrome"
92 'mac_bundle_id': 'org.chromium.Chromium',
93 'mac_creator': 'Cr24',
94 # The policy .grd file also needs the bundle id.
95 'grit_defines': ['-D', 'mac_bundle_id=org.chromium.Chromium'],
99 # TODO(mcgrathr): This duplicates native_client/build/common.gypi;
100 # we should figure out a way to unify the settings.
101 ['target_arch=="ia32"', {
103 'NACL_TARGET_SUBARCH=32',
104 'NACL_TARGET_ARCH=x86',
105 'NACL_BUILD_SUBARCH=32',
106 'NACL_BUILD_ARCH=x86',
109 ['target_arch=="x64"', {
111 'NACL_TARGET_SUBARCH=64',
112 'NACL_TARGET_ARCH=x86',
113 'NACL_BUILD_SUBARCH=64',
114 'NACL_BUILD_ARCH=x86',
117 ['target_arch=="arm"', {
119 'NACL_BUILD_ARCH=arm',
120 'NACL_BUILD_SUBARCH=32',
121 'NACL_TARGET_ARCH=arm',
122 'NACL_TARGET_SUBARCH=32',
128 # Place some targets in gypi files to reduce contention on this file.
129 # By using an include, we keep everything in a single xcodeproj file.
130 # Note on Win64 targets: targets that end with win64 be used
131 # on 64-bit Windows only. Targets that end with nacl_win64 should be used
132 # by Native Client only.
133 '../build/win_precompile.gypi',
134 'app/policy/policy_templates.gypi',
135 'chrome_browser.gypi',
136 'chrome_common.gypi',
139 'chrome_installer.gypi',
140 'chrome_installer_util.gypi',
141 'chrome_renderer.gypi',
143 'common_constants.gypi',
148 'target_name': 'default_extensions',
154 'destination': '<(PRODUCT_DIR)/extensions',
156 'browser/extensions/default_extensions/external_extensions.json'
161 ['OS=="linux" and chromeos==1 and branding=="Chrome"', {
164 'destination': '<(PRODUCT_DIR)/extensions',
166 '>!@(ls browser/extensions/default_extensions/chromeos/cache/*)'
174 # TODO(joi): Move debugger-related build rules to content/
175 'target_name': 'debugger',
176 'type': 'static_library',
177 'variables': { 'enable_wexit_time_destructors': 1, },
179 'chrome_resources.gyp:chrome_extra_resources',
180 'chrome_resources.gyp:chrome_resources',
181 'chrome_resources.gyp:chrome_strings',
182 'chrome_resources.gyp:theme_resources',
183 '../base/base.gyp:base',
184 '../content/content.gyp:content_browser',
185 '../net/net.gyp:http_server',
186 '../net/net.gyp:net',
187 '../skia/skia.gyp:skia',
188 '../third_party/icu/icu.gyp:icui18n',
189 '../third_party/icu/icu.gyp:icuuc',
190 '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
196 'browser/debugger/browser_list_tabcontents_provider.cc',
197 'browser/debugger/browser_list_tabcontents_provider.h',
198 'browser/debugger/devtools_file_util.cc',
199 'browser/debugger/devtools_file_util.h',
200 'browser/debugger/devtools_toggle_action.h',
201 'browser/debugger/devtools_window.cc',
202 'browser/debugger/devtools_window.h',
203 'browser/debugger/remote_debugging_server.cc',
204 'browser/debugger/remote_debugging_server.h',
207 ['toolkit_uses_gtk == 1', {
209 '../build/linux/system.gyp:gtk',
215 'target_name': 'plugin',
216 'type': 'static_library',
217 'variables': { 'enable_wexit_time_destructors': 1, },
219 'chrome_resources.gyp:chrome_strings',
220 '../base/base.gyp:base',
221 '../content/content.gyp:content_plugin',
224 'plugin/chrome_content_plugin_client.cc',
225 'plugin/chrome_content_plugin_client.h',
233 'target_name': 'utility',
234 'type': 'static_library',
235 'variables': { 'enable_wexit_time_destructors': 1, },
237 '../base/base.gyp:base',
238 '../content/content.gyp:content_utility',
239 '../skia/skia.gyp:skia',
242 'utility/chrome_content_utility_client.cc',
243 'utility/chrome_content_utility_client.h',
249 ['toolkit_uses_gtk == 1', {
251 '../build/linux/system.gyp:gtk',
257 # Provides a syncapi dynamic library target from checked-in binaries,
258 # or from compiling a stub implementation.
259 'target_name': 'syncapi_core',
260 'type': 'static_library',
261 'variables': { 'enable_wexit_time_destructors': 1, },
263 'browser/sync/engine/syncapi_internal.cc',
264 'browser/sync/engine/syncapi_internal.h',
265 'browser/sync/internal_api/includes/unrecoverable_error_handler.h',
266 'browser/sync/internal_api/base_node.cc',
267 'browser/sync/internal_api/base_node.h',
268 'browser/sync/internal_api/base_transaction.cc',
269 'browser/sync/internal_api/base_transaction.h',
270 'browser/sync/internal_api/change_record.cc',
271 'browser/sync/internal_api/change_record.h',
272 'browser/sync/internal_api/change_reorder_buffer.cc',
273 'browser/sync/internal_api/change_reorder_buffer.h',
274 'browser/sync/internal_api/configure_reason.h',
275 'browser/sync/internal_api/debug_info_event_listener.cc',
276 'browser/sync/internal_api/debug_info_event_listener.h',
277 'browser/sync/internal_api/http_post_provider_factory.h',
278 'browser/sync/internal_api/http_post_provider_interface.h',
279 'browser/sync/internal_api/read_node.cc',
280 'browser/sync/internal_api/read_node.h',
281 'browser/sync/internal_api/read_transaction.cc',
282 'browser/sync/internal_api/read_transaction.h',
283 'browser/sync/internal_api/syncapi_server_connection_manager.cc',
284 'browser/sync/internal_api/syncapi_server_connection_manager.h',
285 'browser/sync/internal_api/sync_manager.cc',
286 'browser/sync/internal_api/sync_manager.h',
287 'browser/sync/internal_api/user_share.cc',
288 'browser/sync/internal_api/user_share.h',
289 'browser/sync/internal_api/write_node.cc',
290 'browser/sync/internal_api/write_node.h',
291 'browser/sync/internal_api/write_transaction.cc',
292 'browser/sync/internal_api/write_transaction.h',
298 '_CRT_SECURE_NO_WARNINGS',
302 '../base/base.gyp:base',
303 '../build/temp_gyp/googleurl.gyp:googleurl',
304 '../jingle/jingle.gyp:notifier',
305 '../net/net.gyp:net',
306 '../third_party/icu/icu.gyp:icuuc',
307 '../third_party/sqlite/sqlite.gyp:sqlite',
308 'app/policy/cloud_policy_codegen.gyp:policy',
309 'browser/sync/protocol/sync_proto.gyp:sync_proto',
315 'export_dependent_settings': [
316 'browser/sync/protocol/sync_proto.gyp:sync_proto',
319 # This target exports a hard dependency because syncapi.h includes
320 # generated proto header files from sync_proto.
321 'hard_dependency': 1,
324 # Provides the API that Chrome services use to talk to sync.
325 'target_name': 'syncapi_service',
326 'type': 'static_library',
327 'variables': { 'enable_wexit_time_destructors': 1, },
329 'browser/sync/api/syncable_service.cc',
330 'browser/sync/api/syncable_service.h',
331 'browser/sync/api/sync_data.h',
332 'browser/sync/api/sync_data.cc',
333 'browser/sync/api/sync_change.h',
334 'browser/sync/api/sync_change.cc',
335 'browser/sync/api/sync_change_processor.h',
336 'browser/sync/api/sync_change_processor.cc',
337 'browser/sync/api/sync_error.h',
338 'browser/sync/api/sync_error.cc',
344 '../base/base.gyp:base',
345 'browser/sync/protocol/sync_proto.gyp:sync_proto',
348 'export_dependent_settings': [
349 '../base/base.gyp:base',
350 'browser/sync/protocol/sync_proto.gyp:sync_proto',
353 # Even though this target depends on sync_proto, it doesn't
354 # need to export a hard dependency since we explicitly avoid
355 # including the generated proto header files from this target's
359 'target_name': 'sync',
360 'type': 'static_library',
361 'variables': { 'enable_wexit_time_destructors': 1, },
363 'browser/sync/engine/all_status.cc',
364 'browser/sync/engine/all_status.h',
365 'browser/sync/engine/apply_updates_command.cc',
366 'browser/sync/engine/apply_updates_command.h',
367 'browser/sync/engine/build_and_process_conflict_sets_command.cc',
368 'browser/sync/engine/build_and_process_conflict_sets_command.h',
369 'browser/sync/engine/build_commit_command.cc',
370 'browser/sync/engine/build_commit_command.h',
371 'browser/sync/engine/cleanup_disabled_types_command.cc',
372 'browser/sync/engine/cleanup_disabled_types_command.h',
373 'browser/sync/engine/clear_data_command.cc',
374 'browser/sync/engine/clear_data_command.h',
375 'browser/sync/engine/conflict_resolver.cc',
376 'browser/sync/engine/conflict_resolver.h',
377 'browser/sync/engine/download_updates_command.cc',
378 'browser/sync/engine/download_updates_command.h',
379 'browser/sync/engine/get_commit_ids_command.cc',
380 'browser/sync/engine/get_commit_ids_command.h',
381 'browser/sync/engine/model_changing_syncer_command.cc',
382 'browser/sync/engine/model_changing_syncer_command.h',
383 'browser/sync/engine/model_safe_worker.cc',
384 'browser/sync/engine/model_safe_worker.h',
385 'browser/sync/engine/passive_model_worker.cc',
386 'browser/sync/engine/passive_model_worker.h',
387 'browser/sync/engine/net/server_connection_manager.cc',
388 'browser/sync/engine/net/server_connection_manager.h',
389 'browser/sync/engine/net/url_translator.cc',
390 'browser/sync/engine/net/url_translator.h',
391 'browser/sync/engine/nigori_util.cc',
392 'browser/sync/engine/nigori_util.h',
393 'browser/sync/engine/nudge_source.cc',
394 'browser/sync/engine/nudge_source.h',
395 'browser/sync/engine/polling_constants.cc',
396 'browser/sync/engine/polling_constants.h',
397 'browser/sync/engine/post_commit_message_command.cc',
398 'browser/sync/engine/post_commit_message_command.h',
399 'browser/sync/engine/process_commit_response_command.cc',
400 'browser/sync/engine/process_commit_response_command.h',
401 'browser/sync/engine/process_updates_command.cc',
402 'browser/sync/engine/process_updates_command.h',
403 'browser/sync/engine/resolve_conflicts_command.cc',
404 'browser/sync/engine/resolve_conflicts_command.h',
405 'browser/sync/engine/store_timestamps_command.cc',
406 'browser/sync/engine/store_timestamps_command.h',
407 'browser/sync/engine/syncer.cc',
408 'browser/sync/engine/syncer.h',
409 'browser/sync/engine/syncer_command.cc',
410 'browser/sync/engine/syncer_command.h',
411 'browser/sync/engine/syncer_end_command.cc',
412 'browser/sync/engine/syncer_end_command.h',
413 'browser/sync/engine/syncer_proto_util.cc',
414 'browser/sync/engine/syncer_proto_util.h',
415 'browser/sync/engine/sync_scheduler.cc',
416 'browser/sync/engine/sync_scheduler.h',
417 'browser/sync/engine/syncer_types.cc',
418 'browser/sync/engine/syncer_types.h',
419 'browser/sync/engine/syncer_util.cc',
420 'browser/sync/engine/syncer_util.h',
421 'browser/sync/engine/syncproto.h',
422 'browser/sync/engine/update_applicator.cc',
423 'browser/sync/engine/update_applicator.h',
424 'browser/sync/engine/verify_updates_command.cc',
425 'browser/sync/engine/verify_updates_command.h',
426 'browser/sync/js/js_arg_list.cc',
427 'browser/sync/js/js_arg_list.h',
428 'browser/sync/js/js_backend.h',
429 'browser/sync/js/js_controller.h',
430 'browser/sync/js/js_event_details.cc',
431 'browser/sync/js/js_event_details.h',
432 'browser/sync/js/js_event_handler.h',
433 'browser/sync/js/js_reply_handler.h',
434 'browser/sync/js/js_mutation_event_observer.cc',
435 'browser/sync/js/js_mutation_event_observer.h',
436 'browser/sync/js/js_sync_manager_observer.cc',
437 'browser/sync/js/js_sync_manager_observer.h',
438 'browser/sync/protocol/proto_enum_conversions.cc',
439 'browser/sync/protocol/proto_enum_conversions.h',
440 'browser/sync/protocol/proto_value_conversions.cc',
441 'browser/sync/protocol/proto_value_conversions.h',
442 'browser/sync/protocol/service_constants.h',
443 'browser/sync/protocol/sync_protocol_error.cc',
444 'browser/sync/protocol/sync_protocol_error.h',
445 'browser/sync/sessions/debug_info_getter.h',
446 'browser/sync/sessions/ordered_commit_set.cc',
447 'browser/sync/sessions/ordered_commit_set.h',
448 'browser/sync/sessions/session_state.cc',
449 'browser/sync/sessions/session_state.h',
450 'browser/sync/sessions/status_controller.cc',
451 'browser/sync/sessions/status_controller.h',
452 'browser/sync/sessions/sync_session.cc',
453 'browser/sync/sessions/sync_session.h',
454 'browser/sync/sessions/sync_session_context.cc',
455 'browser/sync/sessions/sync_session_context.h',
456 'browser/sync/sync_js_controller.cc',
457 'browser/sync/sync_js_controller.h',
458 'browser/sync/syncable/blob.h',
459 'browser/sync/syncable/dir_open_result.h',
460 'browser/sync/syncable/directory_backing_store.cc',
461 'browser/sync/syncable/directory_backing_store.h',
462 'browser/sync/syncable/directory_change_delegate.h',
463 'browser/sync/syncable/directory_event.h',
464 'browser/sync/syncable/directory_manager.cc',
465 'browser/sync/syncable/directory_manager.h',
466 'browser/sync/syncable/model_type.cc',
467 'browser/sync/syncable/model_type.h',
468 'browser/sync/syncable/model_type_payload_map.cc',
469 'browser/sync/syncable/model_type_payload_map.h',
470 'browser/sync/syncable/syncable-inl.h',
471 'browser/sync/syncable/syncable.cc',
472 'browser/sync/syncable/syncable.h',
473 'browser/sync/syncable/syncable_changes_version.h',
474 'browser/sync/syncable/syncable_columns.h',
475 'browser/sync/syncable/syncable_id.cc',
476 'browser/sync/syncable/syncable_id.h',
477 'browser/sync/syncable/syncable_enum_conversions.cc',
478 'browser/sync/syncable/syncable_enum_conversions.h',
479 'browser/sync/syncable/transaction_observer.h',
480 'browser/sync/util/cryptographer.cc',
481 'browser/sync/util/cryptographer.h',
482 'browser/sync/util/enum_set.h',
483 'browser/sync/util/extensions_activity_monitor.cc',
484 'browser/sync/util/extensions_activity_monitor.h',
485 'browser/sync/util/get_session_name_task.cc',
486 'browser/sync/util/get_session_name_task.h',
487 'browser/sync/util/get_session_name_task_mac.mm',
488 'browser/sync/util/immutable.h',
489 'browser/sync/util/logging.cc',
490 'browser/sync/util/logging.h',
491 'browser/sync/util/nigori.cc',
492 'browser/sync/util/nigori.h',
493 'browser/sync/util/oauth.cc',
494 'browser/sync/util/oauth.h',
495 'browser/sync/util/sqlite_utils.cc',
496 'browser/sync/util/sqlite_utils.h',
497 'browser/sync/util/time.cc',
498 'browser/sync/util/time.h',
499 'browser/sync/util/unrecoverable_error_info.h',
500 'browser/sync/util/unrecoverable_error_info.cc',
501 'browser/sync/util/weak_handle.cc',
502 'browser/sync/util/weak_handle.h',
508 'SYNC_ENGINE_VERSION_STRING="Unknown"',
509 '_CRT_SECURE_NO_WARNINGS',
514 '../base/base.gyp:base',
515 '../crypto/crypto.gyp:crypto',
516 '../skia/skia.gyp:skia',
517 'browser/sync/protocol/sync_proto.gyp:sync_proto',
519 'export_dependent_settings': [
520 '../base/base.gyp:base',
521 '../crypto/crypto.gyp:crypto',
522 'browser/sync/protocol/sync_proto.gyp:sync_proto',
524 # This target exports a hard dependency because its header files include
525 # protobuf header files from sync_proto.
526 'hard_dependency': 1,
530 'browser/sync/util/data_encryption.cc',
531 'browser/sync/util/data_encryption.h',
534 ['toolkit_uses_gtk == 1', {
536 '../build/linux/system.gyp:gtk',
544 ['OS=="linux" and chromeos==1', {
552 '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
558 # A library for sending and receiving server-issued notifications.
560 'target_name': 'sync_notifier',
561 'type': 'static_library',
562 'variables': { 'enable_wexit_time_destructors': 1, },
564 'browser/sync/notifier/cache_invalidation_packet_handler.cc',
565 'browser/sync/notifier/cache_invalidation_packet_handler.h',
566 'browser/sync/notifier/chrome_invalidation_client.cc',
567 'browser/sync/notifier/chrome_invalidation_client.h',
568 'browser/sync/notifier/chrome_system_resources.cc',
569 'browser/sync/notifier/chrome_system_resources.h',
570 'browser/sync/notifier/invalidation_notifier.h',
571 'browser/sync/notifier/invalidation_notifier.cc',
572 'browser/sync/notifier/invalidation_util.cc',
573 'browser/sync/notifier/invalidation_util.h',
574 'browser/sync/notifier/invalidation_version_tracker.h',
575 'browser/sync/notifier/non_blocking_invalidation_notifier.h',
576 'browser/sync/notifier/non_blocking_invalidation_notifier.cc',
577 'browser/sync/notifier/p2p_notifier.h',
578 'browser/sync/notifier/p2p_notifier.cc',
579 'browser/sync/notifier/registration_manager.cc',
580 'browser/sync/notifier/registration_manager.h',
581 'browser/sync/notifier/state_writer.h',
582 'browser/sync/notifier/sync_notifier.h',
583 'browser/sync/notifier/sync_notifier_factory.h',
584 'browser/sync/notifier/sync_notifier_factory.cc',
591 '../jingle/jingle.gyp:notifier',
592 '../net/net.gyp:net',
593 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
595 # This target exports a hard dependency because it depends on
596 # cacheinvalidation (which itself has hard_dependency set).
597 'hard_dependency': 1,
598 'export_dependent_settings': [
599 '../jingle/jingle.gyp:notifier',
600 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
604 'target_name': 'service',
605 'type': 'static_library',
606 'variables': { 'enable_wexit_time_destructors': 1, },
608 'chrome_resources.gyp:chrome_strings',
611 '../base/base.gyp:base',
612 '../jingle/jingle.gyp:notifier',
613 '../net/net.gyp:net',
614 '../printing/printing.gyp:printing',
615 '../skia/skia.gyp:skia',
616 '../third_party/libjingle/libjingle.gyp:libjingle',
619 'service/chrome_service_application_mac.h',
620 'service/chrome_service_application_mac.mm',
621 'service/service_ipc_server.cc',
622 'service/service_ipc_server.h',
623 'service/service_main.cc',
624 'service/service_process.cc',
625 'service/service_process.h',
626 'service/service_process_prefs.cc',
627 'service/service_process_prefs.h',
628 'service/service_utility_process_host.cc',
629 'service/service_utility_process_host.h',
630 'service/cloud_print/cloud_print_auth.cc',
631 'service/cloud_print/cloud_print_auth.h',
632 'service/cloud_print/cloud_print_connector.cc',
633 'service/cloud_print/cloud_print_connector.h',
634 'service/cloud_print/cloud_print_consts.cc',
635 'service/cloud_print/cloud_print_consts.h',
636 'service/cloud_print/cloud_print_helpers.cc',
637 'service/cloud_print/cloud_print_helpers.h',
638 'service/cloud_print/cloud_print_proxy.cc',
639 'service/cloud_print/cloud_print_proxy.h',
640 'service/cloud_print/cloud_print_proxy_backend.cc',
641 'service/cloud_print/cloud_print_proxy_backend.h',
642 'service/cloud_print/cloud_print_token_store.cc',
643 'service/cloud_print/cloud_print_token_store.h',
644 'service/cloud_print/cloud_print_url_fetcher.cc',
645 'service/cloud_print/cloud_print_url_fetcher.h',
646 'service/cloud_print/job_status_updater.cc',
647 'service/cloud_print/job_status_updater.h',
648 'service/cloud_print/print_system_dummy.cc',
649 'service/cloud_print/print_system.cc',
650 'service/cloud_print/print_system.h',
651 'service/cloud_print/printer_job_handler.cc',
652 'service/cloud_print/printer_job_handler.h',
653 'service/gaia/service_gaia_authenticator.cc',
654 'service/gaia/service_gaia_authenticator.h',
655 'service/net/service_url_request_context.cc',
656 'service/net/service_url_request_context.h',
664 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
665 # of cloud print system, and allows to use custom implementaiton.
666 'CP_PRINT_SYSTEM_AVAILABLE',
669 'service/cloud_print/print_system_win.cc',
672 ['toolkit_uses_gtk == 1', {
674 '../build/linux/system.gyp:gtk',
679 '../printing/printing.gyp:cups',
682 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
683 # of cloud print system, and allows to use custom implementaiton.
684 'CP_PRINT_SYSTEM_AVAILABLE',
687 'service/cloud_print/print_system_cups.cc',
693 'target_name': 'ipclist',
694 'type': 'executable',
695 'variables': { 'enable_wexit_time_destructors': 1, },
697 'test_support_common',
698 '../skia/skia.gyp:skia',
704 'tools/ipclist/ipclist.cc',
712 'target_name': 'helper_app',
713 'type': 'executable',
714 'variables': { 'enable_wexit_time_destructors': 1, },
715 'product_name': '<(mac_product_name) Helper',
719 'infoplist_strings_tool',
722 # chrome_exe_main_mac.cc's main() is the entry point for
723 # the "chrome" (browser app) target. All it does is jump
724 # to chrome_dll's ChromeMain. This is appropriate for
725 # helper processes too, because the logic to discriminate
726 # between process types at run time is actually directed
727 # by the --type command line argument processed by
728 # ChromeMain. Sharing chrome_exe_main_mac.cc with the
729 # browser app will suffice for now.
730 'app/chrome_exe_main_mac.cc',
731 'app/helper-Info.plist',
733 # TODO(mark): Come up with a fancier way to do this. It should only
734 # be necessary to list helper-Info.plist once, not the three times it
736 'mac_bundle_resources!': [
737 'app/helper-Info.plist',
739 # TODO(mark): For now, don't put any resources into this app. Its
740 # resources directory will be a symbolic link to the browser app's
741 # resources directory.
742 'mac_bundle_resources/': [
746 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
747 'CHROMIUM_SHORT_NAME': '<(branding)',
748 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves',
749 'INFOPLIST_FILE': 'app/helper-Info.plist',
753 # The helper doesn't have real localizations, it just has
754 # empty .lproj directories, which is enough to convince Cocoa
755 # that anything running out of the helper .app supports those
757 'postbuild_name': 'Make Empty Localizations',
760 '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))',
764 'tools/build/mac/make_locale_dirs.sh',
769 # The framework (chrome_dll) defines its load-time path
770 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
771 # (chrome). A different relative path needs to be used in
773 'postbuild_name': 'Fix Framework Link',
777 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
778 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
779 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
783 # Modify the Info.plist as needed. The script explains why this
784 # is needed. This is also done in the chrome and chrome_dll
785 # targets. In this case, --breakpad=0, -k0, and -s0 are used
786 # because Breakpad, Keystone, and Subersion keys are never
787 # placed into the helper.
788 'postbuild_name': 'Tweak Info.plist',
789 'action': ['<(tweak_info_plist_path)',
797 # Make sure there isn't any Objective-C in the helper app's
799 'postbuild_name': 'Verify No Objective-C',
801 'tools/build/mac/verify_no_objc.sh',
806 ['mac_breakpad==1', {
808 # A real .dSYM is needed for dump_syms to operate on.
812 # With mac_real_dsym set, strip_from_xcode won't be used.
813 # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode.
814 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
819 # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
820 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
824 }, # target helper_app
826 # This produces the app mode loader, but not as a bundle. Chromium
827 # itself is responsible for producing bundles.
828 'target_name': 'app_mode_app',
829 'type': 'executable',
830 'variables': { 'enable_wexit_time_destructors': 1, },
831 'product_name': '<(mac_product_name) App Mode Loader',
833 'app/app_mode_loader_mac.mm',
834 'common/mac/app_mode_common.h',
835 'common/mac/app_mode_common.mm',
842 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
843 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
846 }, # target app_mode_app
848 # Convenience target to build a disk image.
849 'target_name': 'build_app_dmg',
850 # Don't place this in the 'all' list; most won't want it.
851 # In GYP, booleans are 0/1, not True/False.
852 'suppress_wildcard': 1,
858 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg',
863 '<(build_app_dmg_script_path)',
864 '<(PRODUCT_DIR)/<(branding).app',
867 '<(PRODUCT_DIR)/<(branding).dmg',
869 'action_name': 'build_app_dmg',
870 'action': ['<(build_app_dmg_script_path)', '<@(branding)'],
875 # Dummy target to allow chrome to require plugin_carbon_interpose to
876 # build without actually linking to the resulting library.
877 'target_name': 'interpose_dependency_shim',
878 'type': 'executable',
879 'variables': { 'enable_wexit_time_destructors': 1, },
881 'plugin_carbon_interpose',
883 # In release, we end up with a strip step that is unhappy if there is
884 # no binary. Rather than check in a new file for this temporary hack,
885 # just generate a source file on the fly.
888 'action_name': 'generate_stub_main',
889 'process_outputs_as_sources': 1,
891 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
894 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
900 # dylib for interposing Carbon calls in the plugin process.
901 'target_name': 'plugin_carbon_interpose',
902 'type': 'shared_library',
903 'variables': { 'enable_wexit_time_destructors': 1, },
908 '../content/plugin/plugin_carbon_interpose_mac.cc',
915 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
919 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
920 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
921 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
925 # The framework (chrome_dll) defines its load-time path
926 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
927 # (chrome). A different relative path needs to be used in
928 # plugin_carbon_interpose, which runs in the helper_app.
929 'postbuild_name': 'Fix Framework Link',
933 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
934 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
935 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
941 'target_name': 'infoplist_strings_tool',
942 'type': 'executable',
943 'variables': { 'enable_wexit_time_destructors': 1, },
945 'chrome_resources.gyp:chrome_strings',
946 '../base/base.gyp:base',
953 'tools/mac_helpers/infoplist_strings_util.mm',
957 }, { # else: OS != "mac"
960 'target_name': 'convert_dict',
961 'type': 'executable',
962 'variables': { 'enable_wexit_time_destructors': 1, },
964 '../base/base.gyp:base',
965 '../base/base.gyp:base_i18n',
967 '../third_party/hunspell/hunspell.gyp:hunspell',
970 'tools/convert_dict/convert_dict.cc',
974 'target_name': 'convert_dict_lib',
975 'product_name': 'convert_dict',
976 'type': 'static_library',
977 'variables': { 'enable_wexit_time_destructors': 1, },
982 '../base/base.gyp:base',
985 'tools/convert_dict/aff_reader.cc',
986 'tools/convert_dict/aff_reader.h',
987 'tools/convert_dict/dic_reader.cc',
988 'tools/convert_dict/dic_reader.h',
989 'tools/convert_dict/hunspell_reader.cc',
990 'tools/convert_dict/hunspell_reader.h',
994 'target_name': 'flush_cache',
995 'type': 'executable',
997 '../base/base.gyp:base',
998 '../base/base.gyp:test_support_base',
1001 'tools/perf/flush_cache/flush_cache.cc',
1009 'target_name': 'linux_symbols',
1012 ['linux_dump_symbols==1', {
1015 'action_name': 'dump_symbols',
1017 '<(DEPTH)/build/linux/dump_app_syms',
1018 '<(PRODUCT_DIR)/dump_syms',
1019 '<(PRODUCT_DIR)/chrome',
1022 '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)',
1024 'action': ['<(DEPTH)/build/linux/dump_app_syms',
1025 '<(PRODUCT_DIR)/dump_syms',
1026 '<(linux_strip_binary)',
1027 '<(PRODUCT_DIR)/chrome',
1029 'message': 'Dumping breakpad symbols to <(_outputs)',
1030 'process_outputs_as_sources': 1,
1035 '../breakpad/breakpad.gyp:dump_syms',
1038 ['linux_strip_reliability_tests==1', {
1041 'action_name': 'strip_reliability_tests',
1043 '<(PRODUCT_DIR)/automated_ui_tests',
1044 '<(PRODUCT_DIR)/reliability_tests',
1045 '<(PRODUCT_DIR)/_pyautolib.so',
1048 '<(PRODUCT_DIR)/strip_reliability_tests.stamp',
1053 'message': 'Stripping reliability tests',
1057 'automated_ui_tests',
1058 'reliability_tests',
1064 'target_name': 'ipcfuzz',
1065 'type': 'loadable_module',
1070 'test_support_common',
1071 '../skia/skia.gyp:skia',
1074 'tools/ipclist/ipcfuzz.cc',
1082 # This target pulls in other binary targets into chrome.sln.
1083 'target_name': 'pull_in_all',
1086 'installer/mini_installer.gyp:*',
1087 'installer/installer_tools.gyp:*',
1088 'installer/upgrade_test.gyp:*',
1089 '../base/base.gyp:*',
1090 '../breakpad/breakpad.gyp:*',
1091 '../build/temp_gyp/googleurl.gyp:*',
1092 '../chrome_frame/chrome_frame.gyp:*',
1093 '../content/content.gyp:*',
1094 '../courgette/courgette.gyp:*',
1096 '../media/media.gyp:*',
1098 '../ppapi/ppapi.gyp:*',
1099 '../ppapi/ppapi_internal.gyp:*',
1100 '../printing/printing.gyp:*',
1102 '../sandbox/sandbox.gyp:*',
1103 '../sdch/sdch.gyp:*',
1104 '../skia/skia.gyp:*',
1106 '../testing/gmock.gyp:*',
1107 '../testing/gtest.gyp:*',
1108 '../tools/memory_watcher/memory_watcher.gyp:*',
1110 '../v8/tools/gyp/v8.gyp:v8_shell',
1111 '../webkit/support/webkit_support.gyp:*',
1112 '../webkit/webkit.gyp:*',
1113 '<(libjpeg_gyp_path):*',
1116 ['win_use_allocator_shim==1', {
1118 '../base/allocator/allocator.gyp:*',
1124 'target_name': 'chrome_version_resources',
1127 '../build/util/build_util.gyp:lastchange#target',
1129 'direct_dependent_settings': {
1131 '<(SHARED_INTERMEDIATE_DIR)/chrome_version',
1135 'app/chrome_exe.ver',
1136 'app/chrome_dll.ver',
1137 'app/nacl64_exe.ver',
1142 'rule_name': 'version',
1146 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1147 'template_input_path': 'app/chrome_version.rc.version',
1150 [ 'branding == "Chrome"', {
1152 'branding_path': 'app/theme/google_chrome/BRANDING',
1154 }, { # else branding!="Chrome"
1156 'branding_path': 'app/theme/chromium/BRANDING',
1161 '<(template_input_path)',
1164 '<(lastchange_path)',
1167 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/<(RULE_INPUT_ROOT)_version.rc',
1171 '<(version_py_path)',
1172 '-f', '<(RULE_INPUT_PATH)',
1173 '-f', '<(version_path)',
1174 '-f', '<(branding_path)',
1175 '-f', '<(lastchange_path)',
1176 '<(template_input_path)',
1179 'message': 'Generating version information in <(_outputs)'
1184 'target_name': 'chrome_version_header',
1186 'hard_dependency': 1,
1188 '../build/util/build_util.gyp:lastchange#target',
1192 'action_name': 'version_header',
1195 '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1198 [ 'branding == "Chrome"', {
1200 'branding_path': 'app/theme/google_chrome/BRANDING',
1202 }, { # else branding!="Chrome"
1204 'branding_path': 'app/theme/chromium/BRANDING',
1211 '<(lastchange_path)',
1215 '<(SHARED_INTERMEDIATE_DIR)/version.h',
1219 '<(version_py_path)',
1220 '-f', '<(version_path)',
1221 '-f', '<(branding_path)',
1222 '-f', '<(lastchange_path)',
1226 'message': 'Generating version header file: <@(_outputs)',
1231 'target_name': 'automation',
1232 'type': 'static_library',
1234 'chrome_resources.gyp:theme_resources',
1235 '../skia/skia.gyp:skia',
1241 'test/automation/automation_handle_tracker.cc',
1242 'test/automation/automation_handle_tracker.h',
1243 'test/automation/automation_json_requests.cc',
1244 'test/automation/automation_json_requests.h',
1245 'test/automation/automation_proxy.cc',
1246 'test/automation/automation_proxy.h',
1247 'test/automation/browser_proxy.cc',
1248 'test/automation/browser_proxy.h',
1249 'test/automation/dom_element_proxy.cc',
1250 'test/automation/dom_element_proxy.h',
1251 'test/automation/extension_proxy.cc',
1252 'test/automation/extension_proxy.h',
1253 'test/automation/javascript_execution_controller.cc',
1254 'test/automation/javascript_execution_controller.h',
1255 'test/automation/tab_proxy.cc',
1256 'test/automation/tab_proxy.h',
1257 'test/automation/value_conversion_traits.cc',
1258 'test/automation/value_conversion_traits.h',
1259 'test/automation/value_conversion_util.h',
1260 'test/automation/window_proxy.cc',
1261 'test/automation/window_proxy.h',
1265 'target_name': 'crash_service',
1266 'type': 'executable',
1268 'app/policy/cloud_policy_codegen.gyp:policy',
1271 '../base/base.gyp:base',
1272 '../breakpad/breakpad.gyp:breakpad_handler',
1273 '../breakpad/breakpad.gyp:breakpad_sender',
1279 'tools/crash_service/crash_service.cc',
1280 'tools/crash_service/crash_service.h',
1281 'tools/crash_service/main.cc',
1285 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1290 'target_name': 'crash_service_win64',
1291 'type': 'executable',
1292 'product_name': 'crash_service64',
1294 'common_constants_win64',
1295 'installer_util_nacl_win64',
1296 '../base/base.gyp:base_static_win64',
1297 '../breakpad/breakpad.gyp:breakpad_handler_win64',
1298 '../breakpad/breakpad.gyp:breakpad_sender_win64',
1304 'tools/crash_service/crash_service.cc',
1305 'tools/crash_service/crash_service.h',
1306 'tools/crash_service/main.cc',
1310 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1315 'msvs_target_platform': 'x64',
1320 'target_name': 'sb_sigutil',
1321 'type': 'executable',
1323 '../base/base.gyp:base',
1324 'safe_browsing_proto',
1327 'browser/safe_browsing/signature_util.h',
1328 'browser/safe_browsing/signature_util_win.cc',
1329 'tools/safe_browsing/sb_sigutil.cc',