# Copyright 2018 The Fuchsia 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/fidl/fidl.gni")
import("//build/package.gni")
import("//build/packages/prebuilt_package.gni")
import("//topaz/runtime/chromium/chromium.gni")
import("//topaz/runtime/chromium/chromium_web_sources.gni")

fidl("chromium.web") {
  sources = chromium_web_sources

  deps = [
    "//garnet/public/fidl/fuchsia.sys",
    "//garnet/public/fidl/fuchsia.ui.viewsv1token",
  ]
}

if (enable_chromium) {
  prebuilt_package("chromium") {
    archive = "//topaz/third_party/chromium/arch/$target_cpu/chromium.far"
  }
} else {
  package("chromium") {
    deprecated_system_image = true
    # Empty
  }
}

if (enable_chromium) {
  prebuilt_package("web_runner") {
    archive = "//topaz/third_party/chromium/arch/$target_cpu/web_runner.far"
  }
} else {
  package("web_runner") {
    deprecated_system_image = true
    # Empty
  }
}
