|  | # 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") | 
|  |  | 
|  | 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", | 
|  | ] | 
|  | } | 
|  |  | 
|  | generate_jni("jni_headers") { | 
|  | sources = [ | 
|  | "android/src/org/chromium/mojo/PlatformViewportAndroid.java", | 
|  | ] | 
|  |  | 
|  | jni_package = "mojo" | 
|  | } | 
|  | } 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/gl", | 
|  | ] | 
|  | } | 
|  | } | 
|  |  | 
|  | source_set("lib") { | 
|  | sources = [ | 
|  | "native_viewport_impl.cc", | 
|  | "native_viewport_impl.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", | 
|  | "viewport_surface.cc", | 
|  | "viewport_surface.h", | 
|  | ] | 
|  |  | 
|  | if (!is_ios) { | 
|  | sources -= [ "platform_viewport_stub.cc" ] | 
|  | } | 
|  |  | 
|  | deps = [ | 
|  | "//base", | 
|  | "//cc/surfaces", | 
|  | "//cc/surfaces:surface_id", | 
|  | "//gpu/command_buffer/service", | 
|  | "//mojo/application", | 
|  | "//mojo/common", | 
|  | "//mojo/converters/geometry", | 
|  | "//mojo/converters/input_events", | 
|  | "//mojo/converters/surfaces", | 
|  | "//mojo/environment:chromium", | 
|  | "//services/gles2", | 
|  | "//mojo/services/geometry/public/interfaces", | 
|  | "//mojo/services/gpu/public/interfaces", | 
|  | "//mojo/services/native_viewport/public/interfaces", | 
|  | "//mojo/services/surfaces/public/cpp", | 
|  | "//mojo/services/surfaces/public/interfaces", | 
|  | "//ui/events", | 
|  | "//ui/events/platform", | 
|  | "//ui/gfx", | 
|  | "//ui/gfx/geometry", | 
|  | "//ui/gl", | 
|  | "//ui/platform_window", | 
|  | ] | 
|  |  | 
|  | if (is_android) { | 
|  | deps += [ ":jni_headers" ] | 
|  | } | 
|  |  | 
|  | if (use_x11) { | 
|  | deps += [ "//ui/platform_window/x11" ] | 
|  | } else { | 
|  | sources -= [ "platform_viewport_x11.cc" ] | 
|  | } | 
|  |  | 
|  | if (is_win) { | 
|  | deps += [ "//ui/platform_window/win" ] | 
|  | } | 
|  | } |