# Copyright 2019 Google LLC.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

assert(is_fuchsia)

import ("//build/fuchsia/sdk.gni")

fuchsia_sdk_manifest_exists = false
if (is_fuchsia && using_fuchsia_sdk) {
  manifest_exists = exec_script("//build/fuchsia/file_exists",
                                [ "-file_name",
                                  rebase_path(fuchsia_sdk_manifest_path) ],
                                "list lines",
                                [ "//build/fuchsia/file_exists" ])
  if (manifest_exists == [ "true" ]) {
    fuchsia_sdk_manifest_exists = true
  }
}

group("fuchsia") {
  if(fuchsia_sdk_manifest_exists == true) {
    deps = [
      "fidl",
      "pkg",
      "sysroot",
    ]
  } else {
    assert(false, "Fuchsia SDK not found. Set arg skia_update_fuchsia_sdk=True " +
      "to initialize.")
  }
}
