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

source_set("vmo") {
  visibility = [ "//src/lib/fsl/*" ]

  sources = [
    "file.cc",
    "file.h",
    "shared_vmo.cc",
    "shared_vmo.h",
    "sized_vmo.cc",
    "sized_vmo.h",
    "strings.h",
    "vector.h",
    "vmo.cc",
  ]

  deps = [ "//sdk/lib/fdio" ]

  public_deps = [
    "//sdk/fidl/fuchsia.mem",
    "//src/lib/files",
    "//src/lib/fxl:memory",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]

  public_configs = [ "//garnet/public:config" ]

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}
