# 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.

import("//build/config/android/rules.gni")
import("//chrome/common/features.gni")

assert(enable_vr_shell && android_java_ui)

static_library("vr_shell") {
  sources = [
    "vr_shell.cc",
    "vr_shell.h",
    "vr_shell_renderer.cc",
    "vr_shell_renderer.h",
    "vr_util.cc",
    "vr_util.h",
  ]

  deps = [
    ":vr_shell_jni_headers",
    "//base",
    "//device/vr",
    "//third_party/gvr-android-sdk:gvr_base_java",
    "//third_party/gvr-android-sdk:gvr_common_java",
    "//third_party/gvr-android-sdk:libgvr",
    "//ui/gl",
    "//ui/gl/init",
  ]

  configs += [ "//third_party/gvr-android-sdk:libgvr_config" ]
}

generate_jni("vr_shell_jni_headers") {
  sources = [
    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShell.java",
  ]
  jni_package = "vr_shell"
}
