# 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. 'directxsdk_exists': '<!(python <(DEPTH)/build/dir_exists.py ../third_party/directxsdk)', 'conditions': [ ['inside_chromium_build==0', { 'webkit_src_dir': '../../../..', },{ 'webkit_src_dir': '../third_party/WebKit', }], ], }, 'includes': [ '../build/win_precompile.gypi', 'content_shell.gypi', ], 'target_defaults': { 'defines': ['CONTENT_IMPLEMENTATION'], 'conditions': [ ['inside_chromium_build==0', { 'dependencies': [ '../webkit/support/setup_third_party.gyp:third_party_headers', ], }], ], }, 'conditions': [ ['inside_chromium_build==1', { 'includes': [ 'content_tests.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_app', 'content_browser', 'content_common', 'content_gpu', 'content_plugin', 'content_ppapi_plugin', 'content_renderer', 'content_utility', 'content_worker', ], }, {'target_name': 'content_app', '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', ], }, {'target_name': 'content_common', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_common.gypi', ], 'dependencies': [ 'content_resources.gyp:content_resources', ], }, {'target_name': 'content_gpu', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_gpu.gypi', ], 'dependencies': [ 'content_common', ], }, {'target_name': 'content_plugin', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_plugin.gypi', ], 'dependencies': [ 'content_common', ], }, {'target_name': 'content_ppapi_plugin', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_ppapi_plugin.gypi', ], }, {'target_name': 'content_renderer', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_renderer.gypi', ], 'dependencies': [ 'content_common', 'content_resources.gyp:content_resources', ], }, {'target_name': 'content_utility', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_utility.gypi', ], 'dependencies': [ 'content_common', ], }, {'target_name': 'content_worker', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, 'includes': [ 'content_worker.gypi', ], 'dependencies': [ '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', ], }], ], 'includes': [ 'content_app.gypi', 'content_browser.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', 'type': 'none', 'dependencies': ['content', 'content_browser'], }, {'target_name': 'content_browser', 'type': 'none', 'dependencies': ['content'], }, {'target_name': 'content_common', 'type': 'none', 'dependencies': ['content', 'content_resources.gyp:content_resources'], }, {'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'], }, {'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': { 'package_name': 'content', 'aidl_interface_file': 'public/android/java/src/org/chromium/content/common/common.aidl', }, 'sources': [ 'public/android/java/src/org/chromium/content/common/ISandboxedProcessCallback.aidl', 'public/android/java/src/org/chromium/content/common/ISandboxedProcessService.aidl', ], 'includes': [ '../build/java_aidl.gypi' ], }, { 'target_name': 'content_java', 'type': 'none', 'dependencies': [ '../base/base.gyp:base_java', '../net/net.gyp:net_java', 'common_aidl', 'content_common', ], 'export_dependent_settings': [ '../base/base.gyp:base_java', '../net/net.gyp:net_java', ], 'variables': { 'package_name': 'content', 'java_in_dir': '../content/public/android/java', }, 'includes': [ '../build/java.gypi' ], }, { 'target_name': 'content_jni_headers', 'type': 'none', 'includes': [ 'content_jni.gypi' ], }, ], }], # OS == "android" ], }