1 # Copyright (c) 2012 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.
8 # Define the common dependencies that contain all the actual
9 # Chromium functionality. This list gets pulled in below by
10 # the link of the actual chrome (or chromium) executable on
11 # Linux or Mac, and into chrome.dll on Windows.
12 # NOTE: Most new includes should go in the OS!="ios" condition below.
13 'chromium_browser_dependencies': [
16 '../content/content.gyp:content_app',
17 '../sync/sync.gyp:sync',
19 'chromium_child_dependencies': [
21 '../sync/sync.gyp:sync',
23 'allocator_target': '../base/allocator/allocator.gyp:allocator',
24 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
25 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
26 'repack_locales_cmd': ['python', 'tools/build/repack_locales.py'],
27 # TODO: remove this helper when we have loops in GYP
28 'apply_locales_cmd': ['python', '<(DEPTH)/build/apply_locales.py'],
31 'chromium_browser_dependencies': [
32 '../printing/printing.gyp:printing',
33 '../ppapi/ppapi_internal.gyp:ppapi_host',
35 'chromium_child_dependencies': [
40 '../content/content.gyp:content_gpu',
41 '../content/content.gyp:content_ppapi_plugin',
42 '../content/content.gyp:content_worker',
43 '../third_party/WebKit/Source/devtools/devtools.gyp:devtools_frontend_resources',
52 'platform_locale_settings_grd':
53 'app/resources/locale_settings_win.grd',
55 ['OS!="android" and OS!="ios"', {
56 'chromium_browser_dependencies': [
57 # Android doesn't use the service process (only needed for print).
70 ['branding=="Chrome"', {
71 'platform_locale_settings_grd':
72 'app/resources/locale_settings_google_chromeos.grd',
73 }, { # branding!=Chrome
74 'platform_locale_settings_grd':
75 'app/resources/locale_settings_chromiumos.grd',
79 'platform_locale_settings_grd':
80 'app/resources/locale_settings_linux.grd',
84 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "linux"', {
85 'platform_locale_settings_grd':
86 'app/resources/locale_settings_linux.grd',
89 'tweak_info_plist_path': '../build/mac/tweak_info_plist.py',
95 'platform_locale_settings_grd':
96 'app/resources/locale_settings_mac.grd',
98 ['branding=="Chrome"', {
99 'mac_bundle_id': 'com.google.Chrome',
100 'mac_creator': 'rimZ',
101 # The policy .grd file also needs the bundle id.
102 'grit_defines': ['-D', 'mac_bundle_id=com.google.Chrome'],
103 }, { # else: branding!="Chrome"
104 'mac_bundle_id': 'org.chromium.Chromium',
105 'mac_creator': 'Cr24',
106 # The policy .grd file also needs the bundle id.
107 'grit_defines': ['-D', 'mac_bundle_id=org.chromium.Chromium'],
111 # TODO(mcgrathr): This duplicates native_client/build/common.gypi;
112 # we should figure out a way to unify the settings.
113 ['target_arch=="ia32"', {
115 'NACL_TARGET_SUBARCH=32',
116 'NACL_TARGET_ARCH=x86',
117 'NACL_BUILD_SUBARCH=32',
118 'NACL_BUILD_ARCH=x86',
121 ['target_arch=="x64"', {
123 'NACL_TARGET_SUBARCH=64',
124 'NACL_TARGET_ARCH=x86',
125 'NACL_BUILD_SUBARCH=64',
126 'NACL_BUILD_ARCH=x86',
129 ['target_arch=="arm"', {
131 'NACL_BUILD_ARCH=arm',
132 'NACL_BUILD_SUBARCH=32',
133 'NACL_TARGET_ARCH=arm',
134 'NACL_TARGET_SUBARCH=32',
137 ['target_arch=="mipsel"', {
144 # Place some targets in gypi files to reduce contention on this file.
145 # By using an include, we keep everything in a single xcodeproj file.
146 # Note on Win64 targets: targets that end with win64 be used
147 # on 64-bit Windows only. Targets that end with nacl_win64 should be used
148 # by Native Client only.
149 # NOTE: Most new includes should go in the OS!="ios" condition below.
150 '../build/win_precompile.gypi',
151 'chrome_browser.gypi',
152 'chrome_browser_ui.gypi',
153 'chrome_common.gypi',
154 'chrome_installer_util.gypi',
155 'chrome_tests_unit.gypi',
161 'app/policy/policy_templates.gypi',
162 'chrome_browser_extensions.gypi',
165 'chrome_installer.gypi',
166 'chrome_renderer.gypi',
173 'target_name': 'default_extensions',
179 'destination': '<(PRODUCT_DIR)/extensions',
181 'browser/extensions/default_extensions/external_extensions.json'
186 ['OS=="linux" and chromeos==1 and branding=="Chrome"', {
189 'destination': '<(PRODUCT_DIR)',
191 'browser/extensions/default_extensions/chromeos/extensions/'
199 'target_name': 'debugger',
200 'type': 'static_library',
201 'variables': { 'enable_wexit_time_destructors': 1, },
203 'chrome_resources.gyp:chrome_extra_resources',
204 'chrome_resources.gyp:chrome_resources',
205 'chrome_resources.gyp:chrome_strings',
206 'chrome_resources.gyp:theme_resources',
207 'common/extensions/api/api.gyp:api',
208 '../base/base.gyp:base',
209 '../content/content.gyp:content_browser',
210 '../net/net.gyp:http_server',
211 '../net/net.gyp:net',
212 '../skia/skia.gyp:skia',
213 '../third_party/icu/icu.gyp:icui18n',
214 '../third_party/icu/icu.gyp:icuuc',
215 '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
221 'browser/devtools/adb/android_rsa.cc',
222 'browser/devtools/adb/android_rsa.h',
223 'browser/devtools/adb/android_usb_device.cc',
224 'browser/devtools/adb/android_usb_device.h',
225 'browser/devtools/adb/android_usb_socket.cc',
226 'browser/devtools/adb/android_usb_socket.h',
227 'browser/devtools/adb_client_socket.cc',
228 'browser/devtools/adb_client_socket.h',
229 'browser/devtools/browser_list_tabcontents_provider.cc',
230 'browser/devtools/browser_list_tabcontents_provider.h',
231 'browser/devtools/devtools_adb_bridge.cc',
232 'browser/devtools/devtools_adb_bridge.h',
233 'browser/devtools/devtools_file_helper.cc',
234 'browser/devtools/devtools_file_helper.h',
235 'browser/devtools/devtools_toggle_action.h',
236 'browser/devtools/devtools_window.cc',
237 'browser/devtools/devtools_window.h',
238 'browser/devtools/remote_debugging_server.cc',
239 'browser/devtools/remote_debugging_server.h',
240 'browser/devtools/tethering_adb_filter.cc',
241 'browser/devtools/tethering_adb_filter.h',
244 ['toolkit_uses_gtk == 1', {
246 '../build/linux/system.gyp:gtk',
251 'browser/devtools/browser_list_tabcontents_provider.cc',
252 'browser/devtools/devtools_window.cc',
253 'browser/devtools/remote_debugging_server.cc',
256 ['debug_devtools==1', {
262 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
263 'msvs_disabled_warnings': [ 4267, ],
266 'target_name': 'plugin',
267 'type': 'static_library',
268 'variables': { 'enable_wexit_time_destructors': 1, },
270 'chrome_resources.gyp:chrome_strings',
271 '../base/base.gyp:base',
272 '../content/content.gyp:content_plugin',
275 'plugin/chrome_content_plugin_client.cc',
276 'plugin/chrome_content_plugin_client.h',
284 'target_name': 'utility',
285 'type': 'static_library',
286 'variables': { 'enable_wexit_time_destructors': 1, },
288 '../base/base.gyp:base',
289 '../content/content.gyp:content_utility',
290 '../skia/skia.gyp:skia',
291 '../third_party/libxml/libxml.gyp:libxml',
293 '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources',
294 '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings',
297 'utility/chrome_content_utility_client.cc',
298 'utility/chrome_content_utility_client.h',
299 'utility/extensions/unpacker.cc',
300 'utility/extensions/unpacker.h',
301 'utility/importer/bookmark_html_reader.cc',
302 'utility/importer/bookmark_html_reader.h',
303 'utility/importer/bookmarks_file_importer.cc',
304 'utility/importer/bookmarks_file_importer.h',
305 'utility/importer/external_process_importer_bridge.cc',
306 'utility/importer/external_process_importer_bridge.h',
307 'utility/importer/favicon_reencode.cc',
308 'utility/importer/favicon_reencode.h',
309 'utility/importer/firefox_importer.cc',
310 'utility/importer/firefox_importer.h',
311 'utility/importer/firefox_importer_unittest_messages_internal.h',
312 'utility/importer/firefox_importer_unittest_utils.h',
313 'utility/importer/firefox_importer_unittest_utils_mac.cc',
314 'utility/importer/ie_importer_win.cc',
315 'utility/importer/ie_importer_win.h',
316 'utility/importer/importer.cc',
317 'utility/importer/importer.h',
318 'utility/importer/importer_creator.cc',
319 'utility/importer/importer_creator.h',
320 'utility/importer/nss_decryptor.cc',
321 'utility/importer/nss_decryptor.h',
322 'utility/importer/nss_decryptor_mac.h',
323 'utility/importer/nss_decryptor_mac.mm',
324 'utility/importer/nss_decryptor_win.cc',
325 'utility/importer/nss_decryptor_win.h',
326 'utility/importer/safari_importer.h',
327 'utility/importer/safari_importer.mm',
328 'utility/itunes_pref_parser_win.cc',
329 'utility/itunes_pref_parser_win.h',
330 'utility/profile_import_handler.cc',
331 'utility/profile_import_handler.h',
332 'utility/utility_message_handler.h',
333 'utility/web_resource_unpacker.cc',
334 'utility/web_resource_unpacker.h',
341 ['toolkit_uses_gtk == 1', {
343 '../build/linux/system.gyp:gtk',
346 ['OS=="win" or OS=="mac"', {
348 'utility/itunes_library_parser.cc',
349 'utility/itunes_library_parser.h',
350 'utility/media_galleries/picasa_album_table_reader.cc',
351 'utility/media_galleries/picasa_album_table_reader.h',
352 'utility/media_galleries/picasa_albums_indexer.cc',
353 'utility/media_galleries/picasa_albums_indexer.h',
354 'utility/media_galleries/pmp_column_reader.cc',
355 'utility/media_galleries/pmp_column_reader.h',
360 'utility/importer/nss_decryptor.cc',
363 ['OS!="win" and OS!="mac" and use_openssl==0', {
365 '../crypto/crypto.gyp:crypto',
368 'utility/importer/nss_decryptor_system_nss.cc',
369 'utility/importer/nss_decryptor_system_nss.h',
374 ['exclude', '^utility/importer/'],
375 ['exclude', '^utility/profile_import_handler\.cc'],
378 ['enable_mdns == 1', {
380 'utility/local_discovery/local_domain_resolver.cc',
381 'utility/local_discovery/local_domain_resolver.h',
382 'utility/local_discovery/service_discovery_client_impl.cc',
383 'utility/local_discovery/service_discovery_client_impl.h',
384 'utility/local_discovery/service_discovery_message_handler.cc',
385 'utility/local_discovery/service_discovery_message_handler.h',
389 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
390 'msvs_disabled_warnings': [ 4267, ],
393 'target_name': 'service',
394 'type': 'static_library',
395 'variables': { 'enable_wexit_time_destructors': 1, },
397 'chrome_resources.gyp:chrome_strings',
400 '../base/base.gyp:base',
401 '../google_apis/google_apis.gyp:google_apis',
402 '../jingle/jingle.gyp:notifier',
403 '../net/net.gyp:net',
404 '../printing/printing.gyp:printing',
405 '../skia/skia.gyp:skia',
406 '../third_party/libjingle/libjingle.gyp:libjingle',
409 'service/chrome_service_application_mac.h',
410 'service/chrome_service_application_mac.mm',
411 'service/service_ipc_server.cc',
412 'service/service_ipc_server.h',
413 'service/service_main.cc',
414 'service/service_process.cc',
415 'service/service_process.h',
416 'service/service_process_prefs.cc',
417 'service/service_process_prefs.h',
418 'service/service_utility_process_host.cc',
419 'service/service_utility_process_host.h',
420 'service/cloud_print/cloud_print_auth.cc',
421 'service/cloud_print/cloud_print_auth.h',
422 'service/cloud_print/cloud_print_connector.cc',
423 'service/cloud_print/cloud_print_connector.h',
424 'service/cloud_print/cloud_print_helpers.cc',
425 'service/cloud_print/cloud_print_helpers.h',
426 'service/cloud_print/cloud_print_proxy.cc',
427 'service/cloud_print/cloud_print_proxy.h',
428 'service/cloud_print/cloud_print_proxy_backend.cc',
429 'service/cloud_print/cloud_print_proxy_backend.h',
430 'service/cloud_print/cloud_print_token_store.cc',
431 'service/cloud_print/cloud_print_token_store.h',
432 'service/cloud_print/cloud_print_url_fetcher.cc',
433 'service/cloud_print/cloud_print_url_fetcher.h',
434 'service/cloud_print/cloud_print_wipeout.cc',
435 'service/cloud_print/cloud_print_wipeout.h',
436 'service/cloud_print/connector_settings.cc',
437 'service/cloud_print/connector_settings.h',
438 'service/cloud_print/job_status_updater.cc',
439 'service/cloud_print/job_status_updater.h',
440 'service/cloud_print/print_system_dummy.cc',
441 'service/cloud_print/print_system.cc',
442 'service/cloud_print/print_system.h',
443 'service/cloud_print/printer_job_handler.cc',
444 'service/cloud_print/printer_job_handler.h',
445 'service/cloud_print/printer_job_queue_handler.cc',
446 'service/cloud_print/printer_job_queue_handler.h',
447 'service/net/service_url_request_context.cc',
448 'service/net/service_url_request_context.h',
456 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
457 # of cloud print system, and allows to use custom implementaiton.
458 'CP_PRINT_SYSTEM_AVAILABLE',
461 'service/cloud_print/print_system_win.cc',
464 ['toolkit_uses_gtk == 1', {
466 '../build/linux/system.gyp:gtk',
471 '../printing/printing.gyp:cups',
474 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
475 # of cloud print system, and allows to use custom implementaiton.
476 'CP_PRINT_SYSTEM_AVAILABLE',
479 'service/cloud_print/print_system_cups.cc',
485 'target_name': 'ipclist',
486 'type': 'executable',
487 'variables': { 'enable_wexit_time_destructors': 1, },
489 'test_support_common',
490 '../skia/skia.gyp:skia',
491 '../sync/sync.gyp:sync',
497 'tools/ipclist/ipclist.cc',
505 'target_name': 'helper_app',
506 'type': 'executable',
507 'variables': { 'enable_wexit_time_destructors': 1, },
508 'product_name': '<(mac_product_name) Helper',
512 'infoplist_strings_tool',
515 # chrome_exe_main_mac.cc's main() is the entry point for
516 # the "chrome" (browser app) target. All it does is jump
517 # to chrome_dll's ChromeMain. This is appropriate for
518 # helper processes too, because the logic to discriminate
519 # between process types at run time is actually directed
520 # by the --type command line argument processed by
521 # ChromeMain. Sharing chrome_exe_main_mac.cc with the
522 # browser app will suffice for now.
523 'app/chrome_exe_main_mac.cc',
524 'app/helper-Info.plist',
526 # TODO(mark): Come up with a fancier way to do this. It should only
527 # be necessary to list helper-Info.plist once, not the three times it
529 'mac_bundle_resources!': [
530 'app/helper-Info.plist',
532 # TODO(mark): For now, don't put any resources into this app. Its
533 # resources directory will be a symbolic link to the browser app's
534 # resources directory.
535 'mac_bundle_resources/': [
539 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
540 'CHROMIUM_SHORT_NAME': '<(branding)',
541 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves',
542 'INFOPLIST_FILE': 'app/helper-Info.plist',
546 # The helper doesn't have real localizations, it just has
547 # empty .lproj directories, which is enough to convince Cocoa
548 # that anything running out of the helper .app supports those
550 'postbuild_name': 'Make Empty Localizations',
553 '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))',
557 'tools/build/mac/make_locale_dirs.sh',
562 # The framework (chrome_dll) defines its load-time path
563 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
564 # (chrome). A different relative path needs to be used in
566 'postbuild_name': 'Fix Framework Link',
570 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
571 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
572 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
576 # Modify the Info.plist as needed. The script explains why this
577 # is needed. This is also done in the chrome and chrome_dll
578 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
579 # are used because Breakpad, Keystone, and SCM keys are
580 # never placed into the helper.
581 'postbuild_name': 'Tweak Info.plist',
582 'action': ['<(tweak_info_plist_path)',
588 # Make sure there isn't any Objective-C in the helper app's
590 'postbuild_name': 'Verify No Objective-C',
592 '../build/mac/verify_no_objc.sh',
597 ['mac_breakpad==1', {
599 # A real .dSYM is needed for dump_syms to operate on.
603 # With mac_real_dsym set, strip_from_xcode won't be used.
604 # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode.
605 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
610 # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
611 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
614 ['component=="shared_library"', {
616 'LD_RUNPATH_SEARCH_PATHS': [
617 # Get back from Chromium.app/Contents/Versions/V/
618 # Helper.app/Contents/MacOS
619 '@loader_path/../../../../../../..',
624 }, # target helper_app
626 # A library containing the actual code for the app mode app, shared
628 'target_name': 'app_mode_app_support',
629 'type': 'static_library',
630 'variables': { 'enable_wexit_time_destructors': 1, },
631 'product_name': 'app_mode_app_support',
633 '../base/base.gyp:base',
634 'common_constants.gyp:common_constants',
637 'common/mac/app_mode_chrome_locator.h',
638 'common/mac/app_mode_chrome_locator.mm',
639 'common/mac/app_mode_common.h',
640 'common/mac/app_mode_common.mm',
645 }, # target app_mode_app_support
647 # This produces the template for app mode loader bundles. It's a
648 # template in the sense that parts of it need to be "filled in" by
649 # Chrome before it can be executed.
650 'target_name': 'app_mode_app',
651 'type': 'executable',
653 'variables': { 'enable_wexit_time_destructors': 1, },
654 'product_name': 'app_mode_loader',
656 'app_mode_app_support',
657 'infoplist_strings_tool',
660 'app/app_mode_loader_mac.mm',
661 'app/app_mode-Info.plist',
668 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
669 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
672 'mac_bundle_resources!': [
673 'app/app_mode-Info.plist',
675 'mac_bundle_resources/': [
679 'INFOPLIST_FILE': 'app/app_mode-Info.plist',
680 'APP_MODE_APP_BUNDLE_ID': '<(mac_bundle_id).app.@APP_MODE_SHORTCUT_ID@',
684 # Modify the Info.plist as needed. The script explains why this
685 # is needed. This is also done in the chrome and chrome_dll
686 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
687 # are used because Breakpad, Keystone, and SCM keys are
688 # never placed into the app mode loader.
689 'postbuild_name': 'Tweak Info.plist',
690 'action': ['<(tweak_info_plist_path)',
696 }, # target app_mode_app
698 # Convenience target to build a disk image.
699 'target_name': 'build_app_dmg',
700 # Don't place this in the 'all' list; most won't want it.
701 # In GYP, booleans are 0/1, not True/False.
702 'suppress_wildcard': 1,
708 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg',
709 'pkg_dmg_script_path': 'installer/mac/pkg-dmg',
712 # This duplicates the output path from build_app_dmg.
713 ['branding=="Chrome"', {
714 'dmg_name': 'GoogleChrome.dmg',
715 }, { # else: branding!="Chrome"
716 'dmg_name': 'Chromium.dmg',
723 '<(build_app_dmg_script_path)',
724 '<(pkg_dmg_script_path)',
725 '<(PRODUCT_DIR)/<(mac_product_name).app',
728 '<(PRODUCT_DIR)/<(dmg_name)',
730 'action_name': 'build_app_dmg',
731 'action': ['<(build_app_dmg_script_path)', '<@(branding)'],
736 # Dummy target to allow chrome to require plugin_carbon_interpose to
737 # build without actually linking to the resulting library.
738 'target_name': 'interpose_dependency_shim',
739 'type': 'executable',
740 'variables': { 'enable_wexit_time_destructors': 1, },
742 'plugin_carbon_interpose',
744 # In release, we end up with a strip step that is unhappy if there is
745 # no binary. Rather than check in a new file for this temporary hack,
746 # just generate a source file on the fly.
749 'action_name': 'generate_stub_main',
750 'process_outputs_as_sources': 1,
752 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
755 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
761 # dylib for interposing Carbon calls in the plugin process.
762 'target_name': 'plugin_carbon_interpose',
763 'type': 'shared_library',
764 'variables': { 'enable_wexit_time_destructors': 1, },
765 # This target must not depend on static libraries, else the code in
766 # those libraries would appear twice in plugin processes: Once from
767 # Chromium Framework, and once from this dylib.
772 ['component=="shared_library"', {
774 '../webkit/support/webkit_support.gyp:glue',
775 '../content/content.gyp:content_plugin',
778 'LD_RUNPATH_SEARCH_PATHS': [
779 # Get back from Chromium.app/Contents/Versions/V
780 '@loader_path/../../../..',
786 '../content/plugin/plugin_carbon_interpose_mac.cc',
793 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
797 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
798 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
799 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
803 # The framework (chrome_dll) defines its load-time path
804 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
805 # (chrome). A different relative path needs to be used in
806 # plugin_carbon_interpose, which runs in the helper_app.
807 'postbuild_name': 'Fix Framework Link',
811 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
812 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
813 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
819 'target_name': 'infoplist_strings_tool',
820 'type': 'executable',
821 'variables': { 'enable_wexit_time_destructors': 1, },
823 'chrome_resources.gyp:chrome_strings',
824 '../base/base.gyp:base',
831 'tools/mac_helpers/infoplist_strings_util.mm',
836 ['OS!="mac" and OS!="ios"', {
839 'target_name': 'convert_dict',
840 'type': 'executable',
841 'variables': { 'enable_wexit_time_destructors': 1, },
843 '../base/base.gyp:base',
844 '../base/base.gyp:base_i18n',
846 '../third_party/hunspell/hunspell.gyp:hunspell',
849 'tools/convert_dict/convert_dict.cc',
853 'target_name': 'convert_dict_lib',
854 'product_name': 'convert_dict',
855 'type': 'static_library',
856 'variables': { 'enable_wexit_time_destructors': 1, },
861 '../base/base.gyp:base',
864 'tools/convert_dict/aff_reader.cc',
865 'tools/convert_dict/aff_reader.h',
866 'tools/convert_dict/dic_reader.cc',
867 'tools/convert_dict/dic_reader.h',
868 'tools/convert_dict/hunspell_reader.cc',
869 'tools/convert_dict/hunspell_reader.h',
873 'target_name': 'flush_cache',
874 'type': 'executable',
876 '../base/base.gyp:base',
877 '../base/base.gyp:test_support_base',
880 'tools/perf/flush_cache/flush_cache.cc',
884 }], # OS!="mac" and OS!="ios"
888 'target_name': 'linux_symbols',
891 ['linux_dump_symbols==1', {
894 'action_name': 'dump_symbols',
896 '<(DEPTH)/build/linux/dump_app_syms',
897 '<(PRODUCT_DIR)/dump_syms',
898 '<(PRODUCT_DIR)/chrome',
901 '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)',
903 'action': ['<(DEPTH)/build/linux/dump_app_syms',
904 '<(PRODUCT_DIR)/dump_syms',
905 '<(linux_strip_binary)',
906 '<(PRODUCT_DIR)/chrome',
908 'message': 'Dumping breakpad symbols to <(_outputs)',
909 'process_outputs_as_sources': 1,
914 '../breakpad/breakpad.gyp:dump_syms',
917 ['linux_strip_reliability_tests==1', {
920 'action_name': 'strip_reliability_tests',
922 '<(PRODUCT_DIR)/automated_ui_tests',
923 '<(PRODUCT_DIR)/reliability_tests',
924 '<(PRODUCT_DIR)/_pyautolib.so',
927 '<(PRODUCT_DIR)/strip_reliability_tests.stamp',
932 'message': 'Stripping reliability tests',
936 'automated_ui_tests',
943 'target_name': 'ipcfuzz',
944 'type': 'loadable_module',
949 'test_support_common',
950 '../skia/skia.gyp:skia',
953 'tools/ipclist/ipcfuzz.cc',
961 # For historical reasons, chrome/chrome.sln has been the entry point
962 # for new Chrome developers. To assist development, include several
963 # core unittests that are otherwise only accessible side-by-side with
964 # chrome via all/all.sln.
965 'target_name': 'test_targets',
968 '../base/base.gyp:base_unittests',
969 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
970 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
971 '../content/content.gyp:content_browsertests',
972 '../content/content.gyp:content_shell',
973 '../content/content.gyp:content_unittests',
974 '../net/net.gyp:net_unittests',
975 '../ui/ui.gyp:ui_unittests',
978 ['use_aura==1 or target_arch=="x64"', {
980 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
981 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
987 'target_name': 'chrome_version_resources',
990 ['branding == "Chrome"', {
992 'branding_path': 'app/theme/google_chrome/BRANDING',
994 }, { # else branding!="Chrome"
996 'branding_path': 'app/theme/chromium/BRANDING',
1001 'output_dir': 'chrome_version',
1002 'template_input_path': 'app/chrome_version.rc.version',
1004 'direct_dependent_settings': {
1006 '<(SHARED_INTERMEDIATE_DIR)/<(output_dir)',
1010 'app/app_host_exe.ver',
1011 'app/chrome_exe.ver',
1012 'app/chrome_dll.ver',
1013 'app/nacl64_exe.ver',
1017 'version_resource_rules.gypi',
1021 'target_name': 'chrome_version_header',
1023 'hard_dependency': 1,
1026 'action_name': 'version_header',
1029 '<(DEPTH)/build/util/LASTCHANGE',
1032 ['branding == "Chrome"', {
1034 'branding_path': 'app/theme/google_chrome/BRANDING',
1036 }, { # else branding!="Chrome"
1038 'branding_path': 'app/theme/chromium/BRANDING',
1045 '<(lastchange_path)',
1049 '<(SHARED_INTERMEDIATE_DIR)/version.h',
1053 '<(version_py_path)',
1054 '-f', '<(version_path)',
1055 '-f', '<(branding_path)',
1056 '-f', '<(lastchange_path)',
1060 'message': 'Generating version header file: <@(_outputs)',
1065 'target_name': 'automation',
1066 'type': 'static_library',
1068 'chrome_resources.gyp:theme_resources',
1069 '../skia/skia.gyp:skia',
1075 'test/automation/automation_handle_tracker.cc',
1076 'test/automation/automation_handle_tracker.h',
1077 'test/automation/automation_json_requests.cc',
1078 'test/automation/automation_json_requests.h',
1079 'test/automation/automation_proxy.cc',
1080 'test/automation/automation_proxy.h',
1081 'test/automation/browser_proxy.cc',
1082 'test/automation/browser_proxy.h',
1083 'test/automation/tab_proxy.cc',
1084 'test/automation/tab_proxy.h',
1085 'test/automation/value_conversion_traits.cc',
1086 'test/automation/value_conversion_traits.h',
1087 'test/automation/value_conversion_util.h',
1088 'test/automation/window_proxy.cc',
1089 'test/automation/window_proxy.h',
1093 'target_name': 'crash_service',
1094 'type': 'executable',
1097 '../base/base.gyp:base',
1098 '../breakpad/breakpad.gyp:breakpad_handler',
1099 '../breakpad/breakpad.gyp:breakpad_sender',
1100 '../chrome/common_constants.gyp:common_constants',
1106 'tools/crash_service/crash_service.cc',
1107 'tools/crash_service/crash_service.h',
1108 'tools/crash_service/main.cc',
1112 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1117 'target_name': 'sb_sigutil',
1118 'type': 'executable',
1120 '../base/base.gyp:base',
1121 'safe_browsing_proto',
1124 'browser/safe_browsing/signature_util.h',
1125 'browser/safe_browsing/signature_util_win.cc',
1126 'tools/safe_browsing/sb_sigutil.cc',
1131 'chrome_process_finder.gypi',
1135 ['OS=="win" and target_arch=="ia32"',
1138 'target_name': 'chrome_user32_delay_imports',
1141 'lib_dir': '<(INTERMEDIATE_DIR)',
1144 'chrome.user32.delay.imports'
1147 '../build/win/importlibs/create_import_lib.gypi',
1149 'direct_dependent_settings': {
1152 'AdditionalLibraryDirectories': ['<(lib_dir)', ],
1153 'AdditionalDependencies': ['chrome.user32.delay.lib', ],
1159 'target_name': 'crash_service_win64',
1160 'type': 'executable',
1161 'product_name': 'crash_service64',
1163 'installer_util_nacl_win64',
1164 '../base/base.gyp:base_static_win64',
1165 '../breakpad/breakpad.gyp:breakpad_handler_win64',
1166 '../breakpad/breakpad.gyp:breakpad_sender_win64',
1167 '../chrome/common_constants.gyp:common_constants_win64',
1173 'tools/crash_service/crash_service.cc',
1174 'tools/crash_service/crash_service.h',
1175 'tools/crash_service/main.cc',
1176 '../content/public/common/content_switches.cc',
1179 'COMPILE_CONTENT_STATICALLY',
1183 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1188 'msvs_target_platform': 'x64',
1193 ], # OS=="win" and target_arch=="ia32"
1195 'includes': [ 'chrome_browser_chromeos.gypi' ],
1201 'target_name': 'chrome_java',
1204 'chrome_resources.gyp:chrome_strings',
1205 'profile_sync_service_model_type_selection_java',
1207 'toolbar_model_security_levels_java',
1208 '../base/base.gyp:base',
1209 '../components/components.gyp:autofill_java',
1210 '../components/components.gyp:navigation_interception_java',
1211 '../components/components.gyp:sessions',
1212 '../components/components.gyp:web_contents_delegate_android_java',
1213 '../content/content.gyp:content_java',
1214 '../sync/sync.gyp:sync_java',
1215 '../third_party/guava/guava.gyp:guava_javalib',
1216 '../ui/ui.gyp:ui_java',
1219 'java_in_dir': '../chrome/android/java',
1220 'has_java_resources': 1,
1221 'R_package': 'org.chromium.chrome',
1222 'R_package_relpath': 'org/chromium/chrome',
1223 'java_strings_grd': 'android_chrome_strings.grd',
1224 # Include xml string files generated from generated_resources.grd
1225 'res_extra_dirs': ['<(SHARED_INTERMEDIATE_DIR)/chrome/java/res'],
1226 'res_extra_files': ['<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(SHARED_INTERMEDIATE_DIR)/chrome" app/generated_resources.grd)'],
1229 '../build/java.gypi',
1234 'chrome_android.gypi',
1237 ['configuration_policy==1 and OS!="android"', {
1238 'includes': [ 'policy.gypi', ],