# Copyright (c) 2009 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'includes': [ '../third_party/WebKit/WebKit/chromium/features.gypi', '../third_party/WebKit/WebCore/WebCore.gypi', ], 'variables': { # TODO: remove this helper when we have loops in GYP 'apply_locales_cmd': ['python', '../chrome/tools/build/apply_locales.py',], # We can't turn on warnings on Windows and Linux until we upstream the # WebKit API. 'conditions': [ ['OS=="mac"', { 'chromium_code': 1, }], ], # List of DevTools source files, ordered by dependencies. It is used both # for copying them to resource dir, and for generating 'devtools.html' file. 'devtools_files': [ 'glue/devtools/js/devtools.css', 'glue/devtools/js/base.js', 'glue/devtools/js/inspector_controller_impl.js', 'glue/devtools/js/debugger_agent.js', '../v8/tools/codemap.js', '../v8/tools/consarray.js', '../v8/tools/csvparser.js', '../v8/tools/logreader.js', '../v8/tools/profile.js', '../v8/tools/profile_view.js', '../v8/tools/splaytree.js', 'glue/devtools/js/profiler_agent.js', 'glue/devtools/js/profiler_processor.js', 'glue/devtools/js/heap_profiler_panel.js', 'glue/devtools/js/devtools.js', 'glue/devtools/js/devtools_host_stub.js', 'glue/devtools/js/tests.js', ], 'debug_devtools%': 0, }, 'targets': [ { # Currently, builders assume webkit.sln builds test_shell on windows. # We should change this, but for now allows trybot runs. # for now. 'target_name': 'pull_in_test_shell', 'type': 'none', 'conditions': [ ['OS=="win"', { 'dependencies': [ 'tools/test_shell/test_shell.gyp:*', ], }], ], }, { 'target_name': 'pull_in_webkit_unit_tests', 'type': 'none', 'dependencies': [ '../third_party/WebKit/WebKit/chromium/WebKit.gyp:webkit_unit_tests' ], }, { 'target_name': 'webkit_resources', 'type': 'none', 'msvs_guid': '0B469837-3D46-484A-AFB3-C5A6C68730B9', 'variables': { 'grit_path': '../tools/grit/grit.py', 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/webkit', }, 'actions': [ { 'action_name': 'webkit_resources', 'variables': { 'input_path': 'glue/webkit_resources.grd', }, 'inputs': [ '<(input_path)', ], 'outputs': [ '<(grit_out_dir)/grit/webkit_resources.h', '<(grit_out_dir)/webkit_resources.pak', '<(grit_out_dir)/webkit_resources.rc', ], 'action': ['python', '<(grit_path)', '-i', '<(input_path)', 'build', '-o', '<(grit_out_dir)'], 'message': 'Generating resources from <(input_path)', }, ], 'direct_dependent_settings': { 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/webkit', ], }, 'conditions': [ ['OS=="win"', { 'dependencies': ['../build/win/system.gyp:cygwin'], }], ], }, { 'target_name': 'webkit_strings', 'type': 'none', 'msvs_guid': '60B43839-95E6-4526-A661-209F16335E0E', 'variables': { 'grit_path': '../tools/grit/grit.py', 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/webkit', }, 'actions': [ { 'action_name': 'webkit_strings', 'variables': { 'input_path': 'glue/webkit_strings.grd', }, 'inputs': [ '<(input_path)', ], 'outputs': [ '<(grit_out_dir)/grit/webkit_strings.h', # TODO: remove this helper when we have loops in GYP '>!@(<(apply_locales_cmd) \'<(grit_out_dir)/webkit_strings_ZZLOCALE.pak\' <(locales))', ], 'action': ['python', '<(grit_path)', '-i', '<(input_path)', 'build', '-o', '<(grit_out_dir)'], 'message': 'Generating resources from <(input_path)', }, ], 'direct_dependent_settings': { 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/webkit', ], }, 'conditions': [ ['OS=="win"', { 'dependencies': ['../build/win/system.gyp:cygwin'], }], ], }, { 'target_name': 'appcache', 'type': '<(library)', 'msvs_guid': '0B945915-31A7-4A07-A5B5-568D737A39B1', 'dependencies': [ '../app/app.gyp:app_base', '../net/net.gyp:net', '../third_party/WebKit/WebKit/chromium/WebKit.gyp:webkit', ], 'sources': [ # This list contains all .h and .cc in appcache except for test code. 'appcache/appcache.cc', 'appcache/appcache.h', 'appcache/appcache_backend_impl.cc', 'appcache/appcache_backend_impl.h', 'appcache/appcache_database.cc', 'appcache/appcache_database.h', 'appcache/appcache_entry.h', 'appcache/appcache_frontend_impl.cc', 'appcache/appcache_frontend_impl.h', 'appcache/appcache_group.cc', 'appcache/appcache_group.h', 'appcache/appcache_host.cc', 'appcache/appcache_host.h', 'appcache/appcache_interceptor.cc', 'appcache/appcache_interceptor.h', 'appcache/appcache_interfaces.cc', 'appcache/appcache_interfaces.h', 'appcache/appcache_request_handler.cc', 'appcache/appcache_request_handler.h', 'appcache/appcache_response.cc', 'appcache/appcache_response.h', 'appcache/appcache_service.cc', 'appcache/appcache_service.h', 'appcache/appcache_storage.cc', 'appcache/appcache_storage.h', 'appcache/appcache_storage_impl.cc', 'appcache/appcache_storage_impl.h', 'appcache/appcache_thread.cc', 'appcache/appcache_thread.h', 'appcache/appcache_working_set.cc', 'appcache/appcache_working_set.h', 'appcache/appcache_update_job.cc', 'appcache/appcache_update_job.h', 'appcache/appcache_url_request_job.cc', 'appcache/appcache_url_request_job.h', 'appcache/manifest_parser.cc', 'appcache/manifest_parser.h', 'appcache/mock_appcache_storage.cc', 'appcache/mock_appcache_storage.h', 'appcache/web_application_cache_host_impl.cc', 'appcache/web_application_cache_host_impl.h', ], }, { 'target_name': 'database', 'type': '<(library)', 'msvs_guid': '1DA00DDD-44E5-4C56-B2CC-414FB0164492', 'dependencies': [ '../app/app.gyp:app_base', '../base/base.gyp:base', '../third_party/sqlite/sqlite.gyp:sqlite', ], 'sources': [ 'database/databases_table.cc', 'database/databases_table.h', 'database/database_connections.cc', 'database/database_connections.h', 'database/database_tracker.cc', 'database/database_tracker.h', 'database/database_util.cc', 'database/database_util.h', 'database/quota_table.cc', 'database/quota_table.h', 'database/vfs_backend.cc', 'database/vfs_backend.h', ], }, { 'target_name': 'glue', 'type': '<(library)', 'msvs_guid': 'C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09', 'dependencies': [ '../app/app.gyp:app_base', '../net/net.gyp:net', 'inspector_resources', '../third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp:webcore', '../third_party/WebKit/WebKit/chromium/WebKit.gyp:webkit', 'webkit_resources', 'webkit_strings', ], 'actions': [ { 'action_name': 'webkit_version', 'inputs': [ 'build/webkit_version.py', '../third_party/WebKit/WebCore/Configurations/Version.xcconfig', ], 'outputs': [ '<(INTERMEDIATE_DIR)/webkit_version.h', ], 'action': ['python', '<@(_inputs)', '<(INTERMEDIATE_DIR)'], }, ], 'include_dirs': [ '<(INTERMEDIATE_DIR)', '<(SHARED_INTERMEDIATE_DIR)/webkit', ], 'sources': [ # This list contains all .h, .cc, and .mm files in glue except for # those in the test subdirectory and those with unittest in in their # names. 'glue/devtools/apu_agent_delegate.h', 'glue/devtools/bound_object.cc', 'glue/devtools/bound_object.h', 'glue/devtools/debugger_agent.h', 'glue/devtools/debugger_agent_impl.cc', 'glue/devtools/debugger_agent_impl.h', 'glue/devtools/debugger_agent_manager.cc', 'glue/devtools/debugger_agent_manager.h', 'glue/devtools/devtools_message_data.cc', 'glue/devtools/devtools_message_data.h', 'glue/devtools/devtools_rpc.h', 'glue/devtools/devtools_rpc_js.h', 'glue/devtools/profiler_agent.h', 'glue/devtools/profiler_agent_impl.cc', 'glue/devtools/profiler_agent_impl.h', 'glue/devtools/tools_agent.h', 'glue/media/buffered_data_source.cc', 'glue/media/buffered_data_source.h', 'glue/media/media_resource_loader_bridge_factory.cc', 'glue/media/media_resource_loader_bridge_factory.h', 'glue/media/simple_data_source.cc', 'glue/media/simple_data_source.h', 'glue/media/video_renderer_impl.cc', 'glue/media/video_renderer_impl.h', 'glue/plugins/coregraphics_private_symbols_mac.h', 'glue/plugins/nphostapi.h', 'glue/plugins/fake_plugin_window_tracker_mac.h', 'glue/plugins/fake_plugin_window_tracker_mac.cc', 'glue/plugins/gtk_plugin_container.h', 'glue/plugins/gtk_plugin_container.cc', 'glue/plugins/gtk_plugin_container_manager.h', 'glue/plugins/gtk_plugin_container_manager.cc', 'glue/plugins/npapi_extension_thunk.cc', 'glue/plugins/npapi_extension_thunk.h', 'glue/plugins/plugin_constants_win.h', 'glue/plugins/plugin_host.cc', 'glue/plugins/plugin_host.h', 'glue/plugins/plugin_instance.cc', 'glue/plugins/plugin_instance.h', 'glue/plugins/plugin_instance_mac.mm', 'glue/plugins/plugin_lib.cc', 'glue/plugins/plugin_lib.h', 'glue/plugins/plugin_lib_linux.cc', 'glue/plugins/plugin_lib_mac.mm', 'glue/plugins/plugin_lib_win.cc', 'glue/plugins/plugin_list.cc', 'glue/plugins/plugin_list.h', 'glue/plugins/plugin_list_linux.cc', 'glue/plugins/plugin_list_mac.mm', 'glue/plugins/plugin_list_win.cc', 'glue/plugins/plugin_stream.cc', 'glue/plugins/plugin_stream.h', 'glue/plugins/plugin_stream_posix.cc', 'glue/plugins/plugin_stream_url.cc', 'glue/plugins/plugin_stream_url.h', 'glue/plugins/plugin_stream_win.cc', 'glue/plugins/plugin_string_stream.cc', 'glue/plugins/plugin_string_stream.h', 'glue/plugins/plugin_stubs.cc', 'glue/plugins/webplugin_2d_device_delegate.h', 'glue/plugins/webplugin_3d_device_delegate.h', 'glue/plugins/webplugin_delegate_impl.cc', 'glue/plugins/webplugin_delegate_impl.h', 'glue/plugins/webplugin_delegate_impl_gtk.cc', 'glue/plugins/webplugin_delegate_impl_mac.mm', 'glue/plugins/webplugin_delegate_impl_win.cc', 'glue/alt_error_page_resource_fetcher.cc', 'glue/alt_error_page_resource_fetcher.h', 'glue/context_menu.h', 'glue/cpp_binding_example.cc', 'glue/cpp_binding_example.h', 'glue/cpp_bound_class.cc', 'glue/cpp_bound_class.h', 'glue/cpp_variant.cc', 'glue/cpp_variant.h', 'glue/dom_operations.cc', 'glue/dom_operations.h', 'glue/form_data.h', 'glue/form_field.cc', 'glue/form_field.h', 'glue/form_field_values.cc', 'glue/form_field_values.h', 'glue/ftp_directory_listing_response_delegate.cc', 'glue/ftp_directory_listing_response_delegate.h', 'glue/glue_serialize.cc', 'glue/glue_serialize.h', 'glue/glue_util.cc', 'glue/glue_util.h', 'glue/image_decoder.cc', 'glue/image_decoder.h', 'glue/image_resource_fetcher.cc', 'glue/image_resource_fetcher.h', 'glue/multipart_response_delegate.cc', 'glue/multipart_response_delegate.h', 'glue/npruntime_util.cc', 'glue/npruntime_util.h', 'glue/password_form.h', 'glue/password_form_dom_manager.cc', 'glue/password_form_dom_manager.h', 'glue/resource_fetcher.cc', 'glue/resource_fetcher.h', 'glue/resource_loader_bridge.cc', 'glue/resource_loader_bridge.h', 'glue/resource_type.h', 'glue/scoped_clipboard_writer_glue.h', 'glue/simple_webmimeregistry_impl.cc', 'glue/simple_webmimeregistry_impl.h', 'glue/webaccessibility.cc', 'glue/webaccessibility.h', 'glue/webclipboard_impl.cc', 'glue/webclipboard_impl.h', 'glue/webcookie.h', 'glue/webcursor.cc', 'glue/webcursor.h', 'glue/webcursor_gtk.cc', 'glue/webcursor_gtk_data.h', 'glue/webcursor_mac.mm', 'glue/webcursor_win.cc', 'glue/webdevtoolsagent_impl.cc', 'glue/webdevtoolsagent_impl.h', 'glue/webdevtoolsfrontend_impl.cc', 'glue/webdevtoolsfrontend_impl.h', 'glue/webdropdata.cc', 'glue/webdropdata_win.cc', 'glue/webdropdata.h', 'glue/webkit_glue.cc', 'glue/webkit_glue.h', 'glue/webkitclient_impl.cc', 'glue/webkitclient_impl.h', 'glue/webmediaplayer_impl.h', 'glue/webmediaplayer_impl.cc', 'glue/webmenuitem.h', 'glue/webmenurunner_mac.h', 'glue/webmenurunner_mac.mm', 'glue/webpasswordautocompletelistener_impl.cc', 'glue/webpasswordautocompletelistener_impl.h', 'glue/webplugin.h', 'glue/webplugin_delegate.h', 'glue/webplugin_impl.cc', 'glue/webplugin_impl.h', 'glue/webplugininfo.h', 'glue/webpreferences.cc', 'glue/webpreferences.h', 'glue/websocketstreamhandle_bridge.h', 'glue/websocketstreamhandle_delegate.h', 'glue/websocketstreamhandle_impl.cc', 'glue/websocketstreamhandle_impl.h', 'glue/webthemeengine_impl_win.cc', 'glue/weburlloader_impl.cc', 'glue/weburlloader_impl.h', 'glue/window_open_disposition.h', 'glue/window_open_disposition.cc', # These files used to be built in the webcore target, but moved here # since part of glue. 'extensions/v8/benchmarking_extension.cc', 'extensions/v8/benchmarking_extension.h', 'extensions/v8/gc_extension.cc', 'extensions/v8/gc_extension.h', 'extensions/v8/gears_extension.cc', 'extensions/v8/gears_extension.h', 'extensions/v8/heap_profiler_extension.cc', 'extensions/v8/heap_profiler_extension.h', 'extensions/v8/interval_extension.cc', 'extensions/v8/interval_extension.h', 'extensions/v8/playback_extension.cc', 'extensions/v8/playback_extension.h', 'extensions/v8/profiler_extension.cc', 'extensions/v8/profiler_extension.h', ], # When glue is a dependency, it needs to be a hard dependency. # Dependents may rely on files generated by this target or one of its # own hard dependencies. 'hard_dependency': 1, 'conditions': [ ['OS=="linux" or OS=="freebsd"', { 'dependencies': [ '../build/linux/system.gyp:gtk', '../base/base.gyp:linux_versioninfo', ], 'sources!': [ 'glue/plugins/plugin_stubs.cc', ], }, { # else: OS!="linux" and OS!="freebsd" 'sources/': [['exclude', '_(linux|gtk)(_data)?\\.cc$'], ['exclude', r'/gtk_']], }], ['OS!="mac"', { 'sources/': [['exclude', '_mac\\.(cc|mm)$']], }], ['OS=="win" or (OS=="linux" and target_arch!="arm")', { 'dependencies': [ '../gpu/gpu.gyp:gpu_plugin', ], }], ['OS!="win"', { 'sources/': [['exclude', '_win\\.cc$']], 'sources!': [ # These files are Windows-only now but may be ported to other # platforms. 'glue/webaccessibility.cc', 'glue/webaccessibility.h', 'glue/webthemeengine_impl_win.cc', ], }, { # else: OS=="win" 'sources/': [['exclude', '_posix\\.cc$']], 'include_dirs': [ '../chrome/third_party/wtl/include', ], 'dependencies': [ '../build/win/system.gyp:cygwin', 'default_plugin/default_plugin.gyp:default_plugin', ], 'sources!': [ 'glue/plugins/plugin_stubs.cc', ], }], ], }, { 'target_name': 'inspector_resources', 'type': 'none', 'msvs_guid': '5330F8EE-00F5-D65C-166E-E3150171055D', 'dependencies': [ 'devtools_html', ], 'conditions': [ ['debug_devtools==0', { 'dependencies+': [ 'concatenated_devtools_js', ], }], ], 'copies': [ { 'destination': '<(PRODUCT_DIR)/resources/inspector', 'files': [ '<@(devtools_files)', '<@(webinspector_files)', ], 'conditions': [ ['debug_devtools==0', { 'files/': [['exclude', '\\.js$']], }], ], }, { 'destination': '<(PRODUCT_DIR)/resources/inspector/Images', 'files': [ '<@(webinspector_image_files)', 'glue/devtools/js/Images/segmentChromium.png', 'glue/devtools/js/Images/segmentHoverChromium.png', 'glue/devtools/js/Images/segmentHoverEndChromium.png', 'glue/devtools/js/Images/segmentSelectedChromium.png', 'glue/devtools/js/Images/segmentSelectedEndChromium.png', 'glue/devtools/js/Images/statusbarBackgroundChromium.png', 'glue/devtools/js/Images/statusbarBottomBackgroundChromium.png', 'glue/devtools/js/Images/statusbarButtonsChromium.png', 'glue/devtools/js/Images/statusbarMenuButtonChromium.png', 'glue/devtools/js/Images/statusbarMenuButtonSelectedChromium.png', ], }, ], }, { 'target_name': 'devtools_html', 'type': 'none', 'msvs_guid': '9BE5D4D5-E800-44F9-B6C0-27DF15A9D817', 'sources': [ '<(PRODUCT_DIR)/resources/inspector/devtools.html', ], 'actions': [ { 'action_name': 'devtools_html', 'inputs': [ 'build/generate_devtools_html.py', # See issue 29695: webkit.gyp is a source file for devtools.html. 'webkit.gyp', '../third_party/WebKit/WebCore/inspector/front-end/inspector.html', ], 'outputs': [ '<(PRODUCT_DIR)/resources/inspector/devtools.html', ], 'action': ['python', '<@(_inputs)', '<@(_outputs)', '<@(devtools_files)'], }, ], }, { 'target_name': 'concatenated_devtools_js', 'type': 'none', 'msvs_guid': '8CCFDF4A-B702-4988-9207-623D1477D3E7', 'dependencies': [ 'devtools_html', ], 'sources': [ '<(PRODUCT_DIR)/resources/inspector/devtools.js', ], 'actions': [ { 'action_name': 'concatenate_devtools_js', 'inputs': [ 'build/concatenate_js_files.py', '<(PRODUCT_DIR)/resources/inspector/devtools.html', '<@(webinspector_files)', '<@(devtools_files)', ], 'outputs': [ '<(PRODUCT_DIR)/resources/inspector/devtools.js', ], 'action': ['python', '<@(_inputs)', '<@(_outputs)'], }, ], }, ], # targets } # Local Variables: # tab-width:2 # indent-tabs-mode:nil # End: # vim: set expandtab tabstop=2 shiftwidth=2: