# # 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', 'blink_platform.gypi', 'heap/blink_heap.gypi', ], 'targets': [{ 'target_name': 'blink_common', 'type': '<(component)', 'variables': { 'enable_wexit_time_destructors': 1 }, 'dependencies': [ '../config.gyp:config', '../wtf/wtf.gyp:wtf', '<(DEPTH)/base/base.gyp:base', # FIXME: Can we remove the dependency on Skia? '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/url/url.gyp:url_lib', ], 'all_dependent_settings': { 'include_dirs': [ '..', ], }, 'export_dependent_settings': [ '<(DEPTH)/skia/skia.gyp:skia', ], 'defines': [ 'BLINK_COMMON_IMPLEMENTATION=1', 'INSIDE_BLINK', ], 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/blink', ], 'sources': [ 'exported/FilePathConversion.cpp', 'exported/URLConversion.cpp', 'exported/WebCString.cpp', 'exported/WebCommon.cpp', 'exported/WebString.cpp', ], }, { 'target_name': 'blink_heap_asm_stubs', 'type': 'static_library', # VS2010 does not correctly incrementally link obj files generated # from asm files. This flag disables UseLibraryDependencyInputs to # avoid this problem. 'msvs_2010_disable_uldi_when_referenced': 1, 'includes': [ '../../../yasm/yasm_compile.gypi', ], 'sources': [ '<@(platform_heap_asm_files)', ], 'variables': { 'more_yasm_flags': [], 'conditions': [ ['OS == "mac"', { 'more_yasm_flags': [ # Necessary to ensure symbols end up with a _ prefix; added by # yasm_compile.gypi for Windows, but not Mac. '-DPREFIX', ], }], ['OS == "win" and target_arch == "x64"', { 'more_yasm_flags': [ '-DX64WIN=1', ], }], ['OS != "win" and target_arch == "x64"', { 'more_yasm_flags': [ '-DX64POSIX=1', ], }], ['target_arch == "ia32"', { 'more_yasm_flags': [ '-DIA32=1', ], }], ['target_arch == "arm"', { 'more_yasm_flags': [ '-DARM=1', ], }], ], 'yasm_flags': [ '>@(more_yasm_flags)', ], 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/webcore/heap' }, }, { 'target_name': 'blink_platform', 'type': '<(component)', 'dependencies': [ '../config.gyp:config', '../wtf/wtf.gyp:wtf', 'blink_common', 'blink_heap_asm_stubs', 'platform_generated.gyp:make_platform_generated', '<(DEPTH)/base/base.gyp:base', '<(DEPTH)/cc/cc.gyp:cc', '<(DEPTH)/device/battery/battery.gyp:device_battery_mojo_bindings', '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib', '<(DEPTH)/mojo/mojo_base.gyp:mojo_environment_chromium', '<(DEPTH)/mojo/mojo_edk.gyp:mojo_system_impl', '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg', '<(DEPTH)/third_party/icu/icu.gyp:icui18n', '<(DEPTH)/third_party/icu/icu.gyp:icuuc', '<(DEPTH)/third_party/libpng/libpng.gyp:libpng', '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp', '<(DEPTH)/third_party/ots/ots.gyp:ots', '<(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)/v8/tools/gyp/v8.gyp:v8', '<(libjpeg_gyp_path):libjpeg', ], 'export_dependent_settings': [ 'platform_generated.gyp:make_platform_generated', '<(DEPTH)/base/base.gyp:base', '<(DEPTH)/cc/cc.gyp:cc', '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib', '<(DEPTH)/skia/skia.gyp:skia', '<(DEPTH)/third_party/libpng/libpng.gyp:libpng', '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp', '<(DEPTH)/third_party/ots/ots.gyp:ots', '<(DEPTH)/third_party/qcms/qcms.gyp:qcms', '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', '<(DEPTH)/url/url.gyp:url_lib', '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg', '<(libjpeg_gyp_path):libjpeg', ], 'defines': [ 'BLINK_PLATFORM_IMPLEMENTATION=1', 'INSIDE_BLINK', ], 'include_dirs': [ '<(angle_path)/include', '<(SHARED_INTERMEDIATE_DIR)/blink', ], 'xcode_settings': { # Some Mac-specific parts of WebKit won't compile without having this # prefix header injected. 'GCC_PREFIX_HEADER': '<(DEPTH)/third_party/WebKit/Source/build/mac/Prefix.h', }, 'sources': [ '<@(platform_files)', '<@(platform_heap_files)', # Additional .cpp files from platform_generated.gyp:make_platform_generated actions. '<(blink_platform_output_dir)/CharacterData.cpp', '<(blink_platform_output_dir)/ColorData.cpp', '<(blink_platform_output_dir)/FontFamilyNames.cpp', '<(blink_platform_output_dir)/HTTPNames.cpp', '<(blink_platform_output_dir)/RuntimeEnabledFeatures.cpp', '<(blink_platform_output_dir)/RuntimeEnabledFeatures.h', # Additional .cpp files from the protocol_sources list. '<(blink_platform_output_dir)/inspector_protocol/Frontend.cpp', '<(blink_platform_output_dir)/inspector_protocol/Dispatcher.cpp', '<(blink_platform_output_dir)/inspector_protocol/TypeBuilder.cpp', # Additional .cpp files from the v8_inspector. '<(blink_platform_output_dir)/v8_inspector/DebuggerScript.h', '<(blink_platform_output_dir)/v8_inspector/InjectedScriptSource.h', ], 'sources/': [ # Exclude all platform specific things, reinclude them below on a per-platform basis # FIXME: Figure out how to store these patterns in a variable. ['exclude', '(cf|cg|mac|opentype|win)/'], ['exclude', '(?