Commit d9e2b847 authored by brettw@chromium.org's avatar brettw@chromium.org

Start writing blink platform GN file.

This adds a target for blink_common, and starts a rough skeleton of blink_platform. There are a lot of dependencies for the platform pat (like V8) so I thought it best to checkpoint that before I start worrying about those.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/257733002

git-svn-id: svn://svn.chromium.org/blink/trunk@172998 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent cad7978a
# 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.
component("blink_common") {
sources = [
"exported/WebCString.cpp",
"exported/WebString.cpp",
"exported/WebCommon.cpp",
]
defines = [
"BLINK_COMMON_IMPLEMENTATION=1",
"INSIDE_BLINK",
]
configs += [
"//build/config/compiler:wexit_time_destructors"
"//third_party/WebKit/Source:config",
]
deps = [
"//third_party/WebKit/Source/wtf",
]
}
# Chromium's version of WebCore includes the following Objective-C classes. The
# system-provided WebCore framework may also provide these classes. Because of
# the nature of Objective-C binding (dynamically at runtime), it's possible for
# the Chromium-provided versions to interfere with the system-provided
# versions. This may happen when a system framework attempts to use
# core.framework, such as when converting an HTML-flavored string to an
# NSAttributedString. The solution is to force Objective-C class names that
# would conflict to use alternate names.
#
# This list will hopefully shrink but may also grow. Its performance is
# monitored by the "Check Objective-C Rename" postbuild step, and any
# suspicious-looking symbols not handled here or whitelisted in that step will
# cause a build failure.
#
# If this is unhandled, the console will receive log messages
# such as:
# com.google.Chrome[] objc[]: Class ScrollbarPrefsObserver is implemented in both .../Google Chrome.app/Contents/Versions/.../Google Chrome Helper.app/Contents/MacOS/../../../Google Chrome Framework.framework/Google Chrome Framework and /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore. One of the two will be used. Which one is undefined.
if (is_mac) {
config("mac_objc_renaming") {
defines = [
"WebCascadeList=ChromiumWebCoreObjCWebCascadeList",
"WebFontCache=ChromiumWebCoreObjCWebFontCache",
"WebScrollAnimationHelperDelegate=ChromiumWebCoreObjCWebScrollAnimationHelperDelegate",
"WebScrollbarPainterControllerDelegate=ChromiumWebCoreObjCWebScrollbarPainterControllerDelegate",
"WebScrollbarPainterDelegate=ChromiumWebCoreObjCWebScrollbarPainterDelegate",
"WebScrollbarPartAnimation=ChromiumWebCoreObjCWebScrollbarPartAnimation",
"WebCoreFlippedView=ChromiumWebCoreObjCWebCoreFlippedView",
"WebCoreTextFieldCell=ChromiumWebCoreObjCWebCoreTextFieldCell",
"WebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver",
]
}
}
# TODO(brettw) Work in progress, finish this when more dependencies are
# complete.
#
# TODO(brettw) Objective C Renaming postbuild steps on Mac.
component("blink_platform") {
sources = [
# TODO(brettw) reference these from .gypi.
]
configs += [
"//third_party/WebKit/Source:config",
]
defines = [
"BLINK_PLATFORM_IMPLEMENTATION=1",
"INSIDE_BLINK",
]
include_dirs = [
#"$angle_path/include",
"$root_gen_dir/blink",
]
deps = [
":blink_common",
"//third_party/WebKit/Source/wtf",
#'blink_heap_asm_stubs',
#'<(DEPTH)/gpu/gpu.gyp:gles2_c_lib',
#'<(DEPTH)/skia/skia.gyp:skia',
#'<(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)/url/url.gyp:url_lib',
#'<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
#'platform_generated.gyp:make_platform_generated',
#'<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
#'<(libjpeg_gyp_path):libjpeg',
]
if (is_mac) {
# Some Mac-specific parts of WebKit won't compile without having this
# prefix header injected.
cflags = [
"-include",
rebase_path("../core/WebCorePrefixMac.h", root_build_dir),
]
configs += [ ":mac_objc_renaming" ]
} else if (is_win) {
cflags = [
"/wd4267", # Conversion from 'size_t' to 'type', possible loss of data.
"/wd4334", # Result of 32-bit shift implicitly converted to 64 bits.
"/wd4724", # Modulo by 0.
]
}
}
...@@ -47,10 +47,21 @@ component("wtf") { ...@@ -47,10 +47,21 @@ component("wtf") {
"..:features", "..:features",
] ]
# TODO(brettw) bug 366814: This should just pull dependent configs from "icu",
# but that currently doesn't work for groups. Instead, manually expand the
# "icu" group's dependents here until a GN build is pushed with the fix.
#deps = [
# "//third_party/icu",
#]
#forward_dependent_configs_from = [ "//third_party/icu" ]
deps = [ deps = [
"//third_party/icu", "//third_party/icu:icui18n",
"//third_party/icu:icuuc",
]
forward_dependent_configs_from = [
"//third_party/icu:icui18n",
"//third_party/icu:icuuc",
] ]
forward_dependent_configs_from = [ "//third_party/icu" ]
if (is_win) { if (is_win) {
sources -= [ sources -= [
......
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