提交 e281b602 编写于 作者: A Adam Barth 提交者: GitHub

Build sky/engine on fuchsia (#2992)

上级 f102f9c1
......@@ -58,6 +58,7 @@ source_set("ui") {
"//flutter/services/engine:interfaces",
"//flutter/services/pointer:interfaces",
"//flutter/skia",
"//flutter/sky/engine",
"//lib/tonic",
"//lib/tonic/mojo",
"//mojo/public/cpp/application",
......@@ -73,10 +74,6 @@ source_set("ui") {
"text/paragraph_stub.cc",
"text/paragraph_stub.h",
]
deps += [
"//flutter/sky/engine/wtf",
]
} else {
sources += [
"text/paragraph_builder.cc",
......@@ -86,10 +83,6 @@ source_set("ui") {
"text/text_box.cc",
"text/text_box.h",
]
deps += [
"//flutter/sky/engine",
]
}
if (is_android) {
......
......@@ -18,6 +18,10 @@ config("config") {
".",
"$root_out_dir",
]
cflags = [
"-Wno-inconsistent-missing-override",
]
}
# The follow configs apply to all targets except for unit tests, which rely on
......@@ -30,8 +34,6 @@ config("non_test_config") {
}
}
if (!is_fuchsia) {
group("engine") {
public_deps = [
"//flutter/sky/engine/core",
......@@ -40,5 +42,3 @@ group("engine") {
"//flutter/sky/engine/wtf",
]
}
}
......@@ -7,9 +7,34 @@ import("//flutter/sky/engine/core/core.gni")
visibility = [ "//flutter/sky/engine/*", "//flutter/sky/shell/*" ]
source_set("libraries") {
static_library("core") {
output_name = "sky_core"
deps = [
"//dart/runtime:libdart",
"//dart/runtime/bin:embedded_dart_io",
"//dart/runtime/vm:libdart_platform",
"//flutter/assets",
"//flutter/sky/engine/platform",
"//flutter/services/engine:interfaces",
"//flutter/services/pointer:interfaces",
]
if (flutter_runtime_mode != "release" && !is_fuchsia) {
# Only include observatory assets in non-release modes.
deps += [
"//dart/runtime/observatory:embedded_observatory_archive",
]
}
configs += [
"//flutter/sky/engine:config",
"//flutter/sky/engine:inside_blink",
]
sources = sky_core_files
public_deps = [
"//base",
"//flutter/common",
"//flutter/flow",
"//flutter/glue",
......@@ -17,20 +42,18 @@ source_set("libraries") {
"//flutter/sky/engine/wtf",
"//lib/ftl",
"//lib/tonic",
"//mojo/application",
"//mojo/data_pipe_utils",
"//mojo/public/c/system",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//mojo/public/cpp/utility",
"//mojo/public/interfaces/application",
"//mojo/public/platform/dart:mojo_internal_impl",
"//third_party/iccjpeg",
"//third_party/libpng",
"//third_party/qcms",
"//third_party/zlib",
]
if (!is_fuchsia) {
public_deps += [
"//base",
]
}
if (flutter_runtime_mode != "release") {
public_deps += [
"//lib/tonic/debugger",
......@@ -43,46 +66,3 @@ source_set("libraries") {
]
}
}
source_set("prerequisites") {
deps = [
":libraries",
"//flutter/sky/engine/platform",
]
forward_dependent_configs_from = [ ":libraries" ]
direct_dependent_configs = [
"//flutter/sky/engine:config",
"//flutter/sky/engine:inside_blink",
"//build/config/compiler:wexit_time_destructors",
]
}
static_library("core") {
output_name = "sky_core"
deps = [
":libraries",
":prerequisites",
"//dart/runtime:libdart",
"//dart/runtime/bin:embedded_dart_io",
"//dart/runtime/vm:libdart_platform",
"//flutter/assets",
"//mojo/services/navigation/interfaces",
"//flutter/sky/engine/platform",
"//flutter/services/engine:interfaces",
"//flutter/services/pointer:interfaces",
]
if (flutter_runtime_mode != "release") {
# Only include observatory assets in non-release modes.
deps += [
"//dart/runtime/observatory:embedded_observatory_archive",
]
}
sources = sky_core_files
forward_dependent_configs_from = [ ":libraries" ]
}
......@@ -91,14 +91,12 @@ source_set("platform") {
"fonts/WidthCache.h",
"fonts/WidthIterator.cpp",
"fonts/WidthIterator.h",
"fonts/android/FontCacheAndroid.cpp",
"fonts/harfbuzz/FontHarfBuzz.cpp",
"fonts/harfbuzz/HarfBuzzFace.cpp",
"fonts/harfbuzz/HarfBuzzFace.h",
"fonts/harfbuzz/HarfBuzzFaceSkia.cpp",
"fonts/harfbuzz/HarfBuzzShaper.cpp",
"fonts/harfbuzz/HarfBuzzShaper.h",
"fonts/linux/FontCacheLinux.cpp",
"fonts/linux/FontPlatformDataLinux.cpp",
"fonts/opentype/OpenTypeTypes.h",
"fonts/skia/FontCacheSkia.cpp",
......@@ -273,6 +271,24 @@ source_set("platform") {
sources += [ "fonts/apple/FontCacheMac.cpp" ]
}
if (is_android) {
sources += [
"fonts/android/FontCacheAndroid.cpp",
]
}
if (is_linux && !is_android) {
sources += [
"fonts/linux/FontCacheLinux.cpp",
]
}
if (is_fuchsia) {
sources += [
"fonts/fuchsia/FontCacheFuchsia.cpp",
]
}
configs += [
"//flutter/sky/engine:config",
"//flutter/sky/engine:non_test_config",
......
// 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.
#include "flutter/sky/engine/platform/fonts/FontCache.h"
namespace blink {
void FontCache::getFontForCharacter(UChar32 c,
const char* preferredLocale,
PlatformFallbackFont* font) {}
} // namespace blink
......@@ -3,8 +3,11 @@
# found in the LICENSE file.
source_set("web") {
sources = [
"Sky.cpp",
]
deps = [
"//mojo/message_pump",
"//flutter/sky/engine/core",
"//flutter/sky/engine/platform",
]
......@@ -15,7 +18,9 @@ source_set("web") {
"//flutter/sky/engine:non_test_config",
]
sources = [
"Sky.cpp",
]
if (!is_fuchsia) {
deps += [
"//mojo/message_pump",
]
}
}
......@@ -30,10 +30,7 @@
#include "flutter/sky/engine/public/web/Sky.h"
#include "base/message_loop/message_loop.h"
#include "flutter/glue/trace_event.h"
#include "lib/tonic/dart_microtask_queue.h"
#include "mojo/message_pump/message_pump_mojo.h"
#include "flutter/sky/engine/core/Init.h"
#include "flutter/sky/engine/public/platform/Platform.h"
#include "flutter/sky/engine/wtf/Assertions.h"
......@@ -41,11 +38,22 @@
#include "flutter/sky/engine/wtf/text/AtomicString.h"
#include "flutter/sky/engine/wtf/text/TextEncoding.h"
#include "flutter/sky/engine/wtf/WTF.h"
#include "lib/ftl/build_config.h"
#include "lib/tonic/dart_microtask_queue.h"
#if !defined(OS_FUCHSIA)
#include "base/message_loop/message_loop.h"
#include "mojo/message_pump/message_pump_mojo.h"
#endif // !defined(OS_FUCHSIA)
namespace blink {
namespace {
#if !defined(OS_FUCHSIA)
void willProcessTask() {}
void didProcessTask() {
......@@ -96,6 +104,8 @@ void removeMessageLoopObservers() {
s_signalObserver = 0;
}
#endif // !defined(OS_FUCHSIA)
} // namespace
// Make sure we are not re-initialized in the same address space.
......@@ -126,11 +136,15 @@ void initialize(Platform* platform) {
// this, initializing this lazily probably doesn't buy us much.
WTF::UTF8Encoding();
#if !defined(OS_FUCHSIA)
addMessageLoopObservers();
#endif
}
void shutdown() {
#if !defined(OS_FUCHSIA)
removeMessageLoopObservers();
#endif
// FIXME: Shutdown dart?
......
......@@ -71,6 +71,7 @@ source_set("common") {
"//flutter/synchronization",
"//lib/ftl",
"//lib/tonic",
"//mojo/application",
"//mojo/common",
"//mojo/data_pipe_utils",
"//mojo/message_pump",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册