Return backed up TemplateURL on default search change
[chromium-blink-merge.git] / chrome / chrome.gyp
blob69ea1741f2ddaabdb61fe3f25e68ffd6cc347a84
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.
5   'variables': {
6     'chromium_code': 1,
8     'variables': {
9       'version_py_path': 'tools/build/version.py',
10       'version_path': 'VERSION',
11     },
12     'version_py_path': '<(version_py_path)',
13     'version_path': '<(version_path)',
14     'version_full':
15         '<!(python <(version_py_path) -f <(version_path) -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")',
16     'version_mac_dylib':
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': [
24       'common',
25       'browser',
26       'debugger',
27       'plugin',
28       'renderer',
29       'syncapi_core',
30       'utility',
31       'service',
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',
38     ],
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'],
45     'conditions': [
46       ['OS=="win"', {
47         'nacl_defines': [
48           'NACL_WINDOWS=1',
49           'NACL_LINUX=0',
50           'NACL_OSX=0',
51         ],
52         'platform_locale_settings_grd':
53             'app/resources/locale_settings_win.grd',
54       },],
55       ['OS=="linux"', {
56         'nacl_defines': [
57           'NACL_WINDOWS=0',
58           'NACL_LINUX=1',
59           'NACL_OSX=0',
60         ],
61         'conditions': [
62           ['chromeos==1', {
63             'platform_locale_settings_grd':
64                 'app/resources/locale_settings_cros.grd',
65           }],
66           ['chromeos!=1', {
67             'platform_locale_settings_grd':
68                 'app/resources/locale_settings_linux.grd',
69           }],
70         ],
71       },],
72       ['os_posix == 1 and OS != "mac" and OS != "linux"', {
73         'platform_locale_settings_grd':
74             'app/resources/locale_settings_linux.grd',
75       },],
76       ['OS=="mac"', {
77         'tweak_info_plist_path': 'tools/build/mac/tweak_info_plist',
78         'nacl_defines': [
79           'NACL_WINDOWS=0',
80           'NACL_LINUX=0',
81           'NACL_OSX=1',
82         ],
83         'platform_locale_settings_grd':
84             'app/resources/locale_settings_mac.grd',
85         'conditions': [
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'],
96           }],  # branding
97         ],  # conditions
98       }],  # OS=="mac"
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"', {
102         'nacl_defines': [
103           'NACL_TARGET_SUBARCH=32',
104           'NACL_TARGET_ARCH=x86',
105           'NACL_BUILD_SUBARCH=32',
106           'NACL_BUILD_ARCH=x86',
107         ],
108       }],
109       ['target_arch=="x64"', {
110         'nacl_defines': [
111           'NACL_TARGET_SUBARCH=64',
112           'NACL_TARGET_ARCH=x86',
113           'NACL_BUILD_SUBARCH=64',
114           'NACL_BUILD_ARCH=x86',
115         ],
116       }],
117       ['target_arch=="arm"', {
118         'nacl_defines': [
119           'NACL_BUILD_ARCH=arm',
120           'NACL_BUILD_SUBARCH=32',
121           'NACL_TARGET_ARCH=arm',
122           'NACL_TARGET_SUBARCH=32',
123         ],
124       }],
125     ],  # conditions
126   },  # variables
127   'includes': [
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',
137     'chrome_dll.gypi',
138     'chrome_exe.gypi',
139     'chrome_installer.gypi',
140     'chrome_installer_util.gypi',
141     'chrome_renderer.gypi',
142     'chrome_tests.gypi',
143     'common_constants.gypi',
144     'nacl.gypi',
145   ],
146   'targets': [
147     {
148       'target_name': 'default_extensions',
149       'type': 'none',
150       'conditions': [
151         ['OS=="win"', {
152           'copies': [
153             {
154               'destination': '<(PRODUCT_DIR)/extensions',
155               'files': [
156                 'browser/extensions/default_extensions/external_extensions.json'
157               ]
158             }
159           ],
160         }],
161         ['OS=="linux" and chromeos==1 and branding=="Chrome"', {
162           'copies': [
163             {
164               'destination': '<(PRODUCT_DIR)/extensions',
165               'files': [
166                 '>!@(ls browser/extensions/default_extensions/chromeos/cache/*)'
167               ]
168             }
169           ],
170         }],
171       ],
172     },
173     {
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, },
178       'dependencies': [
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',
191       ],
192       'include_dirs': [
193         '..',
194       ],
195       'sources': [
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',
205       ],
206       'conditions': [
207         ['toolkit_uses_gtk == 1', {
208           'dependencies': [
209             '../build/linux/system.gyp:gtk',
210           ],
211         }],
212       ],
213     },
214     {
215       'target_name': 'plugin',
216       'type': 'static_library',
217       'variables': { 'enable_wexit_time_destructors': 1, },
218       'dependencies': [
219         'chrome_resources.gyp:chrome_strings',
220         '../base/base.gyp:base',
221         '../content/content.gyp:content_plugin',
222       ],
223       'sources': [
224         'plugin/chrome_content_plugin_client.cc',
225         'plugin/chrome_content_plugin_client.h',
226       ],
227       'include_dirs': [
228         '..',
229         '<(grit_out_dir)',
230       ],
231     },
232     {
233       'target_name': 'utility',
234       'type': 'static_library',
235       'variables': { 'enable_wexit_time_destructors': 1, },
236       'dependencies': [
237         '../base/base.gyp:base',
238         '../content/content.gyp:content_utility',
239         '../skia/skia.gyp:skia',
240       ],
241       'sources': [
242         'utility/chrome_content_utility_client.cc',
243         'utility/chrome_content_utility_client.h',
244       ],
245       'include_dirs': [
246         '..',
247       ],
248       'conditions': [
249         ['toolkit_uses_gtk == 1', {
250           'dependencies': [
251             '../build/linux/system.gyp:gtk',
252           ],
253         }],
254       ],
255     },
256     {
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, },
262       'sources': [
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',
293       ],
294       'include_dirs': [
295         '..',
296       ],
297       'defines' : [
298         '_CRT_SECURE_NO_WARNINGS',
299         '_USE_32BIT_TIME_T',
300       ],
301       'dependencies': [
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',
310         'common_constants',
311         'common_net',
312         'sync',
313         'sync_notifier',
314       ],
315       'export_dependent_settings': [
316         'browser/sync/protocol/sync_proto.gyp:sync_proto',
317         'sync',
318       ],
319       # This target exports a hard dependency because syncapi.h includes
320       # generated proto header files from sync_proto.
321       'hard_dependency': 1,
322     },
323     {
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, },
328       'sources': [
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',
339       ],
340       'include_dirs': [
341         '..',
342       ],
343       'dependencies': [
344         '../base/base.gyp:base',
345         'browser/sync/protocol/sync_proto.gyp:sync_proto',
346         'sync',
347       ],
348       'export_dependent_settings': [
349         '../base/base.gyp:base',
350         'browser/sync/protocol/sync_proto.gyp:sync_proto',
351         'sync',
352       ],
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
356       # header files.
357     },
358     {
359       'target_name': 'sync',
360       'type': 'static_library',
361       'variables': { 'enable_wexit_time_destructors': 1, },
362       'sources': [
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',
503       ],
504       'include_dirs': [
505         '..',
506       ],
507       'defines' : [
508         'SYNC_ENGINE_VERSION_STRING="Unknown"',
509         '_CRT_SECURE_NO_WARNINGS',
510         '_USE_32BIT_TIME_T',
511       ],
512       'dependencies': [
513         'common',
514         '../base/base.gyp:base',
515         '../crypto/crypto.gyp:crypto',
516         '../skia/skia.gyp:skia',
517         'browser/sync/protocol/sync_proto.gyp:sync_proto',
518       ],
519       'export_dependent_settings': [
520         '../base/base.gyp:base',
521         '../crypto/crypto.gyp:crypto',
522         'browser/sync/protocol/sync_proto.gyp:sync_proto',
523       ],
524       # This target exports a hard dependency because its header files include
525       # protobuf header files from sync_proto.
526       'hard_dependency': 1,
527       'conditions': [
528         ['OS=="win"', {
529           'sources' : [
530             'browser/sync/util/data_encryption.cc',
531             'browser/sync/util/data_encryption.h',
532           ],
533         }],
534         ['toolkit_uses_gtk == 1', {
535           'dependencies': [
536             '../build/linux/system.gyp:gtk',
537           ],
538           'link_settings': {
539             'libraries': [
540               '-lXss',
541             ],
542           },
543         }],
544         ['OS=="linux" and chromeos==1', {
545           'include_dirs': [
546             '<(grit_out_dir)',
547           ],
548         }],
549         ['OS=="mac"', {
550           'link_settings': {
551             'libraries': [
552               '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
553             ],
554           },
555         }],
556       ],
557     },
558     # A library for sending and receiving server-issued notifications.
559     {
560       'target_name': 'sync_notifier',
561       'type': 'static_library',
562       'variables': { 'enable_wexit_time_destructors': 1, },
563       'sources': [
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',
585       ],
586       'include_dirs': [
587         '..',
588       ],
589       'dependencies': [
590         'sync',
591         '../jingle/jingle.gyp:notifier',
592         '../net/net.gyp:net',
593         '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
594       ],
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',
601       ],
602     },
603     {
604       'target_name': 'service',
605       'type': 'static_library',
606       'variables': { 'enable_wexit_time_destructors': 1, },
607       'dependencies': [
608         'chrome_resources.gyp:chrome_strings',
609         'common',
610         'common_net',
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',
617       ],
618       'sources': [
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',
657       ],
658       'include_dirs': [
659         '..',
660       ],
661       'conditions': [
662         ['OS=="win"', {
663           'defines': [
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',
667           ],
668           'sources': [
669             'service/cloud_print/print_system_win.cc',
670           ],
671         }],
672         ['toolkit_uses_gtk == 1', {
673           'dependencies': [
674             '../build/linux/system.gyp:gtk',
675           ],
676         }],
677         ['use_cups==1', {
678           'dependencies': [
679             '../printing/printing.gyp:cups',
680           ],
681           'defines': [
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',
685           ],
686           'sources': [
687             'service/cloud_print/print_system_cups.cc',
688           ],
689         }],
690       ],
691     },
692     {
693       'target_name': 'ipclist',
694       'type': 'executable',
695       'variables': { 'enable_wexit_time_destructors': 1, },
696       'dependencies': [
697         'test_support_common',
698         '../skia/skia.gyp:skia',
699       ],
700       'include_dirs': [
701          '..',
702       ],
703       'sources': [
704         'tools/ipclist/ipclist.cc',
705       ],
706     },
707   ],
708   'conditions': [
709     ['OS=="mac"',
710       { 'targets': [
711         {
712           'target_name': 'helper_app',
713           'type': 'executable',
714           'variables': { 'enable_wexit_time_destructors': 1, },
715           'product_name': '<(mac_product_name) Helper',
716           'mac_bundle': 1,
717           'dependencies': [
718             'chrome_dll',
719             'infoplist_strings_tool',
720           ],
721           'sources': [
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',
732           ],
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
735           # is listed here.
736           'mac_bundle_resources!': [
737             'app/helper-Info.plist',
738           ],
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/': [
743             ['exclude', '.*'],
744           ],
745           'xcode_settings': {
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',
750           },
751           'postbuilds': [
752             {
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
756               # languages.
757               'postbuild_name': 'Make Empty Localizations',
758               'variables': {
759                 'locale_dirs': [
760                   '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))',
761                 ],
762               },
763               'action': [
764                 'tools/build/mac/make_locale_dirs.sh',
765                 '<@(locale_dirs)',
766               ],
767             },
768             {
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
772               # helper_app.
773               'postbuild_name': 'Fix Framework Link',
774               'action': [
775                 'install_name_tool',
776                 '-change',
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}'
780               ],
781             },
782             {
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)',
790                          '--breakpad=0',
791                          '-k0',
792                          '-s0',
793                          '<(branding)',
794                          '<(mac_bundle_id)'],
795             },
796             {
797               # Make sure there isn't any Objective-C in the helper app's
798               # executable.
799               'postbuild_name': 'Verify No Objective-C',
800               'action': [
801                 'tools/build/mac/verify_no_objc.sh',
802               ],
803             },
804           ],
805           'conditions': [
806             ['mac_breakpad==1', {
807               'variables': {
808                 # A real .dSYM is needed for dump_syms to operate on.
809                 'mac_real_dsym': 1,
810               },
811               'xcode_settings': {
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)',
815               },
816             }],
817             ['asan==1', {
818               'xcode_settings': {
819                 # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
820                 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
821               },
822             }],
823           ],
824         },  # target helper_app
825         {
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',
832           'sources': [
833             'app/app_mode_loader_mac.mm',
834             'common/mac/app_mode_common.h',
835             'common/mac/app_mode_common.mm',
836           ],
837           'include_dirs': [
838             '..',
839           ],
840           'link_settings': {
841             'libraries': [
842               '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
843               '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
844             ],
845           },
846         },  # target app_mode_app
847         {
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,
853           'type': 'none',
854           'dependencies': [
855             'chrome',
856           ],
857           'variables': {
858             'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg',
859           },
860           'actions': [
861             {
862               'inputs': [
863                 '<(build_app_dmg_script_path)',
864                 '<(PRODUCT_DIR)/<(branding).app',
865               ],
866               'outputs': [
867                 '<(PRODUCT_DIR)/<(branding).dmg',
868               ],
869               'action_name': 'build_app_dmg',
870               'action': ['<(build_app_dmg_script_path)', '<@(branding)'],
871             },
872           ],  # 'actions'
873         },
874         {
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, },
880           'dependencies': [
881             'plugin_carbon_interpose',
882           ],
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.
886           'actions': [
887             {
888               'action_name': 'generate_stub_main',
889               'process_outputs_as_sources': 1,
890               'inputs': [],
891               'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
892               'action': [
893                 'bash', '-c',
894                 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
895               ],
896             },
897           ],
898         },
899         {
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, },
904           'dependencies': [
905             'chrome_dll',
906           ],
907           'sources': [
908             '../content/plugin/plugin_carbon_interpose_mac.cc',
909           ],
910           'include_dirs': [
911             '..',
912           ],
913           'link_settings': {
914             'libraries': [
915               '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
916             ],
917           },
918           'xcode_settings': {
919             'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
920             'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
921             'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
922           },
923           'postbuilds': [
924             {
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',
930               'action': [
931                 'install_name_tool',
932                 '-change',
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}'
936               ],
937             },
938           ],
939         },
940         {
941           'target_name': 'infoplist_strings_tool',
942           'type': 'executable',
943           'variables': { 'enable_wexit_time_destructors': 1, },
944           'dependencies': [
945             'chrome_resources.gyp:chrome_strings',
946             '../base/base.gyp:base',
947             '../ui/ui.gyp:ui',
948           ],
949           'include_dirs': [
950             '<(grit_out_dir)',
951           ],
952           'sources': [
953             'tools/mac_helpers/infoplist_strings_util.mm',
954           ],
955         },
956       ],  # targets
957     }, { # else: OS != "mac"
958       'targets': [
959         {
960           'target_name': 'convert_dict',
961           'type': 'executable',
962           'variables': { 'enable_wexit_time_destructors': 1, },
963           'dependencies': [
964             '../base/base.gyp:base',
965             '../base/base.gyp:base_i18n',
966             'convert_dict_lib',
967             '../third_party/hunspell/hunspell.gyp:hunspell',
968           ],
969           'sources': [
970             'tools/convert_dict/convert_dict.cc',
971           ],
972         },
973         {
974           'target_name': 'convert_dict_lib',
975           'product_name': 'convert_dict',
976           'type': 'static_library',
977           'variables': { 'enable_wexit_time_destructors': 1, },
978           'include_dirs': [
979             '..',
980           ],
981           'dependencies': [
982             '../base/base.gyp:base',
983           ],
984           'sources': [
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',
991           ],
992         },
993         {
994           'target_name': 'flush_cache',
995           'type': 'executable',
996           'dependencies': [
997             '../base/base.gyp:base',
998             '../base/base.gyp:test_support_base',
999           ],
1000           'sources': [
1001             'tools/perf/flush_cache/flush_cache.cc',
1002           ],
1003         },
1004       ],
1005     }],  # OS!="mac"
1006     ['OS=="linux"',
1007       { 'targets': [
1008         {
1009           'target_name': 'linux_symbols',
1010           'type': 'none',
1011           'conditions': [
1012             ['linux_dump_symbols==1', {
1013               'actions': [
1014                 {
1015                   'action_name': 'dump_symbols',
1016                   'inputs': [
1017                     '<(DEPTH)/build/linux/dump_app_syms',
1018                     '<(PRODUCT_DIR)/dump_syms',
1019                     '<(PRODUCT_DIR)/chrome',
1020                   ],
1021                   'outputs': [
1022                     '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)',
1023                   ],
1024                   'action': ['<(DEPTH)/build/linux/dump_app_syms',
1025                              '<(PRODUCT_DIR)/dump_syms',
1026                              '<(linux_strip_binary)',
1027                              '<(PRODUCT_DIR)/chrome',
1028                              '<@(_outputs)'],
1029                   'message': 'Dumping breakpad symbols to <(_outputs)',
1030                   'process_outputs_as_sources': 1,
1031                 },
1032               ],
1033               'dependencies': [
1034                 'chrome',
1035                 '../breakpad/breakpad.gyp:dump_syms',
1036               ],
1037             }],
1038             ['linux_strip_reliability_tests==1', {
1039               'actions': [
1040                 {
1041                   'action_name': 'strip_reliability_tests',
1042                   'inputs': [
1043                     '<(PRODUCT_DIR)/automated_ui_tests',
1044                     '<(PRODUCT_DIR)/reliability_tests',
1045                     '<(PRODUCT_DIR)/_pyautolib.so',
1046                   ],
1047                   'outputs': [
1048                     '<(PRODUCT_DIR)/strip_reliability_tests.stamp',
1049                   ],
1050                   'action': ['strip',
1051                              '-g',
1052                              '<@(_inputs)'],
1053                   'message': 'Stripping reliability tests',
1054                 },
1055               ],
1056               'dependencies': [
1057                 'automated_ui_tests',
1058                 'reliability_tests',
1059               ],
1060             }],
1061           ],
1062         },
1063         {
1064           'target_name': 'ipcfuzz',
1065           'type': 'loadable_module',
1066           'include_dirs': [
1067             '..',
1068           ],
1069           'dependencies': [
1070             'test_support_common',
1071             '../skia/skia.gyp:skia',
1072           ],
1073           'sources': [
1074             'tools/ipclist/ipcfuzz.cc',
1075           ],
1076         },
1077       ],
1078     },],  # OS=="linux"
1079     ['OS=="win"',
1080       { 'targets': [
1081         {
1082           # This target pulls in other binary targets into chrome.sln.
1083           'target_name': 'pull_in_all',
1084           'type': 'none',
1085           'dependencies': [
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:*',
1095             '../ipc/ipc.gyp:*',
1096             '../media/media.gyp:*',
1097             '../net/net.gyp:*',
1098             '../ppapi/ppapi.gyp:*',
1099             '../ppapi/ppapi_internal.gyp:*',
1100             '../printing/printing.gyp:*',
1101             '../rlz/rlz.gyp:*',
1102             '../sandbox/sandbox.gyp:*',
1103             '../sdch/sdch.gyp:*',
1104             '../skia/skia.gyp:*',
1105             '../sql/sql.gyp:*',
1106             '../testing/gmock.gyp:*',
1107             '../testing/gtest.gyp:*',
1108             '../tools/memory_watcher/memory_watcher.gyp:*',
1109             '../ui/ui.gyp:*',
1110             '../v8/tools/gyp/v8.gyp:v8_shell',
1111             '../webkit/support/webkit_support.gyp:*',
1112             '../webkit/webkit.gyp:*',
1113             '<(libjpeg_gyp_path):*',
1114           ],
1115           'conditions': [
1116             ['win_use_allocator_shim==1', {
1117               'dependencies': [
1118                 '../base/allocator/allocator.gyp:*',
1119               ],
1120             }],
1121           ],
1122         },
1123         {
1124           'target_name': 'chrome_version_resources',
1125           'type': 'none',
1126           'dependencies': [
1127             '../build/util/build_util.gyp:lastchange#target',
1128           ],
1129           'direct_dependent_settings': {
1130             'include_dirs': [
1131               '<(SHARED_INTERMEDIATE_DIR)/chrome_version',
1132             ],
1133           },
1134           'sources': [
1135             'app/chrome_exe.ver',
1136             'app/chrome_dll.ver',
1137             'app/nacl64_exe.ver',
1138             'app/other.ver',
1139           ],
1140           'rules': [
1141             {
1142               'rule_name': 'version',
1143               'extension': 'ver',
1144               'variables': {
1145                 'lastchange_path':
1146                   '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1147                 'template_input_path': 'app/chrome_version.rc.version',
1148               },
1149               'conditions': [
1150                 [ 'branding == "Chrome"', {
1151                   'variables': {
1152                      'branding_path': 'app/theme/google_chrome/BRANDING',
1153                   },
1154                 }, { # else branding!="Chrome"
1155                   'variables': {
1156                      'branding_path': 'app/theme/chromium/BRANDING',
1157                   },
1158                 }],
1159               ],
1160               'inputs': [
1161                 '<(template_input_path)',
1162                 '<(version_path)',
1163                 '<(branding_path)',
1164                 '<(lastchange_path)',
1165               ],
1166               'outputs': [
1167                 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/<(RULE_INPUT_ROOT)_version.rc',
1168               ],
1169               'action': [
1170                 'python',
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)',
1177                 '<@(_outputs)',
1178               ],
1179               'message': 'Generating version information in <(_outputs)'
1180             },
1181           ],
1182         },
1183         {
1184           'target_name': 'chrome_version_header',
1185           'type': 'none',
1186           'hard_dependency': 1,
1187           'dependencies': [
1188             '../build/util/build_util.gyp:lastchange#target',
1189           ],
1190           'actions': [
1191             {
1192               'action_name': 'version_header',
1193               'variables': {
1194                 'lastchange_path':
1195                   '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
1196               },
1197               'conditions': [
1198                 [ 'branding == "Chrome"', {
1199                   'variables': {
1200                      'branding_path': 'app/theme/google_chrome/BRANDING',
1201                   },
1202                 }, { # else branding!="Chrome"
1203                   'variables': {
1204                      'branding_path': 'app/theme/chromium/BRANDING',
1205                   },
1206                 }],
1207               ],
1208               'inputs': [
1209                 '<(version_path)',
1210                 '<(branding_path)',
1211                 '<(lastchange_path)',
1212                 'version.h.in',
1213               ],
1214               'outputs': [
1215                 '<(SHARED_INTERMEDIATE_DIR)/version.h',
1216               ],
1217               'action': [
1218                 'python',
1219                 '<(version_py_path)',
1220                 '-f', '<(version_path)',
1221                 '-f', '<(branding_path)',
1222                 '-f', '<(lastchange_path)',
1223                 'version.h.in',
1224                 '<@(_outputs)',
1225               ],
1226               'message': 'Generating version header file: <@(_outputs)',
1227             },
1228           ],
1229         },
1230         {
1231           'target_name': 'automation',
1232           'type': 'static_library',
1233           'dependencies': [
1234             'chrome_resources.gyp:theme_resources',
1235             '../skia/skia.gyp:skia',
1236           ],
1237           'include_dirs': [
1238             '..',
1239           ],
1240           'sources': [
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',
1262           ],
1263         },
1264         {
1265           'target_name': 'crash_service',
1266           'type': 'executable',
1267           'dependencies': [
1268             'app/policy/cloud_policy_codegen.gyp:policy',
1269             'common_constants',
1270             'installer_util',
1271             '../base/base.gyp:base',
1272             '../breakpad/breakpad.gyp:breakpad_handler',
1273             '../breakpad/breakpad.gyp:breakpad_sender',
1274           ],
1275           'include_dirs': [
1276             '..',
1277           ],
1278           'sources': [
1279             'tools/crash_service/crash_service.cc',
1280             'tools/crash_service/crash_service.h',
1281             'tools/crash_service/main.cc',
1282           ],
1283           'msvs_settings': {
1284             'VCLinkerTool': {
1285               'SubSystem': '2',         # Set /SUBSYSTEM:WINDOWS
1286             },
1287           },
1288         },
1289         {
1290           'target_name': 'crash_service_win64',
1291           'type': 'executable',
1292           'product_name': 'crash_service64',
1293           'dependencies': [
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',
1299           ],
1300           'include_dirs': [
1301             '..',
1302           ],
1303           'sources': [
1304             'tools/crash_service/crash_service.cc',
1305             'tools/crash_service/crash_service.h',
1306             'tools/crash_service/main.cc',
1307           ],
1308           'msvs_settings': {
1309             'VCLinkerTool': {
1310               'SubSystem': '2',         # Set /SUBSYSTEM:WINDOWS
1311             },
1312           },
1313           'configurations': {
1314             'Common_Base': {
1315               'msvs_target_platform': 'x64',
1316             },
1317           },
1318         },
1319         {
1320           'target_name': 'sb_sigutil',
1321           'type': 'executable',
1322           'dependencies': [
1323             '../base/base.gyp:base',
1324             'safe_browsing_proto',
1325           ],
1326           'sources': [
1327             'browser/safe_browsing/signature_util.h',
1328             'browser/safe_browsing/signature_util_win.cc',
1329             'tools/safe_browsing/sb_sigutil.cc',
1330           ],
1331         },
1332       ]},  # 'targets'
1333     ],  # OS=="win"
1334   ],  # 'conditions'