mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
305 lines
7.8 KiB
Plaintext
305 lines
7.8 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.
|
|
|
|
common_deps = [
|
|
"//base",
|
|
"//base:i18n",
|
|
"//build/config/sanitizers:deps",
|
|
"//dart/runtime:libdart",
|
|
"//mojo/data_pipe_utils",
|
|
"//mojo/edk/system",
|
|
"//mojo/message_pump",
|
|
"//mojo/public/cpp/application",
|
|
"//mojo/public/interfaces/application",
|
|
"//mojo/services/asset_bundle/public/interfaces",
|
|
"//mojo/services/keyboard/public/interfaces",
|
|
"//mojo/services/navigation/public/interfaces",
|
|
"//mojo/services/network/public/interfaces",
|
|
"//services/asset_bundle:lib",
|
|
"//skia",
|
|
"//sky/engine",
|
|
"//sky/engine/tonic",
|
|
"//sky/engine/wtf",
|
|
"//sky/services/engine:interfaces",
|
|
"//sky/services/vsync:interfaces",
|
|
"//sky/shell/dart",
|
|
"//ui/gfx/geometry",
|
|
"//ui/gl",
|
|
]
|
|
|
|
if (is_linux || is_mac) {
|
|
|
|
testing_sources = [
|
|
"testing/test_runner.cc",
|
|
"testing/test_runner.h",
|
|
"testing/testing.cc",
|
|
"testing/testing.h",
|
|
]
|
|
|
|
}
|
|
|
|
source_set("common") {
|
|
sources = [
|
|
"gpu/ganesh_context.cc",
|
|
"gpu/ganesh_context.h",
|
|
"gpu/ganesh_surface.cc",
|
|
"gpu/ganesh_surface.h",
|
|
"gpu/picture_serializer.cc",
|
|
"gpu/picture_serializer.h",
|
|
"gpu/rasterizer.cc",
|
|
"gpu/rasterizer.h",
|
|
"gpu_delegate.cc",
|
|
"gpu_delegate.h",
|
|
"platform_view.cc",
|
|
"platform_view.h",
|
|
"service_provider.cc",
|
|
"service_provider.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/input_event_converter.cc",
|
|
"ui/input_event_converter.h",
|
|
"ui/internals.cc",
|
|
"ui/internals.h",
|
|
"ui/platform_impl.cc",
|
|
"ui/platform_impl.h",
|
|
"ui_delegate.cc",
|
|
"ui_delegate.h",
|
|
]
|
|
|
|
deps = common_deps
|
|
}
|
|
|
|
if (is_android) {
|
|
import("//build/config/android/config.gni")
|
|
import("//build/config/android/rules.gni")
|
|
|
|
generate_jni("jni_headers") {
|
|
sources = [
|
|
"android/org/domokit/sky/shell/PlatformServiceProvider.java",
|
|
"android/org/domokit/sky/shell/PlatformViewAndroid.java",
|
|
"android/org/domokit/sky/shell/SkyMain.java",
|
|
"android/org/domokit/sky/shell/TracingController.java",
|
|
]
|
|
jni_package = "sky/shell"
|
|
}
|
|
|
|
shared_library("sky_shell") {
|
|
sources = [
|
|
"android/library_loader.cc",
|
|
"android/platform_service_provider_android.cc",
|
|
"android/platform_service_provider_android.h",
|
|
"android/platform_view_android.cc",
|
|
"android/platform_view_android.h",
|
|
"android/sky_main.cc",
|
|
"android/sky_main.h",
|
|
"android/tracing_controller.cc",
|
|
"android/tracing_controller.h",
|
|
]
|
|
|
|
deps = common_deps + [
|
|
"//mojo/android:libsystem_java",
|
|
":jni_headers",
|
|
":common",
|
|
]
|
|
ldflags = [
|
|
"-lGLESv2",
|
|
"-lEGL",
|
|
]
|
|
}
|
|
|
|
android_library("java") {
|
|
java_files = [
|
|
"android/org/domokit/sky/shell/GestureProvider.java",
|
|
"android/org/domokit/sky/shell/PlatformServiceProvider.java",
|
|
"android/org/domokit/sky/shell/PlatformViewAndroid.java",
|
|
"android/org/domokit/sky/shell/ResourceCleaner.java",
|
|
"android/org/domokit/sky/shell/ResourceExtractor.java",
|
|
"android/org/domokit/sky/shell/ServiceFactory.java",
|
|
"android/org/domokit/sky/shell/ServiceRegistry.java",
|
|
"android/org/domokit/sky/shell/SkyActivity.java",
|
|
"android/org/domokit/sky/shell/SkyApplication.java",
|
|
"android/org/domokit/sky/shell/SkyMain.java",
|
|
"android/org/domokit/sky/shell/TracingController.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/public/interfaces:interfaces_java",
|
|
"//mojo/services/network/public/interfaces:interfaces_java",
|
|
"//mojo/services/sensors/public/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/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 = "android/AndroidManifest.xml"
|
|
|
|
native_libs = [ "libsky_shell.so" ]
|
|
asset_location = "$root_build_dir/sky_shell/assets"
|
|
|
|
extensions_to_not_compress = ".skyx"
|
|
|
|
deps = [
|
|
":assets",
|
|
":assets",
|
|
":java",
|
|
":sky_shell",
|
|
"//base:base_java",
|
|
]
|
|
}
|
|
} else if (is_ios) {
|
|
import("//build/config/ios/rules.gni")
|
|
import("//build/config/ios/ios_sdk.gni")
|
|
|
|
source_set("ios_scaffolding") {
|
|
sources = [
|
|
"ios/document_watcher.m",
|
|
"ios/main_ios.mm",
|
|
"ios/sky_app_delegate.h",
|
|
"ios/sky_app_delegate.mm",
|
|
"ios/sky_surface.h",
|
|
"ios/sky_surface.mm",
|
|
"ios/sky_view_controller.h",
|
|
"ios/sky_view_controller.mm",
|
|
]
|
|
|
|
set_sources_assignment_filter([])
|
|
sources += [
|
|
"mac/platform_mac.h",
|
|
"mac/platform_mac.mm",
|
|
"mac/platform_service_provider_mac.cc",
|
|
"mac/platform_view_mac.h",
|
|
"mac/platform_view_mac.mm",
|
|
]
|
|
set_sources_assignment_filter(sources_assignment_filter)
|
|
|
|
deps = common_deps + [
|
|
":common",
|
|
"//sky/services/keyboard",
|
|
"//sky/services/media",
|
|
"//sky/services/ns_net",
|
|
"//sky/services/vsync",
|
|
]
|
|
}
|
|
|
|
ios_app("shell") {
|
|
app_name = "SkyShell"
|
|
info_plist = "ios/Info.plist"
|
|
entitlements_path = "ios/Entitlements.xcent"
|
|
code_signing_identity = ios_code_signing_identity
|
|
|
|
resource_copy_ios("sky_resources") {
|
|
resources = [ "//third_party/icu/android/icudtl.dat" ]
|
|
bundle_directory = "."
|
|
}
|
|
|
|
deps = [
|
|
":ios_scaffolding",
|
|
":sky_resources",
|
|
]
|
|
}
|
|
} else if (is_linux) {
|
|
executable("shell") {
|
|
output_name = "sky_shell"
|
|
|
|
sources = [
|
|
"linux/main_linux.cc",
|
|
"linux/platform_service_provider_linux.cc",
|
|
"linux/platform_view_linux.cc",
|
|
] + testing_sources
|
|
|
|
deps = common_deps + [
|
|
":common",
|
|
"//mojo/common",
|
|
"//sky/services/testing:interfaces",
|
|
]
|
|
}
|
|
} else if (is_mac) {
|
|
import("//build/config/mac/rules.gni")
|
|
|
|
source_set("mac_scaffolding") {
|
|
sources = [
|
|
"mac/main_mac.mm",
|
|
"mac/platform_mac.h",
|
|
"mac/platform_mac.mm",
|
|
"mac/platform_service_provider_mac.cc",
|
|
"mac/platform_view_mac.h",
|
|
"mac/platform_view_mac.mm",
|
|
"mac/sky_app_delegate.h",
|
|
"mac/sky_app_delegate.m",
|
|
"mac/sky_application.h",
|
|
"mac/sky_application.mm",
|
|
"mac/sky_window.h",
|
|
"mac/sky_window.mm",
|
|
] + testing_sources
|
|
|
|
deps = common_deps + [
|
|
":common",
|
|
"//mojo/common",
|
|
"//sky/services/ns_net",
|
|
"//sky/services/testing:interfaces",
|
|
]
|
|
}
|
|
|
|
mac_app("shell") {
|
|
app_name = "SkyShell"
|
|
info_plist = "mac/Info.plist"
|
|
|
|
# entitlements_path = ""
|
|
# code_signing_identity = ""
|
|
|
|
xibs = [ "mac/sky_mac.xib" ]
|
|
|
|
resource_copy_mac("sky_resources") {
|
|
resources = [
|
|
"//third_party/icu/android/icudtl.dat",
|
|
"ios/LaunchScreen.storyboardc"
|
|
]
|
|
bundle_directory = "."
|
|
}
|
|
|
|
deps = [
|
|
":mac_scaffolding",
|
|
":sky_resources",
|
|
]
|
|
}
|
|
} else {
|
|
assert(false, "Unsupported platform")
|
|
}
|