Commit 9ab5e560 authored by brettw's avatar brettw Committed by Commit bot

Reorganize Blink IDL build, delete obsolete GYP files.

This removes all gyp files except modules.gypi which is the only one still
used.

IDL file lists are consolidated into Source/core/core_idl_files.gni and
Source/modules/modules_idl_files.gni, eliminating lists in bindings/core and
bindings/modules.

TBR=dpranke

Review-Url: https://codereview.chromium.org/2319623003
Cr-Commit-Position: refs/heads/master@{#417030}
parent 980562f7
# Copyright 2014 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': [
'core/v8/v8.gypi',
'modules/v8/v8.gypi',
],
'variables': {
'bindings_dir': '.',
'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings/',
'bindings_unittest_files': [
'<@(bindings_core_v8_unittest_files)',
'<@(bindings_modules_v8_unittest_files)',
],
},
}
......@@ -2,8 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/WebKit/Source/bindings/core/core.gni")
import("//third_party/WebKit/Source/bindings/core/idl.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/core/core_idl_files.gni")
......
# Copyright 2014 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.
# FIXME: factor out bindings_core http://crbug.com/358074
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/core/core.gni")
bindings_core_output_dir = "$bindings_output_dir/core"
# Global constructors
core_global_constructors_original_interfaces = [
"Window",
"SharedWorkerGlobalScope",
"DedicatedWorkerGlobalScope",
]
core_global_constructors_generated_idl_files = []
foreach(interface, core_global_constructors_original_interfaces) {
core_global_constructors_generated_idl_files +=
[ "$blink_core_output_dir/${interface}CoreConstructors.idl" ]
}
# Copyright 2014 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': [
'../modules/v8/generated.gypi', # FIXME: remove once core scripts generate qualified includes correctly: http://crbug.com/358074
'v8/v8.gypi', # FIXME: should be v8/v8.gypi: http://crbug.com/358074
'v8/generated.gypi',
],
'variables': {
'bindings_core_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings/core',
},
}
# Copyright 2014 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': [
'../../core/core_generated.gypi',
],
'variables': {
# Global constructors
'core_global_constructors_generated_idl_files': [
'<(blink_core_output_dir)/WindowCoreConstructors.idl',
'<(blink_core_output_dir)/SharedWorkerGlobalScopeCoreConstructors.idl',
'<(blink_core_output_dir)/DedicatedWorkerGlobalScopeCoreConstructors.idl',
],
'core_global_constructors_generated_header_files': [
'<(blink_core_output_dir)/WindowCoreConstructors.h',
'<(blink_core_output_dir)/SharedWorkerGlobalScopeCoreConstructors.h',
'<(blink_core_output_dir)/DedicatedWorkerGlobalScopeCoreConstructors.h',
],
},
}
# Copyright 2014 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.
import("//third_party/WebKit/Source/bindings/core/core.gni")
import("//third_party/WebKit/Source/bindings/idl.gni")
import("//third_party/WebKit/Source/core/core_idl_files.gni")
# Don't actually read idl.gypi since that just defines variables in terms of
# others, which gypi_to_gn doesn't handle.
core_definition_idl_files = core_dictionary_idl_files + core_idl_files +
core_idl_with_modules_dependency_files
core_testing_definition_idl_files =
core_testing_dictionary_idl_files + webcore_testing_idl_files +
webcore_testing_idl_with_modules_dependency_files
# Static IDL files
core_static_interface_idl_files =
core_definition_idl_files + core_testing_definition_idl_files +
core_typedefs_enums_only_idl_files
core_static_dependency_idl_files =
core_dependency_idl_files + webcore_testing_dependency_idl_files
# Generated IDL files
core_generated_interface_idl_files = generated_webcore_testing_idl_files # interfaces
core_generated_dependency_idl_files =
core_global_constructors_generated_idl_files # partial interfaces
# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
# 'core_dependency_idl_files' is already used in Source/core, so avoid
# collision
core_all_dependency_idl_files =
core_static_dependency_idl_files + core_generated_dependency_idl_files
......@@ -3,7 +3,7 @@
# found in the LICENSE file.
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/bindings/core/idl.gni")
import("//third_party/WebKit/Source/core/core_idl_files.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/core/core.gni")
......
......@@ -3,8 +3,6 @@
# found in the LICENSE file.
import("//third_party/WebKit/Source/modules/modules.gni")
import("//third_party/WebKit/Source/bindings/core/core.gni")
import("//third_party/WebKit/Source/bindings/modules/modules.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/build/scripts/scripts.gni")
......@@ -22,7 +20,47 @@ group("bindings_modules_generated") {
# GYP version: event_interfaces action in bindings_modules_generated
generate_event_interfaces("modules_bindings_generated_event_interfaces") {
sources = modules_event_idl_files
sources = [
"//third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.idl",
"//third_party/WebKit/Source/modules/background_sync/SyncEvent.idl",
"//third_party/WebKit/Source/modules/device_light/DeviceLightEvent.idl",
"//third_party/WebKit/Source/modules/device_orientation/DeviceMotionEvent.idl",
"//third_party/WebKit/Source/modules/device_orientation/DeviceOrientationEvent.idl",
"//third_party/WebKit/Source/modules/encryptedmedia/MediaEncryptedEvent.idl",
"//third_party/WebKit/Source/modules/encryptedmedia/MediaKeyMessageEvent.idl",
"//third_party/WebKit/Source/modules/gamepad/GamepadEvent.idl",
"//third_party/WebKit/Source/modules/indexeddb/IDBVersionChangeEvent.idl",
"//third_party/WebKit/Source/modules/mediarecorder/BlobEvent.idl",
"//third_party/WebKit/Source/modules/mediastream/MediaStreamEvent.idl",
"//third_party/WebKit/Source/modules/mediastream/MediaStreamTrackEvent.idl",
"//third_party/WebKit/Source/modules/notifications/NotificationEvent.idl",
"//third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.idl",
"//third_party/WebKit/Source/modules/peerconnection/RTCDTMFToneChangeEvent.idl",
"//third_party/WebKit/Source/modules/peerconnection/RTCDataChannelEvent.idl",
"//third_party/WebKit/Source/modules/peerconnection/RTCIceCandidateEvent.idl",
"//third_party/WebKit/Source/modules/presentation/PresentationConnectionAvailableEvent.idl",
"//third_party/WebKit/Source/modules/presentation/PresentationConnectionCloseEvent.idl",
"//third_party/WebKit/Source/modules/push_messaging/PushEvent.idl",
"//third_party/WebKit/Source/modules/sensor/SensorErrorEvent.idl",
"//third_party/WebKit/Source/modules/sensor/SensorReadingEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/ExtendableEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/ExtendableMessageEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/FetchEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/ForeignFetchEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/InstallEvent.idl",
"//third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerMessageEvent.idl",
"//third_party/WebKit/Source/modules/speech/SpeechRecognitionError.idl",
"//third_party/WebKit/Source/modules/speech/SpeechRecognitionEvent.idl",
"//third_party/WebKit/Source/modules/speech/SpeechSynthesisEvent.idl",
"//third_party/WebKit/Source/modules/storage/StorageEvent.idl",
"//third_party/WebKit/Source/modules/vr/VRDisplayEvent.idl",
"//third_party/WebKit/Source/modules/webaudio/AudioProcessingEvent.idl",
"//third_party/WebKit/Source/modules/webaudio/OfflineAudioCompletionEvent.idl",
"//third_party/WebKit/Source/modules/webgl/WebGLContextEvent.idl",
"//third_party/WebKit/Source/modules/webmidi/MIDIConnectionEvent.idl",
"//third_party/WebKit/Source/modules/webmidi/MIDIMessageEvent.idl",
"//third_party/WebKit/Source/modules/websockets/CloseEvent.idl",
]
output_file = "EventModulesInterfaces.in"
suffix = "Modules"
}
......@@ -62,9 +100,16 @@ make_names("bindings_modules_generated_event_target_modules_names") {
# ------------------------------------------------------------------------------
# GYP version: Source/bindings/modules/generated.gyp:interfaces_info_individual_modules
# In GYP, paths needed to be passed separately for static and generated files,
# as static files are listed in a temporary file (b/c too long for command
# line), but generated files must be passed at the command line, as their paths
# are not fixed at GYP time, when the temporary file is generated, because
# their paths depend on the build directory, which varies.
#
# FIXME: GN does not have this limitation and we can combine the lists.
compute_interfaces_info_individual("interfaces_info_individual_modules") {
sources_static = modules_static_idl_files
sources_static =
modules_definition_idl_files + modules_static_dependency_idl_files
sources_generated = modules_generated_dependency_idl_files
interfaces_info_file =
"$bindings_modules_output_dir/InterfacesInfoOverallIndividual.pickle"
......
# Copyright 2014 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.
# Generate IDL interfaces info for modules, used to generate bindings
#
# Design doc: http://www.chromium.org/developers/design-documents/idl-build
{
'includes': [
# ../.. == Source
'../../bindings/core/core.gypi',
'../../bindings/scripts/scripts.gypi',
'../../build/scripts/scripts.gypi', # FIXME: Needed for event files, should be in modules, not bindings_modules http://crbug.com/358074
'../../modules/modules.gypi',
'generated.gypi',
'idl.gypi',
'modules.gypi',
],
'targets': [
################################################################################
{
# GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated
# FIXME: Should be in modules, not bindings_modules http://crbug.com/358074
'target_name': 'modules_event_generated',
'type': 'none',
'actions': [
{
# GN version: //third_party/WebKit/Source/bindings/modules:modules_bindings_generated_event_interfaces
'action_name': 'event_interfaces',
'variables': {
'event_idl_files': [
'<@(modules_event_idl_files)',
],
'event_idl_files_list':
'<|(event_idl_files_list.tmp <@(event_idl_files))',
},
'inputs': [
'<(bindings_scripts_dir)/generate_event_interfaces.py',
'<(bindings_scripts_dir)/utilities.py',
'<(event_idl_files_list)',
'<@(event_idl_files)',
],
'outputs': [
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
],
'action': [
'python',
'<(bindings_scripts_dir)/generate_event_interfaces.py',
'--event-idl-files-list',
'<(event_idl_files_list)',
'--event-interfaces-file',
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--suffix',
'Modules',
],
},
{
# GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_factory
'action_name': 'EventModulesFactory',
'inputs': [
'<@(make_event_factory_files)',
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
],
'outputs': [
'<(blink_modules_output_dir)/EventModules.cpp',
'<(blink_modules_output_dir)/EventModulesHeaders.h',
],
'action': [
'python',
'../../build/scripts/make_event_factory.py',
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
'--output_dir',
'<(blink_modules_output_dir)',
],
},
{
# GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_names
'action_name': 'EventModulesNames',
'inputs': [
'<@(make_names_files)',
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
],
'outputs': [
'<(blink_modules_output_dir)/EventModulesNames.cpp',
'<(blink_modules_output_dir)/EventModulesNames.h',
],
'action': [
'python',
'../../build/scripts/make_names.py',
'<(blink_modules_output_dir)/EventModulesInterfaces.in',
'--output_dir',
'<(blink_modules_output_dir)',
],
},
{
# GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_names
'action_name': 'EventTargetModulesNames',
'inputs': [
'<@(make_names_files)',
'../../modules/EventTargetModulesFactory.in',
],
'outputs': [
'<(blink_modules_output_dir)/EventTargetModulesNames.cpp',
'<(blink_modules_output_dir)/EventTargetModulesNames.h',
],
'action': [
'python',
'../../build/scripts/make_names.py',
'../../modules/EventTargetModulesFactory.in',
'--output_dir',
'<(blink_modules_output_dir)',
],
},
],
},
################################################################################
{
'target_name': 'modules_global_objects',
'dependencies': [
'../core/generated.gyp:core_global_objects',
],
'variables': {
'idl_files': '<(modules_idl_files)',
'input_files': [
'<(bindings_core_output_dir)/GlobalObjectsCore.pickle',
],
'output_file':
'<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
},
'includes': ['../../bindings/scripts/global_objects.gypi'],
},
################################################################################
{
# Global constructors for global objects in modules (ServiceWorker)
# but interfaces in core.
'target_name': 'modules_core_global_constructors_idls',
'dependencies': [
'modules_global_objects',
],
'variables': {
'idl_files': [
'<@(core_idl_files)',
'<@(core_idl_with_modules_dependency_files)',
],
'global_objects_file':
'<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
'global_names_idl_files': [
'CompositorWorkerGlobalScope',
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeCoreConstructors.idl',
'PaintWorkletGlobalScope',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeCoreConstructors.idl',
'ServiceWorkerGlobalScope',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeCoreConstructors.idl',
],
'outputs': [
'<@(modules_core_global_constructors_generated_idl_files)',
'<@(modules_core_global_constructors_generated_header_files)',
],
},
'includes': ['../../bindings/scripts/global_constructors.gypi'],
},
################################################################################
{
'target_name': 'modules_global_constructors_idls',
'dependencies': [
'modules_global_objects',
],
'variables': {
'idl_files': '<(modules_idl_files)',
'global_objects_file':
'<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
'global_names_idl_files': [
'Window',
'<(blink_modules_output_dir)/WindowModulesConstructors.idl',
'CompositorWorkerGlobalScope',
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeModulesConstructors.idl',
'DedicatedWorkerGlobalScope',
'<(blink_modules_output_dir)/DedicatedWorkerGlobalScopeModulesConstructors.idl',
'PaintWorkletGlobalScope',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeModulesConstructors.idl',
'ServiceWorkerGlobalScope',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeModulesConstructors.idl',
'SharedWorkerGlobalScope',
'<(blink_modules_output_dir)/SharedWorkerGlobalScopeModulesConstructors.idl',
],
'outputs': [
'<@(modules_global_constructors_generated_idl_files)',
'<@(modules_global_constructors_generated_header_files)',
],
},
'includes': ['../../bindings/scripts/global_constructors.gypi'],
},
################################################################################
{
'target_name': 'interfaces_info_individual_modules',
'dependencies': [
'<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables',
'modules_core_global_constructors_idls',
'modules_global_constructors_idls',
],
'variables': {
'cache_directory': '<(bindings_modules_output_dir)/../scripts',
'static_idl_files': '<(modules_static_idl_files)',
'generated_idl_files': '<(modules_generated_idl_files)',
'interfaces_info_file':
'<(bindings_modules_output_dir)/InterfacesInfoOverallIndividual.pickle',
'component_info_file':
'<(bindings_modules_output_dir)/ComponentInfoModules.pickle',
},
'includes': ['../../bindings/scripts/interfaces_info_individual.gypi'],
},
################################################################################
{
# GN version: //third_party/WebKit/Source/bindings/modules:interfaces_info
'target_name': 'interfaces_info',
'dependencies': [
'../core/generated.gyp:interfaces_info_individual_core',
'interfaces_info_individual_modules',
],
'variables': {
'input_files': [
'<(bindings_core_output_dir)/InterfacesInfoCoreIndividual.pickle',
'<(bindings_modules_output_dir)/InterfacesInfoOverallIndividual.pickle',
],
'output_file':
'<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
},
'includes': ['../../bindings/scripts/interfaces_info_overall.gypi'],
},
################################################################################
], # targets
}
# Copyright 2014 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': [
'../../modules/modules_generated.gypi',
],
'variables': {
# Global constructors
# Global object in modules, constructors for interfaces in core
'modules_core_global_constructors_generated_idl_files': [
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeCoreConstructors.idl',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeCoreConstructors.idl',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeCoreConstructors.idl',
],
'modules_core_global_constructors_generated_header_files': [
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeCoreConstructors.h',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeCoreConstructors.h',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeCoreConstructors.h',
],
# Global object in modules, constructors for interfaces in modules
'modules_global_constructors_generated_idl_files': [
'<(blink_modules_output_dir)/WindowModulesConstructors.idl',
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeModulesConstructors.idl',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeModulesConstructors.idl',
'<(blink_modules_output_dir)/SharedWorkerGlobalScopeModulesConstructors.idl',
'<(blink_modules_output_dir)/DedicatedWorkerGlobalScopeModulesConstructors.idl',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeModulesConstructors.idl',
],
'modules_global_constructors_generated_header_files': [
'<(blink_modules_output_dir)/WindowModulesConstructors.h',
'<(blink_modules_output_dir)/CompositorWorkerGlobalScopeModulesConstructors.h',
'<(blink_modules_output_dir)/PaintWorkletGlobalScopeModulesConstructors.h',
'<(blink_modules_output_dir)/SharedWorkerGlobalScopeModulesConstructors.h',
'<(blink_modules_output_dir)/DedicatedWorkerGlobalScopeModulesConstructors.h',
'<(blink_modules_output_dir)/ServiceWorkerGlobalScopeModulesConstructors.h',
],
},
}
# Copyright 2014 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.
import("//third_party/WebKit/Source/bindings/core/idl.gni")
import("//third_party/WebKit/Source/bindings/modules/modules.gni")
import("//third_party/WebKit/Source/modules/modules.gni")
# IDL file lists; see: http://www.chromium.org/developers/web-idl-interfaces
modules_definition_idl_files = modules_dictionary_idl_files + modules_idl_files
# Static IDL files
modules_static_interface_idl_files = modules_definition_idl_files
modules_static_dependency_idl_files =
modules_dependency_idl_files + modules_testing_dependency_idl_files
# Static IDL files / Generated IDL files
#
# In GYP, paths need to be passed separately for static and generated files, as
# static files are listed in a temporary file (b/c too long for command line),
# but generated files must be passed at the command line, as their paths are
# not fixed at GYP time, when the temporary file is generated, because their
# paths depend on the build directory, which varies.
#
# FIXME: GN does not have this limitation and we can combine the lists.
# Currently we keep the GYP/GN builds in sync for simplicity, but this can be
# cleaned up once GYP is not used.
modules_static_idl_files =
modules_static_interface_idl_files + modules_static_dependency_idl_files
modules_generated_dependency_idl_files =
modules_core_global_constructors_generated_idl_files +
modules_global_constructors_generated_idl_files
# 'modules_dependency_idl_files' is already used in Source/modules, so avoid
# collision
modules_all_dependency_idl_files =
modules_static_dependency_idl_files + modules_generated_dependency_idl_files
# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
all_dependency_idl_files =
core_all_dependency_idl_files + modules_all_dependency_idl_files
# Copyright 2014 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.
# FIXME: factor out bindings_core http://crbug.com/358074
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/modules/modules.gni")
bindings_modules_output_dir = "$bindings_output_dir/modules"
modules_core_global_constructors_original_interfaces = [
"CompositorWorkerGlobalScope",
"PaintWorkletGlobalScope",
"ServiceWorkerGlobalScope",
]
modules_global_constructors_original_interfaces = [
"Window",
"CompositorWorkerGlobalScope",
"DedicatedWorkerGlobalScope",
"PaintWorkletGlobalScope",
"ServiceWorkerGlobalScope",
"SharedWorkerGlobalScope",
]
modules_core_global_constructors_generated_idl_files = []
foreach(interface, modules_core_global_constructors_original_interfaces) {
modules_core_global_constructors_generated_idl_files +=
[ "$blink_modules_output_dir/${interface}CoreConstructors.idl" ]
}
modules_global_constructors_generated_idl_files = []
foreach(interface, modules_global_constructors_original_interfaces) {
modules_global_constructors_generated_idl_files +=
[ "$blink_modules_output_dir/${interface}ModulesConstructors.idl" ]
}
# Copyright 2014 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': [
'v8/generated.gypi',
'v8/v8.gypi',
],
'variables': {
'bindings_modules_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings/modules',
},
}
......@@ -5,6 +5,7 @@
import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/modules/modules.gni")
import("//third_party/WebKit/Source/modules/modules_idl_files.gni")
visibility = [ "//third_party/WebKit/*" ]
......
# Copyright 2014 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': {
# Note: list duplicated in custom.gni.
'bindings_modules_v8_custom_files': [
'V8CustomSQLStatementErrorCallback.cpp',
'V8DeviceMotionEventCustom.cpp',
'V8ExtendableMessageEventCustom.cpp',
'V8IDBObserverCustom.cpp',
'V8ServiceWorkerMessageEventCustom.cpp',
'V8WebGLRenderingContextCustom.cpp',
'V8WebGL2RenderingContextCustom.cpp',
],
},
}
# Copyright 2014 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': [
'custom/custom.gypi',
],
'variables': {
# Note: list duplicated in v8.gni.
'bindings_modules_v8_files': [
'<@(bindings_modules_v8_custom_files)',
'DictionaryHelperForModules.cpp',
'ModuleBindingsInitializer.cpp',
'ModuleBindingsInitializer.h',
'ScriptValueSerializerForModules.cpp',
'ScriptValueSerializerForModules.h',
'SerializedScriptValueForModulesFactory.cpp',
'SerializedScriptValueForModulesFactory.h',
'ToV8ForModules.h',
'V8BindingForModules.cpp',
'V8BindingForModules.h',
'V8IDBObserverCallback.cpp',
'V8IDBObserverCallback.h',
'V8ServiceWorkerMessageEventInternal.h',
'WebGLAny.cpp',
'WebGLAny.h',
],
# Note: list duplicated in v8.gni.
'bindings_modules_v8_unittest_files': [
'V8BindingForModulesTest.cpp',
],
},
}
# Copyright 2014 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.
#
# This file is meant to be included into a target to provide an action
# to compute global objects in a component.
#
# To use this, create a gyp target with the following form:
# {
# 'target_name': 'core_global_constructors_idls',
# 'dependencies': [
# 'component_global_objects',
# ],
# 'variables': {
# 'idl_files': '<(list_of_idl_files)',
# 'global_objects_file': '<(some_dir)/GlobalObjectsComponent.pickle',
# 'global_names_idl_files': [
# 'GlobalName',
# '<(blink_core_output_dir)/GlobalScopeComponentConstructors.idl',
# # ...
# ],
# 'outputs': [
# '<@(component_global_constructors_generated_idl_files)',
# '<@(component_global_constructors_generated_header_files)',
# ],
# },
# 'includes': ['path/to/this/gypi/file'],
# },
#
# Required variables:
# idl_files - List of .idl files that will be searched in.
# This should *only* contain main IDL files, excluding dependencies and
# testing, which should not appear on global objects.
# global_objects - Pickle file of global objects.
# global_names_idl_files - pairs (GlobalName, Constructors.idl)
# outputs - List of output files.
# Passed as a variable here, included by the template in the action.
#
# Spec: http://heycam.github.io/webidl/#Global
# http://heycam.github.io/webidl/#Exposed
# Design document: http://www.chromium.org/developers/design-documents/idl-build
{
'type': 'none',
'actions': [{
'action_name': 'generate_<(_target_name)',
'message': 'Generating IDL files for constructors on global objects for <(_target_name)',
'variables': {
'idl_files_list': '<|(<(_target_name)_idl_files_list.tmp <@(idl_files))',
},
'includes': ['scripts.gypi'],
'inputs': [
'<(bindings_scripts_dir)/generate_global_constructors.py',
'<(bindings_scripts_dir)/utilities.py',
'<(idl_files_list)',
'<@(idl_files)',
'<(global_objects_file)',
],
'outputs': ['<@(outputs)'],
'action': [
'python',
'<(bindings_scripts_dir)/generate_global_constructors.py',
'--idl-files-list',
'<(idl_files_list)',
'--global-objects-file',
'<(global_objects_file)',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--',
'<@(global_names_idl_files)',
],
}],
}
# Copyright 2014 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.
#
# This file is meant to be included into a target to provide an action
# to compute global objects in a component.
#
# To use this, create a gyp target with the following form:
# {
# 'target_name': 'component_global_objects',
# 'variables': {
# 'idl_files': '<(list_of_idl_files)',
# 'input_files': ['<(some_dir)/GlobalObjectBaseComponent.pickle'],
# 'output_file': '<(some_dir)/GlobalObjectsComponent.pickle',
# },
# 'includes': ['path/to/this/gypi/file'],
# },
#
# Required variables:
# idl_files - List of .idl files that will be searched in.
# This should *only* contain main IDL files, excluding dependencies and
# testing, which should not define global objects.
# output_file - Pickle file of output.
#
# Optional variables:
# input_files - List of input pickle files of global objects in base
# components. In this case make sure to include a dependencies section
# in the target to ensure this is generated.
#
# Spec: http://heycam.github.io/webidl/#Global
# Design document: http://www.chromium.org/developers/design-documents/idl-build
{
'type': 'none',
'actions': [{
'action_name': 'compute_<(_target_name)',
'message': 'Computing global objects for <(_target_name)',
'variables': {
'input_files%': [],
'idl_files_list': '<|(<(_target_name)_idl_files_list.tmp <@(idl_files))',
},
'includes': ['scripts.gypi'],
'inputs': [
'<(bindings_scripts_dir)/compute_global_objects.py',
'<(bindings_scripts_dir)/utilities.py',
'<(idl_files_list)',
'<@(idl_files)',
],
'outputs': [
'<(output_file)',
],
'action': [
'python',
'<(bindings_scripts_dir)/compute_global_objects.py',
'--idl-files-list',
'<(idl_files_list)',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--',
'<@(input_files)',
'<(output_file)',
],
}],
}
# Copyright 2014 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.
#
# This file is meant to be included into a target to provide an action
# to compute information about individual interfaces defined in a component.
#
# To use this, create a gyp target with the following form:
# {
# 'target_name': 'interfaces_info_individual_component',
# 'dependencies': [
# 'generated_idls_target',
# ],
# 'variables': {
# 'static_idl_files': '<(component_static_idl_files)',
# 'generated_idl_files': '<(component_generated_idl_files)',
# 'output_file':
# '<(bindings_core_output_dir)/InterfacesInfoComponentIndividual.pickle',
# },
# 'includes': ['path/to/this/gypi/file'],
# },
#
# Required variables:
# static_idl_files - All static .idl files for the component, including
# dependencies and testing.
# generated_idl_files - All generated .idl files for the component.
# (Must be separate from static because build dir not know at gyp time.)
# interfaces_info_file - Output pickle file containing interfaces info.
# component_info_file - Output pickle file containing component-wide info.
#
# Design document: http://www.chromium.org/developers/design-documents/idl-build
{
'type': 'none',
'actions': [{
'action_name': 'compute_<(_target_name)',
'message': 'Computing global information about individual IDL files for <(_target_name)',
'variables': {
'static_idl_files_list':
'<|(<(_target_name)_static_idl_files_list.tmp <@(static_idl_files))',
},
'inputs': [
'<(bindings_scripts_dir)/compute_interfaces_info_individual.py',
'<(bindings_scripts_dir)/utilities.py',
'<(static_idl_files_list)',
'<@(static_idl_files)',
'<@(generated_idl_files)',
],
'outputs': [
'<(interfaces_info_file)',
'<(component_info_file)',
],
'action': [
'python',
'<(bindings_scripts_dir)/compute_interfaces_info_individual.py',
'--cache-directory',
'<(cache_directory)',
'--idl-files-list',
'<(static_idl_files_list)',
'--interfaces-info-file',
'<(interfaces_info_file)',
'--component-info-file',
'<(component_info_file)',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--',
# Generated files must be passed at command line
'<@(generated_idl_files)',
],
}],
}
# Copyright 2014 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.
#
# This file is meant to be included into a target to provide an action
# to compute overall information about interfaces defined in a component.
#
# To use this, create a gyp target with the following form:
# {
# 'target_name': 'interfaces_info_component',
# 'dependencies': [
# 'interfaces_info_individual_base_component',
# 'interfaces_info_individual_component',
# ],
# 'variables': {
# 'input_files': [
# '<(bindings_base_component_output_dir)/InterfacesInfoBaseComponentIndividual.pickle',
# '<(bindings_component_output_dir)/InterfacesInfoComponentIndividual.pickle',
# ],
# 'output_file':
# '<(bindings_component_output_dir)/InterfacesInfoComponent.pickle',
# },
# 'includes': ['path/to/this/gypi/file'],
# },
#
# Required variables:
# input_files - Pickle files containing info about individual interfaces, both
# current component and any base components.
# output_file - Pickle file containing output (overall info).
#
# Design document: http://www.chromium.org/developers/design-documents/idl-build
{
'type': 'none',
'actions': [{
'action_name': 'compute_<(_target_name)',
'message': 'Computing overall global information about IDL files for <(_target_name)',
'inputs': [
'<(bindings_scripts_dir)/compute_interfaces_info_overall.py',
'<@(input_files)',
],
'outputs': [
'<(output_file)',
],
'action': [
'python',
'<(bindings_scripts_dir)/compute_interfaces_info_overall.py',
'--write-file-only-if-changed',
'<(write_file_only_if_changed)',
'--',
'<@(input_files)',
'<(output_file)',
],
}],
}
......@@ -2,8 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/WebKit/Source/bindings/modules/idl.gni")
import("//third_party/WebKit/Source/bindings/modules/modules.gni")
import("//third_party/WebKit/Source/core/core_idl_files.gni")
import("//third_party/WebKit/Source/modules/modules_idl_files.gni")
bindings_scripts_dir = get_path_info(".", "abspath")
bindings_scripts_output_dir = "$root_gen_dir/blink/bindings/scripts"
......@@ -183,7 +183,7 @@ template("idl_compiler") {
# FIXME: This is too conservative, and causes excess rebuilds:
# compute this file-by-file. http://crbug.com/341748
# This should theoretically just be the IDL files passed in.
inputs += all_dependency_idl_files
inputs += core_all_dependency_idl_files + modules_all_dependency_idl_files
sources = invoker.sources
outputs = [
......
# Copyright 2014 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.
# Pre-caching steps used internally by the IDL compiler
#
# Design doc: http://www.chromium.org/developers/design-documents/idl-build
{
'includes': [
'scripts.gypi',
'../bindings.gypi',
'../templates/templates.gypi',
],
'targets': [
################################################################################
{
# This separate pre-caching step is required to use lex/parse table caching
# in PLY, since PLY itself does not check if the cache is valid, and may end
# up using a stale cache if this step hasn't been run to update it.
#
# This action's dependencies *is* the cache validation.
#
# GN version: //third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables
'target_name': 'cached_lex_yacc_tables',
'type': 'none',
'actions': [{
'action_name': 'cache_lex_yacc_tables',
'inputs': [
'<@(idl_lexer_parser_files)',
],
'outputs': [
'<(bindings_scripts_output_dir)/lextab.py',
'<(bindings_scripts_output_dir)/parsetab.pickle',
],
'action': [
'python',
'blink_idl_parser.py',
'<(bindings_scripts_output_dir)',
],
'message': 'Caching PLY lex & yacc lex/parse tables',
}],
},
################################################################################
{
# A separate pre-caching step is *required* to use bytecode caching in
# Jinja (which improves speed significantly), as the bytecode cache is
# not concurrency-safe on write; details in code_generator_v8.py.
#
# GN version: //third_party/WebKit/Source/bindings/scripts:cached_jinja_templates
'target_name': 'cached_jinja_templates',
'type': 'none',
'actions': [{
'action_name': 'cache_jinja_templates',
'inputs': [
'<@(jinja_module_files)',
'code_generator_v8.py',
'<@(code_generator_template_files)',
],
'outputs': [
'<(bindings_scripts_output_dir)/cached_jinja_templates.stamp', # Dummy to track dependency
],
'action': [
'python',
'code_generator_v8.py',
'<(bindings_scripts_output_dir)',
'<(bindings_scripts_output_dir)/cached_jinja_templates.stamp',
],
'message': 'Caching bytecode of Jinja templates',
}],
},
################################################################################
], # targets
}
# Copyright 2014 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': {
'code_generator_template_files': [
'attributes.cpp',
'callback_interface.cpp',
'callback_interface.h',
'constants.cpp',
'utilities.cpp',
'copyright_block.txt',
'dictionary_impl.cpp',
'dictionary_impl.h',
'dictionary_v8.cpp',
'dictionary_v8.h',
'interface_base.cpp',
'interface.cpp',
'interface.h',
'methods.cpp',
'partial_interface.cpp',
'partial_interface.h',
'union_container.cpp',
'union_container.h',
],
},
}
#
# Copyright (C) 2009 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
# The following defines turn WebKit features on and off.
#
# ====================================
#
# Keep the GN version in Sync:
# Source/config.gni
#
# ====================================
'variables': {
'feature_defines': [
'ENABLE_LAYOUT_UNIT_IN_INLINE_BOXES=0',
'ENABLE_OILPAN=1',
# WTF_USE_DYNAMIC_ANNOTATIONS=1 may be defined in build/common.gypi
# We can't define it here because it should be present only
# in Debug or release_valgrind_build=1 builds.
],
# We have to nest variables inside variables so that they can be overridden
# through GYP_DEFINES.
'variables': {
'blink_logging_always_on%': 0,
},
'conditions': [
['use_concatenated_impulse_responses==1', {
# Use concatenated HRTF impulse responses
'feature_defines': ['WTF_USE_CONCATENATED_IMPULSE_RESPONSES=1'],
}],
['OS=="android"', {
'feature_defines': [
'WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION=1'
],
}, { # OS!=android
'feature_defines': [
'WTF_USE_ICCJPEG=1',
'WTF_USE_QCMSLIB=1'
],
}],
# Mac OS X uses Accelerate.framework FFT by default instead of FFmpeg.
['OS!="mac" and OS!="android"', {
'feature_defines': [
'WTF_USE_WEBAUDIO_FFMPEG=1',
],
}],
['OS=="android" and use_openmax_dl_fft!=0', {
'feature_defines': [
'WTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1',
],
}],
['use_default_render_theme==1', {
'feature_defines': [
'WTF_USE_DEFAULT_RENDER_THEME=1',
],
}],
['blink_logging_always_on==1', {
'feature_defines': [
'LOG_DISABLED=0',
],
}],
],
},
}
# The GN build definitions for these variables are in scripts.gni.
{
'variables': {
'scripts_for_in_files': [
# jinja2/__init__.py contains version string, so sufficient as
# dependency for whole jinja2 package
'<(DEPTH)/third_party/jinja2/__init__.py',
'<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
'hasher.py',
'in_file.py',
'in_generator.py',
'license.py',
'name_utilities.py',
'template_expander.py',
'trie_builder.py',
'templates/macros.tmpl',
],
'css_properties_files': [
'<@(scripts_for_in_files)',
'css_properties.py',
'../../core/css/CSSProperties.in',
],
'make_event_factory_files': [
'<@(scripts_for_in_files)',
'make_event_factory.py',
'templates/EventFactory.cpp.tmpl',
],
'make_names_files': [
'<@(scripts_for_in_files)',
'make_names.py',
'templates/MakeNames.cpp.tmpl',
'templates/MakeNames.h.tmpl',
],
'make_qualified_names_files': [
'<@(scripts_for_in_files)',
'make_qualified_names.py',
'templates/MakeQualifiedNames.cpp.tmpl',
'templates/MakeQualifiedNames.h.tmpl',
],
'make_element_factory_files': [
'<@(make_qualified_names_files)',
'make_element_factory.py',
'templates/ElementFactory.cpp.tmpl',
'templates/ElementFactory.h.tmpl',
],
'make_element_type_helpers_files': [
'<@(make_qualified_names_files)',
'make_element_type_helpers.py',
'templates/ElementTypeHelpers.h.tmpl',
],
'make_trie_helpers_files': [
'<@(scripts_for_in_files)',
'trie_builder.py',
],
'conditions': [
['OS=="win"', {
'gperf_exe': '<(DEPTH)/third_party/gperf/bin/gperf.exe',
'bison_exe': '<(DEPTH)/third_party/bison/bin/bison.exe',
},{
'gperf_exe': 'gperf',
'bison_exe': 'bison',
}],
],
},
}
# Copyright (C) 2012 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Include this file to make targets in your .gyp use the default precompiled
# header on Windows, when precompiled headers are turned on.
{
'conditions': [
['OS=="win" and chromium_win_pch==1', {
'target_defaults': {
'msvs_precompiled_header': 'third_party/WebKit/Source/build/win/Precompile.h',
'msvs_precompiled_source': '<(DEPTH)/third_party/WebKit/Source/build/win/Precompile.cpp',
'sources': ['<(DEPTH)/third_party/WebKit/Source/build/win/Precompile.cpp'],
'include_dirs': [ '<(DEPTH)' ],
}
}],
],
}
#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'targets': [],
'conditions': [
# Normally target should exists unconditionally and only their content
# should be conditional. Those targets are intentionally only conditionally
# visible to make sure target using blink are not part of the iOS build (as
# iOS must not depends on blink). If you get an error about this target not
# existing, then you must make the target depending on blink condition on
# OS not being iOS.
['OS!="ios"', {
'variables': {
# If set to 1, doesn't compile debug symbols into webcore reducing the
# size of the binary and increasing the speed of gdb. gcc only.
'remove_webcore_debug_symbols%': 0,
# If set to 1 (default) and using clang, the Blink GC plugin will check the
# usage of the garbage-collection infrastructure during compilation.
'blink_gc_plugin%': 1,
# Additional flags for the Blink GC plugin.
'blink_gc_plugin_flags%': '',
# If set to 1, the Blink will use the base allocator instead of
# PartitionAlloc. so that the top of stack-unwinding becomes the caller
# which requests memory allocation in blink.
'blink_disable_partition_allocator%': 0,
},
'targets': [
{
# GN version: //third_party/WebKit/Source:config
# (In GN this is a config rather than a target.)
'target_name': 'config',
'type': 'none',
'direct_dependent_settings': {
'include_dirs': [
'.',
'..',
'<(SHARED_INTERMEDIATE_DIR)/third_party/WebKit',
],
'msvs_disabled_warnings': [
4305, 4324, 4714, 4800, 4996,
],
'variables': {
'chromium_code': 1,
'clang_warning_flags': [ '-Wglobal-constructors' ],
},
'conditions': [
['OS=="win" and component=="shared_library"', {
'defines': [
'USING_V8_SHARED',
],
}],
['OS=="win"', {
'sources/': [
['exclude', 'Posix\\.cpp$'],
],
},{ # OS!="win"
'sources/': [
['exclude', 'Win\\.cpp$'],
],
}],
['OS!="mac"', {
'sources/': [
['exclude', 'Mac\\.mm$'],
],
}],
['OS!="android"', {
'sources/': [
['exclude', 'Android\\.cpp$'],
],
}],
['OS!="win" and remove_webcore_debug_symbols==1', {
# Remove -g from all targets defined here.
'cflags!': ['-g'],
}],
# Only enable the blink_gc_plugin when using clang and chrome plugins.
['blink_gc_plugin==1 and clang==1 and clang_use_chrome_plugins==1', {
'cflags': ['<!@(python <(DEPTH)/tools/clang/scripts/blink_gc_plugin_flags.py target_os=<(OS) <(blink_gc_plugin_flags))'],
'xcode_settings': {
'OTHER_CFLAGS': ['<!@(python <(DEPTH)/tools/clang/scripts/blink_gc_plugin_flags.py target_os=<(OS) <(blink_gc_plugin_flags))'],
},
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': ['<!@(python <(DEPTH)/tools/clang/scripts/blink_gc_plugin_flags.py target_os=<(OS) <(blink_gc_plugin_flags))'],
},
},
}],
['blink_disable_partition_allocator==1', {
'defines': [
'MEMORY_TOOL_REPLACES_ALLOCATOR',
],
}],
['use_system_icu==1', {
'defines': [
'USING_SYSTEM_ICU',
],
}],
],
},
},
{
'target_name': 'unittest_config',
'type': 'none',
'dependencies': [
'config',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'export_dependent_settings': [
'config',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'direct_dependent_settings': {
'variables': {
'chromium_code': 1,
'clang_warning_flags_unset': [ '-Wglobal-constructors' ],
},
},
}
],
}],
],
}
......@@ -7,12 +7,12 @@ import("//build/config/ui.gni")
import("//build/split_static_library.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/bindings/modules/modules.gni")
import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
import("//third_party/WebKit/Source/config.gni")
import("//third_party/WebKit/Source/core/core.gni")
import("//third_party/WebKit/Source/build/scripts/scripts.gni")
import("//third_party/WebKit/Source/modules/modules_idl_files.gni")
import("//third_party/WebKit/Source/platform/platform_generated.gni")
visibility = [ "//third_party/WebKit/Source/*" ]
......
......@@ -2,10 +2,28 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/core/core.gni")
# The paths in this file are absolute since it is imported from different
# source directories.
# The paths in this file are absolute since this file is imported and the
# file lists must be valid from multple "current directories".
bindings_core_output_dir = "$bindings_output_dir/core"
# Global constructors
core_global_constructors_original_interfaces = [
"Window",
"SharedWorkerGlobalScope",
"DedicatedWorkerGlobalScope",
]
# The interfaces aren't technically files, but we can treat them as file names
# to get process_file_template to generate lists of IDL files corresponding
# to each interface.
core_global_constructors_generated_idl_files =
process_file_template(
core_global_constructors_original_interfaces,
[ "$blink_core_output_dir/{{source_name_part}}CoreConstructors.idl" ])
core_idl_files = get_path_info([
"animation/KeyframeEffect.idl",
......@@ -588,3 +606,30 @@ generated_webcore_testing_idl_files =
"$blink_core_output_dir/testing/InternalSettingsGenerated.idl",
],
"abspath")
core_definition_idl_files = core_dictionary_idl_files + core_idl_files +
core_idl_with_modules_dependency_files
core_testing_definition_idl_files =
core_testing_dictionary_idl_files + webcore_testing_idl_files +
webcore_testing_idl_with_modules_dependency_files
# Static IDL files
core_static_interface_idl_files =
core_definition_idl_files + core_testing_definition_idl_files +
core_typedefs_enums_only_idl_files
core_static_dependency_idl_files =
core_dependency_idl_files + webcore_testing_dependency_idl_files
# Generated IDL files
core_generated_interface_idl_files = generated_webcore_testing_idl_files # interfaces
core_generated_dependency_idl_files =
core_global_constructors_generated_idl_files # partial interfaces
# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
# 'core_dependency_idl_files' is already used in Source/core, so avoid
# collision
core_all_dependency_idl_files =
core_static_dependency_idl_files + core_generated_dependency_idl_files
# Copyright 2016 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': [
'../../platform/inspector_protocol/inspector_protocol.gypi',
],
'variables': {
'blink_core_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/core',
'blink_platform_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/platform',
},
'targets': [
{
# GN version: //third_party/WebKit/Source/core/inspector:instrumentation_sources
'target_name': 'instrumentation_sources',
'type': 'none',
'actions': [
{
'action_name': 'generateInspectorInstrumentation',
'inputs': [
# The python script in action below.
'CodeGeneratorInstrumentation.py',
# Input file for the script.
'InspectorInstrumentation.idl',
],
'outputs': [
'<(blink_core_output_dir)/InspectorInstrumentationInl.h',
'<(blink_core_output_dir)/InspectorOverridesInl.h',
'<(blink_core_output_dir)/InstrumentingAgents.h',
'<(blink_core_output_dir)/InspectorInstrumentationImpl.cpp',
],
'action': [
'python',
'CodeGeneratorInstrumentation.py',
'InspectorInstrumentation.idl',
'--output_dir', '<(blink_core_output_dir)',
],
'message': 'Generating Inspector instrumentation code from InspectorInstrumentation.idl',
}
]
},
{
# GN version: //third_party/WebKit/Source/core/inspector:protocol_sources
'target_name': 'protocol_sources',
'type': 'none',
'dependencies': ['protocol_version'],
'actions': [
{
'action_name': 'generateInspectorProtocolBackendSources',
'inputs': [
'<@(jinja_module_files)',
'<@(inspector_protocol_files)',
'browser_protocol.json',
'../../platform/v8_inspector/js_protocol.json',
'inspector_protocol_config.json'
],
'outputs': [
'<(blink_core_output_dir)/inspector/protocol/Forward.h',
'<(blink_core_output_dir)/inspector/protocol/Protocol.cpp',
'<(blink_core_output_dir)/inspector/protocol/Protocol.h',
'<(blink_core_output_dir)/inspector/protocol/Accessibility.cpp',
'<(blink_core_output_dir)/inspector/protocol/Accessibility.h',
'<(blink_core_output_dir)/inspector/protocol/Animation.cpp',
'<(blink_core_output_dir)/inspector/protocol/Animation.h',
'<(blink_core_output_dir)/inspector/protocol/ApplicationCache.cpp',
'<(blink_core_output_dir)/inspector/protocol/ApplicationCache.h',
'<(blink_core_output_dir)/inspector/protocol/CacheStorage.cpp',
'<(blink_core_output_dir)/inspector/protocol/CacheStorage.h',
'<(blink_core_output_dir)/inspector/protocol/CSS.cpp',
'<(blink_core_output_dir)/inspector/protocol/CSS.h',
'<(blink_core_output_dir)/inspector/protocol/Database.cpp',
'<(blink_core_output_dir)/inspector/protocol/Database.h',
'<(blink_core_output_dir)/inspector/protocol/Debugger.h',
'<(blink_core_output_dir)/inspector/protocol/DeviceOrientation.cpp',
'<(blink_core_output_dir)/inspector/protocol/DeviceOrientation.h',
'<(blink_core_output_dir)/inspector/protocol/DOM.cpp',
'<(blink_core_output_dir)/inspector/protocol/DOMDebugger.cpp',
'<(blink_core_output_dir)/inspector/protocol/DOMDebugger.h',
'<(blink_core_output_dir)/inspector/protocol/DOM.h',
'<(blink_core_output_dir)/inspector/protocol/DOMStorage.cpp',
'<(blink_core_output_dir)/inspector/protocol/DOMStorage.h',
'<(blink_core_output_dir)/inspector/protocol/Emulation.cpp',
'<(blink_core_output_dir)/inspector/protocol/Emulation.h',
'<(blink_core_output_dir)/inspector/protocol/IndexedDB.cpp',
'<(blink_core_output_dir)/inspector/protocol/IndexedDB.h',
'<(blink_core_output_dir)/inspector/protocol/Input.cpp',
'<(blink_core_output_dir)/inspector/protocol/Input.h',
'<(blink_core_output_dir)/inspector/protocol/Inspector.cpp',
'<(blink_core_output_dir)/inspector/protocol/Inspector.h',
'<(blink_core_output_dir)/inspector/protocol/IO.cpp',
'<(blink_core_output_dir)/inspector/protocol/IO.h',
'<(blink_core_output_dir)/inspector/protocol/LayerTree.cpp',
'<(blink_core_output_dir)/inspector/protocol/LayerTree.h',
'<(blink_core_output_dir)/inspector/protocol/Log.cpp',
'<(blink_core_output_dir)/inspector/protocol/Log.h',
'<(blink_core_output_dir)/inspector/protocol/Memory.cpp',
'<(blink_core_output_dir)/inspector/protocol/Memory.h',
'<(blink_core_output_dir)/inspector/protocol/Network.cpp',
'<(blink_core_output_dir)/inspector/protocol/Network.h',
'<(blink_core_output_dir)/inspector/protocol/Page.cpp',
'<(blink_core_output_dir)/inspector/protocol/Page.h',
'<(blink_core_output_dir)/inspector/protocol/Rendering.cpp',
'<(blink_core_output_dir)/inspector/protocol/Rendering.h',
'<(blink_core_output_dir)/inspector/protocol/Runtime.h',
'<(blink_core_output_dir)/inspector/protocol/Security.cpp',
'<(blink_core_output_dir)/inspector/protocol/Security.h',
'<(blink_core_output_dir)/inspector/protocol/ServiceWorker.cpp',
'<(blink_core_output_dir)/inspector/protocol/ServiceWorker.h',
'<(blink_core_output_dir)/inspector/protocol/Storage.cpp',
'<(blink_core_output_dir)/inspector/protocol/Storage.h',
'<(blink_core_output_dir)/inspector/protocol/Tracing.cpp',
'<(blink_core_output_dir)/inspector/protocol/Tracing.h',
'<(blink_core_output_dir)/inspector/protocol/Worker.cpp',
'<(blink_core_output_dir)/inspector/protocol/Worker.h',
],
'action': [
'python',
'../../platform/inspector_protocol/CodeGenerator.py',
'--jinja_dir', '../../../../', # jinja is in chromium's third_party
'--output_base', '<(blink_core_output_dir)',
'--config', 'inspector_protocol_config.json',
],
'message': 'Generating Inspector protocol backend sources from json definitions',
},
]
},
{
# GN version: //third_party/WebKit/Source/core/inspector:protocol_version
'target_name': 'protocol_version',
'type': 'none',
'actions': [
{
'action_name': 'generateInspectorProtocolVersion',
'inputs': [
'../../platform/inspector_protocol/CheckProtocolCompatibility.py',
'browser_protocol.json',
'../../platform/v8_inspector/js_protocol.json',
],
'outputs': [
'<(blink_core_output_dir)/inspector/browser_protocol.stamp',
],
'action': [
'python',
'../../platform/inspector_protocol/CheckProtocolCompatibility.py',
'--stamp',
'<@(_outputs)',
'browser_protocol.json',
'../../platform/v8_inspector/js_protocol.json'
],
'message': 'Validate inspector protocol for backwards compatibility',
},
{
'action_name': 'concatenate_protocol',
'inputs': [
'../../platform/inspector_protocol/ConcatenateProtocols.py',
'browser_protocol.json',
'../../platform/v8_inspector/js_protocol.json',
],
'outputs': [
'<(blink_core_output_dir)/inspector/protocol.json',
],
'action': [
'python',
'../../platform/inspector_protocol/ConcatenateProtocols.py',
'browser_protocol.json',
'../../platform/v8_inspector/js_protocol.json',
'<@(_outputs)',
],
'message': 'Concatenate inspector protocol',
},
]
},
], # targets
}
......@@ -9,6 +9,7 @@ import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
import("//third_party/WebKit/Source/bindings/modules/v8/v8.gni")
import("//third_party/WebKit/Source/build/scripts/scripts.gni")
import("//third_party/WebKit/Source/modules/modules.gni")
import("//third_party/WebKit/Source/modules/modules_idl_files.gni")
visibility = [ "//third_party/WebKit/Source/*" ]
......
......@@ -4,35 +4,16 @@
import("//third_party/WebKit/Source/config.gni")
blink_modules_output_dir = "$root_gen_dir/blink/modules"
_gypi = exec_script(
"//build/gypi_to_gn.py",
[
rebase_path("modules.gypi"),
"--replace=<(SHARED_INTERMEDIATE_DIR)=$root_gen_dir",
"--replace=<(blink_modules_output_dir)=$blink_modules_output_dir",
"--replace=<(blink_modules_output_dir)=$root_gen_dir/blink/modules",
],
"scope",
[ "modules.gypi" ])
_tmp_modules_idl_files = _gypi.modules_idl_files
# modules_idl_files has a magic variable in it that is an embedder hook,
# remove that since it's not a file (need to do this before rebasing).
_tmp_modules_idl_files -= [ "<@(extra_blink_module_idl_files)" ]
modules_idl_files = get_path_info(_tmp_modules_idl_files, "abspath")
modules_dictionary_idl_files =
get_path_info(_gypi.modules_dictionary_idl_files, "abspath")
# 'partial interface' or target (right side of) 'implements'
modules_dependency_idl_files =
get_path_info(_gypi.modules_dependency_idl_files, "abspath")
modules_event_idl_files =
get_path_info(_gypi.modules_event_idl_files, "abspath")
# interfaces that inherit from Event
generated_modules_files =
get_path_info(_gypi.generated_modules_files, "abspath")
......@@ -52,10 +33,6 @@ modules_files = get_path_info(_tmp_modules_files, "abspath")
# Account for GYP var expansion.
modules_files += generated_modules_files + generated_modules_dictionary_files
# 'partial interface' or target (right side of) 'implements'
modules_testing_dependency_idl_files =
get_path_info(_gypi.modules_testing_dependency_idl_files, "abspath")
# Defines a part of blink modules. This is either a source set or a static
# library with defaults for commonly-used values.
#
......
#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'includes': [
'../build/features.gypi',
'../build/scripts/scripts.gypi',
'../build/win/precompile.gypi',
'../bindings/modules/modules.gypi', # modules can depend on bindings/modules, but not on bindings
'modules.gypi',
],
'targets': [{
# GN version: //third_party/WebKit/Source/modules:modules
'target_name': 'modules',
'dependencies': [
'<(DEPTH)/device/battery/battery.gyp:device_battery_mojo_bindings_for_blink',
'<(DEPTH)/device/nfc/nfc.gyp:device_nfc_mojo_bindings_for_blink',
'<(DEPTH)/device/usb/usb.gyp:device_usb_mojo_bindings_for_blink',
'<(DEPTH)/device/vibration/vibration.gyp:device_vibration_mojo_bindings_for_blink',
'<(DEPTH)/device/vr/vr.gyp:device_vr_mojo_bindings_for_blink',
'<(DEPTH)/media/mojo/interfaces/mojo_bindings.gyp:image_capture_mojo_bindings_for_blink',
'<(DEPTH)/mojo/mojo_edk.gyp:mojo_system_impl',
'<(DEPTH)/mojo/mojo_public.gyp:mojo_cpp_bindings',
'<(DEPTH)/third_party/icu/icu.gyp:icui18n',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
'<(DEPTH)/third_party/sqlite/sqlite.gyp:sqlite',
'<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
'../config.gyp:config',
'modules_generated.gyp:make_modules_generated',
'../../public/blink.gyp:mojo_bindings',
],
'defines': [
'BLINK_IMPLEMENTATION=1',
'INSIDE_BLINK',
],
'sources': [
'<@(modules_files)',
'<@(bindings_modules_v8_files)',
'<@(bindings_modules_v8_generated_aggregate_files)',
'<@(bindings_modules_v8_generated_partial_aggregate_files)',
'<@(bindings_modules_v8_generated_union_type_files)',
'<(bindings_modules_v8_output_dir)/initPartialInterfacesInModules.cpp',
],
'conditions': [
['component=="shared_library"', {
'type': 'shared_library',
'defines': [
'BLINK_MODULES_IMPLEMENTATION=1',
],
'dependencies': [
'../core/core.gyp:webcore_shared', # modules depends on core.
'../platform/blink_platform.gyp:blink_common',
'../platform/blink_platform.gyp:blink_platform',
'../bindings/modules/generated.gyp:modules_event_generated',
'../bindings/modules/v8/generated.gyp:bindings_modules_v8_generated',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/url/url.gyp:url_lib',
'<(DEPTH)/v8/src/v8.gyp:v8',
],
}, {
'type': 'static_library',
'dependencies': [
'../core/core.gyp:webcore',
],
'conditions': [
# Shard this target into parts to work around linker limitations.
['OS=="win" and (buildtype=="Official" or (fastbuild==0 and win_z7==1))', {
'msvs_shard': 4,
}],
],
}]
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, 4334, ],
},
{
# GN version: //third_party/WebKit/Source/modules:modules_testing
'target_name': 'modules_testing',
'type': 'static_library',
'dependencies': [
'modules',
'../config.gyp:config',
],
'defines': [
'BLINK_IMPLEMENTATION=1',
'INSIDE_BLINK',
],
'sources': [
'<@(modules_testing_files)',
'<(bindings_modules_v8_output_dir)/V8InternalsPartial.cpp',
'<(bindings_modules_v8_output_dir)/V8InternalsPartial.h',
],
'conditions': [
['component=="shared_library"', {
'dependencies': [
'../core/core.gyp:webcore_shared',
'<(DEPTH)/gin/gin.gyp:gin',
],
}, {
'dependencies': [
'../core/core.gyp:webcore',
],
}],
],
}],
}
# Copyright 2014 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': [
'modules_generated.gypi',
'../bindings/scripts/scripts.gypi',
'../build/features.gypi',
'../build/scripts/scripts.gypi',
],
'targets': [
{
# GN version: //third_party/WebKit/Source/modules:make_modules_generated
'target_name': 'make_modules_generated',
'type': 'none',
'hard_dependency': 1,
'dependencies': [
'../bindings/modules/generated.gyp:modules_event_generated',
'../config.gyp:config',
],
'actions': [
{
'action_name': 'IndexedDBNames',
'inputs': [
'<@(make_names_files)',
'indexeddb/IndexedDBNames.in',
],
'outputs': [
'<(blink_modules_output_dir)/IndexedDBNames.cpp',
'<(blink_modules_output_dir)/IndexedDBNames.h',
],
'action': [
'python',
'../build/scripts/make_names.py',
'indexeddb/IndexedDBNames.in',
'--output_dir',
'<(blink_modules_output_dir)',
],
},
],
},
],
}
# Copyright 2014 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': {
'blink_modules_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/modules',
},
}
This diff is collapsed.
This diff is collapsed.
#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'includes': [
'../build/win/precompile.gypi',
'blink_platform.gypi',
'heap/blink_heap.gypi',
],
'targets': [
{
'target_name': 'blink_heap_unittests',
'type': 'executable',
'dependencies': [
'../config.gyp:unittest_config',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/base/base.gyp:test_support_base',
'<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
'blink_platform.gyp:blink_platform',
'blink_platform_test_support',
],
'defines': [
'INSIDE_BLINK',
],
'sources': [
'heap/RunAllTests.cpp',
'<@(platform_heap_test_files)',
],
'conditions': [
['OS=="android"', {
'type': 'shared_library',
'dependencies': [
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
'<(DEPTH)/tools/android/forwarder2/forwarder.gyp:forwarder2',
],
}],
],
},
{
'target_name': 'blink_platform_unittests',
'type': 'executable',
'dependencies': [
'blink_platform_test_support',
'../config.gyp:unittest_config',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/base/base.gyp:test_support_base',
'<(DEPTH)/cc/cc.gyp:cc',
'<(DEPTH)/cc/cc_tests.gyp:cc_test_support',
'<(DEPTH)/cc/blink/cc_blink.gyp:cc_blink',
'<(DEPTH)/mojo/mojo_edk.gyp:mojo_common_test_support',
'<(DEPTH)/mojo/mojo_edk_tests.gyp:mojo_public_bindings_for_blink_tests',
'<(DEPTH)/net/net.gyp:net',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng',
'<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
'<(DEPTH)/url/url.gyp:url_lib',
'<(DEPTH)/url/url.gyp:url_interfaces_mojom_for_blink',
'<(DEPTH)/url/url.gyp:url_test_interfaces_mojom_for_blink',
'blink_platform.gyp:blink_platform',
],
'defines': [
'INSIDE_BLINK',
],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/blink',
],
'sources': [
'testing/RunAllTests.cpp',
'<@(platform_test_files)',
],
'conditions': [
['OS=="android" and gtest_target_type == "shared_library"', {
'type': 'shared_library',
'dependencies': [
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
'<(DEPTH)/tools/android/forwarder2/forwarder.gyp:forwarder2',
],
}],
],
},
{
'target_name': 'image_decode_bench',
'type': 'executable',
'dependencies': [
'../config.gyp:config',
'../wtf/wtf.gyp:wtf',
'blink_platform.gyp:blink_platform',
],
'defines': [
'INSIDE_BLINK',
],
'sources': [
'testing/ImageDecodeBench.cpp',
],
},
{
'target_name': 'blink_platform_test_support',
'type': 'static_library',
'dependencies': [
'../config.gyp:config',
'../wtf/wtf.gyp:wtf',
'blink_platform.gyp:blink_common',
'blink_platform.gyp:blink_platform',
'<(DEPTH)/cc/cc.gyp:cc',
'<(DEPTH)/cc/cc_tests.gyp:cc_test_support',
'<(DEPTH)/cc/blink/cc_blink.gyp:cc_blink',
'<(DEPTH)/mojo/mojo_edk.gyp:mojo_system_impl',
'<(DEPTH)/mojo/mojo_public.gyp:mojo_cpp_bindings',
'<(DEPTH)/testing/gmock.gyp:gmock',
],
'defines': [
'INSIDE_BLINK',
],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/blink',
],
'sources': [
'<@(platform_test_support_files)',
],
# Disable c4267 warnings until we fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267 ],
},
],
'conditions': [
['OS=="android" and gtest_target_type == "shared_library"', {
'targets': [{
'target_name': 'blink_heap_unittests_apk',
'type': 'none',
'dependencies': [
'<(DEPTH)/base/base.gyp:base_java',
'<(DEPTH)/net/net.gyp:net_java',
'blink_heap_unittests',
],
'conditions': [
['v8_use_external_startup_data==1', {
'dependencies': [
'<(DEPTH)/v8/src/v8.gyp:v8_external_snapshot',
],
'variables': {
'dest_path': '<(asset_location)',
'renaming_sources': [
'<(PRODUCT_DIR)/natives_blob.bin',
'<(PRODUCT_DIR)/snapshot_blob.bin',
],
'renaming_destinations': [
'natives_blob_<(arch_suffix).bin',
'snapshot_blob_<(arch_suffix).bin',
],
'clear': 1,
},
'includes': ['../../../../build/android/copy_ex.gypi'],
}],
],
'variables': {
'test_suite_name': 'blink_heap_unittests',
'conditions': [
['v8_use_external_startup_data==1', {
'asset_location': '<(PRODUCT_DIR)/blink_heap_unittests_apk/assets',
'additional_input_paths': [
'<(PRODUCT_DIR)/blink_heap_unittests_apk/assets/natives_blob_<(arch_suffix).bin',
'<(PRODUCT_DIR)/blink_heap_unittests_apk/assets/snapshot_blob_<(arch_suffix).bin',
],
}],
],
},
'includes': [
'../../../../build/apk_test.gypi',
'../../../../build/android/v8_external_startup_data_arch_suffix.gypi',
],
},
{
'target_name': 'blink_platform_unittests_apk',
'type': 'none',
'dependencies': [
'<(DEPTH)/base/base.gyp:base_java',
'<(DEPTH)/net/net.gyp:net_java',
'blink_platform_unittests',
],
'variables': {
'test_suite_name': 'blink_platform_unittests',
},
'includes': [ '../../../../build/apk_test.gypi' ],
}],
}],
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'blink_heap_unittests_run',
'type': 'none',
'dependencies': [
'blink_heap_unittests',
],
'includes': [
'../../../../build/isolate.gypi',
],
'sources': [
'blink_heap_unittests.isolate',
],
},
{
'target_name': 'blink_platform_unittests_run',
'type': 'none',
'dependencies': [
'blink_platform_unittests',
],
'includes': [
'../../../../build/isolate.gypi',
],
'sources': [
'blink_platform_unittests.isolate',
],
}
],
}],
],
}
# Copyright 2016 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': {
'inspector_protocol_files': [
'lib/Allocator_h.template',
'lib/Array_h.template',
'lib/BackendCallback_h.template',
'lib/Collections_h.template',
'lib/DispatcherBase_cpp.template',
'lib/DispatcherBase_h.template',
'lib/ErrorSupport_cpp.template',
'lib/ErrorSupport_h.template',
'lib/Forward_h.template',
'lib/FrontendChannel_h.template',
'lib/Maybe_h.template',
'lib/Object_cpp.template',
'lib/Object_h.template',
'lib/Parser_cpp.template',
'lib/Parser_h.template',
'lib/Protocol_cpp.template',
'lib/ValueConversions_h.template',
'lib/Values_cpp.template',
'lib/Values_h.template',
'templates/Exported_h.template',
'templates/Imported_h.template',
'templates/TypeBuilder_cpp.template',
'templates/TypeBuilder_h.template',
'CodeGenerator.py',
]
}
}
#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'includes': [
'../build/features.gypi',
'../build/scripts/scripts.gypi',
'platform_generated.gypi',
],
'variables': {
'conditions': [
# TODO(kojii): The character_data_generator fails when cross-compile, so
# we use a pre-generated copy in the tree until we fix or until we move
# to gn. See crbug.com/581555
['OS=="android" or chromeos==1 or (target_arch!="ia32" and target_arch!="x64")', {
'generate_character_data%': 0,
}, {
'generate_character_data%': 1,
}],
],
},
'targets': [
{
'target_name': 'make_platform_generated',
'type': 'none',
'hard_dependency': 1,
'dependencies': [
'v8_inspector/v8_inspector.gyp:inspector_debugger_script',
'v8_inspector/v8_inspector.gyp:inspector_injected_script',
'v8_inspector/v8_inspector.gyp:protocol_sources',
],
'conditions': [
['generate_character_data==1', {
'dependencies': [
'character_data_generator#host',
],
}]
],
'actions': [
{
'action_name': 'FontFamilyNames',
'inputs': [
'<@(make_names_files)',
'fonts/FontFamilyNames.in',
],
'outputs': [
'<(blink_platform_output_dir)/FontFamilyNames.cpp',
'<(blink_platform_output_dir)/FontFamilyNames.h',
],
'action': [
'python',
'../build/scripts/make_names.py',
'fonts/FontFamilyNames.in',
'--output_dir',
'<(blink_platform_output_dir)',
],
},
{
'action_name': 'HTTPNames',
'inputs': [
'<@(make_names_files)',
'network/HTTPNames.in',
],
'outputs': [
'<(blink_platform_output_dir)/HTTPNames.cpp',
'<(blink_platform_output_dir)/HTTPNames.h',
],
'action': [
'python',
'../build/scripts/make_names.py',
'network/HTTPNames.in',
'--output_dir',
'<(blink_platform_output_dir)',
],
},
{
'action_name': 'RuntimeEnabledFeatures',
'inputs': [
'<@(scripts_for_in_files)',
'../build/scripts/make_runtime_features.py',
'RuntimeEnabledFeatures.in',
'../build/scripts/templates/RuntimeEnabledFeatures.cpp.tmpl',
'../build/scripts/templates/RuntimeEnabledFeatures.h.tmpl',
],
'outputs': [
'<(blink_platform_output_dir)/RuntimeEnabledFeatures.cpp',
'<(blink_platform_output_dir)/RuntimeEnabledFeatures.h',
],
'action': [
'python',
'../build/scripts/make_runtime_features.py',
'RuntimeEnabledFeatures.in',
'--output_dir',
'<(blink_platform_output_dir)',
],
},
{
'action_name': 'ColorData',
'inputs': [
'ColorData.gperf',
],
'outputs': [
'<(blink_platform_output_dir)/ColorData.cpp',
],
'action': [
'<(gperf_exe)',
'--key-positions=*',
'-D', '-s', '2',
'<@(_inputs)',
'--output-file=<(blink_platform_output_dir)/ColorData.cpp',
],
},
{
'action_name': 'CharacterPropertyData',
'inputs': [
'text/CharacterPropertyDataGenerator.cpp',
'text/CharacterPropertyDataGenerator.h'
],
'outputs': [
'<(blink_platform_output_dir)/CharacterPropertyData.cpp',
],
'conditions': [
['generate_character_data==1', {
'action': [
'<(PRODUCT_DIR)/character_data_generator',
'<(blink_platform_output_dir)/CharacterPropertyData.cpp',
],
}, {
'action': [
'cp',
'text/CharacterPropertyData.cpp',
'<(blink_platform_output_dir)/CharacterPropertyData.cpp',
],
}]
],
},
]
},
{
'target_name': 'character_data_generator',
'type': 'executable',
'toolsets': ['host'],
'sources': [
'text/CharacterPropertyDataGenerator.cpp',
],
'dependencies': [
'<(DEPTH)/third_party/icu/icu.gyp:icuuc#host',
],
},
],
}
# Copyright 2014 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': {
'blink_platform_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/platform',
},
}
#
# Copyright (C) 2011 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'variables': {
'blink_web_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/web',
},
'includes': [
'../bindings/bindings.gypi',
'../core/core.gypi',
'../build/features.gypi',
'../build/scripts/scripts.gypi',
'../build/win/precompile.gypi',
'../modules/modules.gypi',
'../platform/blink_platform.gypi',
'../wtf/wtf.gypi',
'web.gypi',
],
'target_defaults': {
'variables': {
'clang_warning_flags': ['-Wglobal-constructors'],
},
},
'targets': [
{
'target_name': 'blink_web',
'type': '<(component)',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'../config.gyp:config',
'../platform/blink_platform.gyp:blink_common',
'../modules/modules.gyp:modules',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/cc/cc.gyp:cc',
'<(DEPTH)/skia/skia.gyp:skia',
'<(angle_path)/src/angle.gyp:translator',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
'<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
'<(DEPTH)/v8/src/v8.gyp:v8',
],
'export_dependent_settings': [
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
'<(DEPTH)/v8/src/v8.gyp:v8',
],
'include_dirs': [
'<(angle_path)/include',
],
'defines': [
'BLINK_WEB_IMPLEMENTATION=1',
'BLINK_IMPLEMENTATION=1',
'INSIDE_BLINK',
],
'sources': [
'<@(web_files)',
],
'conditions': [
['component=="shared_library"', {
'dependencies': [
'../core/core.gyp:webcore_shared',
'../platform/blink_platform.gyp:blink_common',
'../platform/blink_platform.gyp:blink_platform',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
'<(DEPTH)/third_party/icu/icu.gyp:icui18n',
'<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
'<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
'<(DEPTH)/third_party/ots/ots.gyp:ots',
'<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
'<(DEPTH)/url/url.gyp:url_lib',
'<(DEPTH)/v8/src/v8.gyp:v8',
'<(libjpeg_gyp_path):libjpeg',
# We must not add webkit_support here because of cyclic dependency.
],
'export_dependent_settings': [
'<(DEPTH)/url/url.gyp:url_lib',
'<(DEPTH)/v8/src/v8.gyp:v8',
],
'msvs_settings': {
'VCLinkerTool': {
'conditions': [
['incremental_chrome_dll==1', {
'UseLibraryDependencyInputs': "true",
}],
],
},
},
}, {
# component=="static_library"
'dependencies': [
'../core/core.gyp:webcore',
],
}],
['OS == "linux"', {
'dependencies': [
'<(DEPTH)/build/linux/system.gyp:fontconfig',
],
}, {
'sources/': [
['exclude', 'linux/'],
],
}],
['use_x11 == 1', {
'dependencies': [
'<(DEPTH)/build/linux/system.gyp:x11',
],
}, {
'sources/': [
['exclude', 'x11/'],
]
}],
['OS=="mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
'$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
],
},
}, { # else: OS!="mac"
'sources/': [
['exclude', 'mac/WebScrollbarTheme.cpp$'],
],
}],
],
'direct_dependent_settings': {
'include_dirs': [
'../../',
],
},
'target_conditions': [
['OS=="android"', {
'sources/': [
['include', '^linux/WebFontRendering\\.cpp$'],
],
}],
],
},
{
# GN version: //third_party/WebKit/Source/web:test_support
'target_name': 'blink_web_test_support',
# Because of transitive dependency on make_platform_generated.
'hard_dependency': 1,
'type': 'static_library',
'dependencies': [
'../config.gyp:config',
'../core/core.gyp:webcore_testing',
'../modules/modules.gyp:modules_testing',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/v8/src/v8.gyp:v8',
],
'include_dirs': [
'../../',
'<(SHARED_INTERMEDIATE_DIR)/blink', # gen/blink
],
'sources': [
'WebTestingSupport.cpp',
],
'conditions': [
['component!="shared_library"', {
'dependencies': [
'../core/core.gyp:webcore',
'../core/core.gyp:webcore_generated',
],
}, {
'dependencies': [
'../core/core.gyp:webcore_shared',
],
}],
],
},
], # targets
'conditions': [
['OS=="mac"', {
'targets': [
{
'target_name': 'copy_mesa',
'type': 'none',
'dependencies': ['<(DEPTH)/third_party/mesa/mesa.gyp:osmesa'],
'copies': [{
'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/',
'files': ['<(PRODUCT_DIR)/osmesa.so'],
}],
},
],
}],
], # conditions
}
#
# Copyright (C) 2011 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
{
'includes': [
'../bindings/bindings.gypi',
'../build/features.gypi',
'../build/scripts/scripts.gypi',
'../core/core.gypi',
'../modules/modules.gypi',
'../platform/blink_platform.gypi',
'../web/web.gypi',
'../wtf/wtf.gypi',
],
'targets': [
{
# GN version: //third_party/WebKit/Source/web:webkit_unit_tests
'target_name': 'webkit_unit_tests',
'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'../../public/blink.gyp:blink',
'../../public/blink.gyp:mojo_bindings',
'../config.gyp:unittest_config',
'../modules/modules.gyp:modules',
'../platform/blink_platform_tests.gyp:blink_platform_test_support',
'../wtf/wtf.gyp:wtf',
'web.gyp:blink_web_test_support',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/base/base.gyp:base_i18n',
'<(DEPTH)/base/base.gyp:test_support_base',
'<(DEPTH)/gpu/gpu.gyp:gpu_unittest_utils',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
'<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
'<(DEPTH)/url/url.gyp:url_lib',
'<(DEPTH)/v8/src/v8.gyp:v8',
'<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
],
'sources': [
'../web/tests/RunAllTests.cpp',
'<@(bindings_unittest_files)',
'<@(core_unittest_files)',
'<@(modules_unittest_files)',
'<@(platform_web_unittest_files)',
'<@(web_unittest_files)',
],
'include_dirs': [
'../../public/web',
'../web',
'src',
],
'defines': [
'BLINK_IMPLEMENTATION=1',
'INSIDE_BLINK',
],
'conditions': [
['component!="shared_library"', {
'dependencies': [
'../core/core.gyp:webcore',
],
}, {
'dependencies': [
'../core/core.gyp:webcore_shared',
],
}],
['OS=="win" and component!="shared_library"', {
'configurations': {
'Debug_Base': {
'msvs_settings': {
'VCLinkerTool': {
'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
},
},
},
},
}],
['OS=="android"', {
'type': 'shared_library',
'dependencies': [
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
'<(DEPTH)/tools/android/forwarder2/forwarder.gyp:forwarder2',
],
}],
['OS=="mac"', {
'include_dirs': [
'../../public/web/mac',
],
}],
],
}
], # targets
'conditions': [
['OS=="android" and gtest_target_type == "shared_library"', {
# Wrap libwebkit_unit_tests.so into an android apk for execution.
'targets': [{
'target_name': 'webkit_unit_tests_apk',
'type': 'none',
'dependencies': [
'<(DEPTH)/base/base.gyp:base_java',
'<(DEPTH)/content/content.gyp:content_shell_assets_copy',
'<(DEPTH)/net/net.gyp:net_java',
'webkit_unit_tests',
],
'variables': {
'test_suite_name': 'webkit_unit_tests',
'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)webkit_unit_tests<(SHARED_LIB_SUFFIX)',
'additional_input_paths': ['<(asset_location)/content_shell.pak'],
'asset_location': '<(PRODUCT_DIR)/content_shell/assets',
'conditions': [
['v8_use_external_startup_data==1', {
'additional_input_paths': [
'<(asset_location)/natives_blob_<(arch_suffix).bin',
'<(asset_location)/snapshot_blob_<(arch_suffix).bin',
],
}],
],
},
'includes': [
'../../../../build/apk_test.gypi',
'../../../../build/android/v8_external_startup_data_arch_suffix.gypi',
],
}],
}],
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'webkit_unit_tests_run',
'type': 'none',
'dependencies': [
'webkit_unit_tests',
],
'includes': [
'../../../../build/isolate.gypi',
],
'sources': [
'webkit_unit_tests.isolate',
],
},
],
}],
],
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment