# Copyright 2020 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

import("//build/zircon/migrated_targets.gni")
import("//zircon/system/ulib/hwreg/hwreg_asm_header.gni")

zx_library("arm64") {
  visibility = [ "../*" ]
  sources = [
    "cache-ops.S",
    "cache.cc",
  ]
  include_dirs = [
    "include",
    "../include",
  ]

  deps = [ ":gen-arm64-system-asm" ]
  public_deps = [ "//zircon/system/ulib/hwreg:headers" ]

  sdk = "source"
  sdk_headers = [
    "lib/arch/asm.h",
    "lib/arch/intrin.h",
    "lib/arch/ticks.h",
    "lib/arch/zbi-boot.h",
  ]

  if (!is_host) {
    sources += [ "random.cc" ]
  }
}

hwreg_asm_header("gen-arm64-system-asm") {
  visibility = [ ":*" ]
  output_name = "lib/arch/arm64/system-asm.h"
  defines = [ "LIB_ARCH_PRINTERS" ]
  sources = [ "gen-arm64-system-asm.cc" ]
  deps = [ ".." ]
}
