blob: d4d6533fdcca2431a790888baea383cfb5f956d0 [file] [log] [blame]
# Copyright (c) 2012 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.
{
'variables': {
'chromium_code': 1, # Use higher warning level.
'chromium_enable_vtune_jit_for_v8%': 0, # enable the vtune support for V8 engine.
'directxsdk_exists': '<!(python <(DEPTH)/build/dir_exists.py ../third_party/directxsdk)',
},
'target_defaults': {
'defines': ['CONTENT_IMPLEMENTATION'],
'conditions': [
# TODO(jschuh): Remove this after crbug.com/173851 gets fixed.
['OS=="win" and target_arch=="x64"', {
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': ['/bigobj'],
},
},
}],
],
},
'conditions': [
['OS != "ios"', {
'includes': [
'../build/win_precompile.gypi',
],
}],
# In component mode, we build all of content as a single DLL.
# However, in the static mode, we need to build content as multiple
# targets in order to prevent dependencies from getting introduced
# upstream unnecessarily (e.g., content_renderer depends on allocator
# and chrome_exe depends on content_common but we don't want
# chrome_exe to have to depend on allocator).
['component=="static_library"', {
'target_defines': [
'COMPILE_CONTENT_STATICALLY',
],
'targets': [
{
'target_name': 'content',
'type': 'none',
'dependencies': [
'content_browser',
'content_common',
],
'conditions': [
['OS != "ios"', {
'dependencies': [
'content_child',
'content_gpu',
'content_plugin',
'content_ppapi_plugin',
'content_renderer',
'content_utility',
'content_worker',
],
}],
],
},
{
'target_name': 'content_app_browser',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_app.gypi',
],
'dependencies': [
'content_common',
],
'conditions': [
['chrome_multiple_dll', {
'defines': [
'CHROME_MULTIPLE_DLL_BROWSER',
],
}],
],
},
{
'target_name': 'content_app_child',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_app.gypi',
],
'dependencies': [
'content_common',
],
'conditions': [
['chrome_multiple_dll', {
'defines': [
'CHROME_MULTIPLE_DLL_CHILD',
],
}],
],
},
{
'target_name': 'content_app_both',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_app.gypi',
],
'dependencies': [
'content_common',
],
},
{
'target_name': 'content_browser',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_browser.gypi',
],
'dependencies': [
'content_common',
'content_resources.gyp:content_resources',
],
'conditions': [
['java_bridge==1', {
'dependencies': [
'content_child',
]
}],
['OS=="android"', {
'dependencies': [
'content_gpu',
'content_utility',
],
}],
],
},
{
'target_name': 'content_common',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_common.gypi',
],
'conditions': [
['OS != "ios"', {
'dependencies': [
'content_resources.gyp:content_resources',
],
}],
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
],
'conditions': [
['OS != "ios"', {
'targets': [
{
'target_name': 'content_child',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_child.gypi',
],
'dependencies': [
'content_resources.gyp:content_resources',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'content_gpu',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_gpu.gypi',
],
'dependencies': [
'content_child',
'content_common',
],
},
{
'target_name': 'content_plugin',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_plugin.gypi',
],
'dependencies': [
'content_child',
'content_common',
],
},
{
'target_name': 'content_ppapi_plugin',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_ppapi_plugin.gypi',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'content_renderer',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_renderer.gypi',
],
'dependencies': [
'content_child',
'content_common',
'content_resources.gyp:content_resources',
],
'conditions': [
['chromium_enable_vtune_jit_for_v8==1', {
'dependencies': [
'../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
],
}],
],
},
{
'target_name': 'content_utility',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_utility.gypi',
],
'dependencies': [
'content_child',
'content_common',
],
},
{
'target_name': 'content_worker',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'includes': [
'content_worker.gypi',
],
'dependencies': [
'content_child',
'content_common',
],
},
],
}],
],
},
{ # component != static_library
'targets': [
{
'target_name': 'content',
'type': 'shared_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'content_resources.gyp:content_resources',
],
'conditions': [
['OS=="mac"', {
'dependencies': [
'<(DEPTH)/third_party/mach_override/mach_override.gyp:mach_override',
],
}],
['chromium_enable_vtune_jit_for_v8==1', {
'dependencies': [
'../v8/src/third_party/vtune/v8vtune.gyp:v8_vtune',
],
}],
],
'includes': [
'content_app.gypi',
'content_browser.gypi',
'content_child.gypi',
'content_common.gypi',
'content_gpu.gypi',
'content_plugin.gypi',
'content_ppapi_plugin.gypi',
'content_renderer.gypi',
'content_utility.gypi',
'content_worker.gypi',
],
'msvs_settings': {
'VCLinkerTool': {
'conditions': [
['incremental_chrome_dll==1', {
'UseLibraryDependencyInputs': "true",
}],
],
},
},
},
{
'target_name': 'content_app_browser',
'type': 'none',
'dependencies': ['content', 'content_browser'],
},
{
'target_name': 'content_app_child',
'type': 'none',
'dependencies': ['content', 'content_child'],
},
{
'target_name': 'content_app_both',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_browser',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_common',
'type': 'none',
'dependencies': ['content', 'content_resources.gyp:content_resources'],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'content_child',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_gpu',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_plugin',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_ppapi_plugin',
'type': 'none',
'dependencies': ['content'],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
{
'target_name': 'content_renderer',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_utility',
'type': 'none',
'dependencies': ['content'],
},
{
'target_name': 'content_worker',
'type': 'none',
'dependencies': ['content'],
},
],
}],
['OS == "android"', {
'targets': [
{
'target_name': 'common_aidl',
'type': 'none',
'variables': {
'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl',
},
'sources': [
'public/android/java/src/org/chromium/content/common/IChildProcessCallback.aidl',
'public/android/java/src/org/chromium/content/common/IChildProcessService.aidl',
],
'includes': [ '../build/java_aidl.gypi' ],
},
{
'target_name': 'content_native_libraries_gen',
'type': 'none',
'sources': [
'public/android/java/templates/NativeLibraries.template',
],
'variables': {
'package_name': 'org/chromium/content/app',
'include_path': 'public/android/java/templates',
'template_deps': [
'public/android/java/templates/native_libraries_array.h'
],
},
'includes': [ '../build/android/java_cpp_template.gypi' ],
},
{
'target_name': 'content_java',
'type': 'none',
'dependencies': [
'../base/base.gyp:base',
'../media/media.gyp:media_java',
'../net/net.gyp:net',
'../ui/android/ui_android.gyp:ui_java',
'common_aidl',
'content_common',
'page_transition_types_java',
'result_codes_java',
'speech_recognition_error_java',
'top_controls_state_java',
'content_native_libraries_gen',
],
'variables': {
'java_in_dir': '../content/public/android/java',
'jar_excluded_classes': [ '*/NativeLibraries.class' ],
'has_java_resources': 1,
'R_package': 'org.chromium.content',
'R_package_relpath': 'org/chromium/content',
'java_strings_grd': 'android_content_strings.grd',
},
'conditions': [
['android_webview_build == 0', {
'dependencies': [
'../third_party/eyesfree/eyesfree.gyp:eyesfree_java',
'../third_party/guava/guava.gyp:guava_javalib',
],
}],
],
'includes': [ '../build/java.gypi' ],
},
{
'target_name': 'page_transition_types_java',
'type': 'none',
'sources': [
'public/android/java/src/org/chromium/content/browser/PageTransitionTypes.template',
],
'variables': {
'package_name': 'org/chromium/content/browser',
'template_deps': ['public/common/page_transition_types_list.h'],
},
'includes': [ '../build/android/java_cpp_template.gypi' ],
},
{
'target_name': 'result_codes_java',
'type': 'none',
'sources': [
'public/android/java/src/org/chromium/content/common/ResultCodes.template',
],
'variables': {
'package_name': 'org/chromium/content/common',
'template_deps': ['public/common/result_codes_list.h'],
},
'includes': [ '../build/android/java_cpp_template.gypi' ],
},
{
'target_name': 'speech_recognition_error_java',
'type': 'none',
'sources': [
'public/android/java/src/org/chromium/content/browser/SpeechRecognitionError.template',
],
'variables': {
'package_name': 'org/chromium/content/browser',
'template_deps': ['public/common/speech_recognition_error_list.h'],
},
'includes': [ '../build/android/java_cpp_template.gypi' ],
},
{
'target_name': 'top_controls_state_java',
'type': 'none',
'sources': [
'public/android/java/src/org/chromium/content/common/TopControlsState.template',
],
'variables': {
'package_name': 'org/chromium/content/common',
'template_deps': ['public/common/top_controls_state_list.h'],
},
'includes': [ '../build/android/java_cpp_template.gypi' ],
},
{
'target_name': 'java_set_jni_headers',
'type': 'none',
'variables': {
'jni_gen_package': 'content',
'input_java_class': 'java/util/HashSet.class',
},
'includes': [ '../build/jar_file_jni_generator.gypi' ],
},
{
'target_name': 'java_view_jni_headers',
'type': 'none',
'variables': {
'jni_gen_package': 'content',
'input_java_class': 'android/view/ViewConfiguration.class',
},
'includes': [ '../build/jar_file_jni_generator.gypi' ],
},
{
'target_name': 'content_jni_headers',
'type': 'none',
'dependencies': [
'java_set_jni_headers',
'java_view_jni_headers'
],
'direct_dependent_settings': {
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/content',
],
},
'includes': [ 'content_jni.gypi' ],
},
{
'target_name': 'content_android_linker',
'type': 'shared_library',
'conditions': [
['android_webview_build == 0', {
# Avoid breaking the webview build because it doesn't have
# <(android_ndk_root)/crazy_linker.gyp. Note that it never uses
# the linker anyway.
'sources': [
'common/android/linker/linker_jni.cc',
],
'dependencies': [
'<(android_ndk_root)/crazy_linker.gyp:crazy_linker',
],
}],
],
},
],
}], # OS == "android"
],
}