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

library("ftl") {
  host = true

  sources = [
    "ftln/ftln_init.c",
    "ftln/ftln_intrnl.c",
    "ftln/ftln_rd.c",
    "ftln/ftln_util.c",
    "ftln/ndm-driver.cpp",
    "ftln/volume.cpp",
    "ndm/ndm_init.c",
    "ndm/ndm_intrnl.c",
    "ndm/ndm_vols.c",
    "utils/aalloc.c",
    "utils/crc32_tbl.c",
    "utils/fsmem.c",
    "utils/fsys.c",
    "utils/fsysinit.c",
    "utils/ftl_mc.c",
    "utils/sys.c",
  ]

  deps = [
    "$zx/system/ulib/backtrace-request",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/zxcpp",
  ]

  if (is_fuchsia) {
    sources += [ "utils/semaphore.cpp" ]
    deps += [ "$zx/system/ulib/zircon" ]
  } else {
    sources += [ "utils/semaphore_posix.cpp" ]
    deps += [ "$zx/system/ulib/zircon:headers" ]
  }

  configs += [ ":config" ]
}

config("config") {
  visibility = [ ":*" ]
  defines = [ "NDM_DEBUG" ]
  include_dirs = [
    ".",
    "utils",
    "inc",
    "inc/kprivate",
  ]
}
