blob: 4af79efb4534307fd4676de2f44afae0cd27f9b6 [file] [log] [blame]
# 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.
import("//build/config/ui.gni")
import("//mojo/public/mojo_application.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//mojo/public/tools/bindings/mojom.gni")
group("native_viewport") {
deps = [
":lib",
":native_viewport_java",
":jni_headers",
]
}
android_library("native_viewport_java") {
java_files =
[ "android/src/org/chromium/mojo/PlatformViewportAndroid.java" ]
deps = [
"//base:base_java",
"//services/keyboard",
"//mojo/services/keyboard/public/interfaces:interfaces_java",
"//mojo/public/java:bindings",
"//mojo/public/java:system",
]
}
generate_jni("jni_headers") {
sources = [
"android/src/org/chromium/mojo/PlatformViewportAndroid.java",
]
jni_package = "mojo"
}
mojom("interfaces") {
sources = [
"native_viewport_internal.mojom",
]
}
} else {
mojo_native_application("native_viewport") {
output_name = "native_viewport_service"
sources = [
"main.cc",
]
deps = [
":lib",
"//base",
"//mojo/application",
"//mojo/common:tracing_impl",
"//mojo/public/cpp/bindings:bindings",
"//mojo/services/native_viewport/public/interfaces",
"//mojo/services/native_viewport/public/cpp:args",
"//services/gles2",
"//ui/events",
"//ui/events/platform",
"//ui/gl",
]
}
}
source_set("lib") {
sources = [
"native_viewport_impl.cc",
"native_viewport_impl.h",
"onscreen_context_provider.cc",
"onscreen_context_provider.h",
"platform_viewport.h",
"platform_viewport_android.cc",
"platform_viewport_android.h",
"platform_viewport_headless.cc",
"platform_viewport_headless.h",
"platform_viewport_stub.cc",
"platform_viewport_win.cc",
"platform_viewport_x11.cc",
]
if (!is_ios) {
sources -= [ "platform_viewport_stub.cc" ]
}
deps = [
"//base",
"//gpu/command_buffer/service",
"//mojo/application",
"//mojo/common",
"//mojo/converters/geometry",
"//mojo/converters/input_events",
"//mojo/converters/native_viewport",
"//mojo/environment:chromium",
"//services/gles2",
"//mojo/services/geometry/public/interfaces",
"//mojo/services/native_viewport/public/interfaces",
"//ui/events",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gl",
"//ui/platform_window",
]
if (is_android) {
deps += [
":interfaces",
":jni_headers",
]
}
if (use_x11) {
deps += [ "//ui/platform_window/x11" ]
} else {
sources -= [ "platform_viewport_x11.cc" ]
}
if (is_win) {
deps += [ "//ui/platform_window/win" ]
}
}