mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
333 lines
8.5 KiB
Plaintext
333 lines
8.5 KiB
Plaintext
# Copyright 2015 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.
|
|
|
|
source_set("common") {
|
|
sources = [
|
|
"gpu/ganesh_canvas.cc",
|
|
"gpu/ganesh_canvas.h",
|
|
"rasterizer.cc",
|
|
"rasterizer.h",
|
|
"platform_view.cc",
|
|
"platform_view.h",
|
|
"shell.cc",
|
|
"shell.h",
|
|
"shell_view.cc",
|
|
"shell_view.h",
|
|
"switches.cc",
|
|
"switches.h",
|
|
"tracing_controller.cc",
|
|
"tracing_controller.h",
|
|
"ui/animator.cc",
|
|
"ui/animator.h",
|
|
"ui/engine.cc",
|
|
"ui/engine.h",
|
|
"ui/internals.cc",
|
|
"ui/internals.h",
|
|
"ui/platform_impl.cc",
|
|
"ui/platform_impl.h",
|
|
"ui_delegate.cc",
|
|
"ui_delegate.h",
|
|
]
|
|
|
|
public_deps = [
|
|
"//base",
|
|
"//base:i18n",
|
|
"//build/config/sanitizers:deps",
|
|
"//dart/runtime:libdart",
|
|
"//mojo/common",
|
|
"//mojo/data_pipe_utils",
|
|
"//mojo/message_pump",
|
|
"//mojo/public/cpp/application",
|
|
"//mojo/public/interfaces/application",
|
|
"//mojo/services/asset_bundle/interfaces",
|
|
"//mojo/services/keyboard/interfaces",
|
|
"//mojo/services/navigation/interfaces",
|
|
"//mojo/services/network/interfaces",
|
|
"//services/asset_bundle:lib",
|
|
"//skia",
|
|
"//sky/compositor",
|
|
"//sky/engine",
|
|
"//sky/engine/tonic",
|
|
"//sky/engine/wtf",
|
|
"//sky/services/engine:interfaces",
|
|
"//sky/services/pointer:interfaces",
|
|
"//sky/services/vsync:interfaces",
|
|
"//sky/shell/dart",
|
|
"//ui/gfx",
|
|
"//ui/gfx/geometry",
|
|
"//url",
|
|
]
|
|
}
|
|
|
|
source_set("gpu_direct") {
|
|
sources = [
|
|
"gpu/direct/surface_notifications_direct.cc",
|
|
"gpu/direct/surface_notifications_direct.h",
|
|
"gpu/direct/rasterizer_direct.cc",
|
|
"gpu/direct/rasterizer_direct.h",
|
|
]
|
|
|
|
deps = [
|
|
"//ui/gl",
|
|
":common",
|
|
]
|
|
}
|
|
|
|
source_set("gpu_mojo") {
|
|
sources = [
|
|
"gpu/mojo/rasterizer_mojo.cc",
|
|
"gpu/mojo/rasterizer_mojo.h",
|
|
]
|
|
|
|
deps = [
|
|
":common",
|
|
"//mojo/public/c/gpu",
|
|
"//mojo/public/c/gpu:gpu_onscreen",
|
|
"//mojo/services/gpu/interfaces",
|
|
"//mojo/services/native_viewport/interfaces",
|
|
"//mojo/skia:skia_bindings",
|
|
]
|
|
}
|
|
|
|
if (is_linux || is_mac) {
|
|
|
|
source_set("testing") {
|
|
sources = [
|
|
"testing/test_runner.cc",
|
|
"testing/test_runner.h",
|
|
"testing/testing.cc",
|
|
"testing/testing.h",
|
|
]
|
|
|
|
deps = [
|
|
":common",
|
|
]
|
|
}
|
|
|
|
}
|
|
|
|
if (is_android) {
|
|
import("//build/config/android/config.gni")
|
|
import("//build/config/android/rules.gni")
|
|
|
|
generate_jni("jni_headers") {
|
|
sources = [
|
|
"platform/android/org/domokit/sky/shell/PlatformViewAndroid.java",
|
|
"platform/android/org/domokit/sky/shell/SkyMain.java",
|
|
"platform/android/org/domokit/sky/shell/TracingController.java",
|
|
"platform/android/org/domokit/sky/shell/UpdateService.java",
|
|
]
|
|
jni_package = "sky/shell"
|
|
}
|
|
|
|
shared_library("sky_shell") {
|
|
sources = [
|
|
"platform/android/library_loader.cc",
|
|
"platform/android/platform_view_android.cc",
|
|
"platform/android/platform_view_android.h",
|
|
"platform/android/sky_main.cc",
|
|
"platform/android/sky_main.h",
|
|
"platform/android/tracing_controller.cc",
|
|
"platform/android/tracing_controller.h",
|
|
"platform/android/update_service_android.cc",
|
|
]
|
|
|
|
deps = [
|
|
"//mojo/android:libsystem_java",
|
|
"//mojo/edk/system",
|
|
"//ui/gl",
|
|
":common",
|
|
":gpu_direct",
|
|
":jni_headers",
|
|
]
|
|
|
|
ldflags = [
|
|
"-lGLESv2",
|
|
"-lEGL",
|
|
]
|
|
}
|
|
|
|
android_library("java") {
|
|
java_files = [
|
|
"platform/android/org/domokit/sky/shell/PlatformServiceProvider.java",
|
|
"platform/android/org/domokit/sky/shell/PlatformViewAndroid.java",
|
|
"platform/android/org/domokit/sky/shell/ResourceCleaner.java",
|
|
"platform/android/org/domokit/sky/shell/ResourceExtractor.java",
|
|
"platform/android/org/domokit/sky/shell/ServiceFactory.java",
|
|
"platform/android/org/domokit/sky/shell/ServiceRegistry.java",
|
|
"platform/android/org/domokit/sky/shell/SkyActivity.java",
|
|
"platform/android/org/domokit/sky/shell/SkyApplication.java",
|
|
"platform/android/org/domokit/sky/shell/SkyMain.java",
|
|
"platform/android/org/domokit/sky/shell/TracingController.java",
|
|
"platform/android/org/domokit/sky/shell/UpdateService.java",
|
|
]
|
|
|
|
deps = [
|
|
"//base:base_java",
|
|
"//mojo/android:system_java",
|
|
"//mojo/public/interfaces/application:application_java",
|
|
"//mojo/public/java:bindings",
|
|
"//mojo/public/java:system",
|
|
"//mojo/services/keyboard/interfaces:interfaces_java",
|
|
"//mojo/services/network/interfaces:interfaces_java",
|
|
"//mojo/services/sensors/interfaces:interfaces_java",
|
|
"//services/keyboard",
|
|
"//services/sensors:sensors_lib",
|
|
"//sky/services/activity:activity_lib",
|
|
"//sky/services/activity:interfaces_java",
|
|
"//sky/services/engine:interfaces_java",
|
|
"//sky/services/media:interfaces_java",
|
|
"//sky/services/media:media_lib",
|
|
"//sky/services/oknet",
|
|
"//sky/services/pointer:interfaces_java",
|
|
"//sky/services/raw_keyboard:interfaces_java",
|
|
"//sky/services/raw_keyboard:raw_keyboard_lib",
|
|
"//sky/services/updater:interfaces_java",
|
|
"//sky/services/vsync:interfaces_java",
|
|
"//sky/services/vsync:vsync_lib",
|
|
]
|
|
}
|
|
|
|
copy_ex("assets") {
|
|
clear_dir = true
|
|
dest = "$root_build_dir/sky_shell/assets"
|
|
sources = [
|
|
"$root_build_dir/icudtl.dat",
|
|
]
|
|
deps = [
|
|
"//third_party/icu:icudata",
|
|
]
|
|
}
|
|
|
|
android_apk("shell") {
|
|
apk_name = "SkyShell"
|
|
android_manifest = "platform/android/AndroidManifest.xml"
|
|
|
|
native_libs = [ "libsky_shell.so" ]
|
|
asset_location = "$root_build_dir/sky_shell/assets"
|
|
|
|
extensions_to_not_compress = ".flx"
|
|
|
|
deps = [
|
|
"//base:base_java",
|
|
":assets",
|
|
":java",
|
|
":sky_shell",
|
|
]
|
|
}
|
|
} else if (is_ios) {
|
|
import("//build/config/ios/rules.gni")
|
|
import("//build/config/ios/ios_sdk.gni")
|
|
import("//sky/build/sky_precompilation_sdk.gni")
|
|
|
|
source_set("ios_scaffolding") {
|
|
sources = [
|
|
"platform/ios/main_ios.mm",
|
|
"platform/ios/sky_app_delegate.h",
|
|
"platform/ios/sky_app_delegate.mm",
|
|
"platform/ios/sky_surface.h",
|
|
"platform/ios/sky_surface.mm",
|
|
"platform/ios/sky_view_controller.h",
|
|
"platform/ios/sky_view_controller.mm",
|
|
]
|
|
|
|
set_sources_assignment_filter([])
|
|
sources += [
|
|
"platform/mac/platform_mac.h",
|
|
"platform/mac/platform_mac.mm",
|
|
"platform/mac/platform_service_provider.cc",
|
|
"platform/mac/platform_service_provider.h",
|
|
"platform/mac/platform_view_mac.h",
|
|
"platform/mac/platform_view_mac.mm",
|
|
]
|
|
set_sources_assignment_filter(sources_assignment_filter)
|
|
|
|
deps = [
|
|
"//mojo/edk/system",
|
|
"//sky/services/keyboard",
|
|
"//sky/services/media",
|
|
"//sky/services/ns_net",
|
|
"//sky/services/vsync",
|
|
"//ui/gl",
|
|
":common",
|
|
":gpu_direct",
|
|
]
|
|
}
|
|
|
|
sky_precompilation_sdk("shell") {
|
|
sdk_name = "Flutter"
|
|
}
|
|
} else if (is_linux && !is_fnl) {
|
|
executable("shell") {
|
|
output_name = "sky_shell"
|
|
|
|
sources = [
|
|
"platform/linux/main_linux.cc",
|
|
"platform/linux/platform_view_linux.cc",
|
|
]
|
|
|
|
deps = [
|
|
"//mojo/common",
|
|
"//mojo/edk/system",
|
|
":common",
|
|
":gpu_direct",
|
|
":testing",
|
|
]
|
|
}
|
|
} else if (is_mac) {
|
|
import("//build/config/mac/rules.gni")
|
|
|
|
source_set("mac_scaffolding") {
|
|
sources = [
|
|
"platform/mac/main_mac.mm",
|
|
"platform/mac/platform_mac.h",
|
|
"platform/mac/platform_mac.mm",
|
|
"platform/mac/platform_service_provider.cc",
|
|
"platform/mac/platform_service_provider.h",
|
|
"platform/mac/platform_view_mac.h",
|
|
"platform/mac/platform_view_mac.mm",
|
|
"platform/mac/sky_app_delegate.h",
|
|
"platform/mac/sky_app_delegate.m",
|
|
"platform/mac/sky_application.h",
|
|
"platform/mac/sky_application.mm",
|
|
"platform/mac/sky_window.h",
|
|
"platform/mac/sky_window.mm",
|
|
]
|
|
|
|
deps = [
|
|
"//mojo/common",
|
|
"//mojo/edk/system",
|
|
"//sky/services/ns_net",
|
|
"//ui/gl",
|
|
":common",
|
|
":gpu_direct",
|
|
":testing",
|
|
]
|
|
}
|
|
|
|
mac_app("shell") {
|
|
app_name = "SkyShell"
|
|
info_plist = "platform/mac/Info.plist"
|
|
|
|
xibs = [ "platform/mac/sky_mac.xib" ]
|
|
|
|
resource_copy_mac("sky_resources") {
|
|
resources = [
|
|
"//third_party/icu/android/icudtl.dat",
|
|
"platform/ios/LaunchScreen.storyboardc"
|
|
]
|
|
bundle_directory = "."
|
|
}
|
|
|
|
deps = [
|
|
":mac_scaffolding",
|
|
":sky_resources",
|
|
]
|
|
}
|
|
} else if (is_fnl) {
|
|
# Nothing fnl specific.
|
|
} else {
|
|
assert(false, "Unsupported platform")
|
|
}
|