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

Build sky/engine on fuchsia (#2992)

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