blob: 1352008d8db70c30c82d16a0be9a802315c9ad0d [file] [log] [blame]
# Copyright 2013 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': [
'extensions.gypi',
],
'variables': {
'chromium_code': 1,
},
'targets': [
{
# GN version: //extensions/common
'target_name': 'extensions_common_constants',
'type': 'static_library',
'include_dirs': [
'..',
'<(INTERMEDIATE_DIR)',
],
'sources': [
'<@(extensions_common_constants_sources)',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
# GN version: //extensions/common:mojo
'target_name': 'extensions_common_mojo',
# The type of this target must be none. This is so that resources can
# depend upon this target for generating the js bindings files. Any
# generated cpp files must be listed explicitly in extensions_common
'type': 'none',
'includes': [
'../third_party/mojo/mojom_bindings_generator.gypi',
],
'sources': [
'<@(extensions_common_mojo_sources)',
],
},
{
# GN version: //extensions/common
'target_name': 'extensions_common',
'type': 'static_library',
'dependencies': [
'../components/components.gyp:crx_file',
'../components/components.gyp:url_matcher',
'../content/content.gyp:content_common',
'../crypto/crypto.gyp:crypto',
'../device/bluetooth/bluetooth.gyp:device_bluetooth',
# For Mojo generated headers for generated_api.cc.
'../device/serial/serial.gyp:device_serial_mojo',
'../device/usb/usb.gyp:device_usb',
'../ipc/ipc.gyp:ipc',
'../net/net.gyp:net',
'../third_party/icu/icu.gyp:icuuc',
'../third_party/re2/re2.gyp:re2',
'../ui/base/ui_base.gyp:ui_base',
'../ui/gfx/gfx.gyp:gfx_geometry',
'../ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc',
'../url/url.gyp:url_lib',
'../third_party/libxml/libxml.gyp:libxml',
'common/api/api.gyp:extensions_api',
'extensions_resources.gyp:extensions_resources',
'extensions_strings.gyp:extensions_strings',
'extensions_common_constants',
'extensions_common_mojo',
],
'include_dirs': [
'..',
'<(INTERMEDIATE_DIR)',
],
'sources': [
'<@(extensions_common_sources)',
# Mojom generated files should not be included in the common gypi source
# list because GN has proper mojom dependency support.
'<(SHARED_INTERMEDIATE_DIR)/extensions/common/mojo/keep_alive.mojom.cc',
'<(SHARED_INTERMEDIATE_DIR)/extensions/common/mojo/keep_alive.mojom.h',
'<(SHARED_INTERMEDIATE_DIR)/extensions/common/mojo/stash.mojom.cc',
'<(SHARED_INTERMEDIATE_DIR)/extensions/common/mojo/stash.mojom.h',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
'conditions': [
['disable_nacl==0', {
# NaClModulesHandler does not use any code in NaCl, so no dependency
# on nacl_common.
'sources': [
'<@(extensions_common_sources_nacl)',
],
}],
['use_openssl==1', {
'sources': [
'<@(extensions_common_sources_openssl)',
],
'dependencies': [
'../third_party/boringssl/boringssl.gyp:boringssl',
],
}, {
'sources': [
'<@(extensions_common_sources_nonopenssl)'
],
'conditions': [
['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
'dependencies': [
'../build/linux/system.gyp:ssl',
],
}],
['OS == "mac" or OS == "ios" or OS == "win"', {
'dependencies': [
'../third_party/nss/nss.gyp:nspr',
'../third_party/nss/nss.gyp:nss',
],
}],
],
}],
],
},
{
# GN version: //extensions/browser
'target_name': 'extensions_browser',
'type': 'static_library',
'dependencies': [
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../base/base.gyp:base_prefs',
'../components/components.gyp:browsing_data',
'../components/components.gyp:device_event_log_component',
'../components/components.gyp:guest_view_browser',
'../components/components.gyp:keyed_service_content',
'../components/components.gyp:keyed_service_core',
'../components/components.gyp:onc_component',
'../components/components.gyp:pref_registry',
'../components/components.gyp:sessions_content',
'../components/components.gyp:storage_monitor',
'../components/components.gyp:ui_zoom',
'../components/components.gyp:variations',
'../components/components.gyp:web_cache_browser',
'../components/components.gyp:web_modal',
'../content/content.gyp:content_browser',
'../device/bluetooth/bluetooth.gyp:device_bluetooth',
'../device/serial/serial.gyp:device_serial',
'../google_apis/google_apis.gyp:google_apis',
'../skia/skia.gyp:skia',
'../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
'../third_party/re2/re2.gyp:re2',
'browser/api/api_registration.gyp:extensions_api_registration',
'common/api/api.gyp:cast_channel_proto',
'common/api/api.gyp:extensions_api',
'extensions_common',
'extensions_resources.gyp:extensions_resources',
'extensions_strings.gyp:extensions_strings',
],
'include_dirs': [
'..',
'<(INTERMEDIATE_DIR)',
# Needed to access generated API headers.
'<(SHARED_INTERMEDIATE_DIR)',
],
'sources': [
'<@(extensions_browser_sources)',
],
'conditions': [
# This condition exists only because the extensions_common_constants
# target is always built and thus this file gets evaluated by GYP.
# This does not need to be replicated into extensions/browser/BUILD.gn.
['OS == "ios" or OS == "android"', {
'dependencies!': [
'../components/components.gyp:storage_monitor',
],
}],
['chromeos == 1', {
'dependencies': [
'../chromeos/chromeos.gyp:chromeos',
],
'sources': [
'<@(extensions_browser_sources_chromeos)',
],
}, { # chromeos==0
'sources': [
'<@(extensions_browser_sources_nonchromeos)',
],
}],
['OS == "win" or OS == "mac"', {
'dependencies': [
'../components/components.gyp:wifi_component',
],
'sources': [
'<@(extensions_browser_sources_win_or_mac)',
],
}],
['OS == "linux" and chromeos == 0', {
'dependencies': [
'../build/linux/system.gyp:dbus',
'../dbus/dbus.gyp:dbus',
],
'sources': [
'<@(extensions_browser_sources_linux_nonchromeos)',
],
}],
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
# GN version: //extensions/renderer
'target_name': 'extensions_renderer',
'type': 'static_library',
'dependencies': [
'extensions_resources.gyp:extensions_resources',
'../components/components.gyp:guest_view_renderer',
'../content/content.gyp:content_resources',
'../gin/gin.gyp:gin',
'../third_party/WebKit/public/blink.gyp:blink',
'../third_party/mojo/mojo_public.gyp:mojo_js_bindings',
],
'include_dirs': [
'..',
],
'sources': [
'<@(extensions_renderer_sources)',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
# GN version: //extensions/utility
'target_name': 'extensions_utility',
'type': 'static_library',
'dependencies': [
'../content/content.gyp:content_common',
'../content/content.gyp:content_utility',
'../skia/skia.gyp:skia',
'../third_party/zlib/google/zip.gyp:zip',
'extensions_common',
'extensions_strings.gyp:extensions_strings',
],
'include_dirs': [
'..',
],
'sources': [
'<@(extensions_utility_sources)',
],
},
{
# GN version: //extensions:test_support
'target_name': 'extensions_test_support',
'type': 'static_library',
'dependencies': [
'../base/base.gyp:base',
'../base/base.gyp:base_prefs_test_support',
'../components/components.gyp:pref_registry_test_support',
'../components/components.gyp:user_prefs',
'../content/content.gyp:content_browser',
'../content/content.gyp:content_common',
'../content/content_shell_and_tests.gyp:test_support_content',
'../net/net.gyp:net_test_support',
'../testing/gtest.gyp:gtest',
'browser/api/api_registration.gyp:extensions_api_registration',
'common/api/api.gyp:cast_channel_proto',
'common/api/api.gyp:extensions_api',
'extensions_browser',
'extensions_common',
'extensions_resources.gyp:extensions_resources',
],
'include_dirs': [
'..',
'<(SHARED_INTERMEDIATE_DIR)',
],
'sources': [
'<@(extensions_test_support_sources)',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
# The pak file generated by this target is intended to be shared by
# both shell and test targets. It was combined because it might help a
# little bit with build time by avoiding a repack step (one instead of
# two).
'target_name': 'extensions_shell_and_test_pak',
'type': 'none',
'dependencies': [
'../content/browser/devtools/devtools_resources.gyp:devtools_resources',
'../content/content.gyp:content_resources',
'../content/content_shell_and_tests.gyp:content_shell_resources',
'../third_party/WebKit/public/blink_resources.gyp:blink_resources',
'../ui/resources/ui_resources.gyp:ui_resources',
'../ui/strings/ui_strings.gyp:ui_strings',
'extensions_resources.gyp:extensions_resources',
'extensions_strings.gyp:extensions_strings',
'shell/app_shell_resources.gyp:app_shell_resources',
],
'actions': [
{
'action_name': 'repack_extensions_shell_and_test_pak',
'variables': {
'pak_inputs': [
'<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_browser_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_renderer_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/extensions/extensions_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/extensions/shell/app_shell_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/extensions/strings/extensions_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/blink/devtools_resources.pak',
],
'pak_output': '<(PRODUCT_DIR)/extensions_shell_and_test.pak',
},
'includes': [ '../build/repack_action.gypi' ],
},
],
},
]
}